Advisor.Application 类
命名空间: Advisor
跨模型引用层次结构和变体运行模型顾问
描述
使用 Advisor.Application
的实例执行以下操作:
对父模型及其引用模型运行检查。
通过将参数
AnalyzeVariants
指定为true
,对活动和非活动变体运行检查。从模型顾问分析中选择或删除特定模型组件。模型组件是根模型引用的模型以及
setAnalysisRoot
指定的模型。
使用公共方法执行以下操作:
使用
Advisor.Application
对象运行模型顾问。删除
Advisor.Application
对象。指定对其运行模型顾问的模型组件。
指定模型顾问运行的检查。
从模型顾问获取结果。
创建对象
要创建 Advisor.Application
对象,请使用 Advisor.Manager.createApplication
。
属性
AnalysisRoot
— 要分析的模型引用层次结构中的根模型的名称
'empty'
(默认) | 字符向量
要分析的模型引用层次结构中的根模型的名称,由 Advisor.Application.setAnalysisRoot
方法指定。此属性是只读的。
属性:
GetAccess | public |
SetAccess | private |
数据类型: char
ID
— Advisor.Application
对象的唯一标识符
''
(默认) | 字符向量
Advisor.Application
对象的唯一标识符,指定为字符向量。此属性是只读的。
属性:
GetAccess | public |
SetAccess | private |
数据类型: char
UseTempDir
— 在临时工作文件夹中运行分析
false
(默认) | true
在临时工作文件夹中运行分析,由 Advisor.Manager.createApplication
方法指定。此属性是只读的。
属性:
GetAccess | public |
SetAccess | private |
数据类型: logical
AnalyzeVariants
— 对活动和非活动变体运行分析
false
(默认) | true
依据您使用变体管理器创建的变体配置,对模型中的活动和非活动变体模块运行分析。有关详细信息,请参阅Variant Manager for Simulink和Variant Configurations。如果您生成报告,则模型顾问会为每个变体配置生成单独的报告。此属性是可读取/写入的。
属性:
GetAccess | public |
SetAccess | public |
数据类型: logical
方法
公共方法
deselectComponents | Clear model components from Model Advisor analysis |
selectComponents | Select model components for Model Advisor analysis |
setAnalysisRoot | Specify model reference hierarchy for Model Advisor analysis |
deselectCheckInstances | Clear check instances from Model Advisor analysis |
getCheckInstanceIDs | Obtain check instance IDs |
loadConfiguration | 加载模型顾问配置 |
selectCheckInstances | Select check instances to use in Model Advisor analysis |
generateReport | Generate report for Model Advisor analysis |
getResults | 访问模型顾问分析结果 |
示例
跨模型引用层次结构运行模型顾问检查
此示例说明如何对模型 sldemo_mdlref_basic
及其引用模型 sldemo_mdlref_counter
运行检查根模型 Inport 模块设定检查。
打开示例模型 sldemo_mdlref_basic
。在 MATLAB® 命令行窗口中,输入:
openExample("sldemo_mdlref_basic")
模型 sldemo_mdlref_basic
是包含以下三个 Model 模块的父模型:CounterA
、CounterB
和 CounterC
。这些模块引用同一模型 sldemo_mdlref_counter
,该模型是一个单独的模型,而不是 sldemo_mdlref_basic
的子系统。
创建一个 Advisor.Application
对象,该对象可用于跨 sldemo_mdlref_basic
中的模型引用层次结构运行模型顾问检查。
app = Advisor.Manager.createApplication();
指定要分析的模型或子系统。对于此示例,请将模型 sldemo_mdlref_basic
指定为模型顾问分析的根模型。
setAnalysisRoot(app,Root = "sldemo_mdlref_basic");
当您将某个模型指定为 Advisor.Application
对象的分析根时,模型顾问会分析该模型及其引用的所有模型。有关详细信息,请参阅 setAnalysisRoot
。
假设您只想运行检查根模型 Inport 模块设定检查。
默认情况下,Advisor.Application
对象设置为运行当前模型顾问配置中的每个检查实例并选择所有检查实例。清除检查实例,以从模型顾问分析中删除所有检查实例。
deselectCheckInstances(app);
通过查找并使用检查实例 ID,指定您希望模型顾问仅运行检查根模型 Inport 模块设定检查。
checkID = "mathworks.design.RootInportSpec";
instanceIDs = getCheckInstanceIDs(app,checkID);
instanceID = instanceIDs(1);
selectCheckInstances(app,ID = instanceID);
现在,您已选择检查根模型 Inport 模块设定检查作为模型顾问分析内容。
getCheckInstanceIDs
方法返回多个检查实例 ID,因为检查根模型 Inport 模块设定检查显示在模型顾问树的多个文件夹中。对于此示例,instanceID
指定为 getCheckInstanceIDs
返回的第一个检查实例 ID,但您可以选择 getCheckInstanceIDs
返回的任何检查实例 ID。
注意
或者,如果您要加载模型顾问配置文件而不是选择单个检查,请使用 loadConfiguration
方法。
运行模型顾问分析。
run(app);
模型顾问对 sldemo_mdlref_basic
和 sldemo_mdlref_counter
运行检查根模型 Inport 模块设定检查。
获取模型顾问分析的结果。
res = getResults(app);
生成并查看模型顾问报告。
report = generateReport(app); web(report);
模型顾问报告提供 sldemo_mdlref_basic
和 sldemo_mdlref_counter
的结果摘要,以及指向每个模型的单独报告的超链接。
跨变体运行模型顾问检查
此示例说明如何对模型 slexVariantManagement
中的不同变体选择项运行标识未连接的信号线、输入端口和输出端口检查。
打开示例模型 slexVariantManagement
。在 MATLAB 命令行窗口中,输入:
openExample("slexVariantManagement")
模型 slexVariantManagement
包含多个可变子系统模块,包括 Controller
和 Plant
。可变子系统模块内包含这些组件的不同实现。
slexVariantManagement
具有存储在与该模型关联的变体配置数据对象 vcd
中的多个变体配置。Advisor.Application
对象只能依据使用变体管理器创建的变体配置,对模型中的活动和非活动变体模块运行模型顾问分析。有关详细信息,请参阅Variant Manager for Simulink和Variant Configurations。
创建可用于运行模型顾问检查的 Advisor.Application
对象。
app = Advisor.Manager.createApplication();
将 AnalyzeVariants
指定为 true
,以便 Advisor.Application
对象可以对 slexVariantManagement
中的每个变体选择项运行模型顾问。
app.AnalyzeVariants = true;
指定要分析的模型。对于此示例,请将模型 slexVariantManagement
指定为模型顾问分析的根模型。
setAnalysisRoot(app,Root = "slexVariantManagement");
假设您只想运行标识未连接的信号线、输入端口和输出端口检查。
默认情况下,Advisor.Application
对象设置为运行当前模型顾问配置中的每个检查实例并选择所有检查实例。清除检查实例,以从模型顾问分析中删除所有检查实例。
deselectCheckInstances(app);
通过查找并使用检查实例 ID,指定您希望模型顾问仅运行标识未连接的信号线、输入端口和输出端口检查。
checkID = "mathworks.design.UnconnectedLinesPorts";
instanceIDs = getCheckInstanceIDs(app,checkID);
instanceID = instanceIDs(1);
selectCheckInstances(app,ID = instanceID);
现在,您已选择标识未连接的信号线、输入端口和输出端口检查作为模型顾问分析内容。
getCheckInstanceIDs
方法返回多个检查实例 ID,因为标识未连接的信号线、输入端口和输出端口检查显示在模型顾问树的多个文件夹中。对于此示例,instanceID
指定为 getCheckInstanceIDs
返回的第一个检查实例 ID,但您可以选择 getCheckInstanceIDs
返回的任何检查实例 ID。
注意
或者,如果您要加载模型顾问配置文件而不是选择单个检查,请使用 loadConfiguration
方法。
运行模型顾问分析。
run(app);
模型顾问对该模型和引用模型中的活动和非活动变体运行检查。
获取模型顾问分析的结果。
res = getResults(app);
生成并查看模型顾问报告。
report = generateReport(app); web(report);
模型顾问报告提供 slexVariantManagement
的结果摘要,以及指向每个变体的单独报告的超链接。
限制
引用模型仅在没有数据时才进行编译,并且在以下情况下不会对引用模型运行编译时检查:
在层次结构中使用模型引用。
仿真模式设置为
accelerator
。UpdateModelReferenceTargets 设置为
IfOutOfDate
。
Advisor.Application
无法在多个系统上并行运行。如果您的模型不使用模型引用或变体,请改用函数ModelAdvisor.run
。ModelAdvisor.run
可以对模型和子系统运行模型顾问检查,并且可以选择在多个系统上并行运行。
版本历史记录
在 R2015b 中推出
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)