system. Since the sensors and actuators are under the
control of the real time system, they are usually
completely integrated into the automation system.
Depending on the use of the sensor/actuator, specific
parameterisation (e.g. acquisition rate, filtering or
buffering) has to be performed by the customer.
The second category could be described as
intelligent subsystems (e.g. measurement devices).
In contrast to the first category, they are controlled
by a local microprocessor, which provides functions
comparable to those of the automation system (e.g.
real time data acquisition or statistical calculation).
Devices of this group could be qualified as finite
automata with several internal states and transitions.
Usually they are connected to the automation system
via physical line (e.g. RS232, Ethernet).
Consequently, data acquisition and control is
possible only via this physical line and by using
diverse communication protocols on it.
These various types of devices have to be
uniformly integrated into the automation system, so
that data acquisition and device control can be
performed in a common way. Thus, automation
systems typically contain a software layer, with the
main task to make device specific functions
available via standard automation interfaces. We
refer to this software layer as Device Handler (see
figure 1). Specifically, there are two main
automation interfaces in PUMA Open (AVL, 2004),
which are used by Device Handler, i.e., Platform
Adapter and Device Framework.
Figure 1: Device Handler
The former interface offers functions compatible
to those of the ASAM-GDI Platform Adapter
(ASAM, 2001). There are two main advantages of
the Platform Adapter. Firstly, it abstracts the
complexity of lower ISO/OSI layers 1-6 (ISO, 1990)
and it provides to the client a generic interface where
common read/write commands from/to the device
are independent from the specific lower ISO/OSI
layers (TCP/IP over Ethernet, RS232, CAN, etc.).
Secondly, it provides standard OS-services (e.g.
memory handling and synchronisation) and thus
enables the client to be independent from the
specific OS. Consequently, the client, i.e. the Device
Handler, deals exclusively with device specific
functions and it is therefore robust to changes of
lower communication layers and/or OS’s.
The later interface must be implemented by the
Device Handler and it contains services that are to
be used by the automation system, i.e., user. This
comprises services, such as: handling of device
channels (System Channels), device
parameterisation, support of the standard Device
Handler’s state machine, data storage, etc.
2 DEVICE HANDLER TYPES
One of the most important aspects of the automation
system is the synchronisation of all test bed
components (software and hardware) in order to
perform specific control and/or measurement tasks
(e.g. power-up all devices or get ready to start the
measurement of the system under test). As
mentioned in the previous chapter, all devices are
synchronised due to the fact that all Device Handlers
behave in a uniform way, which is ensured by
supporting the state machine, i.e., states and
transitions of the Device Framework interface. For
instance, if the automation system wants to perform
a measurement, it simply invokes the transition
StartMeasurement of each Device Handler. The
Device Handler interprets this command in a device
specific way and accordingly sends one or more
protocol frames to the device. Depending on the
physical connection (e.g. RS232, CAN), the protocol
mode (e.g. bus, peer to peer), the communication
mode (e.g. master-slave, burst-mode) and the
functionality (e.g. measure, calibrate), one could
distinguish between various families of devices, i.e.,
Device Handlers.
Device2
Automation System
Device Framework
Device Handler
Device1 Device3
Platform Adapter
As a result of this, the device is switched to the
intended state (e.g. measurement mode) and is able
to perform the specific activities. Acquired data are
analysed and accordingly the transition is performed,
the values of System Channels are updated, etc.
DEVICE INTEGRATION INTO AUTOMATION SYSTEMS WITH CONFIGURABLE DEVICE HANDLER
199