XPC Target
Encyclopedia
xPC Target is a real-time
software environment from MathWorks. Together with x86-based real-time systems, it enables engineers to simulate and test Simulink
and Stateflow
models in an early-as-possible stage in real-time on the physical hardware under test.
The recommended development process is to design or model an algorithm or set of algorithms meant to be implemented in hardware in Simulink. This should also include modeling any plant hardware, environment or other phenomenon the algorithm needs to interact with. Simulations should be carried out using different ranges of inputs and design parameters to insure that the algorithm will operate as expected. Even with the best of efforts to produce the most realistic models and simulation, there are often unknown effects in the real world that still need to be investigated. xPC Target provides a real world intermediate step from the simulation world of Simulink and going to the actual hardware the algorithm will be running on. The model needs to be prepared first for these next steps by replacing models of the plant hardware, environment, and other phenomenon with hardware interface blocks that will communicate and capture feedback from these real world effects. Also the model needs to be set up with an overall fixed rate execution and solver. The whole model containing the algorithm, necessary hardware interface blocks, and other necessary model infrastructure are auto-generated into C code
, compiled with a third-party compiler, and transmitted to the x86-based real-time system running the MathWorks provided real-time kernel
. Now the model can be run in real time. The xPC Target environment extends the simulation and analysis capabilities of MATLAB
and Simulink where the algorithm was first designed (the host computer) to the x86-based real-time system (the target computer). It also enables control, monitoring, and on-the-spot parameter tuning of the real-time application directly from the Simulink model.
Once the algorithm or set of algorithms has been tested and verified with xPC Target, they are closer to being implemented in the real hardware. The implementation in the xPC Target environment allowed for the designer to isolate issues with the design of the algorithm from any potential issues with the hardware itself, thus making it easier to debug. When the algorithm or set of algorithms have been placed in its production form on the real hardware, the xPC Target environment can also be used to test how the algorithms are functioning. The original design model with all the testing structure can be used with hardware interface blocks put in place of the algorithm or set of algorithms. With one xPC Target license, from a software perspective many x86-based real-time systems can be created and controlled individually, in groups, or a mixture of groups and individual systems.
xPC Target also has an embedded option. This allows a designer or engineer to deploy their algorithms stand-alone without the host computer or in an embedded configuration to as many x86-based real-time systems as they want.
Real-time computing
In computer science, real-time computing , or reactive computing, is the study of hardware and software systems that are subject to a "real-time constraint"— e.g. operational deadlines from event to system response. Real-time programs must guarantee response within strict time constraints...
software environment from MathWorks. Together with x86-based real-time systems, it enables engineers to simulate and test Simulink
Simulink
Simulink, developed by MathWorks, is a commercial tool for modeling, simulating and analyzing multidomain dynamic systems. Its primary interface is a graphical block diagramming tool and a customizable set of block libraries. It offers tight integration with the rest of the MATLAB environment and...
and Stateflow
Stateflow
Stateflow, developed by MathWorks, is a control logic tool used to model reactive systems via state charts and flow diagrams within a Simulink model...
models in an early-as-possible stage in real-time on the physical hardware under test.
The recommended development process is to design or model an algorithm or set of algorithms meant to be implemented in hardware in Simulink. This should also include modeling any plant hardware, environment or other phenomenon the algorithm needs to interact with. Simulations should be carried out using different ranges of inputs and design parameters to insure that the algorithm will operate as expected. Even with the best of efforts to produce the most realistic models and simulation, there are often unknown effects in the real world that still need to be investigated. xPC Target provides a real world intermediate step from the simulation world of Simulink and going to the actual hardware the algorithm will be running on. The model needs to be prepared first for these next steps by replacing models of the plant hardware, environment, and other phenomenon with hardware interface blocks that will communicate and capture feedback from these real world effects. Also the model needs to be set up with an overall fixed rate execution and solver. The whole model containing the algorithm, necessary hardware interface blocks, and other necessary model infrastructure are auto-generated into C code
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
, compiled with a third-party compiler, and transmitted to the x86-based real-time system running the MathWorks provided real-time kernel
Kernel (computing)
In computing, the kernel is the main component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources...
. Now the model can be run in real time. The xPC Target environment extends the simulation and analysis capabilities of MATLAB
MATLAB
MATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...
and Simulink where the algorithm was first designed (the host computer) to the x86-based real-time system (the target computer). It also enables control, monitoring, and on-the-spot parameter tuning of the real-time application directly from the Simulink model.
Once the algorithm or set of algorithms has been tested and verified with xPC Target, they are closer to being implemented in the real hardware. The implementation in the xPC Target environment allowed for the designer to isolate issues with the design of the algorithm from any potential issues with the hardware itself, thus making it easier to debug. When the algorithm or set of algorithms have been placed in its production form on the real hardware, the xPC Target environment can also be used to test how the algorithms are functioning. The original design model with all the testing structure can be used with hardware interface blocks put in place of the algorithm or set of algorithms. With one xPC Target license, from a software perspective many x86-based real-time systems can be created and controlled individually, in groups, or a mixture of groups and individual systems.
xPC Target also has an embedded option. This allows a designer or engineer to deploy their algorithms stand-alone without the host computer or in an embedded configuration to as many x86-based real-time systems as they want.