Model-based development and code generation
Short development time
Simulation and code generation
Online tuning and debugging
In-built project documentation
X2C is a free tool for the model-based development and code generation of real time control algorithms for micro-processor units. X2C uses the open source environment Scilab/Xcos for building a graphical control model. With Scilab/Xcos, the model can be simulated, and the performance of the algorithm can be validated without running it on the target.
Libraries with numerous blocks are available for creating the graphical model. Based on that model, C-code is automatically generated, which can be compiled in the target’s IDE. X2C allows simple model tuning and debugging using the built-in interfaces Communicator and Scope. With these tools, model parameters and control signals can comfortably be updated and monitored online.
Especially in complex control tasks, X2C greatly reduces the development time due to the intuitive graphical interface and avoids tedious bug-tracking due to a large number of library blocks. With X2C, your target-adapted control code is just one click away.
The “X2C tool set” at a glance
- X2C model simulation in Scilab/Xcos without target hardware
- Online control-block parameter updates (up- & download)
- Online data visualization
- Large number of dedicated processor types from various vendors (Texas Instruments, Microchip, STMicroelectronics, Infineon, Renesas, Freescale)
- Large number of generic processor types (to be used, if the dedicated processor type is not available)
- Target templates in C including communication via UART of the target for various vendor evaluation boards
- Java GUI Communicator for target communication and parameter transfer
- Oscilloscope like Scope GUI for visualizing signal data of the target
- BlockGenerator GUI to create new control-blocks
- Robust LNet protocol for data transfer
- Library “General” for common operations as Constant, Gain, Sine Generator, etc.
- Library “Math” for common mathematical operations such as Add, Subtract, etc.
- Library “Control” for common control systems elements such as I, PI, PID, etc.
- Additional libraries and integration in Matlab® are commercially available
X2C in combination with Scilab is a very powerful solution that helps me and my team every day to improve motor control algorithms and reduce the time to market dramatically.
With X2C we can generate production code and combine it with existing libraries to use the full flexibility of Microchips 16 bit and 32 bit microcontrollers.
We are using X2C in both teaching and research as a tool for quick implementation of real-time control algorithms in hardware. The MATLAB version is easy to start using and provides core functionality for generating code from graphical models. Matrix calculations are difficult to implement, however it is possible to work around that limitation.
X2C is reliable, efficient and easy to use, reducing the effort of DSP code generation to a minimum. This makes it the preferred tool for my students to implement their control systems in hardware. The time-to-implementation is outstandingly short, especially for more complex control systems, like (sensorless) vector controlled drives or bearingless motors. Moreover, the X2C team always provides swift, competent and helpful support.