Professional Documents
Culture Documents
In this chapter we brie y describe how sequential control problems have been
solved in the past and present. In Section 2.1 we take a control engineer's
viewpoint. Before describing how sequential control has been formulated in the
domain of arti cial intelligence (AI) (Section 2.3) we given a short introduction
to complexity theory in Section 2.2. Some other related areas are described in
Section 2.4.
5
6 Sequential control in the past and present
Example 2.1 When handling chemical processes, it is, for example, of utmost
importance that the reactants have speci ed pressures and temperatures before
the chemical reaction is allowed to start. This might require fairly complex
initialization procedures where actions have to be performed in a certain order
to prevent uncontrollable reactions or to get any reaction at all. Consider
Figure 2.1.
MV1
Reactant 1
MV3
Heater
Cooler
MV2
MV4
Reactant 2
Resulting
product
To initialize the process in Figure 2.1 safely we may have to do the following:
p
When the pressure 3 is obtained the process may be stable and we can activate
the continuous input/output ow control. �
Another example of the same character is the Steritherm process described in
Example 2.2.
The process is continuous but, once again, there are also signi cant sequen-
tial parts. Before production starts the plant must be sterilized and it must
also be cleaned at speci c time intervals. These parts are essentially sequential.
As can be seen in Figure 2.2 the typical actions are to turn on or o speci c
motors and to change the uids ows by closing or opening valves. There are
also ordinary PI-controllers and automatic mechanical devices that control the
temperature, the input ow and the pressure while the plant is running in its
normal operating mode. These can be turned on or o . �
We end this section by a more traditional example of sequential control, namely
a system of manufacturing type.
e ectors, or motors, for moving the trolley horizontally, for moving the grabber
vertically, for opening and for closing the grabber, and opening the hopper
hatch. Information about the state of the system is provided through ten
sensors indicating the position of the trolley, the position of the grabber and
so on. �
2.1.2 Designing and implementing sequential control
schemes
Basically, practical sequential control problem solving consists of, or should
consist of, four steps, namely:
3. Synthesis
Synthesis of a control scheme, or planning, is the process of deciding
upon a control scheme, i.e., nding an order in which the given1 actions
should be performed to achieve the speci ed goals. By actions we mean
operations such as turning on or o motors, or opening or closing valves.
Thus the set of actions is de ned by the available actuators and control
signals.
4. Implementation
In this step the control scheme is implemented, i.e., the actual controller
or sequencer hard- and/or software is designed.
In practise these four steps seldom occur as distinct parts in the design proce-
dure. Normally only a minor part of the time is spent on the rst two steps,
and very seldom any formal models are being used. Instead the goal and
the plant model are typically described informally in words, and the designer
starts the synthesis without having access to a formal plant model. Further-
more the synthesis and the implementation is often carried out interleaved.
One important reason for all this is the absence of systematic design methods.
Since the rst two steps normally are carried out informally we do not
describe them further at this stage.
Usually the set of actions is given and well de ned when the control engineers starts to
�
work.
2.1 Sequential control from a practical viewpoint 9
Trolley
E1 Winch motor
G2L G2AR G2R E2
Hatch
Grabber E3 G4O
G1U G3O
G3C
Storage
Wished Cycle
G5F
E4
G1D
OPERATOR PANEL
Control signals Description Outputs Sensor signals Logic Description Input signals
Synthesis
As stated above, the lack of systematic design methods implies that the synthe-
sis of the controller is often integrated with the implementation. Hopkins and
Walker 83] observe that the requirements are rarely expressed formally, but
instead given by drawings such as plant layouts, timing diagrams etc. They
suggest the use of state transition diagram when a sequential control scheme
should be designed. Other approaches are mainly focused on using structured
high level languages such as those described below, and preferable GRAFCET
25, 53, 122, 129].
Implementation
A sequential control scheme can be implemented in several ways. The rst
sequential controllers were implemented using some kind of mechanical se-
quencers. Today electro-mechanical sequencers are still, to some extent, used
in for example washing machines, dish-washing machines and co ee machines.
Electro-mechanical relays has been widely used to build sequencers. They can
imitate the function of a sequencer, but is more exible since the program is
stored by the electrical wiring. Even if they do not dominate the market any
more they are still used in smaller systems and in safety critical parts of a plant
controller. Often relays are used in combination with modern computer based
controllers as an independent security system. Later, but to a small extent,
hardwired electronic devices such as transistors came to replace the relays.
Nowadays the market are dominated by PLC:s (Programmable Logical Con-
trollers). The PLC-systems are specialized computers developed for control
purposes only. They are exible and comparably cheap. A major drawback is
that the programming languages supplied di ers from machine to machine and
they are often at a very low assembly-like level. These languages are not easy
to use, and a program developed for one PLC-system cannot easily be moved
to another system. However, the PLC-manufacturers sometimes supply some
kind of higher level language to make them easier to use. The by far most
common \high level" language is \relay ladder logic", but for example Boolean
logic and function block diagrams have also been used 108]. The graphical
relay ladder programming environment was developed to allow descriptions of
the control scheme in the same manner as for relay systems, and the di erent
symbols imitate the physical relay components. It is thus easy to use for sta
used to the classical relay technique, and is highly accepted and understood by
factory oor personnel, e.g. operators and service personnel. The fact that it
is a graphical language has contributed to making relay ladder programming
so popular. It is easy to follow the ow of electrical signals, and the activity
during execution can be easily displayed. However, it is not always trivial to
see the actual ow of control commands that are being represented by the
2.1 Sequential control from a practical viewpoint 11
+ -
D
A B
Since the relay ladder logic was developed, applications and programs have
grown in size and in complexity. Often additional internal relays need to be
added to identify events, thus making the logic more complicated and making
it even more di cult to follow the actual control sequence, i.e. realize what
actually happens in the plant. Another disadvantage is that a relay ladder
logic program is scanned from the beginning to the end, and thus every step in
the program is scanned whether it need to be executed or not. This results in
unnecessary slow program execution, but it can to some extent be dealt with
by using subroutines that can be called upon from the main program when
needed. Even if the PLC-systems of today are very exible, the extensive
use of relay ladder diagrams has delayed the development of new and e cient
programming techniques. Controllers have been developed and implemented
using basically the same methods as when electro-mechanical relays dominated
the market, forcing the developers to do programming at a very low level.
By the introduction of sequential function charts (SFC) 45, 84], also known
as GRAFCET, the possibility to use abstraction has to some extent been
facilitated. GRAFCET shows many similarities with Petri nets 45, 127],
but is more aimed at solving practical sequential control problems, and is
therefore basically a restriction of the Petri net formalism. It is a carefully
speci ed international standard, and compilers that can generate PLC-code
from a GRAFCET chart have been developed and are commercially available
28, 87, 106]. It can be used not only for implementing controllers, but for
modelling, specifying and simulating plants. A GRAFCET chart displays the
state of the controller, i.e. which actions that are currently being executed.
Together with the information supplied by the transition conditions this gives
the state of the plant. Thus the process of locating plant faults is simpli ed.
The program itself is a good documentation of the controller, and by using
macro steps as explained below a top-down design is supported. Even when a
compiler that translates a GRAFCET chart to PLC-code is not available, it is
still advisable to use GRAFCET to modularize and structure the program and
12 Sequential control in the past and present
thereafter translate it to e.g. relay ladder logic 75]. Although the GRAFCET
formalism represent a promising improvement in abstraction, it is important
to remember that it is still nothing but a high level programming language.
Initial Step S0 C E2 G5
Transition
Transition G4 condition
Simultaneous sequences
Step S1 S3
G3*F2 G2 or V1
A complete graph
must be closed.
S2 S4
Alternative branching
G7 not G7
S5
F4
S6
G4
Loop chart
S7
not G5 G5
Subgraph S23
Subgraph S2
S231
S0 S21
S3 S24
S236
uniform syntax for them. An example of the use and syntax of macro steps
is shown in Figure 2.6. To further illustrate the basic ideas in GRAFCET
we show how a control chart for controlling the previously presented freight
carrier may look like.
S5 /G2AR
/STOP E1D
S21
G1D
S22 E3C
S31 E1U
S0
G1U
S1 C E2R /G2AR
S41
+ G4O
G2L Alarm
G5F /G5F
S2
S42 ALARM
G3C
G5F*ACKNOW-
S3 LEDGEMENT
S4 G3O
Figure 2.7: Control sequences for the freight carrier unloading system.
Here n means logical not and + logical or.
16 Sequential control in the past and present
Operator support
Automatic plan generation can also be used for operator support as in Fig-
ure 2.8. A supervisor checks if the operations that the operator wants to
perform are allowed. If, for example, the operator wants to open a speci c
valve, the supervisor should quickly tell the operator that to be allowed to
open this valve he or she must rst, e.g., open another valve. Another possi-
bility is to automatically generate and execute a sequence of actions resulting
in the opening of the valve. This can be viewed as semi-automatic control.
Operator
Supervisor
Plant Controller
Plant
When a plant fault occurs the plant should be taken to some prior de ned
\safe state". This \safe state" may depend on the current fault situation,
that is, di erent fault may lead to di erent \safe states".
At
~( ) = A factions which are \out of order"g;
where A is the set of available actions during normal operation. The
actions which are out of order may, for example, be due to motors that
are broken. The problem is to nd a sequence of actions in the set ~ A
which transforms the current initial state
0
x
into the desired nal state
x?. If this is impossible because of some missing actions, we want to