Generate C Code from a PLECS Model

The PLECS Coder generates generic ANSI-C code from a PLECS Blockset or PLECS Standalone model. The code can be compiled to execute on the simulation host or a separate target, such as an embedded control platform or a real-time digital simulator. The model to be translated into code may be a physical system or control logic.

A typical application is hardware-in-the-loop (HIL) simulation, where real control hardware is connected to a virtual plant model simulated on a real-time simulator. This approach allows easy verification and validation of the control hardware and software without an expensive power stage.

Alternatively, the generated code can be compiled and executed on the host to reduce the simulation time of complex models.

Support of Simulink Coder

If you generate code for a Simulink model the PLECS Coder works hand in hand with the Simulink Coder® (formerly Real-Time Workshop). When the build process is started, PLECS automatically generates code for the circuit block and inserts it in the appropriate locations. In this mode, PLECS can generate code for two different targets: the Rapid Simulation target (or RSim target) and the Real-Time target. By default, PLECS automatically selects the correct target depending on the target settings of Simulink Coder.

Code Ready for Deployment

The PLECS Coder can produce code for a specific hardware target. Target support packages permit customizing the code generated for virtually any CPU/MCU-based platform. A simple association between signals in a PLECS model and the physical input and output pins on a target is made directly in the schematic via I/O blocks.

  • RT Box Target

    ​The RT Box Target support package for PLECS Standalone directly targets the PLECS RT Box. The PLECS RT Box component libary contains blocks for configuring general analog and digital inputs and outputs to and from the unit. Specialized blocks are included for capturing PWM signals from an external source and generating quadrature encoder signals directed to a controller. Below is an example of an offline PLECS model schematic of a three-phase solar inverter system where real-time capable code for the plant, incoming PWM signals, and outgoing current and voltage measurement signals can be generated using the PLECS Coder.

The External Mode allows the user to connect an offline PLECS model with a real-time model running on the RT-Box in order to tune parameter values on the target and display captured online data in a PLECS Scope.