Practical Automation Specification 46.2 Intention 799
presses things we need for some activities, especially in
production, and secondly it is already a plural expres-
sion, although it could be a single device or the whole
factory. So it represents the modularity of the method
downto thesmallest base modules (that in general again
consist of parts).
We differentiate between base equipment and ab-
stracted equipment. A motor, a valve or a pump is
a single base equipment. A pump station, for example,
is a single abstracted equipment.
What is the definition of base equipment in contrast
to abstracted equipment? A base equipment implements
interface access via physical I/Os to the real world,
whereas an abstracted equipment implements interface
access to physical I/Os only via base equipment. Nev-
ertheless base equipment can of cause host other base
equipment (see Sect.46.2.2 as well).
The intention for building equipment is to en-
capsulate the actual physical implementation of one
subsystem from the collaboration with other subsys-
tems, as well as to support the abstraction of these
systems for different service subscribers (with different
interests, e.g., production, service, and management) to
its methods and/or properties.
The encapsulation consists of three layers: the in-
terface layer (providing abstracted methods and proper-
ties), the implementation layer (running the algorithms,
the event routines, and the exception routines), and
the base layer. The base layer is the interface to the
physical I/Os and the access to the implementation
layer of subequipment for base equipment and the
same without direct access to physical I/Os for abstract
equipment.
Access from one single equipment to another is al-
lowed only by use of its interface layer. This strict
access method allows one to change the implementa-
tion layer as well as the base layer of equipment without
affecting how it is accessed.
46.2.2 Generalization (Inheritance)
In the implementation of object-oriented languages
the method of inheritance is an important feature. It
describes the deployment from more generic objects
to more specialized ones. As in the following im-
plementation we have no special software tools in
standard EN 61131-based systems for constructing
strict inheritance (as is possible in C++), we talk about
generalization and bear in mind the underlying ideas.
So, for our needs, generalization allows hierarchical
structures and establishes a relationship between a more
general equipment and a more specific one, without
redefining all the specific methods and properties, al-
though if required it is possible to override the generic
methods and properties of the generic equipment with
more specific ones.
To follow our first example, a woman inherits all
the methods and properties of the object human, but has
of course more specific attributes and methods, most
importantly to give life to new humans. We will give
more technical examples in the implementation sec-
tion.
46.2.3 Reusability
Probably it is the basic idea of every engineer to built
up a system (whichever) out of already existing, used,
and tested parts coming from a toolbox (as children do
when playing Lego) to create new systems and projects.
By doing this an engineer mostly thinks about saving
time, lowering risks, and reducing overall costs.
The basis for doing this is encapsulation and the
concept of instances. As a single equipment is the
implementation of methods and at the same time its
abstraction, and the base layer is the interface to the
physical world, it is only a general construct. The base
equipment, e.g., is brought to life when it is con-
nected via its interface to defined physical I/O points
and placed as a defined instance in the state machine
call (see the implementation section); for example,
we define an equipment pump with all its methods
and properties, but only when we have certain pumps
(FreshwaterPump01, WasteWaterPump01, ...) instan-
tiated in our project will water flow.
So with these concepts we are able to forget the
internal details of the equipment for all future im-
plementations of the same sort of pump and can
concentrate on the method and property interface.
46.2.4 Interchangeability
Interchangeability has a strong relation to reusability as
it is based on the same concepts, although it describes
another topic.
Reusability refers to the ability to use the same
equipment without major efforts again in the same
or another project. Interchangeability applies when we
want to replace existing equipment with another type
of equipment, but with the same functionality. Accord-
ing to our encapsulation approach, equipment with the
same functionality should have the same interface layer,
although the implementation layer and the base layer
Part E 46.2