Most of our control system projects are carried out using a development process known as Model-Based Development (or Model-Based Design), MBD. The basic aim of this process is to reduce development times and improve the quality of deliveries. We do this by starting with executable models instead of written documentation during the project.
Two main models are normally developed: the first describes the physical aspects of the system to be controlled (Plant Model), and the second represents the logic and the algorithms that will ultimately be implemented in code in the chosen controller (Controller Model).
Once the Plant Model and Controller Model have been developed we can simulate the entire system’s behavior and verify at an early stage that the system has the desired characteristics. Because the system is completely virtual there is no need to build test rigs or prototypes. This eliminates an otherwise costly and time-consuming phase of development. This stage is usually known as Model-in-the-Loop (MiL).
When the system model has reached the required level of maturity we use the Controller Model to produce automatically generated code. This code can then be verified against the Plant Model to check that we get the same results as in the MiL stage. This stage is usually known as Software-in-the-Loop (SiL).
When the generated code has been verified by SiL testing it is loaded into the hardware. Because the control system executes in real time we also need to get our Plant Model to execute in real time. We do this by also generating code from our Plant Model and then integrating it into the dedicated hardware that is connected to the system. This stage is usually known as Hardware-in-the-Loop (HiL).