Задайте переиспользуемость памяти, выделенной входному порту S-функции
void ssSetInputPortOptimOpts(SimStruct *S, int_T port, uint_T val)
S
SimStruct, представляющий блок S-Function.
port
Индекс входа порта S
.
val
Переиспользуемость port
. Допустимые значения:
SS_NOT_REUSABLE_AND_GLOBAL
SS_REUSABLE_AND_LOCAL
SS_REUSABLE_AND_GLOBAL
SS_NOT_REUSABLE_AND_LOCAL
Используйте этот макрос, чтобы задать переиспользуемость и возможности памяти, выделенную входному порту S-функции. Переиспользуемость указывает, может ли быть перезаписана память, связанная с входом портом, или нет. Вы должны указать, что вход порт является повторно используемым, если вы используете ssSetInputPortOverWritable
макрос для задания памяти входного порта может быть перезаписан одним из выходных портов.
Simulink® engine игнорирует настройку возможностей памяти, вместо этого обрабатывая все порты S-функций как глобальные во время симуляции.
Примечание
Продукт Simulink Coder™ использует настройку возможностей памяти, заданную вами при генерации кода из модели. Продукт Simulink Coder пытается объявить локальные переменные для любых входов с локальными возможностями. Если ваша S-функция использует входы таким образом, чтобы исключить использование локальных возможностей, сгенерированный код использует глобальные переменные для входов. Для получения дополнительной информации см. S-Functions for Multitasking Environments (Simulink Coder) и S-Functions That Specific Port Scope and Reusability (Simulink Coder).
C, C++
Смотрите S-функцию sfun_multirate.c
используется в sfcndemo_sfun_multirate
и S-функции sdotproduct.c
используется в sfcndemo_sdotproduct
.