文档

定义枚举数据类型

Stateflow提高可读性®图表,使用枚举数据。枚举数据,您可以:

  • 创建一个受限制的组值和引用这些值的名字。

  • 相关值分组到单独的数据类型。

  • 避免定义一长串常量。

枚举数据支持Stateflow图表在仿金宝app真软件金宝app®模型。有关更多信息,请参见通过使用枚举数据参考价值的名字

之前您可以添加枚举数据Stateflow图表,您必须定义一个枚举数据类型在MATLAB®类定义文件。为每个枚举类型创建一个不同的文件。

枚举数据类型定义的元素

枚举数据类型定义包括三个部分的代码。

部分的代码 需要吗? 目的
classdef

是的

提供枚举数据类型的名称

枚举

是的

列表数据类型允许的枚举值

方法

没有

提供自定义数据类型的方法

定义一个枚举数据类型

  1. 打开一个新文件中存储的数据类型的定义。从在MATLAB将来发布选项卡,选择>

  2. 完成classdef部分的定义。

    classdefBasicColors < 金宝appSimulink.IntEnumType结束

    classdef部分名称定义枚举数据类型BasicColors。Stateflow派生数据类型与内置类型金宝appSimulink.IntEnumType。枚举数据类型之间的数据类型名称必须是惟一的名称和工作空间变量名。

  3. 定义一个枚举值枚举部分。

    classdefBasicColors < 金宝appSimulink.IntEnumType枚举红(0)黄(1)绿(2)结束结束

    枚举类型可以定义任意数量的值。的枚举列出的枚举值集这种数据类型允许。每个枚举值包含一个名称和一个潜在的整数值。在其类型每个名称必须是惟一的,但也可以出现在其他枚举类型。默认值是第一个列表中,除非另有指定方法部分的定义。

  4. (可选)通过使用一个自定义数据类型方法部分。部分可以包含这些方法:

    • getDefaultValue除了第一个指定一个默认的枚举值在允许的值的列表。

    • getDescription指定数据类型的描述代码生成的金宝app仿真软件编码器™

    • getHeaderFile指定自定义头文件包含枚举类型定义代码生成的金宝app仿真软件编码器

    • getDataScope使出口或进口枚举类型定义或在代码生成的头文件金宝app仿真软件编码器

    • addClassNameToEnumNames增强可读性和防止名称冲突代码生成的标识符金宝app仿真软件编码器

    例如,这个MATLAB文件提供了一个定制的定义枚举数据类型BasicColors:

    • 指定默认的枚举值是允许的值的列表中的最后一个。

    • 包括一个简短的描述数据类型的代码生成的金宝app仿真软件编码器

    • 进口数据类型的定义,以防止从一个自定义头文件金宝app仿真软件编码器从生成定义。

    • 增加了数据类型的名称作为前缀在代码生成的每个枚举成员的名字金宝app仿真软件编码器

    classdefBasicColors < 金宝appSimulink.IntEnumType枚举红(0)黄(1)绿(2)结束方法(静态= true)函数retVal = getDefaultValue ()% GETDEFAULTVALUE指定默认的枚举成员。%返回一个有效的成员这个枚举类指定缺省值。%如果您没有定义这个方法,仿真软件使用的第一个成员。金宝appretVal = BasicColors.Green;结束函数retVal = getDescription ()% GETDESCRIPTION指定一个字符串来描述这个枚举类型。retVal =“这为颜色定义枚举类型”;结束函数retVal = getHeaderFile ()% GETHEADERFILE指定在生成的代码定义这种类型的文件。% getDataScope方法确定指定的文件的重要性。retVal =“imported_enum_type.h”;结束函数retVal = getDataScope ()% GETDATASCOPE指定生成的代码是否进口或出口这种类型。%返回一个字符串:% '汽车':在model_types定义类型。如果头文件指定h,或导入%“出口”:在生成的头文件定义类型%“进口”:从指定头文件导入类型定义%如果您没有定义这个方法,DataScope默认是“汽车”。retVal =“进口”;结束函数retVal = addClassNameToEnumNames ()% ADDCLASSNAMETOENUMNAMES指定是否要添加类的名字%作为前缀,枚举成员名称生成的代码。%返回true或false。%如果您没有定义这个方法,没有添加前缀。retVal = true;结束%的功能结束%的方法结束% classdef

  5. 保存文件在MATLAB的道路。文件的名称必须完全匹配的数据类型的名称。例如,定义数据类型BasicColors必须在文件命名BasicColors.m

    提示

    一个文件夹添加到MATLAB的搜索路径,类型目录路径名在命令提示符。

在属性检查器中指定数据类型

当你添加枚举数据图表,在属性检查器中指定其类型。

  1. 类型字段中,选择枚举:<类名>

  2. 取代<类名>数据类型的名称。例如,您可以输入枚举:BasicColors类型字段。

  3. (可选)输入一个初始值的枚举数据通过使用前缀标识符。初始值必须评估有效的MATLAB表达式。

相关的话题