How do I stop a simulation from within an S-function?

8 Ansichten (letzte 30 Tage)
How do I stop a simulation from within an S-function?
For example, I am attempting to stop a running simulation from within my S-Function, and I do not want to add a stop block. Is there any way I can stop the simulation in the same way as pressing the stop toolbar button but from within my code?

Akzeptierte Antwort

MathWorks Support Team
MathWorks Support Team am 12 Okt. 2021
Bearbeitet: MathWorks Support Team am 17 Nov. 2021
There are several ways to stop a simulation from within an S-function:
1) For MATLAB file S-functions you can use the command:
set_param(bdroot, 'SimulationCommand', 'stop');
For Simulink 4.0 (R12) and above you can use the following on C-MEX S-functions:
1) You can do a 'mexCallMatlab' with the SET_PARAM command with the same input arguments mentioned above for MATLAB file S-functions.
2) You can use the macro ssSetStopRequested, which will allow you to stop a simulation from within your S-function (you will have to set the simulation flag in this macro to not zero). For more information on this function please see pg. 10-187 of the Writing S-function Guide. The online version of this Guide can be found at:
https://www.mathworks.com/help/simulink/sfg/sssetstoprequested.html

Weitere Antworten (0)

Kategorien

Mehr zu Simulink Coder finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by