从自定义检查排除块
这个例子展示了如何从自定义检查排除块。为了节省时间在模型开发和验证,您可以从自定义检查排除个别块在一个顾问分析模型。排除从仿真软件模块和自定义检查Stateflow图表,使用金宝appModelAdvisor.Check.金宝appsupportExclusion
和金宝appSimulink.ModelAdvisor.filterResultWithExclusion
函数定义文件的检查。
更新检查定义文件
文件夹设置为可写目录。
复制脚本
prepare_cust_chk_code
你的当前文件夹并运行脚本。对于这个示例脚本复制文件当前文件夹。拷贝文件(fullfile (matlabroot“例子”,“slcheck”,“主要”、“prepare_cust_chk_code.m”),…' prepare_cust_chk_code.m ', ' f ');运行(“prepare_cust_chk_code.m”);
打开
defineDetailStyleCheck
文件。更新检查块的名字是否出现下面的块检查排除块在顾问分析模型时,有两个修改
defineDetailStyleCheck
文件。启用检查块的名字是否出现下面的块通过使用检查支持检金宝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;
使用
金宝appSimulink.ModelAdvisor.filterResultWithExclusion
函数过滤模型对象造成检查警告或故障检查排除启用。要做到这一点,修改CheckObj DetailStyleCallback(系统)
函数如下:%找到所有阻塞的名字没有出现下面violationBlks = find_system(系统,“类型”,“块”,…“NamePlacement”,“替代”,…“ShowName”,“上”);violationBlks = mdladvObj.filterResultWithExclusion (violationBlks);
保存
DefineDetailStyleCheck
文件。如果你问可以覆盖文件,点击好吧。
创建并保存除外
为了让您的自定义模型中是可见的顾问,你必须刷新缓存模型顾问检查信息。在MATLAB命令提示符,键入这个命令:
Advisor.Manager.refresh_customizations ();
打开模型,双击
AdvisorCustomizationExample.slx
。在建模选项卡上,选择模型的顾问打开模型顾问。
在左边的面板模型的顾问窗口中,选择通过产品>演示>检查块的名字是否出现下面的块检查。在右窗格中,选择运行这个检查。检查失败。
在模型窗口中,右键单击
X
块,并选择模型的顾问>排除块只>选择检查。导航到演示文件夹并选择检查块的名字是否出现下面的块检查。在顾问排斥模型编辑器中,单击保存创建一个排除的文件。
在模型窗口,打开
放大器
子系统和右键单击GainBlock
块,并选择模型的顾问>排除块只>选择检查。导航到演示文件夹并选择检查块的名字是否出现下面的块检查。在顾问排斥模型编辑器中,单击保存更新排除文件。
检查排除
在左边的面板模型的顾问窗口中,选择通过产品>演示>检查块的名字是否出现下面的块检查。在右窗格中,选择运行检查。现在的检查通过。在模型的右窗格顾问窗口中,您可以看到检查排除规则顾问在分析适用的模型。
关闭模型和模型的顾问。
另请参阅
ModelAdvisor.Check.金宝appSupportExclusion
|金宝appSimulink.ModelAdvisor