文档

可视化模型参考体系结构

这个例子展示了如何查看引用模型之间的依赖关系。

例子要求

在本例中,Simulink®在当前工作目录万博1manbetx中生成文件。如果不想在此目录中生成文件,则应该在开始本示例之前将工作目录更改为合适的目录。

打开示例模型

打开示例模型.该模型sldemo_mdlref_depgraph看起来像这样:

查找参考模型

使用find_mdlrefs实用函数来查找所有模型块和模型引用的所有模型。类型帮助find_mdlrefs以获取有关此函数的更多信息。

[refMdls, modelBlks] = find_mdlrefs('sldemo_mdlref_depgraph');

find_mdlrefs返回两个单元格数组,refMdlsmodelBlksrefMdls包含直接或间接引用的所有模型的名称sldemo_mdlref_depgraph.最后一个元素refMdls总是输入模型的名称。modelBlks包含顶层模型中所有模型块和所有引用模型的块路径。

查看模型参考依赖关系图

双击示例模型中的蓝色框,以查看其模型引用依赖关系图。一般来说,使用view_mdlrefs实用功能或选择菜单项分析>模型依赖>模型依赖查看>模型仅限启动特定模型的依赖项查看器。

依赖关系图

的依赖关系图sldemo_mdlref_depgraph

在依赖关系图中,灰色节点表示Simulink模型。万博1manbetx有方向的线条表示依赖关系。例如,在示例模型中,链接来自sldemo_mdlref_depgraphsldemo_mdlref_house表明sldemo_mdlref_depgraph参考文献sldemo_mdlref_house.如果模型有库链接,您可以进行选择用户自定义库从工具栏中让依赖项查看器显示由层次结构中的模型链接到的库。当用户自定义库,则使用紫色节点来描述库。

与依赖项查看器交互

  • 在节点上单击左键选择该节点。

  • 双击一个节点打开关联的模型或库。

  • 在空白区域按下鼠标左键,然后拖动鼠标平移依赖关系图。

  • 鼠标滚轮可用于放大和缩小当前在鼠标指针下的区域。

  • 按空格键使依赖关系图居中,并调整缩放,使依赖关系图适合可用空间。

请参阅文档有关依赖查看器的所有功能的更多信息。

查看引用的模型实例

在前面的依赖关系图中,图中的每个模型只存在一个节点,并且从一个节点到另一个节点最多存在一个链接。因此,这个依赖关系图并不显示从一个模型到另一个模型是否存在多个引用。此外,该视图没有显示在Normal模式下引用了哪些模型,在Accelerator模式下引用了哪些模型。

依赖关系查看器可以显示被引用的模型实例,这个视图可以通过以下两种方式访问:

  • 从模型中,选择菜单项分析>模型依赖>模型依赖查看器>引用的模型实例

  • 从模型依赖关系查看器中,选择模型实例从工具栏。

请注意,在这个视图(我们称之为实例视图)中,库从未显示。

引用模型实例的依赖关系图

在实例视图中,灰色节点表示Simulink模型。万博1manbetx有方向的线条表示依赖关系。注意:在此视图中标记了两个节点sldemo_mdlref_F2C因为这个模型被引用了两次,一次是sldemo_mdlref_outdoor_temp一旦过去sldemo_mdlref_heater.除顶部模型外,所有节点都有角,表示参考模型的仿真模式。白色角表示正常模式引用,黑色角表示加速模式引用。因此,sldemo_mdlref_heater的Normal模式引用sldemo_mdlref_F2C和加速器模式引用sldemo_mdlref_thermostat

在实例视图中与依赖项查看器交互

目前,参考文献sldemo_mdlref_outdoor_tempsldemo_mdlref_F2C是一个加速器模式引用。将鼠标悬停在节点上sldemo_mdlref_F2Csldemo_mdlref_outdoor_tempReferences显示一个工具提示,显示生成引用的块的路径sldemo_mdlref_F2Csldemo_mdlref_outdoor_temp.假设你想将其更改为Normal模式引用:

  1. 左键单击节点sldemo_mdlref_F2Csldemo_mdlref_outdoor_temp点。

  2. 选择强调块从工具栏;这将打开sldemo_mdlref_outdoor_temp并突出显示相应的模型块。

  3. 右键单击高亮显示的块。

  4. 选择块参数(ModelReference)从出现的菜单中。

  5. 将“模拟模式”改为“正常”,单击好吧

  6. 要在依赖项查看器中查看此更改,请转到依赖项查看器并选择刷新从工具栏。

实例视图的依赖关系图现在看起来像这样:

依赖项查看器现在显示了引用sldemo_mdlref_outdoor_tempsldemo_mdlref_F2C作为普通模式参考,但它有一个圆形的信息徽章。这个徽章的出现是因为sldemo_mdlref_F2C被配置为在正常模式下运行,但它的父sldemo_mdlref_outdoor_temp,配置为在加速器模式下运行。不支持在加速器模式下运行的模型的正常模式引用,因此万博1manbetxsldemo_mdlref_F2C将在加速模式下运行模拟。

要使此模型在正常模式下运行,必须将其所有祖先配置为在正常模式下运行。为此,单击该节点sldemo_mdlref_outdoor_temp并选择强调块从工具栏;这将打开sldemo_mdlref_depgraph并突出显示相应的模型块。右键单击高亮显示的块,选择块参数(ModelReference),将“模拟模式”修改为“正常”,单击好吧.(如果有更多的加速器模式祖先sldemo_mdlref_F2C,这些也需要更改为普通模式引用。)

要在依赖项查看器中查看此更改,请转到依赖项查看器并选择刷新从工具栏中:

与在正常模式下多次引用的模型进行交互

现在有两个模型可以参考sldemo_mdlref_F2Cin Normal模式。在模拟了这个模型之后,sl_demo_mdlref_heater看起来像这样:

sldemo_mdlref_outdoor_temp看起来像这样:

引用的Model块sldemo_mdlref_F2Csldemo_mdlref_heater有白色的角,而模型块引用sldemo_mdlref_F2Csldemo_mdlref_outdoor_temp有灰色的角。这是因为模型块的Normal Mode Visibility是on的sldemo_mdlref_heater但不是在模型块上sldemo_mdlref_outdoor_temp.请注意,每个模型只有一个正常模式实例具有白色角,其余的将具有灰色角。显示块(例如,作用域)将显示从带有白色角的Model块引用的实例的数据,在本例中是来自模型sldemo_mdlref_heater,但不适用于任何其他情况:

要打开“模型块正常模式可见性”对话框,从顶部模型(sldemo_mdlref_depgraph)选择>子系统及模型参考>模型块正常模式可见性….选择在普通模式下被多次引用的每个模型的实例,您希望对其启用正常模式可见性。

现在,没有选择模型块,这意味着在上次仿真期间,Simulink选择了一个实例万博1manbetxsldemo_mdlref_F2C将正常模式可见性设置为开启,这是由带有白色角的模型块所指示的。引用的实例sldemo_mdlref_outdoor_temp,选中该实例对应的框,然后按好吧

更改Normal Mode Visibility设置后,模拟模型sldemo_mdlref_depgraph利用新的环境。

这个话题有帮助吗?