Обеспечьте вызов mdlTerminate
Гарантирует, что механизм Simulink® вызывает метод mdlTerminate
S-функции прежде, чем уничтожить блок, это ссылается на S-функцию. Вызов mdlTerminate
позволяет вашей S-функции мыться после себя, например, путем освобождения памяти, которую это выделило во время симуляции. Механизм уничтожает Блок s-function при следующих обстоятельствах.
Симуляция заканчивается или обычно или в результате вызова ssSetErrorStatus
.
Пользователь удаляет блок.
Механизм устраняет блок как часть оптимизации сокращения блока (см. сокращение Блока).
Если эта опция не установлена, механизм вызывает метод mdlTerminate
вашей S-функции только если метод mdlStart
по крайней мере одного блока в модели, содержащей S-функцию, выполняемую без ошибки.
Смотрите S-функцию sfun_runtime3.c
для примера.