主要内容

从自定义检查排除块

这个例子展示了如何从自定义检查排除块。为了节省时间在模型开发和验证,您可以从自定义检查排除个别块在一个顾问分析模型。排除从仿真软件模块和自定义检查Stateflow图表,使用金宝appModelAdvisor.Check.金宝appsupportExclusion金宝appSimulink.ModelAdvisor.filterResultWithExclusion函数定义文件的检查。

更新检查定义文件

  1. 文件夹设置为可写目录。

  2. 复制脚本prepare_cust_chk_code你的当前文件夹并运行脚本。对于这个示例脚本复制文件当前文件夹。

    拷贝文件(fullfile (matlabroot“例子”,“slcheck”,“主要”、“prepare_cust_chk_code.m”),…' prepare_cust_chk_code.m ', ' f ');运行(“prepare_cust_chk_code.m”);

  3. 打开defineDetailStyleCheck文件。

  4. 更新检查块的名字是否出现下面的块检查排除块在顾问分析模型时,有两个修改defineDetailStyleCheck文件。

    1. 启用检查块的名字是否出现下面的块通过使用检查支持检金宝app查排除ModelAdvisor.Check.金宝appsupportExclusion财产。后rec.setCallbackFcn (@DetailStyleCallback '没有',' DetailStyle ');,添加rec.金宝appsupportExclusion = true;。的第一部分函数defineDetailStyleCheck现在看起来像:

      %创建ModelAdvisor。检查对象,并设置属性。rec = ModelAdvisor.Check (“com.mathworks.sample.detailStyle”);rec.Title =“检查块的名字是否出现以下块”;rec.TitleTips =“检查块的位置名称”;rec.setCallbackFcn (@DetailStyleCallback“没有”,“DetailStyle”);rec.金宝appsupportExclusion = true;

    2. 使用金宝appSimulink.ModelAdvisor.filterResultWithExclusion函数过滤模型对象造成检查警告或故障检查排除启用。要做到这一点,修改CheckObj DetailStyleCallback(系统)函数如下:

      %找到所有阻塞的名字没有出现下面violationBlks = find_system(系统,“类型”,“块”,“NamePlacement”,“替代”,“ShowName”,“上”);violationBlks = mdladvObj.filterResultWithExclusion (violationBlks);

  5. 保存DefineDetailStyleCheck文件。如果你问可以覆盖文件,点击好吧

创建并保存除外

  1. 为了让您的自定义模型中是可见的顾问,你必须刷新缓存模型顾问检查信息。在MATLAB命令提示符,键入这个命令:

    Advisor.Manager.refresh_customizations ();

  2. 打开模型,双击AdvisorCustomizationExample.slx

  3. 建模选项卡上,选择模型的顾问打开模型顾问。

  4. 在左边的面板模型的顾问窗口中,选择通过产品>演示>检查块的名字是否出现下面的块检查。在右窗格中,选择运行这个检查。检查失败。

  5. 在模型窗口中,右键单击X块,并选择模型的顾问>排除块只>选择检查。导航到演示文件夹并选择检查块的名字是否出现下面的块检查。

  6. 在顾问排斥模型编辑器中,单击保存创建一个排除的文件。

  7. 在模型窗口,打开放大器子系统和右键单击GainBlock块,并选择模型的顾问>排除块只>选择检查。导航到演示文件夹并选择检查块的名字是否出现下面的块检查。

  8. 在顾问排斥模型编辑器中,单击保存更新排除文件。

检查排除

  1. 在左边的面板模型的顾问窗口中,选择通过产品>演示>检查块的名字是否出现下面的块检查。在右窗格中,选择运行检查。现在的检查通过。在模型的右窗格顾问窗口中,您可以看到检查排除规则顾问在分析适用的模型。

  2. 关闭模型和模型的顾问。

另请参阅

|

相关的例子

更多关于