Укажите, можно ли повторно использовать S-функцию в моделях
void ssSetSupportedForCodeReuseAcrossModels(SimStruct *S, int_T val)
SSimStruct представляет S-функциональный блок.
valЛибо int_T (1 or 0) или boolean_T (true or false) значение.
Используйте эту функцию в mdlInitializeSizes чтобы указать, можно ли повторно использовать S-функцию внутри повторно используемой библиотечной подсистемы в иерархии ссылок на модель.
Необходимо установить SS_OPTION_WORKS_WITH_CODE_REUSE флаг для true в ssSetOptions функция.
Настройте S-функцию для повторного использования кода в моделях только в том случае, если S-функция не имеет доступа к структурам данных, специфичным для модели. Созданный код в _sharedutils папка компилируется отдельно от созданного кода в model_ert_rtw папка. Код повторно используемой библиотечной подсистемы, сгенерированный в _sharedutils папка не имеет доступа к типам и макросам, объявленным в model.h. Код повторно используемой библиотечной подсистемы должен быть независимым.
C, C++
static void mdlInitializeSizes(SimStruct *S)
{
ssSetOptions(S,
SS_OPTION_WORKS_WITH_CODE_REUSE |
SS_OPTION_EXCEPTION_FREE_CODE |
SS_OPTION_DISALLOW_CONSTANT_SAMPLE_TIME);
ssSetSupportedForCodeReuseAcrossModels(S, 1);
}ssSetModelReferenceSampleTimeInheritanceRule, ssSetModelReferenceSampleTimeDisallowInheritance, ssSetModelReferenceSampleTimeDefaultInheritance
S-функции для повторного использования кода (Simulink Coder)