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