主要内容

mdlOutputs

计算此块发出的信号

要求

是的

语言

C, c++

语法

#定义MDL_OUTPUTSvoid mdlOutputs(SimStruct *S, int_T tid)输出结果

参数

年代

表示s -功能块的SimStruct。

tid

任务ID。

描述

的仿真软金宝app件®引擎在每个模拟时间步骤调用这个必需的方法。该方法需要计算s函数在当前时间步长的输出,并将结果存储在s函数的输出信号阵列中。

tid(任务ID)参数指定当mdlOutputs例程被调用。你可以在mdlOutputs例程的多速率S-Function块封装特定于任务的代码块(参见多重速率的功能块).

使用UNUSED_ARG宏,如果s -函数不包含特定于任务的代码块来指示tid输入参数是必需的,但在回调函数体中不使用。要做到这一点,插入一行

UNUSED_ARG (tid)

在声明之后mdlOutputs

请注意

如果你有金宝app仿真软件编码器™,当为包含此方法的非线性s -函数生成代码时,请确保该方法没有封装在#如果定义(MATLAB_MEX_FILE)声明。例如:

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

定义声明中使mdlOutputs方法仅对MATLAB可用®墨西哥人文件。如果s函数没有内联,则金宝app仿真软件编码器产品无法使用此方法,导致链接或运行时错误。

例子

举个例子mdlOutputs与多个输入和输出端口一起工作的例程,参见sfun_multiport.c

之前介绍过的R2006a