I am sharing my notes that I have compiled from different sources about hardware-in-the-loop (HIL) simulation, which is a simulation technique used in the development and verification of complex real-time embedded control systems. One can summarize the HIL test technique as the verification of a controller (the embedded software, real or physical signal interfaces) with a test system that simulates its operational environment over a model, including the relevant signal conditioning equipment.
Let's consider the engine electronic control unit in a car. It is responsible for turning sensor measurements into action, such as adjusting the air intake when the accelerator pedal is pressed. The HIL test replaces the engine with a simulation of hardware and software interacting with real I/O as if it were a physical engine. Because software updates are available, one can quickly incorporate electronic control unit or motor software changes, test a wide variety of scenarios, and expand test coverage as needed without risking a physical, costly system. The quality of the simulation software is extremely important for the HIL test to be a meaningful test. Simulation software must be paired with hardware, which not only takes into account system features such as connector type, input-output interfaces, but also allows for the ability to add bugs and test real-world scenarios. This is where one feels compelled to choose which hardware and software to use to ensure maximum test coverage while minimizing time spent on system setup and availability. In addition, in order to keep pace with changing requirements, a solution will often be needed that also offers customizable and future-expandable infrastructure. HIL solutions can realize these expectations. Depending on the complexity of the hardware to be tested, the controller, and the level of fidelity required to simulate the entire system, HIL simulators can vary in size, computing power, complexity, and cost. A typical HIL system includes a rack-like structure with a real-time target computer with I/O cards and signal conditioner cards, and a standard host computer with distributed I/O points connected by one or more communication buses.
Finally, I would like to give a brief information for NI VeriStand software. NI VeriStand is used in the management of input-output channels, data recording, stimulus generation and configuration of host computer communication for hardware that will operate in real time. It also provides the necessary infrastructure for importing simulation models and control algorithms, event management, test automation with NI TestStand, .NET and other similar software. Moreover, NI VeriStand provides user interface support for monitoring system-related data and metrics.