Укажите возможность повторного использования памяти, выделенной выходному порту S-функции
void ssSetOutputPortOptimOpts(SimStruct *S, int_T port, uint_T val)
SSimStruct представляет S-функциональный блок.
portИндекс выходного порта S.
valВозможность многократного использования port. Допустимые значения:
SS_NOT_REUSABLE_AND_GLOBAL (значение по умолчанию)
SS_REUSABLE_AND_LOCAL
SS_REUSABLE_AND_GLOBAL
SS_NOT_REUSABLE_AND_LOCAL
Этот макрос используется для определения возможности повторного использования и объема памяти, выделенной выходному порту S-функции. Возможность повторного использования указывает на возможность перезаписи памяти, связанной с выходным портом. Необходимо указать, что выходной порт является повторно используемым, если выходной порт подключается к блоку объединения. Область действия указывает, хранятся ли переменные модели локально или глобально.
Вы не можете использовать ssGetOutputPortSignal или ssGetOutputPortRealSignal в любом месте, за исключением mdlOutputs если указано, что выходные порты могут использоваться повторно.
Продукт Simulink ® использует только параметры многократного использования во время моделирования. Он игнорирует настройку области памяти, т.е. локальную или глобальную, вместо того, чтобы рассматривать все порты S-функций как глобальные во время моделирования.
Примечание
Продукт Simulink Coder™ использует настройку области памяти, указанную при создании кода из модели. Если функция S обращается к выходам только в mdlOutputs, продукт Simulink Coder пытается объявить локальные переменные для любых выходов с локальной областью. Если S-функция использует выходные данные таким образом, что не позволяет использовать локальную область, сгенерированный код использует глобальные переменные для выходных данных. Дополнительные сведения см. в разделе S-Функции для многозадачных сред (Simulink Coder).
C, C++
См. S-функцию sdotproduct.c используется в sfcndemo_sdotproduct и S-функцию sfun_multirate.c используется в sfcndemo_sfun_multirate.