Задайте, может ли S-функция использоваться в симуляции модели, на которую ссылаются, в режиме normal mode
void ssSetModelReferenceNormalModeSupport(SimStruct *S, ssModelReferenceNormalModeSupport mode)
S
SimStruct, представляющий Блок s-function.
mode
Отметьте для поддержки симуляции режима normal mode, когда Блок s-function будет использоваться в модели, на которую ссылаются. Опциями является DEFAULT_SUPPORT_FOR_NORMAL_MODE
(0
) или MDL_START_AND_MDL_PROCESS_PARAMS_OK
(1
).
Используйте в mdlInitializeSizes
, чтобы задать, может ли S-функция и с mdlStart
и с методом mdlProcessParameters
использоваться в симуляции модели, на которую ссылаются, в режиме normal mode. Допустимые значения:
DEFAULT_SUPPORT_FOR_NORMAL_MODE
: механизм Simulink® производит ошибку, если S-функция находится в симуляции модели, на которую ссылаются, в режиме normal mode.
MDL_START_AND_MDL_PROCESS_PARAMS_OK
: механизм Simulink позволяет симуляцию режима normal mode S-функции в модели, на которую ссылаются.
Флаг ssSetModelReferenceNormalModeSupport
указывает к механизму, если код в mdlProcessParameters
независим от кода в mdlStart
. Эта информация важна, потому что механизм изменяет свой процесс симуляции режима normal mode для S-функций в модели, на которую ссылаются. Если S-функция не находится в модели, на которую ссылаются, механизм всегда выполняет метод mdlStart
до метода mdlProcessParameters
. Однако во время симуляции режима normal mode моделей, на которые ссылаются, механизм может решить выполнить метод mdlProcessParameters
S-функции до mdlStart
. Если метод mdlProcessParameters
требует данных, инициализированных в mdlStart
, механизм не может успешно изменить порядок выполнения.
По умолчанию механизм производит ошибку, если он находит S-функцию и с mdlStart
и с методом mdlProcessParameters
в симуляции модели, на которую ссылаются, в режиме normal mode. Поведение по умолчанию эквивалентно определению опции DEFAULT_SUPPORT_FOR_NORMAL_MODE
для ssSetModelReferenceNormalModeSupport
. Если S-функция не зависит от порядка выполнения этих двух методов, задайте опцию MDL_START_AND_MDL_PROCESS_PARAMS_OK
, чтобы включить симуляцию режима normal mode.
C, C++
Смотрите S-функцию sfun_frmad.c
, используемый в sfcndemo_frame
для примера, который использует эту функцию. Выполнение этой модели требует лицензии DSP System Toolbox™.