how to pass variables from simulink to workspace,when simulink has been paused from MATLAB Script
Show older comments
I am running two simulink model from matlab script(with "sim" command),,now i want to pause the running simulink model in the middle and send the data from "to workspace block" to my matlab workspace at the time wen i paused it,,,,,actually my requirmnet is meeting if i directly run my simulink model from simulnk start pause button,,,but its not working through script
4 Comments
Arun Badigannavar
on 14 Dec 2012
Arun Badigannavar
on 14 Dec 2012
tulika Roy
on 31 Dec 2012
I am running the simulink model with a script file I am taking a for loop, after 1 cycle value model runs but in next cycle value it deleted the old value. figure I can use using 'hold on' but how to store and retain old array?
Arun Badigannavar
on 3 Jan 2013
Answers (2)
Azzi Abdelmalek
on 14 Dec 2012
Use
set_param('Yourmodel','Simulationcommand','start')
and your data will be saved to workspace
5 Comments
Azzi Abdelmalek
on 14 Dec 2012
Maybe you should close a loop then start another loop, I did'nt try it (I have'nt Matlab where I am).
Arun Badigannavar
on 17 Dec 2012
Azzi Abdelmalek
on 17 Dec 2012
What is 'lenthier' ?
Arun Badigannavar
on 17 Dec 2012
Azzi Abdelmalek
on 17 Dec 2012
Arun, I tested your problem in a loop, and it worked, the initial value of the unit delay don't change when you pause simulation. I don't know why it don't work for you.
TAB
on 14 Dec 2012
0 votes
@Arun, I hope that you don't have any strange varsion of matlab (like Matlab R. Strange).
sim() command will not return till simulation is completed, so off-course your script will never go ahead to execute other commands like pause.
And, see below snap. When I run and pause the model from script using SimulationCommand, then To Workspace block output is saved in workspace. It should work for you also.

18 Comments
Arun Badigannavar
on 14 Dec 2012
Azzi Abdelmalek
on 14 Dec 2012
Edited: Azzi Abdelmalek
on 14 Dec 2012
Arun, can you post your code
Arun Badigannavar
on 14 Dec 2012
Arun Badigannavar
on 14 Dec 2012
Arun Badigannavar
on 14 Dec 2012
Arun Badigannavar
on 14 Dec 2012
TAB
on 14 Dec 2012
In your code, you are starting the simulation and then setting the stop time. I don't think this is proper way of simulating model.
Ok...One more try....
Can you explain what you are trying to do i simple words, so anyone here can suggest something.
Arun Badigannavar
on 14 Dec 2012
Arun Badigannavar
on 14 Dec 2012
Azzi Abdelmalek
on 17 Dec 2012
If you want to set stop time, do it before start sim or after pause sim. It does'nt make sens to do it after start sim. Other thing, are you sur you are runing your model from m file, if yes, why are you then, using assignin command?
Arun Badigannavar
on 18 Dec 2012
Edited: Walter Roberson
on 18 Dec 2012
Arun Badigannavar
on 18 Dec 2012
Walter Roberson
on 18 Dec 2012
Wouldn't you want to stop at time i+1 rather than i ?
Azzi Abdelmalek
on 18 Dec 2012
Edited: Azzi Abdelmalek
on 18 Dec 2012
Arun, If speed_F is the output of another simulink model, that means that this variable is already in workspace, if not, then just use to workspace block
Arun Badigannavar
on 18 Dec 2012
Azzi Abdelmalek
on 18 Dec 2012
I do'nt understand. Even you pause your simulation, your data will be in workspace.
Arun Badigannavar
on 19 Dec 2012
Arun Badigannavar
on 19 Dec 2012
Categories
Find more on Event Functions in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!