主要内容

定义自定义模型顾问检查

您可以创建自己的条件和模型为模型配置设置顾问审查通过定义自定义检查。您可以创建自定义检查运行在编辑时间和模型中的模型中的顾问或顾问。

自定义编辑时间检查帮助您识别问题早在设计过程的模型,但他们只看模块和信号在同一级别的模型或子系统,用户编辑。然而,这些检查总水平的模型层次结构模型和报告问题顾问。如果你检查必须检查影响块模型的其他级别,创建一个自定义检查模型中只运行顾问。例如,如果您的检查必须检查不匹配转到块在一个层次结构模型,在模型中定义这个检查只运行顾问。

这些步骤显示创建检查的过程模型中只运行在编辑时间或顾问。

创建sl_customization函数

定义一个自定义的检查,首先创建一个sl_customization.m在MATLAB文件路径。在sl_customization.m文件,创建一个sl_customization函数。的sl_customization函数接受一个参数,定制管理器对象:

函数sl_customization (cm)

提示

  • 你可以有多个sl_customization.m文件在你的MATLAB的道路。

  • 不要把一个sl_customization.m文件,定制模型顾问检查根MATLAB和文件夹®文件夹及其子文件夹,除了matlabroot/工作文件夹中。否则,模型文件指定顾问忽略了定制。

注册自定义检查

注册自定义检查,使用addModelAdvisorCheckFcn定制管理对象的方法,它是你的输入sl_customization函数。这个代码显示了一个示例sl_customization.m功能:

函数sl_customization (cm)%注册自定义检查cm.addModelAdvisorCheckFcn (@defineModelAdvisorChecks);% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -%定义模型顾问检查% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -函数defineModelAdvisorChecks defineDetailStyleCheck;defineConfigurationParameterCheck;defineNewBlockConstraintCheck;defineEditTimeChecks;

addModelAdvisorCheckFcn寄存器的检查方法通过产品文件夹模型的顾问。的defineModelAdvisorChecks参数是一个包含调用处理函数的函数定义自定义检查。为每个顾问检查您创建的自定义模型,您应该创建一个检查定义函数。您可以创建一个检查函数定义你的编辑时间检查,因为每个编辑时间检查包含它自己的类定义。

创建检查定义函数

检查定义函数定义了行为模型顾问需要当您运行检查。这些部分描述的关键组件检查定义函数定义编辑时间检查和检查模型中只运行顾问。

创建的一个实例ModelAdvisor.Check

对于每一个自定义检查,创建一个实例ModelAdvisor.Check类。使用ModelAdvisor.Check属性和方法来定义检查用户界面和操作。此表描述了一些关键检查组件。

内容 描述
检查ID(必需) 惟一地标识检查。模型顾问使用这个ID访问检查。
(自定义模型只顾问检查)处理检查回调函数(必需) 函数指定检查的内容。
(自定义模型只顾问检查)处理行动的回调函数(可选) 添加一个固定的行动。
(自定义编辑时间只检查)句柄类(必需) 派生类定义了操作的编辑时间检查。可选地,这个类也可以定义一个固定的编辑时间检查。
检查名称(推荐) 在模型中指定的名称检查顾问。
模型编译(可选) 指定是否编译检查分析模型。的PostCompileForCodegen的价值CallbackContext属性不支持编辑时间检查。金宝app
输入参数(可选) 添加输入参数,来自用户的输入请求。模型顾问使用的输入执行检查。

定义自定义模型顾问检查

自定义检查,只有出现在模型顾问,检查定义函数包含一个回调函数检查指定你想要的操作模型顾问执行模型或子系统。定义检查回调函数,并通过它的句柄setCallbackFcn方法。模型顾问执行回调函数,当你运行检查。回调函数提供一个或多个返回参数,执行检查后显示结果。模型顾问执行回调函数,当你运行检查。

如果你指定一个自定义检查修复,检查定义函数也应该包含一个回调函数。在检查定义函数,创建的实例ModelAdvisor.Action类。定义的操作,通过一个回调函数处理它setCallbackFcn方法。模型中的顾问,检查用户点击修复应用自定义修复他们的模型。

自定义模型顾问检查与修复

回调函数和行动回调函数提供一个或多个返回参数执行检查后显示结果。看到创建检查回调函数定义创建回调函数定义的动作

使用默认格式模型顾问结果,指定回调函数类型DetailStylesetCallbackFcn方法。如果默认格式不符合您的需要,使用ModelAdvisor.FormatTemplate类或其他顾问格式化模型类:

描述
ModelAdvisor.Text

创建一个模型顾问文本输出。

ModelAdvisor.List

创建一个列表。

ModelAdvisor.Table

创建一个表。

ModelAdvisor.Paragraph

创建和格式化段落。

ModelAdvisor.LineBreak

插入一个换行符。

ModelAdvisor.Image

在模型中包括一个形象顾问输出。

自定义编辑时间检查

要创建一个自定义编辑时间检查,创建一个来源于MATLAB类ModelAdvisor.EdittimeCheck类。在检查定义函数,指定这个类的值ModelAdvisor.CheckCallbackHandle财产。在派生类,定义这些方法:

  • 定义一个方法,指定ID和检查ModelAdivsor.EdittimeCheck.TraversalType检查的属性。的TraversalType属性指定模型顾问如何运行检查。

  • 定义一个blockDiscovered方法,找块违背你的编辑时间算法。

  • 如果违反是一块,凸显了在编辑时间创建一个块ModelAdvisor.ResultDetail违反对象与类型属性设置为默认值SID。如果违反是一个信号,突出信号通过创建一个违反对象类型属性设置为信号

  • 如果你指定一个TraversalType的属性edittimecheck.TraversalTypes.ACTIVEGRAPH,定义一个finishedTraversal方法,指定什么编辑时间检查与数据检查收集的一部分blockDiscovered方法。

  • 可选地,定义一个修复方法编辑时间检查违规行为。

例如,看到的定义编辑时间检查符合您指定的条件与模型顾问

有助于防止负面影响性能的自定义编辑时间检查您编辑你的模型,该模型顾问自动禁用自定义编辑时间检查,在MATLAB会议,检查需要超过500毫秒执行至少在三个不同的模型金宝app®模型。

如果模型顾问禁用一个定制的编辑时间检查,你会看到一个警告在仿真软件上画布。金宝app你可以重新启用编辑时间检查通过:

  • 单击超链接文本的警告。

  • 通过检查标识符,checkID的函数edittime.enableCheck:edittime.enableCheck (checkID)

防止一个自定义的编辑时间检查被禁用,作者检查,检查执行模型在不到500毫秒。

检查输入参数定义

您可以请求输入在运行检查之前使用输入参数。定义输入参数使用ModelAdvisor.InputParameter类。你必须包括内部的输入参数定义一个自定义检查定义函数。你必须为每个输入参数定义这个类的一个实例,你想添加一个自定义的检查。

指定的布局模型输入参数顾问通过使用这些方法。

目的 方法
指定输入参数网格的大小 setInputParametersLayoutGrid
指定的行数输入参数中的参数占用网格布局。 setRowSpan
指定列中的参数占用的数量输入参数网格布局。 setColSpan

顾问的模型显示的输入参数输入参数盒子。

模型顾问检查输入参数

显示,使检查

您可以指定如何自定义检查出现在模型顾问。您可以定义显示检查时,用户可以选择是否或明确的检查使用可见,启用,价值的属性ModelAdvisor.Check类。这些属性相互作用如下:

  • 如果可见属性是,检查或任务不显示在顾问和模型启用价值属性将被忽略。

  • 如果可见属性是真正的启用属性是:

    • 检查显示模型中的顾问。

    • 的初始状态检查价值

    • 复选框似乎暗了下来。

  • 如果可见属性是真正的启用属性是真正的,检查或任务显示在模型顾问和活跃的复选框。

发布自定义检查

创建一个文件夹为自定义检查的通过产品文件夹使用发布方法。然后,使用该模型顾问配置编辑器定制文件夹树模型中的顾问。有关更多信息,请参见使用模型顾问配置编辑器定制模型顾问

另请参阅

||||

相关的话题