主要内容

检查是否违反指定的最小值和最大值

在设计错误检测分析期间,软件检查整个模型和输出端口的中间信号的指定的最小值和最大值。这些值定义设计范围

分析检查指定的最小值和最大值:

  • 金宝app®块输出,除了下一节描述的限制之外

  • 金宝app仿真软件。信号对象

  • Stateflow®数据对象

  • MATLAB®用于代码生成数据对象

  • 全局数据存储写入

如果分析检测到一个信号超出了设计范围,那么结果将识别出模型中错误发生的位置。此外,您可以生成一个包含演示错误如何发生的测试用例的工具模型。

检查指定的最小值和最大值的限制

如果您分析一个模型检查,如果指定的最小值和最大值被超过,软件不能检查指定的最小值和最大值:

  • 任何Mux块,其输出连接到选择器

  • 合并块的输入

    要克服这个限制,可以使用金宝app仿真软件。信号对象的合并块输出,并指定金宝app仿真软件。信号对象。

请注意

有关a金宝app仿真软件设计校验™分析处理输入端口上指定的最小值和最大值,请参阅最小和最大输入约束

关于这个例子

在本节中,您将创建并分析一个具有指定的设计最小值和最大值的模型:

  • 输入端口

  • 两个中间块的输出端口

设计错误检测分析识别输出值超出设计范围的块。如果分析检测到此错误,则此示例演示分析如何在继续分析时使用指定的最小值和最大值。

创建示例模型

为这个示例创建模型:

  1. MATLAB将来发布,首页选项卡上,选择>金宝app仿真软件模型

  2. 从Simulink金宝app常用块库中,将以下块添加到模型中,并分配指示的参数值。

    选项卡 参数 价值
    轮廓尺寸 信号的属性 最低 0
    轮廓尺寸 信号的属性 最大 5
    获得 主要 获得 5
    获得 信号的属性 输出最小 0
    获得 信号的属性 输出最大 20.
    获得 信号的属性 输出数据类型 int16
    饱和 主要 上限 25
    饱和 主要 下限 -25年
    饱和 信号的属性 输出最小 -25年
    饱和 信号的属性 输出最大 25
    外港 没有变化
  3. 如图所示连接四个块。

  4. 上显示指定的最小值和最大值调试选项卡上,选择信息覆盖>信号数据范围

  5. 建模选项卡上,单击模型设置

  6. 在“配置参数”对话框中,单击解算器窗格中,在解算器的选择

    1. 类型固定步

      金宝app仿真软件设计验证器软件不支持可变步长求解器。金宝app

    2. 解算器离散(无连续状态)

  7. 设计验证器窗格中,设置模式设计错误检测

  8. 设计验证器>设计错误检测面板:

    1. 选择指定的最小值和最大值违反

    2. 清除整数溢出除零参数。

    在本例中,您只检查中间的最小和最大违规。

  9. 单击,保存设置并退出“配置参数”对话框好吧

  10. 保存模型并命名它ex_interim_minmax

分析模型

为了分析示例模型以识别任何违反指定的最小值和最大值的中间信号,执行设计错误检测分析。

设计验证器选项卡上,单击检测设计错误

分析完成后:

  • 软件利用分析结果对模型进行了重点分析。

  • 金宝app仿真软件设计验证器结果对话框将打开并显示分析的摘要。

检讨分析结果

回顾模型的结果

在模型窗口中获得块是红色的饱和块是绿色的。这表明:

  • 至少有一个目标与获得块是伪造的。在这个例子中,分析证明了一个目标是错误的。

  • 所有与之相关的目标饱和块都满意。对于本例,分析正好满足了一个目标。

为了理解这些结果:

  1. 单击获得块。

    金宝app仿真软件设计验证器结果窗口显示输出的设计范围为[0..20.], but the analysis detected an error and generated a test case that demonstrates that error. Because the design range for the input block is [0..5], when the input to the获得块为5,输出为25,超过该端口的指定最大值。

    分析计算并显示派生的范围,以帮助您了解如何超出设计范围。

  2. 单击饱和块。

    金宝app仿真软件设计验证器结果窗口显示了输出的饱和块从未超过设计范围[-25 ..25]。输入饱和块从未超过[0..25], which is the derived range that the analysis propagated from the获得块。

回顾脊甲模型

当分析完成时,您可以创建一个包含导致错误的测试用例的工具模型。

对于示例模型,在Gain块中查看导致设计范围误差的测试用例:

  1. 在分析完成并突出显示模型之后,单击Gain块。

  2. 金宝app仿真软件设计验证器结果窗口中,单击查看测试用例

    该软件创建一个名为ex_interim_minmax_harness和打开信号生成器块,它包含测试用例。

    信号生成器块,一个测试用例,其信号值为5,导致增益块的输出为25,超过了指定的最大值20。

  3. 在您模拟这个测试用例之前,在配置参数对话框中,在诊断>数据有效性窗格中,设置模拟范围检查警告错误

    设置此参数指定当Simulink在模拟过程中检测到超过指定的最小或最大值的信号时要采取的诊断操作。金宝app

    • 如果您指定警告,模拟显示警告消息并继续。

    • 如果您指定错误时,模拟显示错误消息并停止。

  4. 点击好吧保存更改并关闭“配置参数”对话框。

  5. 信号生成器块窗口中,单击开始模拟用这个测试用例来模拟模型。

    正如预期的那样,在MATLAB窗口中,仿真显示一个警告或错误,增益块的输出值超过了指定的最大值。

查看分析报告

的分析报告的详细信息也可以生成一个HTML报告ex_interim_minmax模型。要创建此报告,请在金宝app仿真软件设计验证器结果窗口中,单击生成详细的分析报告.分析报告将在浏览器中打开。

在分析报告中设计错误检测目标状态报告的一章分两大类提供了详细的结果:

  • 目标被证明有效—文件的输出值饱和块始终在设计范围内。

  • 用测试用例证伪目标—文件的输出值获得块违反了设计范围。