使用模型切片器调试基线测试失败
Model Slicer通过选择特定的信号和时间窗口,然后突出显示相关的模型构造,帮助您管理和调试大型模型。了解如何使用Model切片器来调试基线测试失败并定位错误。在调试模式下模拟模型时,每个时间步骤都会突出显示影响失效信号的模型组件。您可以在故障区域之间移动,以调试基线差异的原因。
在处理大型复杂系统时,问题可能会在模拟中的特定时间出现。如何本地化问题以更快地调试它?
模型切片器通过选择感兴趣的信号和时间窗口,然后突出显示相关的模型构造,帮助您管理和调试大型模型。
在本视频中,我们将介绍如何使用模型切片器来调试Simulink test的基线测试失败
在这个燃料控制器系统中,我们启动Simulink测试应用程序,然后启动测试管理器。
我们在调试模式下运行一个基线测试。该测试将模拟输出与固定基线进行比较
三个信号失败。
让我们在模拟数据检查器中查看燃料信号的结果。它显示了与基线的差异。
我们可以使用在测试未能进入调试模式时出现的调试选项
从这里我们启动模型切片机。
这将设置调试环境。
重新运行测试用例以创建新的调试结果,以确保失败仍然存在于模型的当前状态中。
故障信号自动绘制在调试结果中,并作为模型切片器的起点
模拟在模型开始时暂停以继续调试。
每个时间步骤都会突出显示影响失效信号的模型组件。
您可以使用“后退”和“前进”按钮在模拟时间内向前或后退一步。
对于每一步,突出显示的数据依赖项和活动信号的端口值标签都会更新
在Test Manager中,单击Continue to Failure继续模型模拟到下一个故障点的开始。数据游标显示故障区域的边界。
在故障时,基线和Sim输出之间的差值为0.007。
通过在模型中追踪燃料信号,我们看到它依赖于种植子系统
检查“到种植”时,所传播的值没有变化。
让我们进一步回顾一下燃油率控制
我们看到fb_correction值为0。Baseline和Sim Output之间的差值是0.007,这是一个很小的值。可能是fb_correction没有正确计算。
在气流计算块中,我们可以看到常数0正在通过积分器开关块,因为控制端口被计算为false。
要了解为什么这是错误的,我们可以打开控件依赖项的高亮显示。
这告诉我们fuel_mode值是LOW,但是fuel_mode正在与RICH的枚举常量值进行比较。这就是问题所在。它应该是LOW。
现在我退出调试模式。并对模型进行更改。
接下来重新运行测试,它通过了!
模型切片器有助于隔离错误的原因,以帮助我们修复它。
要了解更多信息或要求试用Simulink检查和Simulink测试,请访问我们的网页
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。