文档

数据字典中的枚举

一个万博1manbetx仿真软件®数据字典永久存储包括MATLAB在内的模型数据®变量、数据对象和数据类型,包括枚举类型。有关数据字典的基本信息,请参见什么是数据字典?

将枚举类型迁移到数据字典

此示例演示如何将模型使用的枚举类型迁移到数据字典中。

导入设计资料

  1. 打开一个为设计数据或模型中的块使用枚举类型的模型。

  2. 在Simuli万博1manbetxnk编辑器中,单击文件>模型属性>链接到数据字典

  3. 模型属性对话框,设置模型指数据字典并点击创建数据字典。

  4. 命名数据字典,保存它,然后单击应用

  5. 点击添加路径,如果您看到将字典位置添加到MATLAB路径的消息。

  6. 点击好吧响应关于迁移引用变量的消息。

    将出现一条消息,报告从基本工作区导入到数据字典的项的数量。

  7. 万博1manbetxSimulink报告未导入数据字典的枚举类型。

  8. 点击好吧

    在Simulink Editor中出现一个通知,报告您的模型万博1manbetx现在链接到数据字典。

导入枚举类型

只有在导入使用这些类型创建的所有设计数据之后,才能导入枚举类型的定义。当您将枚举类型导入数据字典时,Simulink将禁用包含类型定义的MATLAB文件或p文件,从而导致保留在MA万博1manbetxTLAB基本工作空间中的变量失去它们的定义。

  1. 在MATLAB命令提示符下,获取模型块中使用的枚举类型的名称。

    查找模型块中使用的所有变量和枚举类型usedTypesVars = 万博1manbetxSimulink.findVars(“EnumsReporting”“IncludeEnumTypes”,真正的);在这里,EnumsReporting是模型和的名称% usedTypesVars是Simulink的一个数组。万博1manbetxVariableUsage对象查找由MATLAB文件或p文件定义的枚举类型的索引enumTypesFile = strcmp({usedTypesVars. {)SourceType},“MATLAB文件”);查找使用函数定义的枚举类型的索引% 万博1manbetxSimulink.defineIntEnumTypeenumTypesDynamic = strcmp({usedTypesVars. {)SourceType},“动态类”);在一个数组中,表示两种枚举类型的索引| enumTypesDynamic;使用逻辑索引返回使用的枚举类型的名称enumTypeNames = {usedTypesVars(enumTypesIndex)。名称}’
    enumTypeNames = 'dEnum1' 'dEnum10' 'dEnum2' 'dEnum3' 'dEnum4' 'dEnum5' 'dEnum6' 'dEnum9'
  2. 打开数据字典,并用万博1manbetxSimulink.data.Dictionary对象。

    ddConnection = 万博1manbetxSimulink.data.dictionary.open(“myEnumsDD.sldd”
    ddConnection =带有属性的字典:DataSources: {0x1 cell} HasUnsavedChanges: 0 NumberOfEntries: 3

  3. 使用importEnumTypes方法导入模型中块使用的枚举类型。该方法保存对目标字典所做的更改,因此在使用该方法之前,请确认未保存的更改是可接受的。

    [successfulMigrations, unsuccessfulMigrations] =...importEnumTypes (ddConnection enumTypeNames)
    successfulMigrations = 1x6 struct array with fields: className renamedFiles unsuccessfulMigrations = 1x2 struct array with fields: className reasons
    当导入枚举类型时,importEnumTypes通过追加重命名枚举类定义文件.save到文件名。例如,如果命名了原始的枚举类定义Enum1.m, 万博1manbetxSimulink将文件重命名为Enum1.m.save

    结构unsuccessfulMigrations报告未迁移的枚举类型。在此示例中,在模型工作区中定义了两个枚举类型实例,并可以在关闭模型后导入它们。关闭模型以导入这些枚举类型。

  4. 打开字典以查看迁移的枚举类型。

操作数据字典中的枚举

这些示例演示了如何操作数据字典中的现有枚举。

重命名枚举类型定义

  1. 在数据字典中,创建枚举类型的副本,并重命名该副本。

  2. 查找模型使用的从具有旧名称的类型派生的枚举对象。

  3. 用从重命名类型派生的对象替换这些对象。

  4. 删除具有旧名称的类型。

重命名枚举成员

使用以下方法之一。

  • 选择字典中的枚举,并重命名一个或多个枚举成员。

  • 如果模型引用枚举成员,则更改这些引用以匹配重命名的成员。

删除枚举成员

  1. 在模型中查找要删除的枚举成员的引用。

  2. 用替代成员替换这些引用。

  3. 从枚举中删除原始成员。

更改枚举成员的基础值

您可以在将枚举成员的值表示为MATLAB变量时更改这些值,或者使用价值领域的万博1manbetx仿真软件。参数对象。

  1. 在模型中查找对您想要更改其值的枚举成员的引用。

  2. 把这些参考记录下来。

  3. 更改枚举成员的值。

  4. 手动更新对模型中枚举成员的引用。

另请参阅

相关的话题

这个话题有帮助吗?