Задайте возможность многократного использования памяти, выделенной входному порту 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® игнорирует установку memory scope, вместо этого обрабатывая все порты S-функции как глобальную переменную в процессе моделирования.
Примечание
Продукт Simulink Coder™ использует установку memory scope, которую вы задали при генерации кода из модели. Продукт Simulink Coder пытается объявить локальные переменные для любых входных параметров с локальным осциллографом. Если ваша S-функция использует входные параметры способом, который устраняет использовать локальный осциллограф, сгенерированный код использует глобальные переменные для входных параметров. Смотрите S-функции для Многоскоростных Многозадачных Сред (Simulink Coder) и S-функции, Которые Задают Порт Scope и Возможность многократного использования (Simulink Coder) для получения дополнительной информации.
C, C++
Смотрите S-функцию sfun_multirate.c
используемый в sfcndemo_sfun_multirate
и S-функция sdotproduct.c
используемый в sfcndemo_sdotproduct
.