MATLAB Answers

Pass GUI variables to base workspace in real-time

3 views (last 30 days)
Jens
Jens on 6 Mar 2013
HI all!
I'm building a GUI for automated measurements in our lab and when started I want some variables to be passed from the GUI to the base workspace in real-time for instant pre-analysis.
I’ve tried assignin() but for some reason nothing is passed to the base workspace until the test sequence is over or the test is stopped.
The GUI contains several loops and functions, and I want the variables to be updated at every iteration. How to do this?
To only use disp() or similar is not an option. I want the most recent variable content in the base workspace.
Thank you in advance!
/Jens

  7 Comments

Show 4 older comments
Jens
Jens on 7 Mar 2013
Hmm,... the diary() procedure looks interesting. I look in to that possibility right away.
Maybe the VNC can work as well, but I do not know much about how to connect to Matlab that way. I might search this forum for some guidance.
Walter Roberson
Walter Roberson on 7 Mar 2013
If you are using Linux or OS-X as your OS, you would run VNC Server with particular ports mapped to permanent pseudo-windows or you would use VNC Server with ports mapped according to graphics resolution, and you would start MATLAB under "screen" and log in through the VNC session and use "screen" to connect to the existing session (using "screen" is more robust than VNC alone.)
If you are using MS Windows on the system you are running MATLAB on, then you would run the VNC Server as a task with desktop access.
Jens
Jens on 12 Mar 2013
Walter, since we are getting in to a critical part of the tests and it will run for some time, I did not get the time to fully investigate the possibilities you suggested yet.
As a “precaution” I would like to thank you now for your help before I forget it :)

Sign in to comment.

Answers (1)

nanren888
nanren888 on 7 Mar 2013
Is the assignin() in a GUI callback? I guess these callbacks will not run, be queued if the main-line does nothing to let another thread get some time, eg drawnow, ... Can you see the callbacks running?

  1 Comment

Jens
Jens on 7 Mar 2013
Hi nanren888,
Yes, some of the assignin() are in GUI callbacks, some are in sub functions. The callback in question is the one running the sub functions and it is the main testing callback, the START button. All disp() that is placed in that callback and sub functions are working as expected in real-time, but not the assignin()…
You can read my answer to Jing and Walters questions here above to get a little bit more info about what I like to achieve.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!