安德鲁·勒库斯
您可以使用Simulin万博1manbetxk设计验证程序™ 在开发过程的早期自动检测设计错误。这节省了大量的开发和测试时间。支持的设计错误包括死逻辑、零除等。万博1manbetx
在本视频中,您将看到如何使用Simulink Design Verifie万博1manbetxr查找设计中的错误,以及如何使用Simulink Design Verifier中的可视化功能调试检测到的错误。
您还将看到Simulink Design万博1manbetx Verifier是如何为运行时错误提供测试用例的,它可以使用Simulink中的调试功能进行调试®,简化了理解错误原因的过程。
大家好,我叫安德鲁,我是MathWorks Simulink Design Verifier产品的开发人万博1manbetx员。
在这段视频中,我将向你展示如何通过按下一个按钮来检测设计错误。
万博1manbetxSimulink是一个基于模型的设计工具,设计验证器有助于在开发过程的早期检测Simulink模型中的设计错误,节省时间和金钱。
设计验证器使用正式的方法,这允许它证明某些设计错误永远不会发生,当它们可以发生时,它提供一个测试用例来暴露问题并帮助调试。
首先,我们将在Simulink工具条上打开Design Verifier面板并运行Design Ve万博1manbetxrifier。对于这个分析,设计验证器将检测模型中的死逻辑。死逻辑是模型永远无法执行的逻辑。
设计验证器在此模型中发现了一个死逻辑实例。设计验证器将以红色突出显示死逻辑实例,这使得查找更容易。结果检查器窗口准确地告诉我们哪些条件永远无法执行。
这里,tspeed < mintspeed永远不会为真。原因是这个转换首先捕获tspeed小于mintspeed,然后将mintspeed赋值给tspeed。这意味着我们永远不会因为tspeed小于mintspeed而离开这个状态。
实际上,我们也想在tspeed等于mintspeed时转换出这种状态,因此我们实际上希望(tspeed小于或等于mintspeed)作为条件。
这是设计验证者帮助我们改进设计的一个例子。
当我们重新运行分析时,我们现在看到模型被证明没有死逻辑。
接下来,我们将分析该模型的运行时错误,即除以零。和前面一样,我们将按下detect design errors按钮,design Verifier将自动执行其分析。
在这种情况下,设计验证器检测到两个被零除的实例。
Design Verifier的部分功能是,它将为您提供一个测试用例,可用于帮助调试错误Design Verifier将为您生成一个测试线束,您可以对其进行模拟以调试设计错误。这使我们能够使用Simulink的所有调试功能,以便更好地了解问题的原因。万博1manbetx
通过导航到错误,我们可以看到我们正在除以holdrate,在这种情况下必须是0。这实际上是我们定义的一个值。我们除以它的事实表明我们不希望这个参数的值为0。在这种情况下,修复错误的方法是更改holdrate参数的规格,以排除0的值,这是我们原本打算开始的-另一个Design Verifier实例,帮助改进我们的设计!
通过重新运行分析,我们现在看到该模型已被证明没有被零误差除的情况。
现在您已经看到了如何使用设计验证器自动检测设计错误。以下是design Verifier目前能够检测到的完整设计错误列表,我们将在未来继续添加更多。
除了设计错误检测,design Verifier还能够执行自动测试生成,并证明模型满足其指定的要求。
非常感谢你的时间,更多的信息,请看视频描述中的链接。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。