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