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

조회 수: 5 (최근 30일)
MaSk
MaSk 2017년 12월 7일
댓글: MaSk 2018년 1월 2일
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!

채택된 답변

Kay Baumann
Kay Baumann 2017년 12월 31일
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
MaSk
MaSk 2018년 1월 2일
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!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Model, Block, and Port Callbacks에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by