Grafet: The Sequential Function Chart
Sequential function chart (SFC) is a graphical programming language used for programmable logic controllers (PLCs). It is one of the languages defined by IEC 61131-3 standard.It can be used to program processes that can be split into steps.
During 1975, fourty French speaking researchers and industrial managers, involved in complex discrete system control, used to meet every two months to compare and investigate models and methods for building sequential system control. After two years of hard and laborious meetings, talks, chats and studies, they proposed a model called GRAFCET. This name came from "graph" because the model had a graphic basis, and AFCET (Association française de cybernétique économique et technique) from the scientific association which supported the work. The basic concepts of this discrete system model where, and remains today, quite clear and simple
Steps with associated actionsThe "step" represents a partial state of system, in which an action was performed. The step can be "active" or "idle". The associated "action" is performed when the step is active, and remains asleep when the step is idle.
Transitions with associated logic conditionsA boolean condition is associated with the transition
Additionnal features can be defined eg rising and falling edge variables, delayed ariables. These additions are not theoretically necessary. The simple boolean variable would be sufficient. But they simplify description and writting of real industrial control.
Directed links between steps and transitionsThe "transition" which links the previous step (one or several) and the following step (one or several), represents the fact that the action(s) of the previous step(s) is followed by the action(s) of the following one(s) and figures a decision of changing system state. Nevertheless, changing is under the control of two conditions:
a.. every step previous to the transition must be active,
b.. a boolean condition associated with the transition, must be true.
Any time the conditions are verified/true for one transition (or several), the previous steps become "idle", and the following steps become "active". When in conflict at a step, activity has priority on idleness.
DiscussionThis model mixed the ability of the Petri net model, for concurrent modelling, the softness of the boolean function, to represent complex decision functions, and included directly delayed signal definition. All the features were judged necessary to suit real industry requirements. The dynamic behaviour was first written as five evolution rules:
Rule 1 : Initial situationThe initial situation is characterized by the initial steps which are by definition in the active state at the beginning of the operation.There shall be at least one initial step.
Rule 2 : Clearing of a transitionA transition is either enabled or disabled. It is said to be enabled when all immediately preceding steps linked to its corresponding transition symbol are active, otherwise it is disabled. A transition cannot be cleared unless it is enabled, and its associated transition condition is true.
Rule 3 : Evolution of active stepsThe clearing of a transition simultaneously leads to the active state of the immediately following step(s) and to the inactive state of the immediately preceding step(s).
Rule 4 : Simultaneous clearing of transitionsAll simultaneous cleared transitions are simultaneously cleared.
Rule 5 : Simultaneous activation and deactivation of a stepIf during operation, a step is simultaneously actived and deactived, priority is given to the activation.