Main Content

Advisor.addExclusion

向模型或排除项文件添加排除项

自 R2021a 起

说明

示例

Advisor.addExclusion(modelName,filterType,entityIdentifier) 用于向模型 modelName 中的实体(如模块、子系统或 Stateflow® 元素)添加排除项。排除项的类型由 filterType 参量指定。实体由 entityIdentifier 参量指定。

通过添加排除项,您可以在模型开发和验证期间节省时间,因为它可以限制模型顾问必须对模型执行的分析的范围。

示例

Advisor.addExclusion(___,Name,Value) 用于在上述语法中的输入参量之外另使用一个或多个名称-值参量指定选项。例如,您可以使用 checks 参量从特定的模型顾问检查中排除某个实体,或者使用 rationale 参量提供排除理由。

示例

全部折叠

使用 Advisor.addExclusion 函数从模型顾问分析中排除 Simulink® 模块。

打开 slexAircraftExample 模型。

openExample('simulink_aerospace/AircraftLongitudinalFlightControlExample')

在 Simulink 画布上,点击要从模型顾问检查中排除的实体。对于此示例,点击名为 uInport 模块。

Simulink canvas with "u" Inport block selected

通过向所选模块添加排除项来从模型顾问分析中排除该模块。在 MATLAB® 命令行窗口中,输入:

Advisor.addExclusion('slexAircraftExample','Block',gcb);
'Block' 指定排除项需要滤除 Simulink 模块,函数 gcb 返回所选模块的路径。有关详细信息,请参阅 gcb

您可以右键点击 Simulink 画布,然后选择模型顾问 > 打开模型顾问排除项编辑器,在模型顾问排除项编辑器中查看排除项。

模型顾问排除项编辑器会显示一个表,其中有一行显示 u Inport 模块排除的相关信息。过滤器标识符列显示 entityIdentifier 参量指定的路径名称,过滤器类型列显示 filterType 参量指定的排除过滤器类型。理由检查 ID 列分别与 rationalechecks 参量关联。

Model Advisor Exclusion Editor with exclusion for "u" Inport block

使用 Advisor.addExclusion 函数从模型顾问分析中排除 Stateflow 图。此示例需要 Stateflow。

打开 sf_collatz 模型。

openExample('stateflow/StateTransitionActionsGetStartedExample')

在 Stateflow 图中,点击要从模型顾问检查中排除的实体。对于此示例,请点击默认转移 {n = u;}

Stateflow chart with default transition selected

通过向所选转移添加排除项来从模型顾问分析中排除该转移。在 MATLAB 命令行窗口中,输入:

Advisor.addExclusion('sf_collatz','Transition',gcb,'rationale','Do not analyze.')

您可以右键点击 Simulink 画布,然后选择模型顾问 > 打开模型顾问排除项编辑器,在模型顾问排除项编辑器中查看排除项。

输入参数

全部折叠

要添加排除项的模型,指定为字符向量或字符串数组。

数据类型: char | string

要排除的实体的类型,指定为以下值之一。

描述
BlockSimulink 模块
BlockType具有特定 BlockType 属性值的模块
Subsystem子系统内的模块
Library库模块实例
MaskType具有特定 MaskType 属性值的模块或子系统
StateflowSimulink 中的 Stateflow 模块
ChartStateflow 图中的每个实体
StateStateflow 状态
TransitionStateflow 转移
JunctionStateflow 结点
GraphicalFunctionStateflow 图形函数
MatlabFunction

Stateflow MATLAB 函数

SimulinkFunction

Stateflow Simulink 函数

TruthTableStateflow 真值表
SimulinkBasedStateStateflow 中基于 Simulink 的状态

示例: Advisor.addExclusion('mymodel', 'Block', 'mymodel/Constant')

数据类型: char | string

要排除的实体的标识符,指定为 BlockType 属性值、MaskType 属性值或路径名称。

entityIdentifier 值的格式取决于您指定的 filterType

filterTypeentityIdentifier示例
BlockType

模块的 BlockType 属性的值

使用函数 gcb 获取当前所选模块,使用 get_param 获取模块类型。

myblock = gcb;
blockType = get_param(myblock,'BlockType');
Advisor.addExclusion('mymodel','BlockType',blockType);

MaskType

模块的 MaskType 属性的值

使用函数 gcb 获取当前模块,使用 get_param 获取封装类型。

blockWithMask = gcb;
maskType = get_param(blockWithMask,'MaskType');
Advisor.addExclusion('mymodel','MaskType',maskType);

所有其他 filterType实体的路径名称

您可以使用函数 gcbfind_system 获取实体的路径名称。

myblock = gcb;
Advisor.addExclusion('mymodel','Block',myblock)

示例: Advisor.addExclusion('mymodel','BlockType',blockType)

示例: Advisor.addExclusion('mymodel','MaskType',maskType)

示例: Advisor.addExclusion('mymodel','Block','mymodel/Constant')

数据类型: char | string

名称-值参数

将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量后,但参量对组的顺序无关紧要。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来

示例: Advisor.addExclusion('mymodel', 'BlockType', 'Integrator', 'checks', {'mathworks.jmaab.jc_0231', 'mathworks.jmaab.jc_0222'}, 'validateChecks', true);

排除项所适用的检查,指定为由模型顾问检查 ID 组成的元胞数组。

默认情况下,向实体添加排除项后,该排除项适用于所有检查。您可以使用 checks 参量来仅排除所选检查。

示例: Advisor.addExclusion('mymodel','Block','mymodel/Constant','checks',{'mathworks.design.UnconnectedLinesPorts'})

示例: Advisor.addExclusion('mymodel','Block','mymodel/Constant','checks',{'mathworks.jmaab.jc_0231','mathworks.design.UnconnectedLinesPorts'})

数据类型: cell

验证是否可以排除 checks 参量指定的检查,指定为数字或逻辑 0 (false) 或 1 (true)。

某些检查,如检查枚举值的使用情形,不允许使用排除项。如果您将 validateChecks 指定为 true,则模型顾问会警告该检查不支持排除项。

Advisor.addExclusion('vdp','Block',gcb,...
'checks',{'mathworks.jmaab.jc_0231','mathworks.maab.na_0031'},..
'validateChecks',true);
The following checks do not support exclusions:
    {'mathworks.maab.na_0031'}

示例: Advisor.addExclusion('mymodel','Block','mymodel/Constant','checks',{'mathworks.jmaab.jc_0231','mathworks.maab.na_0031'},'validateChecks',true)

数据类型: logical

排除原因,指定为字符向量或字符串数组。

示例: Advisor.addExclusion('mymodel','Block','mymodel/Constant','rationale','Block to be removed later.')

数据类型: char | string

替代功能

模型顾问排除项编辑器

您也可以使用模型顾问排除项编辑器从 Simulink 画布添加排除项。要从 Simulink 画布添加排除项,请右键点击实体,选择模型顾问,然后选择您要添加的排除项的类型对应的菜单选项。有关详细信息,请参阅Exclude Blocks from Model Advisor Check Analysis

版本历史记录

在 R2021a 中推出

全部展开