我从编译的C代码构建我的第一个s-function块。一切都很顺利,除了s-function块要求它的接口变量是double
类型,即使底层的C接口变量不是。如果我将布尔信号连接到输入并尝试运行,则该块会引发错误。
我通过调用ssGetInputPortSignal
和ssGetOutputPortSignal
获取代码中的变量,并将返回的void指针转换为正确的指针类型。
如何在Simulink中配置s功能块参数的类型?
答案 0 :(得分:2)
看看ssSetInputPortDataType。需要在S-Function mdlInitializeSizes
函数中调用。在您的情况下,您需要以下内容:
ssSetInputPortDataType(S, 0, SS_BOOLEAN);
假设输入端口是第一个,并且您不关心返回值。
输出功能为ssSetOutputPortDataType,使用相同。