ssGetOutputPortRealSignal
获取指向 double
(real_T
) 类型输出信号的指针
语法
real_T *ssGetOutputPortRealSignal(SimStruct *S, int_T port)
参量
S
表示 S-Function 模块的 SimStruct。
port
输出端口的索引。
返回
一个连续的 real_T
向量,其长度等于输出端口的宽度。
描述
在任何仿真循环例程中使用 mdlInitializeConditions
或 mdlStart
来访问输出端口信号,其中输出端口索引从 0 开始并且必须小于输出端口的数量。
注意
如果您已指定输出端口可使用
重复使用,则除了 ssSetOutputPortOptimOpts
mdlOutputs
之外,您不能在任何地方使用 ssGetOutputPortRealSignal
。例如,如果使用 SS_REUSABLE_AND_LOCAL
标志将输出指定为可重复使用,则当 mdlUpdate
例程尝试访问不可用的输出内存时会出现错误。
语言
C、C++
示例
要写入所有输出端口,您可以使用
int_T i,j; int_T nOutputPorts = ssGetNumOutputPorts(S); for (i = 0; i < nOutputPorts; i++) { real_T *y = ssGetOutputPortRealSignal(S,i); int_T ny = ssGetOutputPortWidth(S,i); for (j = 0; j < ny; j++) { y[j] = SomeFunctionToFillInOutput(); } }
有关使用此函数的完整示例,请参阅 sfcndemo_sfun_atol
中使用的 S-Functionsfun_atol.c
。
版本历史记录
在 R2006a 之前推出