mdlOutputs

Вычислите сигналы, которые излучает этот блок

Необходимый

Да

Языки

C, C++

Синтаксис

#define MDL_OUTPUTS
void mdlOutputs(SimStruct *S, int_T tid)

Аргументы

S

SimStruct, представляющий блок S-Function.

tid

Идентификатор задачи.

Описание

Simulink® двигатель вызывает этот необходимый метод на каждом временном шаге симуляции. Метод должен вычислить выходы S-функции в текущем временном шаге и сохранить результаты в массивах выходных сигналов S-функции.

The tid (идентификатор задачи) аргумент задает задачу, выполняемую при mdlOutputs вызывается подпрограмма. Можно использовать этот аргумент в mdlOutputs стандартная программа многоразового блока S-Function для инкапсуляции специфичных для задачи блоков кода (см. Multirate S-Function Blocks).

Используйте UNUSED_ARG макрос, если S-функция не содержит специфичных для задачи блоков кода, чтобы указать, что tid входной параметр требуется, но не используется в теле коллбэка. Для этого вставьте линию

UNUSED_ARG(tid)

после заявлений в mdlOutputs.

Примечание

Если у вас есть Simulink Coder™, при генерации кода для нелинейной S-функции, которая содержит этот метод, убедитесь, что метод не упакован в #if defined(MATLAB_MEX_FILE) оператор. Для примера:

#if defined(MATLAB_MEX_FILE) 
static void mdlOutputs(SimStruct *S) 
{ 
   /* Add mdlOutputs code here *
} 
#endif 

The define оператор делает mdlOutputs метод, доступный только для MATLAB® Файл MEX. Если S-функция не встроена, продукт Simulink Coder не может использовать этот метод, что приводит к ошибкам ссылки или времени выполнения.

Пример

Для примера mdlOutputs стандартная программа, которая работает с несколькими входными и выходными портами, см sfun_multiport.c.

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