Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Pause and play simulink in programming

Asked by pouya jamali on 22 Nov 2012

Is it possible to pause and play again Simulink block diagram through programming? For more clarification I have to say that I want to pause (not stop) my Simulink which is run with sim command in a script file. Is it possible and if so how?

2 Comments

MatlabPro on 22 Nov 2012

are you allowed to use a GUI?

pouya jamali on 22 Nov 2012

No I just have to use programming commands!

pouya jamali

Products

2 Answers

Answer by Kaustubha Govind on 26 Nov 2012
Accepted answer

See this page for information on using the SET_PARAM command to do what you need. In particular:

set_param('modename','SimulationCommand','start')
set_param('modename','SimulationCommand','pause')
set_param('modename','SimulationCommand','continue')
set_param('modename','SimulationCommand','stop')

10 Comments

pouya jamali on 16 Dec 2012

You don't have any idea, do you? I'm still looking forward for your answer.

Kaustubha Govind on 27 Dec 2012

Sorry, I was away on vacation. Before you run the SIM command, could you run get_param(Name, 'StopTime') and make sure that the time returned is larger than the Pause block setting?

pouya jamali on 2 Feb 2013

Ow thanks for your answer. I haven't got any notification email about your comment so I saw it really late. In order to answer your question I have to say yes, it is. It seems like a bug. If you agree with me please let me know how can I report it to mathworks respondents?

I've been struggling on interfacing programming environment and simulink block diagram for controller design objective but I haven't got a good solution. the only way which works properly is to run the simulink block diagram using sim command in each loop and export the system states. then use the last states as the initial states for the new time span and run it again by using sim command. this method is not satisfactory because the Initialization phase cause to rise run time. As I use the whole system in a objective function for a evolutionary optimization algorithm the run time is really important for me. It tooks for example 3 month to run the algorithm for small sample times like 0.005(s)(small sample times cause a lot of initialization). If I compass the Initialization phase the run time will be decreased to 3 days. Which is a significant value.

You are the only person who can help me Kaustubha. My master thesis has been stopped due to this problem. I would be more grateful if you communicate with me through email. Because this forum doesn't send notification email for comments.

Thanks in advance

Kaustubha Govind
Answer by Nadir BOUTASSETA on 10 Feb 2013

I think that the problem you are facing can be solved by using S-Functions such that at each iteration you change reference values and compute your cost function.

1 Comment

Kaustubha Govind on 14 Feb 2013

I agree with Nadir.

Nadir BOUTASSETA

Contact us