ABB加速电力电子控制器的应用控制软件开发
挑战
使用工具及更有效率的开发过程,加速用于电力变流器的高端电力电子控制器新应用软件的设计。
解决方案
使用MathWorks工具设计和验证控制算法,简化控制器应用软件开发流程。
结果
- 开发时间和成本降低
- 改进开发流程
- 生成高度准确的代码
总部位于瑞士的ABB开发的技术使100多个国家的公用事业公司能够在提高性能的同时减少对环境的影响。 ABB电力电子集团最近推出了用于电力变流器的高端电力电子控制器AC 800PEC。 AC 800PEC结合强大的CPU和大型FPGA,可控制大功率整流器,用于微型涡轮机,风力涡轮机,牵引驱动器,电池储能系统和其他电力电子应用。
ABB通过使用MathWorks工具优化其控制软件开发流程,提高生产力,为AC 800PEC控制器设计控制软件和自动生成代码。
“MathWorks的产品大大缩短了新控制器应用软件的开发时间,”ABB研发电力电子系统开发主管Fritz Wittwer说。 “这些优点减低了产品成本和缩短了产品上市周期。”
挑战
在以前的项目中,ABB团队使用传统的开发流程,系统工程师定义说明书,然后软件工程师根据他们对说明书的理解编写软件。这个过程非常耗时且容易出错,也降低了软件与需求的一致性。
ABB开发团队寻求一种能够在提高生产力的同时避免这些问题的开发流程。
解决方案
MathWorks基于模型设计的工具为ABB提供了全开发过程的统一平台,他们称之为优化控制开发过程。
ABB曾使用Simulink® 作为其他项目的仿真软件。作为软件维护服务的用户,他们将Simulink Coder™ 添加到他们的新型电力电子控制器的开发环境中。他们使用Simulink Coder自动生成Simulink模型的控制器代码并将其下载到AC 800PEC控制器,无需再手动将模型转换为C代码。
他们使用MATLAB® 和Simulink设计用于滤波、电流控制、电网同步和电网功率监测的控制算法,并计算功率、空闲功率和其他物理变量。
工程师使用Simscape Electrical™ 进行系统仿真来验证算法,使用Stateflow进行顺序控制和快速故障保护。
他们使用Simulink Coder将Simulink模型和Stateflow图表转换成C代码,从而避免了将控制算法手动编码为源代码的费力费时过程。他们可以直接在控制器中使用生成的代码。
使用Simulink外部模式可以使他们交互式地调试控制器上的软件。
通过使用Simulink模型作为可执行规范,ABB在整个开发过程中保持需求和代码一致。参数可以在PC上进行更改和优化,代码可以从模型中自动生成,然后通过以太网连接直接传输到控制器。
AC 800PEC控制器已交付市场,用于牵引变流器,该变流器可适用于高温度范围和振动苛刻环境。
结果
开发时间和成本降低. “与之前控制器相比,MathWorks产品大大缩短了新型AC 800PEC控制器的应用控制软件开发时间,”Wittwer说。 “Simulink模型生成的代码可以直接在控制器中使用,无需再进行耗时的编码步骤。”
改进开发流程. 持续订购软件维护服务使ABB能够利用MathWorks每年两次的产品更新来进一步改进基于模型设计的流程。 “我们从软件维护服务计划获得的最大收益是产品更新提供的新功能。”Wittwer说。
生成高度准确的代码. 几乎100%的AC 800PEC控制器的C代码都是由Simulink Coder自动生成的。 “采用这种方法,您所仿真的就是您执行的任务,”Wittwer解释说。 “生成的代码没有错误,并精确地描述了使用Simulink定义的控制算法。”