主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

ssSetInputPortDataType

设置输入端口的数据类型

语法

DTypeId ssSetInputPortDataType(SimStruct *S, int_T port, DTypeId id)

参量

S

表示 S-Function 模块的 SimStruct。

port

输入端口的索引。

id

port 接受的数据类型的 ID。

返回

id 指定的数据类型 ID。如果 idDYNAMICALLY_TYPED,则返回 -1

描述

mdlInitializeSizes 中使用此函数设置 port 指定的输入端口的数据类型。如果输入端口数据类型是从连接到端口的模块继承的,则将数据类型设置为 DYNAMICALLY_TYPED。在这种情况下,S-Function 必须提供 mdlSetInputPortDataTypemdlSetDefaultPortDataTypes 方法,以便在信号传播期间正确设置数据类型。

下表是与索引 DTypeId 相关的内置数据类型列表。

整数数据类型 ID (DTypeId)内置数据类型
0SS_DOUBLE
1SS_SINGLE
2SS_INT8
3SS_UINT8
4SS_INT16
5SS_UINT16
6SS_INT32
7SS_UINT32
8SS_BOOLEAN

9 或更大的整值表示自定义数据类型,例如定点类型、总线类型和枚举数据类型。每个值的含义取决于您在模型中使用的自定义数据类型的数量和种类。

注意

输入端口的数据类型默认为 double (real_T)。

语言

C、C++

示例

假设您想要创建一个具有两个输入端口的 S-Function,其中第一个输入端口从驱动模块继承其数据类型,第二个输入端口接受类型为 int8_T 的输入。以下代码设置数据类型。

ssSetInputPortDataType(S, 0, DYNAMICALLY_TYPED)
ssSetInputPortDataType(S, 1, SS_INT8)

有关使用此函数的完整示例,请参阅 sfcndemo_dtype_io 中使用的 S-Functionsfun_dtype_io.csfcndemo_sdotproduct 中使用的 S-Functionsdotproduct.c

版本历史记录

在 R2006a 之前推出