ssSetOutputPortOptimOpts

Задайте переиспользуемость памяти, выделенной выходному порту S-функции

Синтаксис

void ssSetOutputPortOptimOpts(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-функции. Переиспользуемость указывает, можно ли перезаписать память, связанную с выходом портом. Необходимо указать, что выход порт является повторно используемым, если выход порт соединяется с блоком Merge. Возможности указывают, хранятся ли переменные модели локально или глобально.

Вы не можете использовать ssGetOutputPortSignal или ssGetOutputPortRealSignal в любом месте, кроме mdlOutputs стандартная программа, если вы указали, что выходные порты являются переиспользуемыми.

Simulink® продукт использует только настройку переиспользуемости во время симуляции. Он игнорирует настройку возможностей памяти, то есть локальную или глобальную, вместо этого обрабатывая все порты S-функции как глобальные во время симуляции.

Примечание

Продукт Simulink Coder™ использует настройку возможностей памяти, заданную вами при генерации кода из модели. Если ваша S-функция обращается к выходам только в mdlOutputsПродукт Simulink Coder пытается объявить локальные переменные для любых выходов с локальными возможностями. Если ваша S-функция использует выходы таким образом, чтобы исключить использование локальных возможностей, сгенерированный код использует глобальные переменные для выходов. Для получения дополнительной информации см. S-Functions for Multitasking Environments (Simulink Coder).

Языки

C, C++

Пример

Смотрите S-функцию sdotproduct.c используется в sfcndemo_sdotproduct и S-функции sfun_multirate.c используется в sfcndemo_sfun_multirate.

Представлено до R2006a