A good way to publish simulink values to GUI from a running model?

2 visualizzazioni (ultimi 30 giorni)
I currently can affect a running model from my GUI, both start/pause/stop and update values that are inputs to the current model. I do this via workspace variables to constant blocks using set_param(...'update').
Now I need to show values from my running model in my GUI but I'm not sure of how I would do that? My plan was to use a 1 second timer and then read out signal values but I'm not sure of how to do that. Please let me know if you have a good way!!
Any thoughts are appreciated, thanks! //bjoern
  1 Commento
Bjoern
Bjoern il 5 Apr 2012
(To clarify: I do know how to create the 1sec timer but not how to read out the signal value during runtime)

Accedi per commentare.

Risposta accettata

Guy Rouleau
Guy Rouleau il 5 Apr 2012
This is a good approach.
However with just that, your GUI will need a mechanism to poke at the model to get the data.
I would combine that with an event listener:
That way, the event listener can send the data from the runtime object to your GUI automatically every time the block output value is updated.
  1 Commento
Craig
Craig il 14 Set 2012
How can this be done to the outputs about a subsystem (rather than specific internal blocks )? (in 2007b).

Accedi per commentare.

Più risposte (1)

Bjoern
Bjoern il 5 Apr 2012
I just found a possible solution, something like:
  • BlockH = get_param('TheBlockOfInterest','RuntimeObject');
  • TheValue=BlockH.OutputPort(PortNr).Data;
  • DisplayValueInGui(TheValue);
Is this approach recommended? Please any comments are appreciated! Thanks!

Categorie

Scopri di più su Modeling in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by