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 之前推出