The description of the functioning of an automation system is one of the
essential aspects of automation technology. The European standard
"GRAFCET" has been developed especially for this purpose and is ideally
suited for this application. The required expenditure is often not made,
despite the benefits resulting from the creation of a GRAFCET for a
system. Because for many the GRAFCET provides no more benefits once the
planning phase is completed.
But what if you could transfer the GRAFCET directly into a PLC?
GRAFCET is a description language used to describe the operation of a machine or its sequence. This standard is valid throughout Europe and has existed for more than 14 years under the designation "DIN EN 60848". The standard was developed in France: GRAFCET stands for Graphe Fonctionnel de Commande Etape Transition”. This means: "Representation of the control function with steps and transition conditions". This makes it possible to describe step chains or sequence controls very well.
Those responsible for the GRAFCET standard have meticulously ensured that the required symbols are easy to draw and that the number of various elements is also as few as possible. For these reasons, a GRAFCET plan can also be implemented without much effort using pencil and paper.
The essential elements of a GRAFCET plan are:
In addition, GRAFCET provides elements to build hierarchies and structures. These include, for example, the forced commands, which can be used, among other things, to implement the conditions for the operating states (manual/automatic) of a system.
Fig 1: Example of a simple GRAFCET
Figure 1 shows a simple GRAFCET plan. What happens here?
First, the so-called initial step with the designation "1" is activated.
Thus, the action to the right is also active and the binary output "Q0"
is activated. The condition of the subsequent transition is defined by
the term "1s/X1". This means that the transition is triggered as soon as
step "1" is active for one second. At the transition, step "2" becomes
active and step "1" becomes inactive. With the activation of step "2"
the output "Q1" is also activated. After step "2" has been activated for
one second, step "3" is activated, and again, after one second, the step
returns to step "1".
The outputs Q0 to Q2 are thus switched on one after the other for one second each.
GRAFCET provides several variants of steps and actions with different properties. In the transition condition, a binary link (AND/OR) can be formulated; edge evaluations, comparators and time response can also be implemented. Binary operands are not the only ones that can be used within an action; the use of digital operands, including computational operations is also possible. All in all, a powerful and easy to learn description language.
A detailed description of GRAFCET can be found in the newly published book "GRAFCET Workbook" (available in English language for free).
GRAFCET is used across disciplines and is an integral part of most
curricula of technical training courses. This provides the prerequisites
so that various disciplines can 'talk' to each other 'in' GRAFCET.
If a new plant is developed, the designers can describe the sequence of the system via the GRAFCET. Thus, the experts from the fields of mechanics and electrical engineering have a discussion basis using which the first problems can be recognized and solved already during planning. This also helps to assess the need for actuators and sensors. The actuators and sensors of the machine are linked in a control program which usually runs in a programmable controller. A PLC programmer must therefore create the control program, whereby the GRAFCET acts as his programming basis. The machine must then be put into operation. The GRAFCET also plays an important role here: Does the machine now really work the way the designers have envisaged?
Of course, the machine operator also has advantages when he has knowledge of the precise operation of his machine. For example, the service staff does not always have to be called in the event of a fault.
Conclusion: The GRAFCET can be extremely useful if there is an up-to-date GRAFCET plan.
Everyone knows: Detailed machine documentation is necessary so that an equipment can be successfully built, programmed, commissioned and maintained.
Important: The documentation must be up-to-date. If, therefore, changes are made to the equipment, regardless of the scope, the documentation (the GRAFCET plan) must be updated accordingly. And here is mostly where the problems start: In case of a system modification the programming must be adjusted. If you do not change the GRAFCET plan now, the programming and the documentation diverge from each other to such an extent that you can no longer use the original documentation.
This is also the reason why GRAFCET has not been widely used in practice. Some effort is required to ensure that the actual state of the programming is consistent with the GRAFCET plan.
Here comes the wish: If I have already spent the effort and have created a GRAFCET plan from the outset, then I would also like to use it in the controller. Then, programming and documentation would never diverge.
The wish to transfer a GRAFCET logic into a controller is as old as the GRAFCET itself. But GRAFCET is not a programming language, but rather a description language.
The following scenario would be optimal:
You create a GRAFCET plan and load its logic to a device, regardless of which manufacturer has produced the device.
How could this be realized? The manufacturers usually use different hardware as well as different programming systems. The solution would be some type of "GRAFCET engine". This would be an intermediate layer that is fed with a GRAFCET logic. This intermediate layer is manufacturer-dependent, it must therefore be available for the device and must be installed on it. If this were the case, then a GRAFCET plan could be created and transferred directly to such a device.
Assuming it is possible to create a GRAFCET plan and transfer it to a device (for example, a PLC), the following application scenarios can be implemented and the following advantages are obtained:
GRAFCET is not a programming language, but rather a description language for sequence controls. Therefore, there will always be cases where a GRAFCET plan makes only limited sense. However, there are also applications for which a GRAFCET programming system is a very elegant solution.
All small and medium-sized sequence controls without regulation, motion and communication tasks are particularly suitable for the GRAFCET programming, e.g.:
Less suitable and not fully realized are extensive machines and plants with distributed control systems or time-critical operations where there is a struggle for every millisecond of cycle time. Here the GRAFCET can only take over a part of the system control. Things like e.g. PID controllers or communication tasks must be carried out using the native languages and thus the tool of the PLC manufacturer.
The theory described puts a new software into practice: A GRAFCET-Engine realize the platform independence on the device. After the GRAFCET engine is installed on the device, it can be programmed with GRAFCET Studio.
GRAFCET Studio offers the following features:
GRAFCET Studio currently supports the following devices: Siemens S7-1200/1500/300/400, Arduino-Boards, IOT2000 from SIEMENS.
GRAFCET Studio cannot completely replace the programming software of the device manufacturer because the device must be
prepared in the first step: The GRAFCET engine must be installed on the device with the device manufacturer's programming software. The inputs/outputs must also be parameterized (addressing, measuring ranges of the analog inputs, output ranges of the analog outputs). The device can then be used with GRAFCET Studio.
If these settings are constant for a system type (for example, series machines), and a device can accept this data by inserting an external storage medium (for example, memory card), the preparation process is only necessary once per type of installation.
GRAFCET Studio currently supports max. 255 steps.
The platform independence through the GRAFCET engine also presents a disadvantage: A chain processed by the GRAFCET engine is not as performant as a step chain developed in the native programming languages (SCL, STL). However, this is only relevant for time-critical applications.
Since 2005, GRAFCET has been firmly anchored in training. GRAFCET is a component of the curriculum in numerous technical training courses in Germany. For example, in the training of mechatronics, electronics engineers for automation technology and industrial engineering as well as industrial mechanics. Including in Secondary Technical Schools and two-year Secondary Chemical Technology Schools focusing on Production Technology. GRAFCET is also used in training at technical high schools.
A large number of trained specialists are therefore familiar with GRAFCET and are thus able to program a programmable controller with a suitable software tool.
There is new impetus for the GRAFCET topic. The use of GRAFCET as a manufacturer-independent programming language increases its benefits many times over. GRAFCET Studio provides several new possibilities (see section application scenarios) for programmers and end users. For example, it is possible for the first time to program an S7-1200/1500 from Siemens using a small, simple tool.
Dipl.-Ing. (FH) Matthias Habermann email@example.com
MHJ-Software GmbH & Co. KG
75015 Bretten – Germany