从模型顾问检查分析中排除模块
模型顾问排除概述
为了节省模型开发和验证的时间,您可以限制模型顾问对模型的分析范围。您可以创建模型顾问排除项,以将模型中的块从选定的检查中排除。您可以从以下项目中排除全部或部分检查:
Simulink® 模块
Stateflow® 图
指定要排除的块后,模型顾问会使用排除信息在分析期间从指定的检查中排除这些块。默认情况下,模型顾问排除信息存储在模型 SLX 文件中。或者,您可以将信息存储在排除文件中。
要查看模型的排除信息,请在模型窗口或模块上点击鼠标右键,然后选择选择 App... > 模型顾问。

选中后,您可以点击模型顾问排除编辑器
图标。

“模型顾问排除项编辑器”对话框包含以下每个排除项的信息:
过滤器标识符
过滤器类型
摘要
检查 ID

| 字段 | 描述 |
|---|---|
| 过滤器标识符 | 被排除的模块或子系统的名称和路径。各个模块的路径都带有超链接,点击它们即可在模型画布上突出显示相应的模块。 |
| 过滤器类型 | 定义排除项的类型。 示例:如果过滤器类型为模块,则该特定 Simulink 模块将被排除。如果类型为子系统,则排除该子系统内的所有内容。 |
| 摘要 | 可编辑字段,用于输入备注或排除原因。默认情况下,此字段定义是排除特定模块还是排除给定类型的所有块。 |
| 检查 ID | 适用该模块排除规则的支票名称。可以通过点击此单元格中的编辑 ( |
注意
如果将模块注释掉,它们将被排除在仿真和模型顾问分析之外。
过滤器类型
过滤类型定义了被排除实体的类型。模型顾问排除编辑器目前支持排除以下实体:
| 过滤器类型 | 描述 |
|---|---|
| Simulink | |
Block | 排除 Simulink 模块。 |
BlockType | 排除所有指定类型的块。 |
Subsystem | 排除子系统内的所有模块。 |
Library | 排除所有库模块实例。 |
MaskType | 排除掩码类型的块或子系统。 |
Stateflow | 排除 Simulink 中的 Stateflow 块。 |
| Stateflow | |
Chart | 排除 Stateflow 图中的所有实体。 |
State | 排除 Stateflow 状态。 |
Transition | 排除 Stateflow 过渡。 |
Junction | 排除 Stateflow 连接点。 |
GraphicalFunction | 排除 Stateflow 图形函数。 |
MATLABFunction | 排除 Stateflow MATLAB® 函数。 |
SimulinkFunction | 排除 Stateflow Simulink 函数。 |
TruthTable | 排除 Stateflow 真值表。 |
SimulinkBasedState | 排除 Stateflow 中的基于 Simulink 的状态。 |
注意
模型顾问排除条款适用于模型中的特定结构要素。不支持视觉标记,例如注释或信号。
创建模型顾问排除项
在模型窗口中,右键点击一个模块,然后选择选择 App... > 模型顾问。选择您要执行的排除类型对应的菜单选项。
任务 选择模型顾问 将该模块从所有检查中排除。 排除 > 仅此模块 > 所有检查
从所有检查中排除所有此类模块。 排除 > 此类型的所有模块 > 所有检查
从选定的检查中排除该模块。 排除 > 仅此模块 > 选择检查...。
在“复选框选择器”对话框中,选择复选框。点击确定。
从选定的检查中排除所有此类块。 排除 > 此类型的所有模块 > 选择检查...。
在“复选框选择器”对话框中,选择复选框。点击确定。
在模型顾问排除编辑器对话框中,使用以下方法之一将排除项保存到模型或排除文件中。
您可以通过右键点击模型块并选择排除下的选项来创建多个模型顾问排除项。
将模型顾问排除项保存到模型文件中
要将模型顾问排除项保存到模型.slx 文件中,请在模型顾问排除项编辑器对话框中点击保存图标 (
)。打开模型.slx 文件时,该模型包含排除项。
将模型顾问排除项保存到排除文件中
模型顾问排除文件指定要从排除文件中指定的检查中排除的块集合。您可以创建排除项并将其保存到排除文件中。
要将模型顾问排除项保存到排除项 .xml 文件中:
打开模型顾问排除编辑器。
点击保存图标旁边的向下箭头 (
)。选择另存为,然后在文件名字段中输入排除文件所需的名称。
点击保存。
除非您指定其他文件夹,否则模型顾问会将排除文件保存在当前文件夹中。
如果您创建了一个排除文件并保存了您的模型,则您将该排除文件附加到您的模型中。每次打开模型时,排除文件中指定的块和检查都会从分析中排除。
检查选择器
检查选择器窗口允许您选择要从特定模块或指定类型的所有块中排除的检查。右键点击一个模块,然后选择以下任一选项,即可打开复选框选择器:
排除 > 仅此模块 > 选择检查...
排除 > 此类型的所有模块 > 选择检查...
在支票选择器中,您可以使用搜索功能查找需要排除的支票。也可以通过点击检查 ID 列中的编辑 (
) 按钮,从模型顾问排除编辑器窗口调用检查选择器。

审查模型顾问排除项
您可以查看与您的模型相关的排除项。在模型顾问分析之前或之后,查看排除信息:
在模型窗口中点击鼠标右键,或者右键点击一个模块,然后点击“模型顾问排除编辑器”图标。模型顾问排除编辑器对话框列出了模型的排除项。
在模型顾问分析之后,您可以在报告文件中查看单个支票的排除信息。
运行检查后,在模型顾问窗口的左侧窗格中,包含排除规则的检查将以橙色突出显示。模型顾问的结果包含有关排除项的附加信息。
如果检查 HTML 报告和模型顾问窗口 没有适用任何例外规则。 证明本次检查未应用任何排除条款。 不支持排除项。 这表明该检查不支持排除项。 被排除在模块之外。 列出检查排除规则。
管理排除项
加载排除文件
要加载现有排除文件以供模型使用:
在模型顾问排除编辑器对话框中,点击打开排除项文件按钮
。找到您想在模型中使用的排除文件。选择打开。
在模型顾问排除编辑器对话框中,点击确定将排除文件与您的模型关联起来。
移除排除项
在“模型顾问排除编辑器”对话框中,选择要删除的排除项。
点击删除排除行按钮 (
)。
将摘要添加到排除项
您可以添加文本,描述在模型顾问分析期间,为什么从选定的检查中排除某个或某些特定模块。对其他查看您模型的人来说,描述很有帮助。
在“模型顾问排除编辑器”对话框中,双击排除项的摘要字段。
删除现有文本。
添加排除此对象的摘要。
R2020b 之后的兼容性考虑
在 R2020b 中,排除项的存储格式发生了变化。在 R2020b 之后的版本中,模型顾问可以读取以前版本中使用的格式,并将其转换为新格式。转换只发生一次。模型已更新为新的文件路径,排除编辑器随后会使用该路径。
打开在 R2020a 或更早版本中创建的排除文件时,文件和模型会根据排除文件是保存在模型中还是作为单独的文件进行更新。以下是每种情况下将执行的操作顺序:
排除文件已保存在模型内部
读取原始排除文件并将其写入新文件。
保存模型时,新文件将保存在模型
SLX文件中。
这些更改是自动完成的,不会通知您文件已更新。
排除文件保存在单独的排除文件中
读取旧文件后,您可以选择覆盖现有的排除文件,或者将排除文件以新名称保存到同一位置。
保存模型时,模型会更新新的文件路径。
排除编辑器报告称已发生更改。
通过程序化方式更改模型顾问排除项
模型顾问排除编辑器现在可以与以下功能一起使用:
| 任务 | 函数 |
|---|---|
| 在模型顾问中添加新的排除项。 | Advisor.addExclusion |
| 从模型顾问中移除排除项。 | Advisor.removeExclusion |
| 从模型顾问中清除所有排除项。 | Advisor.clearExclusion |
| 获取模型或过滤条件的排除项。 | Advisor.getExclusion |
| 将排除项保存到默认选项或新文件中。 | Advisor.saveExclusion |
| 加载存储在模型内部或根据路径设置的默认排除项。 | Advisor.loadExclusion |
模型顾问排除文件路径由名为 MAModelFilterFile 的模型参数跟踪。使用 set_param API 更新此参数。
set_param('<model name>','MAModelFilterFile', '<new_file_path>');
模型保存并重新打开后,更改会反映在排除编辑器中。如果 <new_file_path> 是一个空字符向量,则模型顾问排除编辑器假定该文件存储在模型 SLX 文件中。