主要内容

与多个模型共享配置

若要与多个模型共享配置集,请将其存储为独立配置设置在仿真软件金宝app®数据字典或基本工作区中。默认情况下,配置集驻留在单个模型中,因此只有该模型可以使用它。一个独立的组态集是金宝app仿真软件。ConfigSet对象,存储在模型外部,以便多个模型可以使用它。

要在模型中使用独立的配置集,请创建配置引用在指向独立配置集的模型中。然后,您可以以与标准配置集相同的方式激活配置引用。多个模型可以引用相同的独立配置集。

在需要时使用配置引用:

  • 在多个模型中使用相同的配置参数。当您更改独立配置中的参数值时,更改将应用于引用该配置的每个模型。

    要跨模型层次结构共享配置集,您可以将引用从顶层模型传播到它所引用的模型。有关更多信息,请参见跨引用模型共享配置

  • 更改任意数量模型的配置参数而不更改模型文件。当您在Simulink数据字典中存储配置集时,更改配置中的参数值将更改数据字典文金宝app件。链接到数据字典并引用配置集的模型使用新值,但它们的模型文件不会更改。

  • 快速替换任意数量模型的配置集,而不更改模型文件。当您在Simulink数据字典中存储配置集时,您可以从同样存储在数据字典中的引用金宝app指向该配置。然后,您的模型可以引用数据字典的配置引用。当您将数据字典的引用更改为指向不同的配置集时,模型将使用新的配置。

    当配置引用引用基本工作空间中的配置时,它指向表示金宝app仿真软件。ConfigSet对象。为变量分配不同的配置集,将该配置集分配给引用该变量的每个模型。

对于本例,您将配置集存储在Simulink数据字典中,并从链接到数据字典的模型中引用配置集。金宝app要创建和链接Simulink数据字典,请参金宝app见迁移模型以使用Simulink数据字典金宝app.要共享已经保存在模型中的配置集,请将配置转换为引用的独立配置,如跨引用模型共享配置

在数据字典中创建配置集

在从模型中引用独立的配置集之前,在Simulink数据字典中创建配置并将其链接到模型。金宝app对于本例,请使用Simulink项目金宝appsldemo_slproject_airframe.该项目包含Simulink数据字典金宝appsystem_model以及连接到数据字典的多个模型。

  1. 打开项目。在命令行中,输入sldemo_slproject_airframe

  2. 在项目文件夹中,在文件夹中数据,双击Simulink数据字典金宝appsystem_model.sldd.数据字典将在模型资源管理器中打开。

  3. 模型层次结构窗格中,展开的数据字典节点system_model.右键单击该节点,单击显示空的部分

  4. 选择“配置”节点,单击添加配置按钮.中的配置集对象内容窗格,使用默认名称,配置

  5. 为新配置命名SharedConfig

可以访问数据字典的模型system_model.sldd可以引用新的配置。

创建并附加配置参考

要在模型中使用独立的配置集,请附加指向该配置集的配置引用。对于本例,请使用该模型LinearActuator.该模型链接到Simulink数据字典金宝appsystem_model.sldd,其中包含您的新配置SharedConfig

  1. 打开模型。在命令行中,输入LinearActuator

  2. 在模型资源管理器中模型层次结构窗格中,选择模型节点。

  3. 选择添加>配置引用或单击添加配置参考按钮

  4. 在模型节点下,单击配置.一个新的配置引用参考上市。

  5. 为配置引用命名LinActuatorRef

新的配置引用被附加到模型,但是它还没有指向一个独立的配置,而且它也不是活动的。要完成设置,请解析并激活配置参考。

解析配置参考

未解析的配置引用是没有指向有效配置集对象的配置引用。当您使用上述步骤创建配置引用时,将无法解析该引用。

要解析您创建的配置引用,请执行以下操作:

  1. 模型层次结构的模型节点下LinearActuator模型,选择Configurations节点。在内容窗格中,选择未解析的配置引用,LinActuatorRef

    右边的窗格显示未解析配置引用。

  2. 使用的名字下拉菜单选择SharedConfig,它是在数据字典中创建的。

    提示

    可以指定配置引用的名称,而不是配置集的名称。但是,嵌套超过这个深度的配置引用会导致错误。

  3. 点击应用.警告图标消失,参考指向您的独立配置集。

如果您的配置引用已经被解析,您可以按照以下步骤更改它所引用的配置集。

激活配置参考

在创建配置引用并将其附加到模型之后,激活该引用以使用模型中引用的配置。

  1. 模型层次结构的模型节点下LinearActuator模型,选择Configurations节点。在内容窗格中,选择配置参考LinActuatorRef

  2. 右键单击配置引用LinActuatorRef并选择激活

当配置引用处于活动状态时,Model Explorer将显示带有后缀的引用的名称(主动).独立配置集现在提供了模型的配置参数。

在另一个模型中创建配置引用

对于本例,您将更新配置集,并查看它如何影响其关联的模型。重复上述过程进行关联SharedConfig第二种模式:

  1. 打开模型NonLinearActuator.该模型还链接到包含独立配置集的数据字典。

  2. 在模型资源管理器中,添加对模型的配置引用NonLinearActuator

  3. 为配置引用命名NonLinActuatorRef

  4. 将引用指向独立的配置集SharedConfig

  5. 激活配置参考。

两个模型现在都包含指向Simulink数据字典中相同配置集对象的配置引用。金宝app

更改引用配置集中的参数值

您可以通过从指向配置集的引用的“配置引用”对话框中打开独立配置集来编辑它。更改独立配置集会影响引用它的配置引用,这些引用中覆盖的参数除外。要编辑您从模型中引用的配置集,请执行以下操作:

  1. 打开引用配置集的模型之一。对于本例,打开模型LinearActuator

  2. 要打开“配置参考”对话框,请在建模选项卡上,单击模型设置按钮.“配置参考”对话框显示所引用配置的只读视图SharedConfig.在对话框中,您可以浏览、搜索和获得与参数上下文相关的帮助,方法与在配置参数对话框中相同。

  3. 在配置参考对话框的顶部,单击模型配置参数图标.打开“配置参数”对话框。现在可以像对任何配置集一样更改和应用参数值。

    请注意

    配置集中的一些选项不能在独立配置中使用,因为它们在一个特定的模型上执行操作。例如,数据导入/导出>连接输入按钮在独立配置集中不受支持,金宝app因为它会为使用该配置的模型打开根导入映射器。

  4. 解算器窗格中,设置类型参数固定步.点击应用,然后好吧

  5. 应用的更改将出现在“配置参考”对话框中。引用独立配置的模型SharedConfig使用新的求解器类型。

修改配置参考中的参数值

您可以覆盖引用独立配置集的模型的单个参数值,而不更改独立配置。对于被覆盖的参数,引用使用您在本地分配的值,而不是引用配置集中的值。例如,假设LinearActuatorNonLinearActuator都在同一个模型层次结构中。你想要的LinearActuator,但希望Simulink返回一个错误,如果金宝appNonLinearActuator被引用不止一次。在本例中,可以覆盖模型参考>每个top模型允许的实例总数参数,仅用于NonLinearActuator模型。

对于本例,重写模型的配置引用中的参数NonLinearActuator

  1. 打开模型NonLinearActuator

  2. 要打开“配置参考”对话框,请在建模选项卡上,单击模型设置按钮.激活配置参考显示了被引用配置的只读视图。

  3. 右键单击要更改的参数并选择覆盖从上下文菜单。现在,您可以像更改任何配置集一样更改参数值。对于本例,重写参数模型参考>每个top模型允许的实例总数并将值设置为一个

    在左侧窗格中,每个窗格显示其包含的覆盖参数的数量。

  4. 点击应用保持这些变化取消将参数恢复为引用值。

    对参数值所做的更改仅应用于覆盖和编辑参数的配置引用。它们不会影响对所引用配置集的其他引用。对于这个例子,模型NonLinearActuator允许一个顶级模型引用它一次,而模型LinearActuator允许顶级模型多次引用它。

若要将被覆盖的参数从引用的配置集恢复为其值,请右键单击被覆盖的参数并选择恢复从上下文菜单。被覆盖的参数重置为引用配置中的值,并再次变为只读。

保存引用配置集

如果您将独立的配置集存储在Simulink数据字典中,您可以通过保存数据字典来保存对配置的更改。金宝app

如果在退出MATLAB之前,您的模型引用了存储在基本工作空间中的配置集®,则需要将引用的配置集保存到mat文件或MATLAB脚本中。

  1. 在模型资源管理器中,在模型层次结构中,选择基本工作空间

  2. 内容窗格中,右键单击引用的配置集对象的名称。

  3. 从上下文菜单中选择出口选择

  4. 指定用于将配置集保存为mat文件或MATLAB脚本的文件名。

提示

重新打开模型时,必须加载保存的配置集,否则无法解析配置引用。要设置模型以自动加载配置集对象,请参见自定义模型行为的回调

加载已保存的引用配置集

如果配置引用使用导出到mat文件或MATLAB脚本的配置集,则需要将引用的配置集从文件加载到基本工作空间。

  1. 在模型资源管理器中,在模型层次结构中,右键单击基本工作空间

  2. 从上下文菜单中选择进口

  3. 为保存的配置集指定文件名并选择OK。配置集对象出现在基本工作区中。

配置引用限制

  • 一个配置引用可以指向另一个配置引用,但是不能在第二个引用之外嵌套一个配置引用。

  • 如果在使用自定义目标时激活配置引用,则ActivateCallback函数不会触发通知相应的独立配置集。同样地,如果一个独立的配置集从一个目标切换到另一个目标,则ActivateCallback函数不会触发通知新目标。即使一个活动配置引用指向该目标,也会发生此行为。有关ActivateCallback功能,请参阅rtwgensettings结构(金宝app仿真软件编码器)

  • 不是引用中的所有参数都可以被覆盖,例如,在模型引用层次结构中必须一致的参数就不能被覆盖。

相关的话题