定义自定义检查
关于自定义支票
您可以创建一个自定义检查,以便在Model Advisor中使用。创建自定义检查为您提供了指定Model Advisor检查哪些条件和配置设置的能力。
属性的每个实例的属性的一个或多个函数中定义自定义检查ModelAdvisor。检查
类。为每个想要添加到Model Advisor的自定义检查定义该类的一个实例,并注册自定义检查。
提示
可以将检查添加到多个文件夹任务.
检查定义内容
定义Model Advisor检查时,它包含下表中列出的信息。
内容 | 描述 |
---|---|
检查ID(必需) | 唯一标识支票。Model Advisor使用这个id来访问检查。 |
检查回调函数的句柄(必选) | 函数,它指定检查的内容。 |
检查名称(推荐) | 为Model Advisor显示的检查创建名称。 |
检查属性(可选) | 使用检查创建用户界面。当将检查添加为任务时,Model Advisor使用任务属性而不是检查属性,除了可见 而且LicenseName . |
输入参数(可选) | 添加请求用户输入的输入参数。Model Advisor使用输入执行检查。 |
操作(可选) | 增加自动固定动作。 |
探索的结果按钮(可选) | 添加了探索的结果按钮,用户单击该按钮打开Model Advisor结果资源管理器。 |
显示和启用检查
您可以创建一个检查,并指定它如何在Model Advisor中显示。属性可以定义何时显示检查,或者用户是否可以选择或清除检查可见
,启用
,价值
的属性ModelAdvisor。检查
类。
请注意
将检查作为任务添加到Model Advisor时,在ModelAdvisor。任务
类。如果在两者中都指定属性ModelAdvisor。检查
而且ModelAdvisor。任务
,ModelAdvisor。任务
属性优先,但可见
而且LicenseName
属性。
下面的图表说明了如何可见
,启用
,价值
属性交互。
定义自定义检查出现的位置
使用以下指南指定Model Advisor放置自定义检查的位置:
的新文件夹中放置支票模型的顾问根,使用
ModelAdvisor。集团
类。的新文件夹中放置支票按照任务文件夹,使用
ModelAdvisor。FactoryGroup
类。把支票放在通过产品文件夹,使用
ModelAdvisor.Root.publish
方法。如果通过产品文件夹没有显示在Model Advisor窗口中,请选择按产品文件夹显示从设置>首选项对话框。
检查定义
中描述的回调函数关联的自定义检查创建回调函数和结果.检查定义函数返回要添加到Model Advisor的自定义检查单元格数组。
示例中的检查定义使用中描述的任务定义自定义组.
定义自定义Model Advisor检查函数defineModelAdvisorChecks示例检查1:信息性检查rec = ModelAdvisor。检查(“mathworks.example.configManagement”);rec.Title =“模型配置管理的信息检查”;@modelVersionChecksumCallbackUsingFT setCallbackFcn (rec,“没有”,“StyleOne”);rec.CallbackContext =“PostCompile”;mdladvRoot = ModelAdvisor.Root;mdladvRoot.register (rec);抽样检查2:状态为通过/失败的基本检查rec = ModelAdvisor。检查(“mathworks.example.unconnectedObjects”);rec.Title =“检查未连接的对象”;@unconnectedObjectsCallbackUsingFT setCallbackFcn (rec,“没有”,“StyleOne”);mdladvRoot = ModelAdvisor.Root;mdladvRoot.register (rec);样例检查3:检查子检查和动作rec = ModelAdvisor。检查(“mathworks.example.optimizationSettings”);rec.Title =“检查安全相关的优化设置”;@OptmizationSettingCallback setCallbackFcn (rec,“没有”,“StyleOne”);为此检查定义一个自动修复操作modifyAction = ModelAdvisor.Action;setCallbackFcn (modifyAction @modifyOptmizationSetting);modifyAction。Name =“修改设置”;modifyAction。描述=[“修改模型配置优化”...“可能影响安全的设置。”];modifyAction。启用= true; setAction(rec, modifyAction); mdladvRoot = ModelAdvisor.Root; mdladvRoot.register(rec);
定义检查输入参数
使用输入参数,您可以在运行检查之前请求输入。方法定义输入参数ModelAdvisor。InputParameter
自定义检查函数中的类。您必须为想要添加到Model Advisor检查中的每个输入参数定义该类的一个实例。
使用以下方法指定输入参数的布局。
方法 | 描述 |
---|---|
|
指定输入参数网格的大小。 |
|
指定参数在“输入参数”布局网格中占用的行数。 |
|
指定参数在“输入参数”布局网格中占用的列数。 |
此示例演示如何定义添加到自定义检查的输入参数。必须在自定义检查定义中包含输入参数定义。下面的代码包含在自定义检查定义中时,将创建三个输入参数。
rec = ModelAdvisor。检查(“com.mathworks.sample.Check1”);rec.setInputParametersLayoutGrid (2 [3]);定义输入参数inputParam1 = ModelAdvisor.InputParameter;inputParam1。Name =“跳过字体检查。”;inputParam1。类型=“Bool”;inputParam1。价值= false; inputParam1.Description =“示例工具提示”;inputParam1。setRowSpan ([1]);inputParam1。setColSpan ([1]);inputParam2 = ModelAdvisor.InputParameter;inputParam2。Name =“标准字体大小”;inputParam2。值=“12”;inputParam2。类型=“字符串”;inputParam2。描述=“示例工具提示”;inputParam2。setRowSpan (2 [2]);inputParam2。setColSpan ([1]);inputParam3 = ModelAdvisor.InputParameter;inputParam3。Name =“有效的字体”;inputParam3。类型=组合框的;inputParam3。描述=“示例工具提示”;inputParam3。条目= {“天线”,“Arial黑”};inputParam3。setRowSpan (2 [2]);inputParam3。setColSpan (2 [2]);rec.setInputParameters ({inputParam1、inputParam2 inputParam3});
模型顾问将这些输入参数显示在右边的窗格中输入参数盒子。
定义模型顾问结果资源管理器视图
一个列表视图为用户提供了一种使用Model Advisor Result Explorer修复检查警告和失败的方法。创建一个列表视图允许您:
添加探索的结果按钮到Model Advisor窗口中的自定义检查。
提供信息以填充Model Advisor结果资源管理器。
这个例子展示了如何定义列表视图。你必须探索的结果按钮可见,使用ModelAdvisor.Check.ListViewVisible
属性,并在检查回调函数中包含列表视图定义。您必须为想要添加到Model Advisor Result Explorer窗口的每个列表视图定义该类的一个实例。
当包含在检查定义函数中时,下面的代码将添加探索的结果按钮到模型顾问中的检查。
rec = ModelAdvisor。检查(“com.mathworks.sample.Check1”);添加“搜索结果”按钮rec.ListViewVisible = true;
当包含在检查回调函数中时,下面的代码提供了填充Model Advisor Result Explorer的信息。
mdladvObj = 万博1manbetxSimulink.ModelAdvisor.getModelAdvisor(system);mdladvObj.setCheckResultStatus(真正的);定义列表视图参数myLVParam = ModelAdvisor.ListViewParameter;myLVParam。Name =“无效字体块”;%名称出现在下拉过滤器myLVParam。数据= get_param“对象”)”;myLVParam。一个ttributes = {“字体名”};% name是默认属性mdladvObj.setListViewParameters ({myLVParam});
定义检查动作
一个行动提供了一种方法,让您可以指定Model Advisor执行的操作来修复Model Advisor检查。定义操作时,Model Advisor窗口包含行动方框下方分析盒子。
属性定义操作ModelAdvisor。行动
自定义检查函数中的类。你必须定义:
对于您想要执行的每个操作,该类的一个实例。
每个动作都有一个动作回调函数。
属性所需要的信息行动框。将此包含在检查定义函数中。
rec = ModelAdvisor。检查(“mathworks.example.optimizationSettings”);为此检查定义一个自动修复操作modifyAction = ModelAdvisor.Action;modifyAction.setCallbackFcn (@modifyOptmizationSetting);modifyAction。Name =“修改设置”;modifyAction。描述=[“修改模型配置优化”...“可能影响安全的设置”];modifyAction。启用= true; rec.setAction(modifyAction);
在右侧窗格中,Model Advisor显示了一个行动盒子。
另请参阅
ModelAdvisor。行动
|ModelAdvisor。检查
|ModelAdvisor。FactoryGroup
|ModelAdvisor。集团
|ModelAdvisor。InputParameter
|ModelAdvisor.Root.publish
|ModelAdvisor。任务