ABB Accelerates Application Control Software Development for a Power Electronic Controller
Challenge
Solution
Results
- Development time and costs reduced
- Development process improved
- Highly accurate code generated
Switzerland-based ABB develops technologies that enable utility companies in more than 100 countries to improve performance while reducing environmental impact. ABB’s Power Electronics group recently launched the AC 800PEC, a high-end power electronic controller for power converters. Combining a powerful CPU with a large FPGA, the AC 800PEC controls high-power rectifiers, frequency converters for microturbines, wind turbines, traction drives, battery energy storage systems, and other power electronic applications.
ABB improved productivity by optimizing their control software development process using MathWorks tools to design and automatically generate code for the control software in the AC 800PEC controller.
“MathWorks products considerably reduced development time for application software for the new controller,” says Fritz Wittwer, head of system development, R&D power electronics at ABB. “These economies of time have resulted in significantly lower costs and time to market.”
Challenge
On previous projects, the ABB team used a traditional development process in which system engineers defined specifications and software engineers then wrote the software based on their interpretation of these specifications. This process was time-consuming and error-prone. It also reduced the likelihood that the software would correspond to the original specifications and concept.
The ABB development team sought a development process that would avoid these difficulties while increasing productivity.
Solution
MathWorks tools for Model-Based Design provided ABB with a single development platform for the entire development process, which they call Optimized Process of Control Development.
ABB had used Simulink® to run system simulations for other projects. As a subscriber to Software Maintenance Service they added Simulink Coder™ to their development environment for the new power electronic controller. They use Simulink Coder to automatically generate and download controller code from their Simulink models to the AC 800PEC controller, eliminating the need to translate the models manually into C code.
They use MATLAB® and Simulink to design the control algorithms for filtering, current control, grid synchronization, and grid power monitoring, and to calculate power, idle power, and other physical variables.
Engineers use Simscape Electrical™ to validate the algorithms by running system simulations. Stateflow® enables ABB to model control sequences and ensure fast fault protection.
Using Simulink Coder, they generate ANSI C code automatically from their Simulink models. They also use Simulink Coder to generate C code from their Stateflow charts, thereby avoiding the laborious and time-consuming manual translation of the control algorithms into source code. They can use the generated code directly in the controller.
Using Simulink External Mode enables them to interactively debug the software on the controller.
ABB keeps the specification and the code synchronized throughout the development process by using Simulink models as executable specifications. Parameters can be changed and optimized on the PC, and code can be automatically generated from the models and then transferred to the controller directly via an Ethernet connection.
The AC 800PEC controller has been delivered to market for use with traction converters that have demanding hardware requirements with high temperature range and vibration.
Results
Development time and costs reduced. “MathWorks products considerably reduced application control software development time for the new AC 800PEC controller in comparison with the controller’s predecessor,” says Wittwer. “The code generated from the Simulink models can be used directly in the controller, eliminating the need for a separate, costly implementation phase.”
Development process improved. Staying subscribed to Software Maintenance Service enables ABB to take advantage of MathWorks twice-yearly product updates to further improve their process based on Model-Based Design. “Our largest benefit from the Software Maintenance Service program is the new features that product updates deliver,” says Wittwer.
Highly accurate code generated. Virtually 100% of the C code for the AC 800PEC controller is generated automatically by Simulink Coder. “With this approach, what you simulate is what you execute,” explains Wittwer. “The generated code is error-free and precisely describes the control algorithm defined with Simulink.”