How can I display the SimulationStatus in a simulink model and/or GUI?

5 visualizaciones (últimos 30 días)
For example the user wants to see whether the simulation is running, or stopped. I know I can get_param('sys','SimulationStatus') to obtain the parameter, but how can I continuously have that updated on my simulink model or in a GUI? I know I could probably create a block mask that changes dynamically using callbacks, but I don't know the correct syntax to do so.
Thanks!

Respuesta aceptada

Kay Baumann
Kay Baumann el 31 de Dic. de 2017
Hi MaSk,
you could create a textbox:
figure()
ann = annotation('textbox',...
[0 0 0.3 0.1]);
and then write the simulation state to the textbox using the model callbacks (Model Properties >> Callbacks).
To do so, insert following code in each callback (PreLoadFcn, PostLoadFcn, ...):
ann.set('string',get_param('sys','SimulationStatus'))
Remark: using disp() to write directly to the Command Window instead of a textbox seems not to work anymore (tried it with MATLAB 2016b).
  1 comentario
MaSk
MaSk el 2 de En. de 2018
Thank you, this works well! What I ended up solving my problem with was within the mask display window executing the following:
y = get_param('sys','SimulationStatus');
if strcmp(y, 'stopped')
image('SimStopped.jpg')
elseif strcmp(y,'running')
image('SimRunning.jpg')
else strcmp(y,'paused')
disp('paused')
end
I just created images that represented what I wanted to display in the box.
Thanks for the help!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Model, Block, and Port Callbacks en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by