Hardware-in-the-loop testing applications
Hardware-in-the-loop (HIL) testing is a test methodology that can be used throughout the development of real-time embedded controllers to reduce development time and improve the effectiveness of testing.
Overview
As the complexity of electronic control units (ECUs) increases, the number of combinations of tests required to ensure correct functionality and response increases exponentially.
Older testing methodology tended to wait for the controller design to be completed and integrated into the final system before system issues could be identified.
Hardware-in-the-loop testing provides a way of simulating sensors, actuators and mechanical components in a way that connects all the I/O of the ECU being tested, long before the final system is integrated. It does this by using representative real-time responses, electrical stimuli and functional use cases. See figure 1 below for a top level diagram showing the key components of a HIL test system.
The part of the simulation that represents the environment, sensors and associated hardware is called the plant model.
The parts of the simulation that represent other controllers are called controller models.
Figure 1
As more controllers become available for test, the hardware-in-the-loop test user replaces controller models for real controllers and uses further I/O to test those components until all the controllers within the scope of the test system are connected to representative I/Os and wiring harnesses.
Building on established techniques
Depending on the maturity of the control strategy and whether a model based design has been chosen for the complete design process, a whole family of test methodologies are available from model in the loop, software in the loop, Rapid Control Prototyping and hardware-in-the-loop.
What does a hardware-in-the-loop test system look like?
Depending on the complexity of the controller being tested and the level of fidelity required for the simulation of the overall system, hardware-in-the-loop (HIL) simulators can vary is size, computing power, complexity and cost.
A typical HIL system comprises either a rack-mount unit containing the real-time target computer with I/O boards and plug-in signal conditioning cards, or a standard PC with distributed I/O points connected via one or more communications buses.
How does the user interact with the test system?
Typically, a HIL system will require a modelling environment, such as Simulink, which will be used to create the plant model and may include a model of the controller strategies for components not available for the test system.
This environment is usually run on a workstation or a laptop and is known as the host PC.
The overall plant simulation and (optional controllers strategy) model is then compiled into real-time executable code which is downloaded to a second computer, called the target simulator. This is usually specialised hardware, such as one of our real-time target simulators, which contains special I/O boards and all required signal conditioning.
Is HIL appropriate for smaller system tests?
Often a large system is not required. For simple hardware-in-the-loop testing, for more basic controllers, it is often sufficient to scale the test system down to using a compact HIL simulator, perhaps with some additional special-purpose intelligent I/O.
One such example is to use our MICROGen controller unit along with our intelligent I/O range.
Can I simulate all the ECUs in my system?
HIL systems need to be very scalable. Using larger racks, more I/O boards and choosing from a wide range of special purpose boards, systems may be both extended and repurposed over their life.
Using re-configurable I/O, such as Genix I/O, is an extremely effective way to support changes to the system throughout the development ‘V’ cycle as specifications change, functionality changes or errors are corrected.
Maintaining modular I/O connectivity also helps to extend the life and scope of the test system, by easily supporting wiring changes and pin-out reassignments as well as maintaining the capability to expand.