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