主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

ssGetOutputPortRealSignal

获取指向 double (real_T) 类型输出信号的指针

语法

real_T *ssGetOutputPortRealSignal(SimStruct *S, int_T port)

参量

S

表示 S-Function 模块的 SimStruct。

port

输出端口的索引。

返回

一个连续的 real_T 向量,其长度等于输出端口的宽度。

描述

在任何仿真循环例程中使用 mdlInitializeConditionsmdlStart 来访问输出端口信号,其中输出端口索引从 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 之前推出