mdlOutputs

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

Необходимый

Да

Языки

C, C++

Синтаксис

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

Аргументы

S

SimStruct, представляющий Блок s-function.

tID

ID задачи.

Описание

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

tid (ID задачи) аргумент задает выполнение задачи, когда стандартная программа mdlOutputs вызывается. Можно использовать этот аргумент в стандартной программе mdlOutputs Блока s-function мультиуровня, чтобы инкапсулировать специфичные для задачи блоки кода (см. Блоки s-function Мультиуровня).

Используйте макрос 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 

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

Пример

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

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

Была ли эта тема полезной?