检测并修复模型顾问检查违规
模型顾问会对模型或子系统进行检查,找出导致不准确或低效的仿真以及低效的生成代码和不适合安全关键型应用的代码的建模条件和配置设置。模型顾问检查可帮助您验证是否符合行业标准和规范。通过使用模型顾问,您可以实现跨工程和开发团队的一致建模规范。
模型顾问检查中的一部分项目支持编辑时检查。通过编辑时检查,您可以在开发模型时检查模型条件。模型编辑器窗口中突出显示的模块提醒您模型中存在问题。
本教程使用示例模型 sldemo_fuelsys
。该模型是用 Simulink® 和 Stateflow® 设计的空燃比控制系统。
下列各图显示了 sldemo_fuelsys
模型的各部分。顶层模型是一个闭环系统,由被控对象 (Engine Gas Dynamics) 和控制器(Fuel Rate Control 子系统)组成。被控对象允许工程师在设计周期早期阶段通过仿真来验证控制器。控制逻辑是指定不同操作模式的 Stateflow 图。
在您编辑时检测并修复模型顾问检查违规
将当前文件夹设置为可写目录。
通过键入以下命令打开模型
sldemo_fuelsys
:openExample('sldemo_fuelsys')
要使用编辑时检查,请在 Modeling 选项卡上,选择 Model Advisor > Edit-Time Checks。“配置参数”对话框打开,请选中编辑时检查对应的复选框。
突出显示的模块和子系统表示存在合规性问题。
在突出显示的模块上暂停,然后点击警告图标。对话框会提供警告说明。有关检测到问题的检查的详细文档,请点击问号。由于模块名称不正确,这些模块包含编辑时警告。
要从所选检查中排除某个模块,您可以点击 Suppress。
双击打开
Engine Gas Dynamics
子系统。在air/fuel ratio
输出端口上暂停,然后点击警告图标。此输出端口返回警告,因为其名称违反两项检查:Check for unsupported block names 和 Check port block names。
通过用下划线替换
/
符号和模块名称中的空格来解决警告。该模块不再突出显示。解决
Engine Gas Dynamics
子系统中其他突出显示的模块的警告。
以交互方式检测和修复模型顾问检查违规
在 Modeling 选项卡上,选择 Model Advisor。
从 System Hierarchy 中选择顶层模型
sldemo_fuelsys
,然后点击 OK。在左窗格中,在 By Product > Simulink Check > Model Standards > DO-178C/DO-331 文件夹中,选择:
Check safety-related diagnostic settings for solvers
Check safety-related diagnostic settings for sample time
Check safety-related optimization settings for logic signals
右键点击 DO-178C/DO-331 Checks 节点,然后选择 Run Selected Checks。
要查看未设置为推荐值的配置参数,请点击检查求解器的安全相关诊断设置。
要将参数更新为推荐值,请在工具条中点击修复。
操作报告窗口显示模型顾问会将参数更新为推荐值,并详细说明结果。
对 Check safety-related diagnostic settings for sample time 检查重复步骤 6。
要验证您的模型现在能够通过检查,请重新运行检查。
要生成 Simulink Check™ 检查的结果报告,请选择 DO-178C/DO-331 检查节点,然后在工具条中点击报告。
关闭模型顾问。
接下来,收集模型的指标数据,并使用 Metrics Dashboard 修复其他合规性问题。