How can the waitbar and the simulink model work simultaneously?

I have the following code in a GUI and I wanted to see the progress of the model, so I added a waitbar as below:
function pushbutton1_Callback(hObject, eventdata, handles)
set_param('Model','SimulationCommand','start'); % starts simulation
h = waitbar(0,'Please wait...');
steps = 1000;
for step = 1:steps
% computations take place here
waitbar(step / steps)
end
close(h)
When the waitbar runs, the Simulink model pauses. How can I make them run simultaneously?

Answers (1)

I will reopen this question. I have the same problem and I don't know how to do it

1 Comment

StopTime = str2num(get_param('Simulink_Model_Name','StopTime'));
wbar = waitbar(0,'Please wait...');
while strcmp(get_param('Simulink_Model_Name','SimulationStatus'),'running')
waitbar(get_param('Simulink_Model_Name','SimulationTime')/StopTime);
pause(1);
end
close(wbar);

Sign in to comment.

Categories

Find more on App Building in Help Center and File Exchange

Asked:

on 7 Jul 2016

Commented:

on 19 Dec 2017

Community Treasure Hunt

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

Start Hunting!