In this post, I will briefly describe some of the most used phrases in Model-Based Design (MBD).

Open loop Testing :

In this way, A single component in the Simulink model is tested for predefined inputs and specific outputs. If the model is closed-loop, the loop is broken. 

An example of Open-loop testing (OLTP) is shown in the following figure. Open-loop testing only models the low-level system I/O functionality and any critical feedback paths in the system.  The simulation of the physical plant is not included in the OLTP.

open loop testing HIL

open loop testing

Closed loop Testing :

Closed Loop testing (CLTP) models all the physical plant behavior in addition to the I/O processing. 

closed loop testing

closed loop testing

Both OLTP and CLTP found extensive usage in the controller development process. In the initial stages, when the system hardware is not complete and the control algorithm is preliminary, the OLTP is very useful to test all the low-level functionality of the controller module.

Rapid prototyping :

In this method, Automatic code from the controller model is generated. In this method, the plant model is replaced with the real hardware.



As the top figure is showing, the plant is replaced with I/O blocks. These blocks send data to out of Simulink and read data from out of the Simulink.

We are testing our algorithm on real hardware to evaluate its functionality. We tested our algorithm in the model of the plant, now we are testing our controller in real conditions. 

We need some type of hardware for reading and applying a signal to the hardware of the plant. One of the most used ones is Speedgoat



speedgoat simulink interface

speedgoat simulink interface

As you see in the top figure, The link between Simulink (PC) and Speedgoat is Ethernet.

There is Simulink library for Speedgoat hardware that facilitates working with it in Simulink.


Simulink library for Speedgoat hardware

Simulink library for Speedgoat hardware


Hardware in Loop ;

Test an actual embedded system against a simulated environment in real time.