主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

Model Loop

按照子组件的指定,在 Simulink 模型和系统上循环

描述

该组件循环执行 Simulink® 模型和系统,由子组件指定。例如,您可以使用带有子项系统循环模型循环来报告指定系统的子系统。

考虑将这些组件设为模型循环的子组件(尽管模型循环不一定是给定组件的直接父组件)。

对于基于模块的条件处理,可以使用 RptgenSL.getReportedBlock 函数。有关详细信息,请参阅循环上下文函数

要包括的模型

您可以通过点击将新模型添加到列表将模型添加到列表中。下表显示了可用于在列表中向上或向下移动模型,或添加或删除模型的按钮。

按钮

操作

Up arrow

在列表中将模型上移。

Down arrow

将模型在列表中向下移动。

Red X

从列表中删除一个模型。

Plus sign and model icon

将新模型添加到列表中。

模型选项

  • 活动:在循环中包含给定的模型。默认情况下选择此选项。清除此选项将从循环中省略模型。

    该选项允许您暂时从报告中省略一个或多个模型。

  • 模型名称:指定模型名称。

    • 当前模块图

    • 所有打开的模型

    • 所有打开的库

    • 当前目录中的模块图

    • 自定义模块图:选择此选项会自动将正在启动系统字段 $top 设置为在模型根系统中启动。

    • %<VariableName>:有关详细信息,请参阅 MATLAB® Report Generator™ 文档中文本组件引用页面上的 %<VariableName> 符号

  • 遍历模型:指定要遍历的系统。

    • 模型中的所有系统

    • 仅所选系统

    • 所选系统和前代

    • 所选系统和子级

  • 查看封装内部:指定如何处理封装。

    • 仅功能封装

    • 无封装

    • 所有封装

    • 仅图形封装

    有关详细信息,请参阅创建模块封装

  • 追踪库链接:指定要包含的库链接。

    • 不追踪库链接:库链接被视为模块。

    • 包含库链接:库链接被视为子系统。

    • 包括唯一库链接:如果系统中有同一个库链接的多个副本,则其中一个副本将被视为子系统,其他副本将被视为模块。

    有关详细信息,请参阅链接模块

  • 模型引用:指定是否报告 Model 模块引用的模型。如果您想报告引用模型,您可以控制模型层次结构的深度以及是否报告变体模型。

    • 不追踪 Model 模块:不要报告引用模型中包含的模块。

    • 跟随所有 Model 模块:报告模型层次结构的任何部分引用的所有模型中包含的模块。

    • 跟随当前模型中定义的 Model 模块:报告当前选定的模型引用的模型中的模块。

    • <自定义模型引用深度>:报告模型层次结构中指定级别的模型中的模块。

  • 包括所有变体:报告所有变体模型。要启用此选项,请设置模型引用选项以报告引用模型中的模块。

  • 子系统引用:选择此选项可以报告 Subsystem Reference 模块引用的子系统文件。

  • 正在启动系统:指定启动循环的系统。可用选项取决于您在遍历模型选项中选择的值。对于遍历模型,选择除模型中的所有系统之外的任何选项都会激活正在启动系统选项。

    如果您没有在模型名称选项中输入模型名称,则选择根模型当前来指定从哪里开始循环。

    如果您在模型名称选项中指定了模型名称,则正在启动系统选项会提供一个编辑框,您可以在其中输入:

    • 一个或多个子系统的完整路径

    • $top 在模型根系统中启动循环

    • $current 在当前选定的系统中启动循环

节选项

  • 为循环中的每个对象创建节:在生成的报告中为循环中找到的每个对象插入一节。

  • 在节标题中显示对象类型:自动将对象类型插入到生成报告的节标题中。仅当选择为循环中的每个对象创建节时才可用。

  • 为循环中的每个对象创建链接锚点:在循环中的每个对象上创建一个链接目标,以便报告的其他部分可以链接到它。

示例

例 1. 生成有关指定系统及其子系统的报告

此示例显示如何循环遍历示例模型 sldemo_auto_climate_elec 中的指定系统及其子系统。

  1. 要打开 sldemo_auto_climate_elec 模型,在 MATLAB 命令提示符下,输入以下命令:

    openExample("sldemo_auto_climate_elec")

    探索模型以熟悉其子系统。

  2. 打开报告管理器。

  3. 通过点击文件 > 新建来创建报告设置文件。

  4. 点击文件 > 另存为为 保存报告设置文件。将其命名为 sldemo_auto_report

  5. 向报告设置文件中添加章节/小节组件以包含有关模型子系统的信息:

    1. 在中间的库窗格中,双击章节/小节将其添加到报告设置文件中。

    2. 对于标题,选择自定义。在标题字段中输入 Description of subsystems

    3. 添加模型循环作为章节/小节组件的子项。这循环遍历 ClimateControlSystem 系统及其在 sldemo_auto_climate_elec 模型中的子系统:

      1. 在中间的库窗格中,双击模型循环将其添加到报告设置文件中。默认情况下,报告管理器将该组件添加为章节/小节组件的子组件。

      2. 在模型循环属性窗格中,从模型名称选择列表中选择 <自定义模块图>

      3. 模型名称字段中,删除文本 <自定义模块图>,然后输入 sldemo_auto_climate_elec.slx。点击报告设置文件中的任何组件,将此模型添加到要包括的模型列表。

      4. 遍历模型选择列表中,选择所选系统和子级

      5. 查看封装内部选择列表中,选择所有封装

      6. 模型引用选择列表中,选择不追踪 Model 模块

      7. 正在启动系统字段中,输入 sldemo_auto_climate_elec/ClimateControlSystem。因为您为遍历模型选择了所选系统和子级,所以模型循环会循环遍历 sldemo_auto_climate_elec/ClimateControlSystem 及其子系统。

      8. 节选项下,选中为循环中的每个对象创建节复选框。选择此选项会在生成的报告中为组件循环的每个模型创建单独的节。

      模型循环属性窗格如下所示。

      Model Loop properties pane

  6. 点击文件 > 保存来保存报告。

  7. 添加系统循环作为模型循环组件的子项。

    1. 在中间的库窗格中,双击系统循环将其添加到报告设置文件中。默认情况下,模型资源管理器将此组件添加为模型循环组件的子组件。

    2. 系统循环属性窗格中的循环选项下,选中为循环中的每个对象创建节复选框。选择此选项会在生成的报告中为组件循环的每个子系统创建一个节。接受所有其他字段的默认值。

  8. 添加系统快照组件作为系统循环组件的子组件。此步骤会在生成的报告中创建 ClimateControlSystem 所有子系统的快照。在中间的库窗格中,双击系统快照。默认情况下,模型资源管理器将此组件添加为系统循环组件的子组件。

  9. 保存报告。

    报告设置文件层次结构现在如下所示。

    Report Explorer with System Snapshot component selected

  10. 点击文件 > 报告来运行报告。

    报告循环遍历 ClimateControlSystem 模型的系统 sldemo_auto_climate_elec 及其所有子系统,如下面的消息列表所示。

    Message List with information about looping on model sldemo_auto_climate_elec and its subsystems

以下是生成的报告的摘录。

Sample page showing Chapter 1 followed by a Table of Contents and a Simulink model displaying model sldemo_auto_climate_elec

例 2. 暂时从循环中省略模型

此示例显示如何使用模型循环 活动复选框暂时从循环中省略模型。此示例使用您在上面的生成指定系统及其子系统报告示例中创建的报告设置文件 sldemo_auto_report.rptf14 Simulink 模型。

  1. 要打开 f14 模型,在 MATLAB 命令提示符下,输入以下命令:

    openExample("f14")

    探索模型以熟悉其子系统。

  2. 在报告管理器中,点击文件 > 打开,然后双击打开 sldemo_auto_report.rpt

  3. 在左侧的大纲窗格中,点击 Model Loop Section 1 - sldemo_auto_climate_elec

  4. 模型循环属性窗格中,点击 按钮将模型添加到要包括的模型列表。

  5. 模型循环属性窗格中,从模型名称选择列表中选择 <自定义模块图>

  6. 模型名称字段中,删除文本 <自定义模块图> 并输入 f14.slx

  7. 查看封装内部选择列表中,选择所有封装

  8. 保存报告设置文件。

  9. 生成报告。

    报告生成过程循环遍历 f14sldemo_auto_climate_elec 模型中的指定系统。

    以下是生成的报告的摘录。

    Sample report page showing Chapter 1 followed by a Table of Contents and a Simulink model displaying model f14

  10. 要包括的模型列表中,点击 f14 以选择它。

  11. 清除活动复选框以从生成的报告中省略 f14 模型信息。

  12. 重新运行报告。

    该报告现在仅包含有关 sldemo_auto_climate_elec 模型的信息,如上一个示例“生成有关指定系统及其子系统的报告”末尾所示。

  13. 要重新激活 f14 模型,请在模型循环要包括的模型列表中选择 f14 模型,然后选择活动复选框。

是否在报告中插入内容?

是,如果选择为循环中的每个对象创建节,则插入一个节;如果选择 为循环中的每个对象创建链接锚点,则插入一个链接目标。

rptgen_sl.csl_mdl_loop

另请参阅

模块循环系统循环