使用模型顾问检查您的模型
模型顾问概述
模型顾问会对模型或子系统进行检查,找出导致仿真不够准确或效率低下的建模条件和配置设置。模型顾问的各项检查可帮助您验证是否符合行业标准和规范。通过使用模型顾问,您可以实现跨工程和开发团队的一致建模规范。
在完成模型分析后,模型顾问会生成一份报告,其中列出次优条件、设置和建模方法,并在适用时提出解决方案。
您可以使用模型顾问以下列方式检查您的模型:
以交互方式运行模型顾问检查
将模型顾问配置为自动运行编辑时检查(需要 Simulink® Check™)
当您使用模型顾问检查您的模型时,存在下列限制。有关适用于特定检查的限制,请参阅检查文档中的“功能和限制”部分。
如果重命名系统,必须重新启动模型顾问来检查该系统。
在包含可变子系统的系统中,模型顾问检查活动子系统。要同时检查活动和非活动子系统,请将
Advisor.Application
(Simulink Check) 属性AnalyzeVariants
设置为true
。模型顾问不分析带注释的模块。
检查不会在模块参数读取/写入设置为 NoReadorWrite 的 model 模块或 subsystem 模块中搜索。然而,在逐项检查时,模型顾问检查确实会在库模块和封装子系统中进行搜索。
除非在检查的文档中明确指定,否则模型顾问不会分析 Model 模块的内容。要对引用模型运行检查,请使用
Advisor.Application
(Simulink Check) 类的实例(需要 Simulink Check 许可证)。Simulink Online 不支持模型顾问并行运行。
注意
软件本质上是比较复杂的,可能无法杜绝错误。模型顾问检查可能存在一些错误。MathWorks® 会在 https://www.mathworks.com/support/bugreports/ 上的 Bug Report 系统中报告已引起关注的已知错误。错误报告是每个版本的文档的一个必要组成部分。请检查版本的错误报告,因为这些报告可能会指出您正在使用的版本的实际行为与本文档中描述的行为之间的不一致。
对您的模型应用模型顾问检查会提高您的模型不违反某些建模标准或规范的可能性,但应用这些检查并不能保证开发的系统是安全的或没有错误。归根结底,您有责任使用多种方法来确认开发的系统能提供预期的功能,并且不包含非预期的功能。
模型顾问检查文档
模型顾问仅显示对已安装产品的检查。下表提供各产品的检查文档的链接。查看某些文档可能需要产品许可证。
产品 | 模型顾问检查文档 |
---|---|
Simulink | Simulink 检查 |
Embedded Coder® | Embedded Coder Checks (Embedded Coder) |
AUTOSAR Blockset | AUTOSAR Blockset Checks (AUTOSAR Blockset) |
Simulink Coder™ | Model Advisor Checks (Simulink Coder) |
HDL Coder™ | HDL Code Advisor Checks (HDL Coder) |
Simulink Code Inspector™ | Simulink Code Inspector Checks (Simulink Code Inspector) |
Simulink Check | 使用针对高完整性系统建模规范的模型顾问检查 (Simulink Check) 适用于 MAB 建模规范的模型顾问检查 (Simulink Check) Model Advisor Checks for JMAAB Modeling Guidelines (Simulink Check) 使用适用于 IEC 61508、IEC 62304、ISO 26262、ISO 25119 和 EN 50128/EN 50657 行业标准的模型顾问检查 (Simulink Check) 针对 DO-178C/DO-331 行业标准的模型顾问检查 (Simulink Check) 适用于 DO-254 标准合规性的模型顾问检查 (Simulink Check) 使用适用于 MISRA C:2012 编码标准的模型顾问检查 (Simulink Check) Model Advisor Checks for CERT C, SWE, and ISO/IEC TS 17961 Coding Standards (Simulink Check) 模型度量 (Simulink Check) |
Simulink Design Verifier™ | Simulink Design Verifier 检查 (Simulink Design Verifier) |
Simulink PLC Coder™ | PLC Model Advisor Checks (Simulink PLC Coder) |
Requirements Toolbox™ | 需求一致性检查 (Requirements Toolbox) |
Simscape™ | 文档仅在模型顾问中可用。要查看检查文档,请在模型顾问中,右键点击检查标题并选择这是什么? |
Simulink Control Design™ | Simulink Control Design Checks (Simulink Control Design) |
IEC Certification Kit | Model Advisor Checks for ISO 26262, ISO 25119, IEC 61508, IEC 62304, and EN 50128/EN 50657 Industry Standards (Simulink Check) |
DO 鉴定套件 | 针对 DO-178C/DO-331 行业标准的模型顾问检查 (Simulink Check) |
运行模型顾问检查并查看结果
您可以使用模型顾问根据建模标准和规范以交互方式检查您的模型。以下示例使用 sldemo_mdladv
模型来演示使用模型顾问执行模型顾问检查。
要打开模型顾问示例模型,请在 MATLAB® 命令行中:
openExample('sldemo_mdladv')
要打开模型顾问,请在 Simulink 编辑器中,点击建模选项卡,然后选择模型顾问。将打开系统选择器对话框。选择要查看的模型或系统,然后点击确定。
在模型顾问的左窗格中,选择要对模型运行的检查:
您可以使用按产品或按任务文件夹选择检查。
显示 "按产品" 文件夹 - 显示每种产品的可用检查
显示 "按任务" 文件夹 - 显示与具体任务相关的检查。
具有图标
的检查会触发模型图的更新。
具有图标
的检查会触发对模型的大规模分析。触发模型大规模分析的检查使用额外的分析方法,例如使用 Simulink Design Verifier 的分析。
点击包含检查的文件夹,并在工具条上选择运行检查以执行分析。要运行单项检查,请右键点击文件夹中的检查,然后选择运行此检查。
在模型顾问用户界面上查看结果。下表显示常见检查状态结果;请注意,根据模型顾问配置编辑器中为当检查标识了问题时的状态设置的参数,会使用不同图标(需要 Simulink Check 许可证)。有关此参数的详细信息,请参阅指定检查自定义的参数 (Simulink Check)。
检查结果状态
图标 描述 Passed
对于给定的检查,模型没有任何违规。
Failed
检查已发现严重违规。
Warning
检查已发现违规。
Justified
已对检查违规进行申述。
Not Run
模型顾问分析中未选中该检查。
Incomplete
检查分析不完整或执行检查时出现异常。
根据需要修复警告或故障。有关详细信息,请参阅 Address Model Check Results。
使用排除项选项卡查看标记为从分析中排除的检查。
查看并保存报告。有关详细信息,请参阅Save and View Model Advisor Check Reports和生成模型顾问报告 (Simulink Check)。
以编程方式运行模型检查
如果您有 Simulink Check,您可以创建 MATLAB 脚本和函数,以便以编程方式运行模型顾问。例如,您可以创建一个 ModelAdvisor.run
(Simulink Check) 函数,以检查在您每次打开模型和开始仿真时,模型是否会传递指定的模型顾问检查集。
相关示例
详细信息
- Design Techniques to Optimize Models for Efficient Code Generation (Simulink Coder)