文档

mdlSetDefaultPortDataTypes

设置无法从块连通性判断数据类型的端口的数据类型

要求

没有

语言

C, c++

语法

#定义MDL_SET_DEFAULT_PORT_DATA_TYPES(SimStruct *S)

参数

年代

SimStruct表示S-Function块。

描述

的仿真软万博1manbetx件®如果块的端口无法通过块的连通性确定其数据类型,Engine调用此方法。(这通常发生在区块未连接或处于反馈循环的一部分时。)该方法必须设置所有未设置数据类型的端口的数据类型。此方法仅对模拟有效,必须包含在#如果定义(MATLAB_MEX_FILE)声明。

如果块没有实现此方法,并且引擎不能确定其任何端口的数据类型,则引擎将所有端口的数据类型设置为.如果块没有实现此方法,并且引擎不能确定其部分(而不是全部)端口的数据类型,则引擎将未知端口设置为其数据类型最大的端口的数据类型。

时,引擎将调用错误mdlSetDefaultPortDataType方法尝试修改端口的数据类型,而该数据类型先前已由mdlSetInputPortDataTypemdlSetOutputPortDataType.如果s函数有多个输入或输出端口,mdlSetDefaultPortDataType在尝试设置端口的数据类型之前,应该检查端口的数据类型是否仍然是动态的。例如,mdlSetDefaultPortDataType使用以下行检查第二个输入端口的数据类型是否仍然未知。

if (ssGetInputPortDataType(S, 1) == DYNAMICALLY_TYPED) {ssSetInputPortDataType(S, 1, SS_UINT8);}

R2006a之前介绍过

这个话题有帮助吗?