从系列中:如何在Simulink中开发DC-DC变换器控制万博1manbetx
瓦斯科·伦齐,马修斯
了解如何使用Stateflow实现和测试DC-DC数字控制的监控逻辑®和Sim万博1manbetxulink测试™. 电力电子控制中一项日益重要的任务是管理各种运行模式,如故障检测、故障反应和主动控制。状态机建模集成在Simulink中®多亏了Stateflow™. 工程师可以使用直观的图形界面创建复杂的逻辑体系结构,而高级模拟控件允许开发人员在调试过程中进行精细控制,能够一次模拟一个步骤,设置断点,并直观地识别监控逻辑活动转换和状态的流程。
在本例中,请查看监控逻辑如何不按预期运行,以及需要采取纠正措施以获得所需的SEPIC操作。使用Simulink测试™ 自动化Simulink的测试万博1manbetx®根据逻辑事件序列创建测试,并使用测试序列块生成测试结果。
现在,在我们想要设计一些监控逻辑的时候,我们将进行测试,开始对我们的设计充满信心。让我们回到工具上来。我在这里准备了一个模型,它代表了我的操作模式和错误逻辑。
因此,设计功率变换器软件不仅仅是PI调节,而且只是其中的一部分。要获得一个非常稳定的系统,需要实现一整套软件结构,例如状态机监控逻辑。您需要处理错误以及向系统报告错误时发生的情况。一个非常强大的工具叫做Stateflow,用于状态机建模和开发。
在这里,我准备了这样一个例子。此子图称为操作模式管理,我们可以模拟并实时查看。因此,在一开始,我们希望我们的系统不输出任何东西。然后,我们有两个平行的图表,它们负责操作模式。我们看到它们被简要地突出显示。
因此,您可能希望使用开环。您可能希望使用电流-电压开环,但使用电流-闭环,反之亦然,电压闭环,开环电流,一切都是闭环,或者在某种自动操作中,首先,您是开环的,然后,您等待电压稳定下来。当你们在电压误差下工作时,你们实际上进入了闭环模式。
所以这可能是用功率转换器对状态机建模的常用技术。同样,我们有检查故障子系统,它与另一个子系统并行运行,所以总是检查我们的系统是否正常。为了测试这个状态机,我再次使用Simulink test创建了一个唯一的测试。万博1manbetx
我使用了其中一个提供的逻辑,我不打算在这方面花费太多时间,因为这是Simulink测试感兴趣的一个主题。但是我用一个单位延迟来打破我的循环,我可以做到,因为这是一个离散的系统,而不是一个连续的系统。万博1manbetx
正如我之前所说的,对于离散系统,可以使用单位延迟来中断循环。我有一个测试序列,它允许我编写相当复杂的测试序列来刺激我的图表。例如,我可以对输入进行更改,然后对更改做出反应,使用某种验证或资产声明来验证我的设计。
我们可以在这里看到。所以我们有我们的投入,我们的产出。我可以指定转换,并且可以添加我希望在这个时间步骤中执行的操作的描述。然后我总是可以使用这个verify语句来查看,好的,我想在1秒后进入这个期望的操作模式,我将验证这两个输出是否真的按照这个操作模式的要求运行。
所以如果我现在在这里模拟,我们会看到有一些减速,如果我看我的诊断,我会看到我已经有了某种警告。其中一个问题是速度减慢了
因为测试验证在4.2秒左右失败,在5.3和6.4、7.5秒再次失败。由于这个步骤,我所有这些测试验证都失败了。
所以我可以点击这里去验证这一步失败的原因。它无法验证零输出启用是否应为false。但事实上,这可能仍然是事实。如果我查看我的数据检查器,我可以在这里直接检索这个verify语句的结果。
举个例子,我看到,当我试着快速完成时,一切都很好。但在这种情况下,他们中的一些人实际上是错的。这里可以看到4.2,我有这个零输出使能应该是假的,但它实际上是错的。这意味着我的零输出启用保持为真而不是假。我可以从我的数据检查器自动生成一份报告来记录这些流程。
让我们进入我的操作逻辑,我看到,事实上,是的,我的检查错误,它总是正确的,永远不会是错误的。这是因为我没有一个实际的东西告诉我要有一个正常的系统。所以我现在添加了应该转到OK的转换。
当我的标志fault exist为零时,我应该转到OK,这样就没有错误了。所以我在这里写这个注释,存在的故障标志应该是零。然后我在一个系统中,启用了OK,禁用了输出。这将启用零,只有零作为输出。所以我想要别的东西,不是零。
在这里,我应该再次提出一个条件,如果标志重新打开,我们实际上可以像这样,因为它是一个布尔值。所以我不需要做任何形式的转换。如果这是真的,那就是这个错误。所以我现在可以重复我的测试。看看这些时候会发生什么。
实际上,我可以在这里打开我的步骤,我可以看到它是如何在我的测试的不同步骤中完成所有事情的,非常方便,非常类似于Stateflow本身。如果我现在没有诊断,如果我查看我的数据检查器,我会看到我所有的结果,所有的东西不是没有测试就是通过了。但是我再也没有失败的机会了,有很多绿色的。对此我很高兴。
那么,让我们回到我们的演示。我们看到的是第三种图形化建模方法,称为Stateflow。你可以用它来模拟状态机,它非常强大。在公司中,Simulink可以说Simscape是Simulink世界中图形建模的三个主要平台。万博1manbetx
我们还发现,我们提供了Simulink测试,允许您创建这种独特的测试。万博1manbetx您可以在这里看到我没有展示的东西,测试管理器。然后,您可以--您提供给不同子系统的所有这些工具,可以降低模型级别,或者可以将它们放在一套测试中,以便自动完成自动报告。
你完成测试,得到结果,记录下来,然后举个例子说,看,我做了工程师的工作。这是一份证明我尽可能多地测试的报告。您可以添加覆盖率度量,并开始真正执行这些验证和确认工作流。
您还可以从以下列表中选择网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区网站未针对您所在地的访问进行优化。