ACG SDK

GRAPHICAL PROGRAMMING

The Automated Code Generation (ACG) SDK enables engineers to program imperix controllers directly from Matlab Simulink. This Software Development Kit (SDK) provides a blockset and an automated toolchain to achieve both simulation and device programming with just a few clicks.

Content
  • BBOS operating system
  • Blockset support for Simulink
  • Automated programming toolchain
  • Code examples
  • User libraries
  • BB Control Utility software
ACG SDK
your price

Operating system +
Simulink™ blockset
= ACG SDK
Operating system = C/C++ SDK

The Simulink™ blockset is no longer offered as an option of the Software Suite, but is rather proposed as a standalone development kit: the ACG SDK. Consequently, the C/C++ coding environment has been rearranged into a dedicated kit: the C/C++ SDK. As such, users can now choose between either kits depending on their preferred coding approach.

FEATURE ACG SDK C/C++ SDK
BBOS operating system
Simulation and code generation from Simulink™ *
C/C++ coding environment
BB Control Utility software
Code examples
User-editable area inside the FPGA (Kintex 7)
Stacked operation (multiple B-Boxes)

* Requires a paid MATLAB™ license issued by MathWorks™ and an installation of the following Simulink™ blocksets: Embedded Coder, MATLAB™ Coder and Simulink™ Coder

ACG SDK

GRAPHICAL PROGRAMMING

The Automated Code Generation (ACG) SDK enables engineers to program imperix controllers directly from MATLAB™ Simulink™. This Software Development Kit (SDK) provides a blockset and an automated toolchain so that both simulation and device programming can be done with just a few clicks.

Content
  • BBOS operating system
  • Blockset support for Simulink™
  • Automated programming toolchain
  • Code examples
  • User libraries
  • BB Control Utility software
Operating system +
Simulink™ blockset
= ACG SDK
Operating system = C/C++ SDK

The Simulink™ blockset is no longer offered as an option of the Software Suite, but is rather proposed as a standalone development kit: the ACG SDK. Consequently, the C/C++ coding environment has been rearranged into a dedicated kit: the C/C++ SDK. As such, users can now choose between either kits depending on their preferred coding approach.

FEATURE ACG SDK C/C++ SDK
BBOS operating system
Simulation and code generation from Simulink™
C/C++ coding environment
BB Control Utility software
Code examples
User-editable area inside the FPGA (Kintex 7)
Stacked operation (multiple B-Boxes)

* Requires a paid MATLAB™ license issued by MathWorks™ and an installation of the following Simulink™ blocksets: Embedded Coder, MATLAB™ Coder and Simulink™ Coder

your price

Code generation for anything

Thanks to Simulink’s powerful code generation engine, executable code can be generated for anything that can be simulated, from simple operators to PID controllers, S-functions or Stateflow charts. This allows to reuse almost any control code from existing projects and adapt them for real time execution in no time.

No programming skills needed

Automated code generation is truly easy to achieve! Indeed, thanks to the ACG SDK, programming the B-Box or B-Board doesn’t require any skills in control code development. Generating executable code is very much similar to executing the simulation: all it takes is one click and few seconds of waiting !

Accurate simulations

Besides code generation tools, the ACG SDK also contains simulation models that guarantee accurate simulation results. Among others aspects, sampling instants and PWM phase shifts closely reflect what happens in the real life. This offers the smoothest transition possible from simulation to real power.

BLOCKSET FOR SIMULINK

The ACG SDK is the ultimate set of tools to program imperix equipment quickly and easily. Implementing a real time control scheme is as easy as drag-dropping library blocks, drawing an algorithm and clicking the build button… without writing a single line of code!

GETTING STARTED WITH THE ACG SDK

Get inspired by code examples
Simulink

There are multiple ways to get started working with B-Box RCP (or B-Board PRO) from Simulink. The easiest is often to begin with our empty template, one of our code examples, or any previous project. From there, everything is ready to start working right away.

The ACG SDK contains imperix-specific Simulink blocks in order to support the code generation. Besides, these blocks also contain accurate simulation models so that the whole system can be easily simulated prior to real testing. For the plant model part, any applicable add-on such as PLECS or Simscape Power Systems is very well suited for off-line simulation.
FPGA
Simulate everything first
FPGA
Generate code in one click
Generate code
Simulink
After first simulations have allowed to achieve satisfying results and it is time to switch to real operation, the controller must be programmed. To that end, uploading your code into the B-Box RCP or B-Board PRO controllers is as easy as clicking the ‘Build’ button. There simply isn’t anything else to do!
Once application code is running on a B-Box RCP or B-Board PRO, the BB Control Utility software allows to observe, tune and plot any variable in real time. This can be used to generate transients, tune controllers and extract meaningful experimental results in not time!
Generate experimental results

BLOCKSET FOR SIMULINK™

The ACG SDK is the ultimate set of tools to program imperix equipment quickly and easily. Implementing a real time control scheme is as easy as drag-dropping library blocks, drawing an algorithm and clicking the build button… without writing a single line of code!

See

Getting started with the ACG SDK

Get inspired by code examples

There are multiple ways to get started working with B-Box RCP (or B-Board PRO) from Simulink. The easiest is often to begin with our empty template, one of our code examples, or any previous project. From there, everything is ready to start working right away.

Simulate everything first

The ACG SDK contains imperix-specific Simulink blocks in order to support the code generation. Besides, these blocks also contain accurate simulation models so that the whole system can be easily simulated prior to real testing.

For the plant model part, any applicable add-on such as PLECS or Simscape Power Systems is very well suited for off-line simulation.

Generate code in one click

After first simulations have allowed to achieve satisfying results and it is time to switch to real operation, the controller must be programmed. To that end, uploading your code into the B-Box RCP or B-Board PRO controllers is as easy as clicking the ‘Build’ button. There simply isn’t anything else to do!

Generate experimental results

Once application code is running on a B-Box RCP or B-Board PRO, the BB Control Utility software allows to observe, tune and plot any variable in real time. This can be used to generate transients, tune controllers and extract meaningful experimental results in not time!

Hardware-independent peripherals

Thanks to its FPGA-based peripherals, the B-Box RCP is built on a strong hardware abstraction layer. This guarantees that a code that works today on a given hardware will still work later, possibly on another hardware. Therefore, two types of portability are guaranteed:

 

  • Portability over hardware: the exact same code can be executed on both the B-Box RCP and the B-Board PRO seamlessly. This allows the user to switchover very easily from one controller to the other.
  • Portability over time: the developed code is ensured to be forward compatible with future generations of hardware, facilitating system maintenance and upgrade and avoiding system obsolescence.

Hardware-independent peripherals

Thanks to its FPGA-based peripherals, the B-Box RCP is built on a strong hardware abstraction layer. This guarantees that a code that works today on a given hardware will still work later, possibly on another hardware. Therefore, two types of portability are guaranteed:

  • Portability over hardware: the exact same code can be executed on both the B-Box RCP and the B-Board PRO seamlessly. This allows the user to switchover very easily from one controller to the other.
  • Portability over time: the developed code is ensured to be forward compatible with future generations of hardware, facilitating system maintenance and upgrade and avoiding system obsolescence.

Ultra light operating system

The B-Box RCP runs its own operating system (BBOS) that has been specifically designed to meet all the requirements of high performance power electronics systems. It has been thought to be light enough to offer a very high level of performance, while being providing rigorous protections and real time management.

As such, BBOS is perfectly suited to support rapid control prototyping applications as well a field applications, in any type of environment. BBOS is present and supports both C++ SDK and ACG SDK.

Ultra light operating system

The B-Box RCP runs its own operating system (BBOS) that has been specifically designed to meet all the requirements of high performance power electronics systems. It has been thought to be light enough to offer a very high level of performance, while being providing rigorous protections and real time management.

As such, BBOS is perfectly suited to support rapid control prototyping applications as well a field applications, in any type of environment. BBOS is present and supports both C++ SDK and ACG SDK.

Monitor and tune in real-time

The BB Control Utility is the built-in software tool for the real time access to B-Box RCP and B-Board PRO controllers. It enables users to access, monitor and tune easily any variable in real time.

This software works side-by-side with a dedicated CPU core inside B-Box, so that it can be guaranteed that monitoring actions have strictly no impact on the real time execution of the application-level software.

Monitor and tune in real-time

The BB Control Utility is the built-in software tool for the real time access to B-Box RCP and B-Board PRO controllers. It enables users to access, monitor and tune easily any variable in real time.

This software works side-by-side with a dedicated CPU core inside B-Box, so that it can be guaranteed that monitoring actions have strictly no impact on the real time execution of the application-level software.

Log and process extensive data

BB Control also embeds datalogging capabilities that show exactly what the user code sees and does, at every sample. The latest enhancements grant access to 2 million points, split into 32 independent channels.

The datalogging can be triggered on any of the logged signals and includes a transient generator as well.  This allows to produce and observe various transient regimes and tune easily control parameters and algorithms.

Log and process extensive data

BB Control also embeds datalogging capabilities that show exactly what the user code sees and does, at every sample. The latest enhancements grant access to 2 million points, split into 32 independent channels.

The datalogging can be triggered on any of the logged signals and includes a transient generator as well.  This allows to produce and observe various transient regimes and tune easily control parameters and algorithms.

Carry individual configurations

The BB Control utility also allows to visually configure the 16 analog inputs of your B-Box RCP and store all monitoring and application-related parameters in a dedicated configuration file.

This way, individual settings can be kept for multiple users of the same hardware, enabling simultaneous use of one platform in several projects.

Carry individual configurations

The BB Control utility also allows to visually configure the 16 analog inputs of your B-Box RCP and store all monitoring and application-related parameters in a dedicated configuration file.

This way, individual settings can be kept for multiple users of the same hardware, enabling simultaneous use of one platform in several projects.

Want to know more?

Feel free to get in touch with our technical or sales teams for all questions related to the BoomBox software package.

Demos can be organized upon request.