PLECS Blockset

The Power Electronics Toolbox for Simulink

PLECS Blockset is a unique tool for the fast simulation of power electronic circuits within the Simulink environment. It allows combined simulations of electrical circuits modeled in PLECS with controls modeled in Simulink.

PLECS Circuit Block

Each PLECS circuit is represented in a Simulink model as an individual block. The user can feed signals into the block to control electrical sources or switch devices. Measurements taken inside the PLECS Circuit block are accessible at the block's outputs. Measurements can be displayed in a scope, post-processed in MATLAB, or used to control the system. PLECS Blockset users can take advantage of the entire Simulink library and the various extensions to model special controls or other physical domains.

Intuitive Schematic Editor

Those familiar with Simulink will be comfortable with the PLECS schematic editor right away. A double-click on a PLECS Circuit block opens the schematic editor window, and clicking and dragging is used to place components and create connections with the same ease as in Simulink.

To define the interface of a PLECS Circuit block, simply drag input and output blocks into the schematic. In fact, in many ways a PLECS Circuit block behaves just like a regular Simulink subsystem and is treated natively by the Simulink solvers. Additionally, the user can define subsystems (circuits within another circuit) to hide complexity or create custom and reusable components.

Use of Simulink Solver

At the start of a simulation the PLECS circuit is converted on the fly into a set of equivalent equations. Rather than relying on co-simulation, the Simulink engine itself solves the equations alongside the control system designed in Simulink. PLECS Blockset offers full compatibility with simulation settings, supporting both variable- and fixed time-step solvers.

System Requirements

Platform MATLAB Version Operating System
Windows 9.2 ... 24.1 Windows 10 64-bit or newer
Mac / Intel 9.2 ... 24.1 macOS 10.15 or newer
Linux 9.2 ... 24.1 Kernel 2.6 64-bit/glibc 2.15/libX11 (aka Xlib) 6.2.1 or newer, libncurses5.x

Processor: Intel compatible processor with x86-64 extension