S Mex function global variable values

Hello,
I have legacy C code with many global variables, which is bound into simulink be means of Mex-S-function.
When I stop and restart simulation I would expectd that new process is created and all those variables are to there init value (most of them 0, because not explicitely set and so on).
If I just start and stop and start it is unfortunately not the case.
If I start, stop, then rebuild S-function by "mex" command and then start it is the case.
Is there any way to say Simulink to unload the process on each simulation stop/end (I mean stop, not pause of course)?
Thanks,

4 Kommentare

James Tursa
James Tursa am 15 Jul. 2020
Can't you just clear the mex function from memory?
Lila Lotus
Lila Lotus am 15 Jul. 2020
How could I do i? It looks like a normal block in simulink. How do i delete it from memory without changing a model?
James Tursa
James Tursa am 16 Jul. 2020
Bearbeitet: James Tursa am 16 Jul. 2020
Does the mex function itself show up in the list generated by the inmem( ) function? E.g.,
[M,X] = inmem;
Does it show up in the X list?
Use
clear all
everytime you run a simulation.
But this is not optimal as many others would suggest.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Lila Lotus
Lila Lotus am 16 Jul. 2020

0 Stimmen

Thank you, clear mex did the job

Kategorien

Mehr zu Simulink Coder finden Sie in Hilfe-Center und File Exchange

Produkte

Gefragt:

am 15 Jul. 2020

Beantwortet:

am 16 Jul. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by