Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

使用模型顾问检查您的模型

模型顾问概述

模型顾问会对模型或子系统进行检查,找出导致仿真不够准确或效率低下的建模条件和配置设置。模型顾问的各项检查可帮助您验证是否符合行业标准和规范。通过使用模型顾问,您可以实现跨工程和开发团队的一致建模规范。

在完成模型分析后,模型顾问会生成一份报告,其中列出欠优条件、设置和建模方法,并在适用时提出解决方案。

您可以使用模型顾问以下列方式检查您的模型:

  • 以交互方式运行模型顾问检查

  • 将模型顾问配置为自动运行编辑时检查(需要 Simulink® Check™

当您使用模型顾问检查您的模型时,存在下列限制。有关适用于特定检查的限制,请参阅检查文档中的“功能和限制”部分。

  • 如果重命名系统,必须重新启动模型顾问来检查该系统。

  • 在包含可变子系统的系统中,模型顾问检查活动子系统。要同时检查活动和非活动子系统,请将 Advisor.Application (Simulink Check) 属性 AnalyzeVariants 设置为 true

  • 模型顾问不分析带注释的模块。

  • 检查不会在模块参数 Read/Write 设置为 “NoReadorWrite” 的 model 模块或 subsystem 模块中搜索。然而,在逐项检查时,模型顾问检查确实会在库模块和封装子系统中进行搜索。

  • 除非在检查的文档中明确指定,否则模型顾问不会分析 Model 模块的内容。要对引用模型运行检查,请使用 Advisor.Application (Simulink Check) 类的实例(需要 Simulink Check 许可证)。

注意

软件本质上是比较复杂的,可能无法杜绝错误。模型顾问检查可能存在一些错误。MathWorks® 会在 https://www.mathworks.com/support/bugreports/ 上的 Bug Report 系统中报告已引起关注的已知错误。错误报告是每个版本的文档的一个必要组成部分。请检查版本的错误报告,因为这些报告可能会指出您正在使用的版本的实际行为与本文档中描述的行为之间的不一致。

对您的模型应用模型顾问检查会提高您的模型不违反某些建模标准或规范的可能性,但应用这些检查并不能保证开发的系统是安全的或没有错误。归根结底,您有责任使用多种方法来确认开发的系统能提供预期的功能,并且不包含非预期的功能。

模型顾问检查文档

模型顾问仅显示对已安装产品的检查。下表提供各产品的检查文档的链接。查看某些文档可能需要产品许可证。

产品模型顾问检查文档
Simulink Simulink 检查
Embedded Coder® Embedded Coder Checks (Embedded Coder)
AUTOSAR 模块集 AUTOSAR Blockset Checks (AUTOSAR Blockset)
Simulink Coder™ Simulink Coder Checks (Simulink Coder)
HDL Coder™ HDL Code Advisor Checks (HDL Coder)
Simulink Code Inspector™ Simulink Code Inspector Checks (Simulink Code Inspector)
Simulink Check

DO-178C/DO-331 Checks (Simulink Check)

IEC 61508, IEC 62304, ISO 26262, ISO 25119, and EN 50128/EN 50657 Checks (Simulink Check)

基于 DO-254 标准的模型合规性检查 (Simulink Check)

High Integrity System Modeling Checks (Simulink Check)

Model Advisor Checks for MAB and JMAAB Compliance (Simulink Check)

MISRA C:2012 Checks (Simulink Check)

Secure Coding Checks for CERT C, CWE, and ISO/IEC TS 17961 Standards (Simulink Check)

Model Metrics (Simulink Check)

Clone Detection Checks (Simulink Check)

Simulink Design Verifier™ Simulink Design Verifier Checks (Simulink Design Verifier)
Simulink Requirements™ Requirements Consistency Checks (Simulink Requirements)
Simscape™ 文档仅在模型顾问中可用。要查看检查文档,请在模型顾问中,右键点击检查标题并选择 What's This?
Simulink Control Design™ Simulink Control Design Checks (Simulink Control Design)
IEC 认证套件

IEC Certification Kit Checks (IEC Certification Kit)

DO 验证套件

DO Qualification Kit Checks (DO Qualification Kit)

运行模型顾问检查并查看结果

您可以使用模型顾问根据建模标准和规范以交互方式检查您的模型。以下示例使用 sldemo_mdladv 模型来演示使用模型顾问执行模型顾问检查。

  1. 打开模型顾问示例模型 sldemo_mdladv

  2. 要打开模型顾问,请在 Simulink Editor 中,点击 Modeling 选项卡,然后选择 Model Advisor。将打开 System Selector ― Model Advisor 对话框。选择要查看的模型或系统,然后点击 OK

  3. 在模型顾问的左窗格中,选择要对模型运行的检查:

    1. 您可以使用 By ProductBy Task 文件夹选择检查。如果这些文件夹没有显示在模型顾问窗口中,请打开 Settings > Preferences,然后选择:

      • Show By Product Folder - 显示每种产品的可用检查

      • Show By Task Folder - 显示与具体任务相关的检查。

    2. 您可以通过在 Find: 字段中输入检查的 TitleTitleID 并点击 Find Next 按钮来搜索并执行特定检查。模型顾问将在检查名称、文件夹名称和分析说明中进行搜索。您可以使用 Source 选项卡来识别每项检查的 TitleTitleID 和 MATLAB® 源代码的位置。要在模型顾问的右窗格中显示 Source,请打开 Settings > Preferences,然后选择 Show Source Tab

  4. 点击包含检查的文件夹,并在模型顾问的右窗格中选择:

    • Show report after run,用于自动生成报告并以 HTML 格式显示

    • Run Selected Checks,用于执行分析。

    要运行单项检查,请右键点击文件夹中的检查,然后选择 Run This Check

  5. 在模型顾问用户界面上查看结果。下表显示常见检查状态结果;请注意,根据模型顾问配置编辑器中为 Check result when issues are flagged 设置的参数,会使用不同图标(需要 Simulink Check 许可证)。有关此参数的详细信息,请参阅指定检查自定义的参数 (Simulink Check)

    结果

    参数 Check result when issues are flagged 为以下项时的图标:
     

    Warning

    Fail

    Pass - 检查未发现问题。

    pass icon when the flag for checks result is set to warning

    pass icon when the flag for checks result is set to fail

    D-Pass - 取决于配置参数或另一项检查的成功执行。

    forced pass icon when the flag for checks result is set to warning

    forced pass icon when the flag for checks result is set to fail

    Warn - 检查发现了问题。

    两种设置使用相同的图标。

    warning icon

    Fail - 检查无法执行。

    两种设置使用相同的图标。

    fail icon

  6. 根据需要修复警告或故障。有关详细信息,请参阅 Address Model Check Results

  7. 使用 Exclusions 选项卡查看标记为从分析中排除的检查。要在模型顾问的右窗格中显示 Exclusions 选项卡,请打开 Settings > Preferences,然后选择 Show Exclusion tab

  8. 查看并保存报告。有关详细信息,请参阅Save and View Model Advisor Check Reports

    注意

    如果您在执行检查时没有选择 Show report after run,您可以在分析完成后生成结果报告。请参阅Generate Model Advisor Reports (Simulink Check)

  9. 如果需要,您可以将检查状态重置为 Not Run 状态。在左窗格中,右键点击 Model Advisor,然后选择 “Reset”。此操作不会从模型顾问中删除分析结果。

通过运行先前分析中使用的检查来节省分析时间

您可以通过使用模型顾问控制板对您的模型始终运行相同的一组检查来节省时间。当您使用控制板时,模型顾问不用在执行检查之前重新加载这些检查,从而节省分析时间。

  1. 打开模型顾问示例模型 sldemo_mdladv

  2. 选择 Model Advisor > Model Advisor Dashboard。将打开 System Selector ― Model Advisor 对话框。选择要查看的模型或系统,然后点击 OK

  3. 将打开 Model Advisor Dashboard 窗口。通过该控制板,您可以:

    • 点击 Run checks 按钮,执行与先前分析相同的检查

    • 点击 Switch to standard view 按钮,打开模型顾问并选择不同检查

    • 点击 Enable Highlighting 按钮,在 Simulink Editor 中查看突出显示的结果

  4. 点击 Run checks 按钮,对模型运行先前分析中所用的相同检查。如果需要,点击 Enable Highlighting 按钮。

  5. 模型顾问执行检查并更新控制板以反映分析结果,包括以下各项的数量:

    • 通过的检查

    • 失败的检查

    • 标记的检查

    • 总检查项

    如果您点击 Enable Highlighting 按钮,标记的结果将在模型中突出显示。

    Model Advisor Highlighting 信息窗口将打开,其中包含指向模型顾问窗口的链接。在模型顾问窗口中,您可以找到有关检查结果以及如何修复警告条件的详细信息。

  6. 点击 Open Report 按钮,以 HTML 格式打开整个报告。您也可以选择结果旁边的数字链接来筛选报告结果。

以编程方式运行模型检查

如果您有 Simulink Check,您可以创建 MATLAB 脚本和函数,以便以编程方式运行模型顾问。例如,您可以创建一个 ModelAdvisor.run (Simulink Check) 函数,以检查在您每次打开模型和开始仿真时,模型是否会传递指定的模型顾问检查集。

访问其他 Advisor

您可以使用模型顾问窗口访问其他 Advisor:

您可以从模型顾问的左下角访问这些 Advisor。

相关示例

详细信息