ABB Accelerates the Delivery of Large-Scale, Grid-Connected Inverter Products with Model-Based Design

“Simulink and Embedded Coder enabled us to open the door to new markets. With increased productivity from extensive simulation and efficient code generation, we have confidence in our ability to produce the systems that larger customers are asking for in the time frames they want.”


Accelerate the design and delivery of large, grid-connected power inverter products


Use Model-Based Design to model, simulate, and generate control software for modular, scalable power electronic building blocks


  • Prototypes delivered in two weeks, not three months
  • Defect-free, optimized code generated
  • Potential damage to test equipment mitigated

A cabinet of Power Electronic Building Blocks (PEBBs).

It typically takes months to build grid-connected inverter products such as multi-megawatt uninterruptible power supplies, frequency converters, and power conditioning systems for energy storage. To accelerate this process, engineers at ABB in New Zealand have developed Power Electronic Building Blocks (PEBBs). These small, smart inverters can be connected in parallel and combined with a system-level control application to rapidly produce scalable, grid-connected inverter products.

ABB engineers developed control systems for PEBBs using Model-Based Design with MATLAB® and Simulink®.

“With Model-Based Design, our developer productivity is easily increased tenfold,” says Dr. Robert Turner, senior R&D engineer at ABB in New Zealand. “Simulation and code generation enable us to turn changes around quickly and eliminate human errors in coding. Our algorithms typically work the first time, so we no longer waste a big part of our development cycle debugging code.”


With a single system comprising up to 32 linked PEBBs, the controller must precisely manage power balancing and sharing. When a fault is detected, control algorithms must immediately take steps to avoid a cascading series of faults and maintain power delivery via the remaining blocks.

Testing and debugging these control algorithms on actual hardware can be both expensive and dangerous. A single PEBB costs thousands of dollars and is capable of delivering 250 kilowatts—more than enough power to cause serious damage if not managed safely. ABB engineers needed a way to verify their control algorithms via modeling and simulation before hardware testing.

In the past, ABB software engineers coded control algorithms manually based on specifications written by control engineers. The steps in this process—writing the specification, hand-coding the algorithms, and debugging the handwritten code—were both tedious and error-prone. ABB wanted to automate and accelerate development by generating production code directly from system models.


ABB engineers used Model-Based Design to model, simulate, and generate code for the PEBB embedded control software and for the system-level control software for specific customer applications.

Working in Simulink and Stateflow®, the team modeled the PEBB control algorithm and state machine, which defines reset, startup, running, and fault states and the transitions between them.

They created test harnesses in Simulink, which they used to verify their model. They conducted further verifications by running closed-loop simulations in Simulink with a plant model that included inductors, capacitors, and other power electronics components in the PEBB.

Using Embedded Coder®, the team generated optimized C code for the PEBB’s ARM processor.

After successful hardware tests, ABB engineers created a PEBB Simulink block and included it in a library of functional components that had the same interfaces as their hardware counterparts.

To develop a new inverter product for an ABB customer, the engineers create a Simulink model containing PEBB building blocks. They add two state machines created in Stateflow, one that manages the PEBBs and a second that implements control logic for the customer’s application.

The team verifies the application-level design by running simulations with multiple PEBBs operating under various grid and load conditions. They then generate C code from the model with Embedded Coder before running final hardware tests.

ABB engineers treat their Simulink models like source code maintaining them in a versioning and revision control system and using Simulink Report Generator™ for model differencing and merging. They also use Simulink Report Generator to export web views of their models for reference by customers and service personnel.

ABB engineers have expanded their use of Model-Based Design beyond control systems, and are now using MATLAB and Simulink to model and simulate custom communication protocols and thermal effects.


  • Prototypes delivered in two weeks, not three months. “In the past, it took an expert engineer at least three months to build a demonstration system for a potential customer,” says Dr. Turner. “With Simulink and Embedded Coder we can create such a system quickly and reliably in about two weeks.”
  • Defect-free, optimized code generated. “Over the years we’ve developed an intimate understanding of how to write code for real-time systems,” Dr. Turner says. “Embedded Coder generates optimized code that is as good as we can write, and we’ve never had any problems with defects in the generated code.”
  • Potential damage to test equipment mitigated. “A single unit costs thousands of dollars and is capable of delivering 250 kilowatts—more than enough power to cause serious damage if not managed safely,” says Dr. Turner. “We mitigate the risk by verifying our control algorithms via simulation in Simulink before testing them on the hardware.”