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

2 visualizaciones (últimos 30 días)
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 comentario
Bjoern
Bjoern el 5 de Abr. de 2012
(To clarify: I do know how to create the 1sec timer but not how to read out the signal value during runtime)

Iniciar sesión para comentar.

Respuesta aceptada

Guy Rouleau
Guy Rouleau el 5 de Abr. de 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 comentario
Craig
Craig el 14 de Sept. de 2012
How can this be done to the outputs about a subsystem (rather than specific internal blocks )? (in 2007b).

Iniciar sesión para comentar.

Más respuestas (1)

Bjoern
Bjoern el 5 de Abr. de 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!

Categorías

Más información sobre Modeling en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by