Advisor.addExclusion
说明
Advisor.addExclusion(
用于向模型 modelName
,filterType
,entityIdentifier
)modelName
中的实体(如模块、子系统或 Stateflow® 元素)添加排除项。排除项的类型由 filterType
参量指定。实体由 entityIdentifier
参量指定。
通过添加排除项,您可以在模型开发和验证期间节省时间,因为它可以限制模型顾问必须对模型执行的分析的范围。
Advisor.addExclusion(___,
用于在上述语法中的输入参量之外另使用一个或多个名称-值参量指定选项。例如,您可以使用 Name,Value
)checks
参量从特定的模型顾问检查中排除某个实体,或者使用 rationale
参量提供排除理由。
示例
从模型顾问分析中排除 Simulink 模块
使用 Advisor.addExclusion
函数从模型顾问分析中排除 Simulink® 模块。
打开 slexAircraftExample
模型。
openExample('simulink_aerospace/AircraftLongitudinalFlightControlExample')
在 Simulink 画布上,点击要从模型顾问检查中排除的实体。对于此示例,点击名为 u
的 Inport 模块。
通过向所选模块添加排除项来从模型顾问分析中排除该模块。在 MATLAB® 命令行窗口中,输入:
Advisor.addExclusion('slexAircraftExample','Block',gcb);
'Block'
指定排除项需要滤除 Simulink 模块,函数 gcb
返回所选模块的路径。有关详细信息,请参阅 gcb
。您可以右键点击 Simulink 画布,然后选择模型顾问 > 打开模型顾问排除项编辑器,在模型顾问排除项编辑器中查看排除项。
模型顾问排除项编辑器会显示一个表,其中有一行显示 u
Inport 模块排除的相关信息。过滤器标识符列显示 entityIdentifier
参量指定的路径名称,过滤器类型列显示 filterType
参量指定的排除过滤器类型。理由和检查 ID 列分别与 rationale
和 checks
参量关联。
从模型顾问分析中排除 Stateflow 图并提供理由
使用 Advisor.addExclusion
函数从模型顾问分析中排除 Stateflow 图。此示例需要 Stateflow。
打开 sf_collatz
模型。
openExample('stateflow/StateTransitionActionsGetStartedExample')
在 Stateflow 图中,点击要从模型顾问检查中排除的实体。对于此示例,请点击默认转移 {n = u;}。
通过向所选转移添加排除项来从模型顾问分析中排除该转移。在 MATLAB 命令行窗口中,输入:
Advisor.addExclusion('sf_collatz','Transition',gcb,'rationale','Do not analyze.')
您可以右键点击 Simulink 画布,然后选择模型顾问 > 打开模型顾问排除项编辑器,在模型顾问排除项编辑器中查看排除项。
输入参数
modelName
— 要添加排除项的模型
字符向量 | 字符串数组
要添加排除项的模型,指定为字符向量或字符串数组。
数据类型: char
| string
filterType
— 要排除的实体的类型
Block
| BlockType
| Subsystem
| Library
| MaskType
| ...
要排除的实体的类型,指定为以下值之一。
值 | 描述 |
---|---|
Block | Simulink 模块 |
BlockType | 具有特定 BlockType 属性值的模块 |
Subsystem | 子系统内的模块 |
Library | 库模块实例 |
MaskType | 具有特定 MaskType 属性值的模块或子系统 |
Stateflow | Simulink 中的 Stateflow 模块 |
Chart | Stateflow 图中的每个实体 |
State | Stateflow 状态 |
Transition | Stateflow 转移 |
Junction | Stateflow 结点 |
GraphicalFunction | Stateflow 图形函数 |
MatlabFunction | Stateflow MATLAB 函数 |
SimulinkFunction | Stateflow Simulink 函数 |
TruthTable | Stateflow 真值表 |
SimulinkBasedState | Stateflow 中基于 Simulink 的状态 |
示例: Advisor.addExclusion('mymodel', 'Block', 'mymodel/Constant')
数据类型: char
| string
entityIdentifier
— 要排除的实体的标识符
BlockType
值 | MaskType
值 | 路径名称
要排除的实体的标识符,指定为 BlockType
属性值、MaskType
属性值或路径名称。
entityIdentifier
值的格式取决于您指定的 filterType
。
filterType 值 | entityIdentifier 值 | 示例 |
---|---|---|
BlockType | 模块的 | 使用函数 myblock = gcb; blockType = get_param(myblock,'BlockType'); Advisor.addExclusion('mymodel','BlockType',blockType); |
MaskType | 模块的 | 使用函数 blockWithMask = gcb; maskType = get_param(blockWithMask,'MaskType'); Advisor.addExclusion('mymodel','MaskType',maskType); |
所有其他 filterType 值 | 实体的路径名称 | 您可以使用函数 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);
checks
— 排除项所适用的检查
字符向量元胞数组
排除项所适用的检查,指定为由模型顾问检查 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
validateChecks
— 验证检查是否支持排除项
false
(默认) | true
验证是否可以排除 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
rationale
— 排除原因
字符向量 | 字符串数组
排除原因,指定为字符向量或字符串数组。
示例: Advisor.addExclusion('mymodel','Block','mymodel/Constant','rationale','Block to be removed later.')
数据类型: char
| string
替代功能
模型顾问排除项编辑器
您也可以使用模型顾问排除项编辑器从 Simulink 画布添加排除项。要从 Simulink 画布添加排除项,请右键点击实体,选择模型顾问,然后选择您要添加的排除项的类型对应的菜单选项。有关详细信息,请参阅Exclude Blocks from Model Advisor Check Analysis。
版本历史记录
在 R2021a 中推出R2020a: 使用路径名称而不是 Simulink 标识符 (SID)
不推荐使用函数 Simulink.ID.getSID
。当您指定参量 entityIdentifier
时,请使用路径名称而不是 Simulink 标识符 (SID)。您可以使用 gcb
函数或 find_system
函数来查找路径名称。
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)