Information Technology Reference
In-Depth Information
2.1 Developing Control Systems
For many years, the control systems for vehicle engines were designed by con-
trol engineers. However, in the last decade, it has been recognized that massive
reductions in pollution and gas consumption as well as advanced driver assistance
systems can only be realized if software-based controls are embedded in these sys-
tems. These kinds of software-intensive embedded control systems have become a
very complex market: a single major supplier sells over 1500 variants of gasoline
engine control systems per year [ 22] .
Nonetheless in industrial practice, the development process is still mainly driven
by control system engineers. Typically, a controller is developed in five steps [ 25] .
Control engineers have to understand the controlled system, for example the engine,
for which a controller has to be developed. Thus, in the first step of the process the
controlled system has to be modeled as precisely as possible. This is achieved by
building a block diagram of the interactions between the main components and then
detailing out these blocks mathematically via, for example, differential equations.
The combination of all components and equations therein captures the behavior of
the controlled system. This model helps identifying actuating and controlled pro-
cess variables, i.e. the controlled system's properties, in the second step. In the third
phase, the controller's functionality is designed. The fourth step concerns simulat-
ing the whole control cycle in crucial situations (model-in-the-loop simulations).
If it behaves as expected and demanded, the controller is finally implemented and
put into operation in the last step. This includes conclusive hardware-in-the-loop
simulations with the real hardware to assess the fulfillment of real-time constraints.
Since recently, the process is supported by rapid control prototyping (RCP)
environments [ 1] . Such a tool chain supports the engineer who can model and espe-
cially simulate the whole control cycle to validate the controller design at early
development stages without harming a potentially expensive real world device.
The Matlab/Simulink ( http://www.mathworks.com ) environment is most commonly
used in this context. Simulink is a graphical programming language on top of
the numerical math engine Matlab. It allows the signal oriented (thus, block dia-
gram based) visual capturing of complex systems and provides a large set of
libraries with pre-defined mathematical blocks. The environment provides also oper-
ational support to derive real-time code from models to run the above mentioned
hardware-in-the-loop simulations.
As Fig. 1 shows, software engineers are traditionally involved in the develop-
ment process only at the implementation phase. They are supposed to efficiently
implement the control algorithms on the platform and architecture that have been
chosen by the control system engineers. Not surprisingly, software engineers criti-
cize this approach which is purely driven by functional considerations. They argue
that a system's structure should follow from the consideration of non-functional
goals and requirements. In their view, advanced software techniques have to be used
to implement safe, reusable, and efficient solutions.
Interestingly, both disciplines claim to pursue model-based approaches but they
have a quite different understanding of the main concept. For control system
Search WWH ::




Custom Search