Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

Simulink.AliasType

为信号和参数数据类型创建别名

说明

使用 Simulink.AliasType 创建内置数据类型(例如 int8)的别名。

该对象的名称是别名。别名引用的数据类型(如 int8)是基类型。别名不能为:

  • 浮点类型:halfsingledouble

  • 整数类型:int8uint8int16uint16int32uint32int64uint64

  • sfixufixflt 开头的 Fixed-Point Designer™ 类型。

您在基础工作区或数据字典中创建该对象。要使用别名,请您使用该对象的名称为模型中的信号、状态和参数设置数据类型。

使用别名指定信号和参数数据类型可以极大地简化对模型指定的数据类型进行的全局更改。特别是,更改其数据类型由别名指定的所有信号、状态和参数的数据类型时,仅需更改别名的基类型即可。相比较而言,如果更改其数据类型由实际类型名称指定的信号、状态和参数的数据类型,则需要逐项指定每个信号和参数的数据类型。

您可以使用此类的对象为下列各项创建别名:Simulink® 内置数据类型、定点数据类型、枚举数据类型、Simulink.NumericType 对象以及其他 Simulink.AliasType 对象。只有在您使用基于 ERT 的系统目标文件 (Embedded Coder®) 时,您从模型 (Simulink Coder™) 生成的代码才会使用别名。

或者,要定义和命名数值数据类型,可以使用 Simulink.NumericType 类的对象。

创建对象

您可以使用模型资源管理器或 MATLAB® 命令创建数据类型别名。

要使用模型资源管理器创建别名,请执行下列操作:

  1. 在模型资源管理器的 Model Hierarchy 窗格中,选择 Base Workspace

    您必须在 MATLAB 工作区或数据字典中创建数据类型别名。如果您尝试在模型工作区中创建别名,Simulink 软件将显示错误。

  2. 从模型资源管理器的 Add 菜单中,选择 Simulink.AliasType

    Simulink 软件创建 Simulink.AliasType 对象的实例,并将其指定给 MATLAB 工作区中名为 Alias 的变量。

  3. 将该变量重命名为更合适的名称,例如反映其用途的名称。

    要更改名称,请编辑模型资源管理器的 Contents 窗格上的 Name 字段中显示的名称。

  4. 在模型资源管理器的 Dialog 窗格上的 Base type 字段中,输入此别名表示的数据类型的名称。

    您可以在此字段中指定任何现有标准数据类型或用户定义的数据类型的名称。如果基类型为 double(默认值),则跳过此步骤。

要生成与外部 C 代码中的 typedef 语句对应的 Simulink.AliasType 对象,请考虑使用 Simulink.importExternalCTypes 函数。

要以编程方式创建数据类型别名,请使用下文所述的 Simulink.AliasType 函数。

Description

示例

aliasObj = Simulink.AliasType 返回具有默认属性值的 Simulink.AliasType 对象。

示例

aliasObj = Simulink.AliasType(baseType) 返回 Simulink.AliasType 对象并使用 baseType 初始化 BaseType 属性的值。

属性

全部展开

有关 Simulink.AliasType 对象的属性对话框中的各项属性,请参阅 Simulink.AliasType Property Dialog Box

此别名重命名的基本数据类型的名称,指定为字符向量或字符串标量。您可以指定一种标准数据类型的名称,例如 int8half,或一种自定义数据类型的名称,例如另一个 Simulink.AliasType 对象的名称或枚举的名称。

要指定定点数据类型,可以调用 fixdt 函数,例如 'fixdt(0,16,7)'

您可以通过指定一种非标准数据类型(例如 Simulink.NumericType 对象定义的一种数据类型)的名称来指定一种非标准数据类型,但存在一个例外。这个例外是 Simulink.NumericType,其 DataTypeMode 为 “Fixed-point: unspecified scaling”。

注意

Fixed-point: unspecified scaling” 是一种部分指定的类型,其定义由使用 Simulink.NumericType 的模块完成。禁止在别名类型中使用它,则可避免创建因具体使用位置不同而具有不同基类型的别名。

对应于属性对话框中的 Base type

示例: 'int8'

示例: 'myOtherAlias'

数据类型: char | string

指定是在生成代码 (Simulink Coder) 中生成类型定义还是导入类型定义 (typedef),指定为 'Auto''Exported'Imported'

下表说明了每个选项的影响。

操作
'Auto'(默认值)如果没有为 HeaderFile 指定任何值,则将类型定义导出到 model_types.h,其中 model 是模型名称。如果您拥有 Embedded Coder 许可证,并且您已指定数据类型替代,则将类型定义导出到 rtwtypes.h

如果为 HeaderFile 指定了值,则从指定的头文件中导入数据类型定义。
'Exported'将数据类型定义导出到头文件中,该文件可在 HeaderFile 属性中指定。如果没有为 HeaderFile 指定任何值,则头文件名称的默认值为 type.htype 是数据类型名称。
'Imported'从头文件中导入数据类型定义,该文件可在 HeaderFile 属性中指定。如果没有为 HeaderFile 指定任何值,则头文件名称的默认值为 type.htype 是数据类型名称。

有关详细信息,请参阅Control File Placement of Custom Data Types (Embedded Coder)

对应于属性对话框中的 Data scope

数据类型别名的自定义描述,指定为字符向量。

对应于属性对话框中的 Description

示例: 'This type alias corresponds to a floating-point implementation.'

数据类型: char

在生成的代码中包含类型定义 (typedef) 的头文件的名称,指定为字符向量。

如果指定了此属性,则在导入或导出的代码生成过程中使用指定的名称。如果此属性为空,则当 DataScope 等于 'Imported''Exported' 时默认值为 type.h,当 DataScope 等于 'Auto' 时默认值为 model_types.h

默认情况下,生成的 #include 指令使用预处理器分隔符 ",而不是 <>。要生成指令 #include <myTypes.h>,请将 HeaderFile 指定为 '<myTypes.h>'

有关详细信息,请参阅Control File Placement of Custom Data Types (Embedded Coder)

对应于属性对话框中的 Header file

示例: 'myHdr.h'

示例: 'myHdr'

示例: 'myHdr.hpp'

数据类型: char

示例

全部折叠

SlDemoSign 枚举类型创建别名:

myEnumAlias = Simulink.AliasType('Enum: SlDemoSign');

要使用 Simulink.AliasType 对象为定点数据类型创建别名,请通过调用 fixdt 函数来设置该对象的 BaseType 属性。必须将 BaseType 的值指定为字符向量。

例如,以下代码为字长等于 16、小数长度等于 7 的无符号定点数据类型创建别名。

myFixptAlias = Simulink.AliasType;
myFixptAlias.BaseType = 'fixdt(0,16,7)';

扩展功能

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

在 R2006a 之前推出