主要内容

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

selectCheckInstances

类: Advisor.Application
命名空间: Advisor

选择要在模型顾问分析中使用的检查实例

说明

您可以选择要在模型顾问分析中使用的检查实例。检查实例是模型顾问配置中 ModelAdvisor.Check 对象的实例化。当您更改模型顾问配置时,检查实例 ID 可能会更改。要获取检查实例 ID,请使用 getCheckInstanceIDs 方法。

selectCheckInstances(app) 选择所有用于模型顾问分析的检查实例。

示例

selectCheckInstances(app,'IDs',checkInstanceIDs) 选择由 checkInstanceIDs 指定的用于模型顾问分析的检查实例。您可以使用 getCheckInstanceIDs 方法查找检查实例 ID。

注意

如果一个检查出现在模型顾问树中的多个文件夹中,则 getCheckInstanceIDs 方法返回多个检查实例 ID。为避免运行同一检查的多个实例,请确保从 getCheckInstanceIDs 方法返回的检查实例 ID 数组中为要运行的检查选择一个检查实例 ID。

示例

输入参数

全部展开

模型顾问 application 对象,指定为 Advisor.Application 对象。您可以使用 Advisor.Application 对象对模型引用层次结构运行模型顾问检查。使用 Advisor.Manager.createApplication 方法创建一个 Advisor.Application 对象。

检查要在模型顾问分析中使用的实例 ID,以 ID 元胞数组的形式指定。

您可以使用 getCheckInstanceIDs 方法查找检查实例 ID。如果一个检查出现在模型顾问树中的多个文件夹中,则 getCheckInstanceIDs 方法返回多个检查实例 ID。为避免运行同一检查的多个实例,请确保从 getCheckInstanceIDs 方法返回的检查实例 ID 数组中为要运行的检查选择一个检查实例 ID。

数据类型: cell

示例

全部展开

本示例展示了如何设置根模型、创建 Application 对象、设置根分析以及选择所有检查实例以进行模型顾问分析。

% Open the model
openExample('sldemo_mdlref_basic');

% Set root model to sldemo_mdlref_basic model
RootModel='sldemo_mdlref_basic';

% Create an Application object
app = Advisor.Manager.createApplication();

% Set the Application object root analysis
setAnalysisRoot(app,'Root',RootModel);

% Select all checks
selectCheckInstances(app);

本示例展示了如何设置根模型、创建 Application 对象、设置根分析以及使用检查实例 ID 选择检查。

% Open the model
openExample('sldemo_mdlref_basic');

% Set root model to sldemo_mdlref_basic model
RootModel='sldemo_mdlref_basic';

% Create an Application object
app = Advisor.Manager.createApplication();

% Set the Application object root analysis
setAnalysisRoot(app,'Root',RootModel);

% Select "Identify unconnected lines, input ports, and output 
% ports" check using check instance ID
instanceID = getCheckInstanceIDs(app,'mathworks.design.UnconnectedLinesPorts');
% The check has multiple check instance IDs because it appears in
% multiple folders in the Model Advisor tree.
% Select a single instance of the check to avoid re-running instances of the same check
checkinstanceID = instanceID(1);
selectCheckInstances(app,'IDs',checkinstanceID);

此示例说明如何对模型 sldemo_mdlref_basic 及其引用模型 sldemo_mdlref_counter 运行检查根模型 Inport 模块设定检查。

打开示例模型 sldemo_mdlref_basic。在 MATLAB® 命令行窗口中,输入:

openExample("sldemo_mdlref_basic")

模型 sldemo_mdlref_basic 是包含以下三个 Model 模块的父模型:CounterACounterBCounterC。这些模块引用同一模型 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_basicsldemo_mdlref_counter 运行检查根模型 Inport 模块设定检查。

获取模型顾问分析的结果。

res = getResults(app);

生成并查看模型顾问报告。

report = generateReport(app);
web(report);

模型顾问报告提供 sldemo_mdlref_basicsldemo_mdlref_counter 的结果摘要,以及指向每个模型的单独报告的超链接。

此示例说明如何对模型 slexVariantManagement 中的不同变体选择项运行标识未连接的信号线、输入端口和输出端口检查。

打开示例模型 slexVariantManagement。在 MATLAB 命令行窗口中,输入:

openExample("slexVariantManagement")

模型 slexVariantManagement 包含多个可变子系统模块,包括 ControllerPlant。可变子系统模块内包含这些组件的不同实现。

slexVariantManagement 具有存储在与该模型关联的变体配置数据对象 vcd 中的多个变体配置。Advisor.Application 对象只能依据使用变体管理器创建的变体配置,对模型中的活动和非活动变体模块运行模型顾问分析。有关详细信息,请参阅 Variant Manager for SimulinkVariant 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 的结果摘要,以及指向每个变体的单独报告的超链接。

版本历史记录

在 R2015b 中推出