Installation guide for imperix ACG SDK

This note gives step-by-step instructions to install the Software Development Kit (SDK) for the Automated Code Generation (ACG) from Simulink and PLECS.

Recommended articles related to the ACG workflow are shown below. A series of video tutorials is also available with similar content.

Step Documentation Videos
1. Software installation Installation guide for the ACG SDK PN133 N/A
2. Getting started Getting started with the ACG SDK PN134 Create the model Video 1
3. Running simulations Simulation essentials with Simulink PN135 Simulation essentials with PLECS PN137 Simulate it Video 2
4. Device programming Programming and operating imperix controllers PN138 Generate code Video 3
5. Monitoring Cockpit user guide PN300

Required software

ACG SDK used withSimulinkPLECS
Imperix toolsImperix ACG SDKImperix ACG SDK
Main simulation softwareMatlab SimulinkPLECS
Plant simulation plug-in- Simscape Electrical
or
- PLECS Blockset for Simulink
None required

Licensing policy

SoftwareLicensing policy
Imperix ACG SDKPaid license for loading the generated code on a programmable controller.
(see licensing policy on Licensing of imperix software)
Matlab SimulinkPaid license issued by MathWorks (trial version available).
PLECS standalonePaid license issued by Plexim (trial version available).
PLECS blockset for SimulinkPLECS blockset: Paid license issued by Plexim (demo version available).
Simscape ElectricalPaid license issued by MathWorks. 1)

1) The Specialized Power System (SPS) library will be removed in Matlab R2026a. Users will need to use Simscape Electrical instead. Upgrading models from SPS to Simscape Electrical can be done automatically, following instructions at mathworks.com/help/sps/ug/upgrade-sps-models-to-use-simscape-blocks.html.

Installing the software

In order to generate run-time code for the real-time controllers, and/or simulate the corresponding behavior, the necessary software must be installed on a computer (in general, in this order):

  1. The main simulation software (Matlab Simulink or PLECS).
  2. In case Simulink is used, for simulation: a plant simulation software (Simscape Electrical or PLECS blockset for Simulink). With PLECS, no extra simulation software is needed.
  3. Imperix ACG SDK.

Supported versions

ProductSupported versions
Operating system≥ Windows 8 (not tested on Windows 7 - macOS not supported)
Matlab≥ R2016a
PLECS≥ 4.4.2

Imperix ACG SDK

The ACG SDK can be downloaded directly from imperix’s website, under Resources > Downloads.

Download the latest version and follow the installation instructions. It is highly recommended to keep the default destination folder C:\imperix\BB3_ACG_SDK and to avoid spaces or special characters in the pathname.

At the end of the installation procedure, the installer shows detected MATLAB installations as shown in the image below. Clicking Next opens the selected MATLAB instances and launches the script <install dir>\simulink\target\imperix_ACG_SDK_setup.m, which sets the imperix ACG SDK target path.

Detection of MATLAB installation by the imperix ACG SDK installer

Main simulation software

A compatible version of Matlab Simulink can be downloaded directly from MathWorks' website. The compatible versions are R2016a and newer.

To activate a Matlab installation, a paid license issued by MathWorks is needed. This license is neither provided nor sold by imperix.

When prompted (figure below), select the following products during the installation :

  • Matlab Simulink
  • Embedded Coder
  • Matlab Coder
  • Simulink Coder

They are the only mandatory packages to start working.

MATLAB product selection pane
MATLAB product selection pane
Mex compiler add-on

When installed, launch Matlab and make sure that a MEX compiler for C++ language is installed.

The list of available compilers can be displayed with the Matlab command mex -setup.

With recent Matlab versions, if no compiler is configured, MinGW-w64 can be installed directly from Matlab’s Add-Ons menu.

  • On the MATLAB Home tab, in the Environment section, click Add-Ons > Get Add-Ons.
  • Search for MinGW or select from Features.

Alternatively, download and execute the installer proposed in the Matlab article "MATLAB Support for MinGW-w64 C/C++ Compiler".

[Option 2] PLECS Standalone

A compatible version of PLECS Standalone Packages can be downloaded directly from Plexim’s website. The compatible versions are 4.4.2 and newer, in 64-bit.

Download link: https://www.plexim.com/download/standalone

To use PLECS with Imperix ACG SDK, a paid license is required. Both PLECS and PLECS Coder licenses are needed. These licenses are neither provided nor sold by imperix.

Installing “Imperix Controllers” support package on PLECS Standalone

In order to use Imperix library on PLECS standalone, “Imperix Controllers” support package needs to be installed.

  1. Launch PLECS and click on File > PLECS Preferences.
  2. In the Coder tab, change the Target support packages path and select the path to the “Imperix Controllers” support package installed with the Imperix ACG SDK.
  3. If the Imperix ACG SDK default destination was not changed, the target support package path is C:\imperix\BB3_ACG_SDK\plecs.
  4. Once the correct path is entered, the “Imperix Controllers” should appear under Installed targets.
PLECS target configuration
PLECS target configuration

Note: When using multiple Target Support packages (TSPs), PLECS requires that they are placed in the same folder. Therefore, the Imperix_Controllers support package folder in C:\imperix\BB3_ACG_SDK\plecs should be moved to any location on the computer, common with other TSPs.

Plant simulation

Although simulation software is not required to program imperix controllers, it is highly recommended to facilitate control development and pre-testing.

  • In the Simulink environment, imperix recommends using MathWorks’ Simscape Electrical toolbox. Plexim’s PLECS Blockset for Simulink can also be used.
  • In the PLECS environment, no additional library is required, as the electrical circuit components are part of the standard PLECS library.

In either environment, users can rely on the imperix Power library, which is part of the ACG SDK and includes simulation models of all imperix power products (power modules, passive components, sensors, etc.) to facilitate the development of their plant models.

Simscape Electrical

Simscape Electrical is a Simulink toolbox that allows modeling and simulating electrical power systems. It requires a paid license from MathWorks. The license is neither provided nor sold by imperix.

The Specialized Power Systems (SPS) library, a subcomponent of Simscape Electrical, is particularly convenient for modeling power systems, switching converters, and electrical machines. However, this library will be removed starting in Simulink R2026a, and users will need to use Simscape Electrical components instead.

Simulation model of motor drive using Simscape Power System
Simulation model of motor drive using Specialized Power Systems blocks included in Simscape Electrical

Further reading

It is highly recommended to read the following pages

Controller-specific getting-started instructions can be found in the following notes: