1

我正在从编译的 C 代码构建我的第一个 s-function 块。一切都很好,除了 s-function 块要求它的接口变量是 type double,即使底层的 C 接口变量不是。如果我将布尔信号连接到输入并尝试运行,该块会引发错误。

我通过调用ssGetInputPortSignaland来获取代码中的变量ssGetOutputPortSignal,并将它们返回的 void 指针转换为正确的指针类型。

如何在 Simulink 中配置 s-function 模块的参数类型?

4

1 回答 1

2

看看ssSetInputPortDataType。需要在 S-FunctionmdlInitializeSizes函数中调用。在您的情况下,您将需要以下内容:

ssSetInputPortDataType(S, 0, SS_BOOLEAN);

假设输入端口是第一个并且您不关心返回值。

输出的函数是ssSetOutputPortDataType,用途相同。

于 2014-12-18T18:15:16.647 回答