Можно снова использовать сгенерированный код для идентичных подсистем, которые происходят в нескольких экземплярах в модели и через модели, на которые ссылаются. Для получения дополнительной информации о генерации кода подсистем для повторного использования кода, смотрите Генерацию Управления Функций для Подсистем (Simulink Coder). Если вы хотите, чтобы ваша S-функция поддержала повторное использование кода для подсистемы, S-функция должна удовлетворить эти требования:
S-функция должна быть встроена.
Код, сгенерированный от S-функции, не должен использовать статические переменные.
S-функция должна инициализировать свой указатель, работают вектор в mdlStart
и не прежде.
S-функция не должна быть приемником что данные логов к рабочей области.
S-функция должна указать свои параметры как параметры периода выполнения в mdlSetWorkWidths
. (Это не должно использовать ssWriteRTWParameters
в своей функции mdlRTW
с этой целью.)
S-функция не должна быть драйвером устройства.
В дополнение к соответствию предыдущих требований ваша S-функция должна установить флаг SS_OPTION_WORKS_WITH_CODE_REUSE
в функции ssSetOptions
. Этот флаг указывает, что ваша S-функция удовлетворяет требования для повторного использования кода подсистемы.