Automata in industrial Control
In control
engineering there is a need for formal representations of control sequences
which satisfy the following requirements: i) it should be suitable as design
representation, enabling structured problem solving and communication within a
team, ii) it should powerful enough to tackle the complexity of industrial
control problems including error handling and interaction with a physical plant
and iii) it must be complete and unambiguous. As a consequence the
representation must be transparent in the sense that for every situation, it is
obvious, i.e. graspable within less than a minute, what the controller should
be doing and will be doing next. Textual specification and documentation of
control sequences is a cumbersome task and is only suitable for very simple
linear structures. Much more powerful are graphical representations of
automata, e.g. state machine (
In the
PLC-programming community there are many reservations and also prejudices about
using SFC. One reason might be that automata theory is taught at a very
abstract and formal level. Quintuple of sets define automata and an ugly formal
language is used to state theorems. Here, automata will be introduced in a
pragmatic way aimed to solve industrial control problems. First, it is shown,
how SFC has to be formally drawn and how they can be used to solve typical
control problems. Since SFC is equivalent to Petri Net, the entire theory of
Petri-Net analysis is also applicable for SFC. Analysis of SFC can reveal
several structural deficiencies which can result from a hurried design. In the
second part, basics of SFC-analysis are explained with the aim, that the reader
is able to understand the error messages, which might be created by an
SFC-compiler and is able to correct the SFC.
'Can you program
a PID-controller in a SFC?' This question doesn't attest deep knowledge about
how to use SFC but rather reflects reservations against using SFC. Nevertheless
there has to be an answer to the question, where to best use SFC. All control
tasks can roughly be divided into continual and event-driven tasks. This is
shown in Figure. Continual tasks are incessantly executed. This could
be recording process values, checking the violation of limits or doing feedback
control. The best implementation of these tasks is done in analog circuitry; in
PLC this behavior is approximated with periodical calculation. Limit switches
and user interaction create events that have to be processed within some logic.
As a result they might turn actuators on or off. Most likely this logic is not
just a memory less function, but depends on the state of several state
variables. As soon as this logic is more complex, i.e. depending on more than
two state variables, SFC offers an optimal solution.
Figure: Continual and event driven control logic
As shown in the
past, state dependent logic can also be implemented in Ladder Logic or with
Function Block. SFC offers a large set of advantages which is yet only
partially explored in industry. There are several very appealing advantages in
using SFC:
- a SFC
is transparent in the sense, that for every situation your are immediately able
to see, what the controller is doing now and what it will be doing next
- Software
design is always complete including flexible error handling, since normal
operation and error handling are visually combined
- Plant
startup is done in an extremely short time:
- Software
errors can easily be found. There are no highly challenging debug problems to
solve in a stressing environment.
- Since
SFC allows local modification of a sequence without changing the behavior of
the remaining program, errors can be corrected without creating several new
errors. Logic with several state variables is extremely difficult to modify
without creating side effects.
- There
is a systematic way to setup the test procedure for startup of SFC-controlled
plants. This will become evident when
the reader is familiar with SFC
- The
SFC-graph with lists of actions and transitions, together with an interface
description of the module is complete and very comfortable software
documentation
- Since
SFC is very simple to read, it can be used to define software requirements.
Using SFC Operators are able to make valuable contributions when software
requirements are defined in detail. The immediate consequence is that the
operators wish to have an animated SFC on the HMI.
- SFC is
also a suitable representation to specify a production recipe.
As explained in
the previous section, a SFC is equivalent to a Petri-Net. Possible advantages of
SFC are, that control actions and go-on conditions are uniquely represented
with one type of element, whereas in Petri-Net this not the case. As a
consequence, SFC is easier to implement.
SFC and more generally automata have a wide field of application. The following
is not complete; it should document its wide field of application.
Information Sciences:
- Software
Design (State machine in UML)
- Modeling,
analysis and programming of parallel/concurrent processes
- shared
resources
- Data
base access
- Real-time
systems
- Modeling,
simulation and analysis of queues
- Many
application in the area of communication
Plant control
- Modeling,
analysis and programming of plant control software
Production:
- Workflow
specification, analysis and simulation
- Modeling,
simulation and analysis of production lines