Simulin金宝appk上的Guy

金宝appSimulink &基于模型的设计

检测除零误差

如果你能分析一个Simulink模型,并证明它永远不会遇到像除零和溢出这样的设计错误,这金宝app不是很棒吗?从MATLAB R2011a开始,这是可能的!

这周,我的朋友Nishaat Vasi的新特性金宝appSimulink设计验证器

用Simulink设计验证器检测设计错误金宝app

Nishaat Vasi,客座博主和除零探测器想象一下,驾驶一辆新原型车在测试轨道上以每小时100英里的速度行驶时,嵌入式设计中的一个零误差除法导致变速器毫无理由地换到一档。即使是汽车爱好者也不想在这种情况下成为试车车手!这种设计逻辑和数学操作中的错误可以很容易地在Simulink模型中检测到,而不需要大量的测试或模拟运行。金宝app

考虑一个控制器模型的一小部分,它有一个输入总线,我在MATLAB工作空间中定义:

控制器示例模型

这个模型很好地模拟了InBus声明中的输入集,但我想确保它不会导致任何动态执行错误。我用了新的检测设计错误选项金宝appSimulink设计验证器如下:

检测设计错误

该工具突出显示模型的分析结果,使调试潜在问题变得更加容易:

设计检测总结

对于每个有错误的块(红色),金宝appSimulink设计验证器计算信号范围边界并生成一个测试向量,在模拟中再现误差。使用这个测试用例可以让我很容易地识别哪些输入会导致错误,并设计一种防御机制来避免这种情况。正如您可能注意到的,绿色高亮显示表明该块没有产生设计违规。检测到的设计错误包括死逻辑、整数溢出、除零以及违反设计属性和断言。这些信息可以用来改进设计及其需求,或者指导调试和验证的模拟。

Simulink Design Ve金宝apprifier视频简介(1:50)

这个新的R2011a特性可以为您节省大量调试设计错误的时间、精力和金钱——甚至在运行模拟之前!

现在轮到你了

你怎么看设计错误检测功能?你以前遇到过这样的设计错误吗?请给我们留言这里的评论

|

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。