mdlOutputs
计算该模块发出的信号
必需
是
语言
C、C++
语法
#define MDL_OUTPUTS
void mdlOutputs(SimStruct *S, int_T tid)
参量
S
表示 S-Function 模块的 SimStruct。
tid
任务 ID。
描述
Simulink® 引擎在每个仿真时间步骤调用此必需方法。该方法应计算当前时间步骤的 S-Function 输出,并将结果存储在 S-Function 的输出信号数组中。
tid
(任务 ID)参量指定调用 mdlOutputs
例程时运行的任务。您可以在多速率 S-Function 模块的 mdlOutputs
例程中使用此参量来封装特定于任务的模块(参阅 Multirate S-Function Blocks)。
如果 S-Function 不包含特定于任务的模块,则使用 UNUSED_ARG
宏来指示 tid
输入参量是必需的但未在回调主体中使用。为此,请插入行
UNUSED_ARG(tid)
在 mdlOutputs
中的声明之后。
注意
如果您有 Simulink Coder™,则在为包含此方法的非内联 S-Function 生成代码时,请确保该方法未包装在 #if defined(MATLAB_MEX_FILE)
语句中。例如:
#if defined(MATLAB_MEX_FILE) static void mdlOutputs(SimStruct *S) { /* Add mdlOutputs code here * } #endif
define
语句使 mdlOutputs
方法仅适用于 MATLAB® MEX 文件。如果 S-Function 未内联,则 Simulink Coder 产品无法使用此方法,从而导致链接或运行时错误。
示例
有关与多个输入和输出端口一起使用的 mdlOutputs
例程的示例,请参阅 sfun_multiport.c
。
版本历史记录
在 R2006a 之前推出