1 – Historical
In 1975, a group of academics and industrialists from the “Logical Systems” section of AFCET (Association Française de Cybernétique Economique et Technique) set themselves the objective of defining a formalism adapted to the representation of the sequential evolutions of a system and having the following characteristics:
- Accepted by all;
- Intelligible both by designers and operators;
- Potentially providing ease of transition to a – hardware and / or software-based realization of the automation thus specified.
At the beginning, the work consisted in drawing up a state of the art of the different behavior modeling approaches of such automatisms. Three main classes of modeling tools were thus identified:
- organizational charts;
- Petri Networks;
- State graphs.
The analysis of the advantages and disadvantages of these tools led, in 1977, to the definition of GRAFCET, so named to both mark the origin of this new modeling tool “AFCET” and its identity. Transitions). The results of this work were the subject of an official publication in the journal “Automatic and Industrial Computing” in December 1977, a date that the community considers today to correspond to the effective date of birth of GRAFCET.
2 – Definition
The GRAFCET (Functional Graph of Control by Steps and Transitions) or SFC (Sequential Function Chart) is a graphical tool that describes the different behavior of the evolution of an automation and establishes a sequential and combinatorial correspondence between:
- INPUTS, that is to say the transfers of information from the Operative Part to the Control Part,
- OUTPUTS, transfer of information from the Command Part to the Operational Part.
It is a powerful graphical tool, directly exploitable, because it is also a language for most of the APIs existing on the market. When the word GRAFCET (capital letter) is used, it refers to the modeling tool. When the word grafcet is written in lowercase, it then refers to a model obtained using GRAFCET rules. (Example: I used the GRAFCET to design this machine, take a look at the safety grafcet and tell me what you think)
- stages associated with actions;
- transitions associated with receptivities;
- oriented links connecting stages and transitions.
3 – Description of GRAFCET
The description of the expected behavior of an automation can be represented by a GRAFCET of a certain “level”. The characterization of the “level” of GRAFCET requires taking into account three dimensions:
- The point of view, characterizing the point of view according to which an observer is involved in the functioning of the system to give a description. There are three points of view:
– A system point of view,
– An Operative Part point of view,
– An Order Party point of view.
- The specifications, characterizing the nature of the technical specifications which the Order Party must meet. There are three groups of specifications:
– Functional Specifications,
- Fineness, characterizing the level of detail in the description of the operation, from a global level (or macro-representation) to the full level of detail where all the actions and elementary information are taken into account.
4 – The basic concepts of GRAFCET
4.1 – Step
A step symbolizes a state or part of the state of the automated system. The step has two possible states: active represented by a token in the step or inactive. Step i, represented by a numerically identified square, thus has a state variable, called step variable Xi. This variable is a Boolean variable equal to 1 if the step is active, 0 otherwise.
The initial situation of an automated system is indicated by a step called the initial step and represented by a double square.
Note: In a grafcet there must be at least one initial step.
4.2 – Actions associated with stages
Each step is associated with one or more actions, ie an order to the operative part or to other grafcets. But we can also meet the same action associated with several steps or an empty step (without action).
4.3 – Transition
A transition indicates the possibility of evolution that exists between two stages and therefore the succession of two activities in the operative part. When it is crossed, it will allow the system to evolve. With each transition is associated a logical condition called receptivity which expresses the condition necessary to move from one stage to another.
The receptivity which is an input information which is provided by:
- the operator: control panel,
- the operative part: states of the sensors,
- time, a count or any logical, arithmetic operation …
- grafcets: other grafcets for the link between grafcets or the current state of the steps of grafcet (the Xi),
- other systems: dialogue between systems,
Note: If the receptivity is not specified, then it means that it is still true. (= 1)
4.4 – Oriented links
They are simple vertical lines that connect steps to transitions and transitions to steps. They are normally oriented from top to bottom. An arrow is required otherwise.
4.3 – Classification of actions associated with stages
The action associated with the step can be of 3 types: continuous, conditional or stored. Actions can be classified according to their duration compared to that of the stage.
4.3.1 – Ongoing actions:
The order is issued continuously as long as the step to which it is associated is active.
4.3.2 – Conditional actions:
A conditional action is only executed if the associated step is active and if the associated condition is true. They can be broken down into 3 particular cases:
18.104.22.168 – Single conditional action: Type C
22.214.171.124 – Delayed action: Type D (delay)
Time intervenes in this conditional order as a logical condition. The time is indicated by the general notation “t / xi / q” in which “xi” indicates the step taken as the origin of the time and “q” is the duration of the delay.
Example: “t / x6 / 5s”: will take the logic value 1, 5s after the last activation of step 6.
126.96.36.199 – Limited time action: Type L (limited)
The order is issued as soon as the step to which it is associated is activated; but the duration of this order will be limited to a specified value.
The “A” command is limited to 2s after the activation of step 4.
4.3.3 – Action maintained on several stages:
In order to maintain the continuity of an action over several steps, it is possible to repeat the continuous order relating to this action, in all the steps concerned or to use a description in the form of simultaneous sequences (The simultaneous sequences will be dealt with later. ).
4.3.4 – Stored action:
Maintaining an order, over the duration of activation of several consecutive steps, can also be obtained by memorizing the action, obtained by using an auxiliary function called a memory function.
5 – Rules of evolution of a GRAFCET
5.1 – Rule N ° 1: Initial condition
At the initial time, only the initial stages are active.
5.2 – Rule N ° 2: Crossing a transition.
For a transition to be validated, all of its upstream steps (immediately preceding linked to this transition) must be active. The crossing of a transition occurs when the transition is validated, AND only if the associated receptivity is true.
5.3 – Rule N ° 3: Evolution of active steps
The crossing of a transition obligatorily involves the activation of all the immediately following steps and the deactivation of all the immediately preceding steps.
5.4 – Rule N ° 4: Simultaneous crossing
All the transitions which can be crossed simultaneously at a given moment are simultaneously crossed.
5.5 – Rule N ° 5: Activation conflict
If a step must be simultaneously deactivated by crossing a downstream transition, and activated by crossing an upstream transition, then it remains active. This avoids transient commands (harmful to the operative part).
6 – Basic structures
6.1 – Notion of Sequence:
A sequence, in a Grafcet, is a series of steps to be performed one after the other. In other words, each step has only one DOWNSTREAM transition and one UPSTREAM transition.
6.2- Skip steps and resume sequence
Skipping steps allows you to skip one or more steps when the associated actions are unnecessary, Sequence recovery (or loop) allows you to resume, one or more times, a sequence as long as a condition is not obtained .
6.3 – Referral between two or more sequences (Divergence in OR)
We say that there is Switching or divergence in OR when the grafcet is broken down into two or more sequences according to a conditional choice. Like the divergence in OR one also meets the convergence in OR. We say that there is convergence in OR, when two or more sequences of the grafcet converge towards a single sequence.
If the two conditions a and d are at 1 simultaneously, steps 2 and 4 will become active simultaneously, a situation not intended by the designer. So they must be exclusive conditions
6.4 – Parallelism between two or more sequences (or simultaneous sequences or convergence divergence in AND):
Unlike switching where only one activity can take place at a time, we say that we are in the presence of a structural parallelism, if several independent activities can take place in parallel. The start of an AND divergence and the end of an AND convergence of a structural parallelism are represented by two parallel lines.
7 – Link between grafcets:
A step in a grafcet can be used as receptivity to another step of another grafcet. This method is also used to synchronize two grafcets, ie to make the evolution of one dependent on the evolution of the other.
8 – Equation of a grafcet:
8.1 – General rule :
For a step to be activated it is necessary that:
- The immediately preceding step is active;
- The immediately preceding receptivity is true;
- The immediately following step is not active;
- After activation the step memorizes its state.