mdlSetDefaultPortDataTypes
设置无法从块连通性判断数据类型的端口的数据类型
要求
没有
语言
C, c++
语法
#定义MDL_SET_DEFAULT_PORT_DATA_TYPES(SimStruct *S)
参数
-
年代
-
SimStruct表示S-Function块。
描述
的仿真软万博1manbetx件®如果块的端口无法通过块的连通性确定其数据类型,Engine调用此方法。(这通常发生在区块未连接或处于反馈循环的一部分时。)该方法必须设置所有未设置数据类型的端口的数据类型。此方法仅对模拟有效,必须包含在#如果定义(MATLAB_MEX_FILE)
声明。
如果块没有实现此方法,并且引擎不能确定其任何端口的数据类型,则引擎将所有端口的数据类型设置为双
.如果块没有实现此方法,并且引擎不能确定其部分(而不是全部)端口的数据类型,则引擎将未知端口设置为其数据类型最大的端口的数据类型。
时,引擎将调用错误mdlSetDefaultPortDataType
方法尝试修改端口的数据类型,而该数据类型先前已由mdlSetInputPortDataType
或mdlSetOutputPortDataType
.如果s函数有多个输入或输出端口,mdlSetDefaultPortDataType
在尝试设置端口的数据类型之前,应该检查端口的数据类型是否仍然是动态的。例如,mdlSetDefaultPortDataType
使用以下行检查第二个输入端口的数据类型是否仍然未知。
if (ssGetInputPortDataType(S, 1) == DYNAMICALLY_TYPED) {ssSetInputPortDataType(S, 1, SS_UINT8);}
R2006a之前介绍过
这个话题有帮助吗?