Sequential
Function Charts can inherit all theory developed for Petri-Net. For a detailed
study there are many textbooks available. Not all of the theory can be directly
applied to plant control. In the sequel you will find the theory which is
necessary and helpful in the context of industrial plant control. Many of the
properties of an SFC can be shown in a array
representation of the net. The goals of the chapter are
- that you are able to
map an SFC-graph to an array representation.
- that you can explain
and proof liveness of a graph
- that you can explain
the compiler message, that the SFC is not secure, and that you are able to
correct the SFC
Alarm with manual reset are used whenever the process is not
allowed to continue automatically, i.e. without a manual reset of the error.
This is always necessary, when the control action resulting from an error
condition makes the error cause to disappear, but as soon as action is stopped,
the error will reappears again. In Figure 1, a SFC for an alarm with manual reset is drawn. The
alarm logic is explicitly
modeled in the two step 'no alarm' and 'alarm'.
The array
representation of a sequential function chart describes the flow of tokens. The
value of the array elements indicates the change of the number of tokens in a
step, when a transition is fired. The array rows are assigned to steps, the
columns to the fired transition. The row headers are therefore the step names,
the column headers the transition names. Similarly, step and transitions can be
enumerated so that the step number is the row index and the transition
number the column index. The entries in the array are {-1, 0, 1}. A
value of -1 in the i-th row and the j-th column
indicates that the i-th step will loose one token if
the transition j is fired. The array representation of the alarm example is
shown in Figure 2.
Figure 2: Array representation
When simulating an SFC the number of tokens or
the number of simultaneously marked steps may change. In the example of Figure 3 there will never be more than one token, but in Figure 4 there are
|
Figure 3: Component |
always two tokens. When there is only one step
marked, the SFC is a state automata. The state of an automata describes, what the automata is actually
doing. When several steps are simultaneously marked, the state can be
described by the union of the step names and the automata is doing all
actions in the marked steps. If there is never more than one step marked, the
step names are equal to state names and it is reasonable to call this SFC a
state automata. The states and steps of the SFC in Figure
3 are therefore - Level OK - Level high - Level high
acknowledged |
Figure 4: States of the alarm example |
|
The SFC of the
alarm example in Figure 1 always has two tokens and is therefore not a state automata. In Figure
4 two of the three possible states are drawn. The
state on the left can be described as 'Level OK' and 'no Alarm' and for the
marking on the right 'Level high acknowledged' and 'no alarm' |
In a SFC it is
not allowed, that a step can have more than one token. A step is either marked
or not marked. This can lead to a conflict as shown in Figure 5. If
T1 and T2 fire, the step C should be marked with two tokens. If a
SFC is properly drawn this conflict situation does not occur. This topic is
discussed in detail in a following lesson.
Figure 5: Forward conflict
If a divergence
is combined with two synchronisation conditions as
shown in Figure 6 there results a problem.
Figure 6: Backward conflict
If both
transition conditions 'start A' and 'start B' become simultaneously true, which
one should fire? In many cases this problem can not be solved in the SFC,
because there are no general roules for priority. The
most sensible way to solve the problem is to modify the transition conditions
so that it is impossible that both can be true at the same time. If the transition
condition on the right is changed to 'start B and (not start A)', the path on
the left has priority.
If that solution is to
static another type of arbitration can be solved within the SFC. In Figure 7 a solution leading to an alternating arbitration of
the robot is drawn
Figure 7: Alternating arbitration
Analysis of
conflict situation in SFC is very useful to find unsolved decision problems!