Sequential Function Chart
Sequential Function Chart
A step in a SFC:
is symbolized by a square (with a double border if it is an
initial step, i.e. it is active at the beginning of the execution
of the program)
3
has a label, usually consisting of a number activate pump
may be active or inactive; when active it contains a marker
(token)
label
it can have associated actions
The marker is just a graphical representation of a boolean marker action
variable that is associated to the step and contains the
information whether the step is active or not: Step_Name.X
Also a time variable is associated to each step, measuring the time since last activation of
the step: Step_Name.T
transition
identifier
Actions associated to steps can be of several types depending on the expected temporal behavior.
To clarify this aspect, qualifiers are associated to each action:
N (normal or not-stored)
A continuous action, executed as long as the step is active. It is the default, if the qualifier is not specified
L (time-limited)
A time-limited continuous action executed for a limited (specified) amount of time or for the time when the
step is active (if less than the specified time duration)
D (delayed)
The action is delayed in time, i.e. it is executed after the amount of time indicated, if the step is active
P (pulse)
An action to be executed just once, when the step is active.
S (stored or set)
The action begins when the step is activated and lasts, regardless of how long the step remains active, until it is
reset with an equal action but with a qualifier R
R (reset)
Terminates a stored action
DS (delayed and stored)
The action begins after an assigned time interval since the step has become active, if the step is still active at
that time. If it begins, the action lasts until it is reset with an equal but R-type action.
SL (stored and time-limited)
The action begins when the step becomes active and ends when it is reset with an equal but R-type action or
when an assigned amount of time has elapsed.
Industrial automation and robotics – Sequential Function Chart – Paolo Rocco
Rules of evolution of a SFC
As already said:
A transition is said to be enabled if all the upstream steps are active.
A transition is said to be superable if it is enabled and the condition associated with it takes on
the “true” value (in this case it is also said that the transition can trigger).
if-then-else
Two branch nodes are used, indicated in this when this transition is passed,
case with double bars: it activates two steps
a node of parallelism, that is a transition
followed by multiple steps (which are all
activated when the transition is passed)
a concurrency (rendezvous) node, that is, a
transition preceded by several steps (and
therefore superable only if they are all
this transition is passed if both
active). the above steps are active
local synchronization
2 3
C D
Start
Consider the automatic drill depicted in the picture:
Up Limit SW
Slow Speed Limit SW
When the operator presses a start button, the drill starts
Bottom Limit SW
approaching the piece at high speed, until it reaches a
Start
switch where the speed has to be lowered.
The drill then moves all the way to the bottom, until a
Up Limit SW
Slow Speed Limit SW
switch is reached that corresponds to the bottom limit.
Bottom Limit SW
The drill then moves upright, until it reaches the upper
Start
limit switch.
Up Limit SW
Slow Speed Limit SW
Bottom Limit SW
Start
Up Limit SW
Slow Speed Limit SW
Bottom Limit SW
Industrial automation and robotics – Sequential Function Chart – Paolo Rocco
Sequential functional chart: example 1
Wait
Wait
Industrial automation and robotics – Sequential Function Chart – Paolo Rocco EL (End of stroke left reached)
Sequential functional chart: example 3
st1
Block
coin inserted
actions limited in time
parallel
st11 st21
Unblock L 2s SB
st21.t ≥ 2s
open
st22
st12
L 2s SA
st22.t ≥ 2s
st23
synchronization
1
Industrial automation and robotics – Sequential Function Chart – Paolo Rocco