主要内容

迁移模型来使用金宝app数据字典

一个金宝app仿真软件®数据字典永久存储模型数据包括MATLAB®变量、数据对象和数据类型。数据字典的基本信息,请参阅什么是数据字典?

单一模型迁移到使用字典

这个例子展示了如何连接一个独立的模型,一个数据字典。

请注意

金宝app模型不能模拟数据如Timeseries对象导入到数据字典。

  1. 打开f14模型,它将设计数据加载到基本工作空间。

  2. 模型的副本保存到当前文件夹。打开复制。

  3. 在模型编辑器中金宝app,在建模选项卡,在设计,点击链接到数据字典

  4. 模型属性对话框中,单击创建一个数据字典。

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

  6. 点击迁移数据

  7. 点击迁移为了应对信息复制引用变量。

  8. (可选)明确使模型访问基工作区

  9. 点击好吧

  10. 打开字典,在模型编辑器中,单击模型数据的徽章金宝app在左下角,然后单击外部数据链接。检查字典的内容,在Model Explorer模型层次结构窗格中,在外部数据节点,节点扩展字典。

迁移模型参考等级使用字典

这个例子展示了如何联系父母模型及其所有引用模型到一个数据字典。

  1. 打开sldemo_mdlref_datamngt模型介绍管理数据与模型参考的例子。

    openExample (“sldemo_mdlref_datamngt”)
    sldemo_mdlref_datamngt模型引用sldemo_mdlref_counter_datamngt

  2. 模型的副本保存到当前文件夹。

  3. 打开顶级模特,sldemo_mdlref_datamngt

  4. 在模型编辑器中金宝app,在建模选项卡,在设计,点击链接到数据字典

  5. 模型属性对话框中,单击创建一个数据字典。

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

  7. 点击改变所有的模型为了应对信息链接引用的模型已经不使用字典。

  8. 点击迁移数据

  9. 点击迁移为了应对信息复制引用变量。

  10. (可选)明确使模型访问基工作区

  11. 点击好吧

考虑在迁移之前的数据字典

你链接模型数据字典后,你可以选择从基本工作空间迁移数据到词典。如果你选择迁移数据,考虑到这些因素。

检查数据加载回调

您可以使用回调函数等模型PreLoadFcn回调将设计数据从文件加载到模型加载时基工作区。例如,下面的回调负荷从垫设计数据文件myData.mat

负载myData

迁移到数据字典,这些回调后将继续设计数据装载到基地的工作区。由于模型得出设计的数据字典,手动删除或注释掉这些数据加载回调。

您可以使用依赖分析仪数据加载回调。看到分析模型的依赖性

检查脚本

新模式访问默认工作区底部,但不失去当它与一个数据字典。脚本必须写假设模型可以获得基本工作空间,数据字典,或两者兼而有之。

如果你明确引用使用处理基本工作空间基地在你的脚本,考虑改变这些引用。

考虑一下这个例子。在这里,脚本的基本工作空间变量的搜索传感器并设置参数启用这取决于的价值sensor.noiseEnable

如果evalin(“基地”,“sensor.noiseEnable”)使=“启用”;其他支持=“禁用”;结束

当你迁移到一个数据字典,取代这些显式引用基地如下:

如果S金宝appimulink.data.evalinGlobal (myExampleModel,…“sensor.noiseEnable”)使=“启用”;其他支持=“禁用”;结束
金宝appSimulink.data.evalinGlobal函数计算一个表达式在全球范围指定的模型。在这里,全球范围可以在数据字典或工作区,如果模型不是一本字典。

检查代码生成的可调参数

  • 如果你的模型与数据字典,和模型没有访问工作区(见底部继续使用基本的工作区中共享数据),模金宝app型忽略了存储类信息中指定的模型参数配置对话框。

  • 如果你使用仿真软件界面迁移模型金宝app使用数据字典,和你选择基本工作空间迁移数据,仿真软件也迁移模型的存储类信息。如果你的模型包含基本工作空间变量的存储类信息,仿真软件将这些变量转换成金宝app金宝appSimulink.Parameter在迁移对象。然后,模型集金宝app的存储类金宝appSimulink.Parameter对象使用的存储类信息模型。

  • 如果你这个模型迁移回基地工作区,仿真软件不恢复存储类信息在模型中。金宝app保存这些变量的存储类,使用参数对象从数据字典。你也可以手动复位存储类模型中的信息。

  • 如果你设置DataDictionary属性模型从命令行,您可以转换可调变量金宝appSimulink.Parameter对象的使用tunablevars2parameterobjects函数。

数据模型所使用的引用

当你使用模型引用将一个大系统的模型分成更小的组件和子组件,您可以创建数据字典来单独使用的数据模型。不同的模型在模型层次结构可以连接到不同的字典来查看不同的数据集。

数据源模型引用层次包括这些数据字典以及基本工作空间。在大多数情况下,仿真软件报告错金宝app误标志时不止一次在数据源定义参考模型的层次结构。然而,重复的数据定义可以存在于一个层次结构在这些条件下:

  • 每个模型的层次结构可以看到只有一个定义。

  • 在模型层次结构的定义是相同的。

你可以放松第二个条件通过设置模型参数EnforceDataConsistency

set_param (bdroot“EnforceDataConsistency”,“关闭”);

这个参数设置,当前模型和模型在模型层次结构可以使用以下符号具有相同名称但不同的值,只要第一个条件满足。此设置允许您更容易地集成为大规模模拟仿真软件模型。金宝app

默认情况下,EnforceDataConsistency参数设置为。你不能设置EnforceDataConsistency除非每个模型的模型及其变体也组引用EnforceDataConsistency

禁用一致性检查只有当模拟模型在正常模式。设置EnforceDataConsistency导致一个错误:

  • 代码生成

  • 银和公益诉讼模拟

  • 仿真模型的层次结构,其中包含一个或多个模型在加速器或快速加速器模式下运行

  • 一个受保护的模型的仿真

有关更多信息,请参见确定在哪里存储变量和对象模型模型金宝app

有效的设计数据类

你可以进口,商店,或创建MATLAB使用Simulink-supported数据类型的变量,如金宝app金宝app布尔int32和结构设计数据部分的模型数据字典。金宝app您还可以使用这些类的对象和对象的类,这些类的子类:

  • 金宝appSimulink.AliasType

  • 金宝appSimulink.Bus

  • 金宝appSimulink.NumericType

  • 金宝appSimulink.Parameter

  • 金宝appSimulink.LookupTable

  • 金宝appSimulink.Breakpoint

  • 金宝appSimulink.Signal

  • 金宝appSimulink.ValueType

  • 金宝appSimulink.Variant

  • 金宝appSimulink.data.dictionary.EnumTypeDefinition

  • embedded.fi

  • embedded.fimath

  • numlti

此外,您可以导入、存储或创建这些类的配置对象配置部分的模型数据字典:金宝app

无效的其他数据类

可以导入、存储或创建数据对象的许多内置的和自定义的类或数据类型其他数据部分的模型数据字典,除了以金宝app下:

  • 从内置的或自定义的类创建的数组对象

  • 自定义类的属性与任何这些名字:

    • LastModified

    • LastModifiedBy

    • 数据源

    • 状态

    • 变体

迁移与从工作空间

如果一个模型包含一个从工作空间块,是指一个变量的基本工作空间,您可以迁移模型数据字典。但是,迁移过程需要不同的行动取决于变量的性质块指的是:

  • 如果变量的值不是一个timeseries对象,迁移过程导入变量来设计数据字典的数据部分。块仍然可以参考变量。

  • 如果变量的值timeseries对象(数据字典不能存储)或结构字段相同的timeseries对象,迁移过程不导入变量。然后,当你试图更新图或模拟模型,从工作空间无法找到该变量和一个错误的问题。在这种情况下,您可以配置块引用基本工作空间变量使用evalin函数。有关更多信息,请参见从工作空间

数据字典的局限性

  • 金宝app只有通过使用仿真软件不能自动迁移变量不活跃的变体模型数据字典。

  • 你不能导入特定的设计数据等类对象,timeseries对象的设计数据部分数据字典。

  • 金宝app仿真软件不允许隐式信号解析模型与数据字典。使用数据字典,设置模型配置参数信号的分辨率明确的只没有一个

  • 如果一个模型参考等级已经连接到一个数据字典,你可以保护一个引用模型层次结构的一部分。然而,如果你迁移模型引用层次结构,包括一个受保护的模型,模拟将会失败。

    换句话说,一个模型迁移到使用数据字典之前保护它。

  • 评估表达式,包括模型变量或数据类型存储在数据字典可能不支持。金宝app金宝app

继续使用基本的工作区中共享数据

您可以继续共享数据存储在基本工作空间和模型相关数据存储在数据字典:

  • 允许访问的基本工作空间模型。

  • 启用访问基础空间数据字典。

启用访问基本工作空间模型,在模型属性对话框中,外部数据选项卡上,选择使模型访问基工作区。为一种新的模式,默认选中此复选框。如果模型没有连接到一个数据字典,必须选择这个选项。

您还可以允许访问数据字典的基本工作空间。为现有的字典,在Model Explorer,选择使字典基工作区

当你允许基地空间访问数据字典,这些限制和影响应用:

  • 一般来说,你不能与基础空间数据字典。

    • 当你检查字典的内容在Model Explorer,您不能看到基地的工作空间数据。与基本工作空间数据的模型层次结构窗格中,选择基本工作空间节点。

    • 用的编程接口数据字典(见以编程方式在字典中存储数据),与基础空间数据,您可以使用只有这些功能金宝appSimulink.data.dictionary.Section对象:

      • assignin

      • 存在

      • evalin

      考虑使用等功能金宝appSimulink.data.assigninGlobal代替。看到过渡到使用数据字典

  • 变更追踪功能,如能够查看和回复修改字典条目(见查看和回复更改字典条目),不适用于基础空间数据。

  • 当你从字典(参见导出数据导入和导出数据字典),模金宝app型忽略了基础空间数据。

  • 金宝app仿真软件对基本工作空间和字典作为一个单独的名称空间。但是你可以使用相同的名称定义两个变量,一个在基本工作空间和一个字典。在这种情况下,变量必须是相同的,所使用的变量在字典里。

复杂的迁移和共享数据模型层次结构

有关示例,请参见分区数据层次结构模型参考使用数据字典

另请参阅

相关的话题