在s-function块中指定端口类型

时间:2014-12-18 17:44:56

标签: matlab simulink s-function

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

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

如何在Simulink中配置s功能块参数的类型?

1 个答案:

答案 0 :(得分:2)

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

ssSetInputPortDataType(S, 0, SS_BOOLEAN);

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

输出功能为ssSetOutputPortDataType,使用相同。