本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

使用 Model Advisor 检查您的模型

Model Advisor 概述

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

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

您可以使用 Model Advisor 以下列方式检查您的模型:

  • 以交互方式运行 Model Advisor 检查

  • 将 Model Advisor 配置为自动运行编辑时检查(需要 Simulink® Check™

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

  • 如果重命名系统,必须重新启动 Model Advisor 来检查该系统。

  • 在包含可变子系统的系统中,Model Advisor 只检查活动子系统。

  • Model Advisor 不分析带注释的模块。

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

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

注意

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

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

Model Advisor 检查文档

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

产品Model Advisor 检查文档
Simulink Simulink 检查
Embedded Coder® Embedded Coder Checks (Embedded Coder)
AUTOSAR 模块集 MathWorks 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, and EN 50128 Checks (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™ 文档仅在 Model Advisor 中可用。要查看检查文档,请在 Model Advisor 中,右键点击检查标题并选择 What's This?
Simulink Control Design™ Simulink Control Design Checks (Simulink Control Design)
IEC 认证套件

IEC Certification Kit Checks for Bug Reports (IEC Certification Kit)

High Integrity System Modeling Checks (Simulink Check)

DO 验证套件

DO Qualification Kit Checks for Bug Reports (DO Qualification Kit)

High Integrity System Modeling Checks (Simulink Check)

运行 Model Advisor 检查并查看结果

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

  1. 打开 Model Advisor 示例模型 sldemo_mdladv

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

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

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

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

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

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

  4. 点击包含检查的文件夹,并在 Model Advisor 的右窗格中选择:

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

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

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

  5. 在 Model Advisor 用户界面上查看结果。常见的检查状态结果包括

    • Pass - 检查未发现问题。

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

    • Warn - 检查发现了问题。

    • Fail - 检查无法执行。

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

    注意

    在应用修复之前,您可以保存还原点,即模型、基础工作区和 Model Advisor 的快照。通过保存还原点,您可以还原为响应 Model Advisor 提供的建议所做的更改。

  7. 使用 Exclusions 选项卡查看标记为从分析中排除的检查。要在 Model Advisor 的右窗格中显示 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”。此操作不会从 Model Advisor 中删除分析结果。

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

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

  1. 打开 Model Advisor 示例模型 sldemo_mdladv

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

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

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

    • 点击 Switch to standard view 按钮,打开 Model Advisor 并选择不同检查

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

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

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

    • 通过的检查

    • 失败的检查

    • 标记的检查

    • 总检查项

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

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

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

以编程方式运行模型检查

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

访问其他 Advisor

您可以使用 Model Advisor 窗口访问其他 Advisor:

您可以从 Model Advisor 的左下角访问这些 Advisor。

相关示例

详细信息