Grafcet – FAQ 1

Diese Rubrik bietet die Antworten auf die am häufigsten gestellten Fragen zum Thema Grafcet.
Sie vermissen Ihre Frage? Schreiben Sie mir!

Grafcet-FAQ 1
Darf man speichernd wirkende Aktionen mit kontinuierlich wirkende Aktionen vermischen?

Antwort:
Ja und nein!
Ja, ein Vermischen innerhalb eines Grafcets ist möglich, wenn man dabei verschiedene Ausgangsvariablen (hier Q0 und Q3) verwendet.

Speichernd wirkende und kontinuierlich wirkende Aktionen vermischen kann zulässig sein.

Speichernd wirkende und kontinuierlich wirkende Aktionen zu vermischen kann zulässig sein.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Nein, ein Vermischen ist nicht möglich, wenn man sich dabei auf nur eine Ausgangsvariable (hier nur Q0) bezieht.

Hier ein kurzes Video zur Erklärung:

 

Der Inhalt des Videos nochmals in schriftlicher Form:

Grafcet Normverletzung

Grafcet Normverletzung

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Erklärung:

Wir betrachten den fehlerhaften Grafcet. Im Schritt 4 wird die kontinuierlich wirkende Aktion „Q0“ ausgeführt. Das bedeutet, dass Q0 immer genau dann aktiv ist, wenn Schritt 4 aktiv ist. So weit, so gut.

Jeder Leser stimmt zu, dass die Variable Q0 genau dann den Wert 1 zugewiesen bekommt, wenn X4=1 ist.

Was aber viele Leser nicht bedenken ist, dass eine kontinuierlich wirkende Aktion der Variablen (hier Q0) immer dann den Wert 0 zuordnet, wenn der zugehörige Schritt nicht aktiv ist. Folgender Grafcet soll dies verdeutlichen:

Einer kontinuierlich wirkende Aktion wird immer ein Wert (True oder False) zugeordnet.

Einer kontinuierlich wirkende Aktion wird immer ein Wert (True oder False) zugeordnet.

 

Würde man nun an den Schritt 1 eine speichernd wirkende Aktion (Q3:=1) anhängen, so würde ein Konflikt entstehen, die Variable Q3 würde dann an zwei Stellen gleichzeitig mit sich widersprechenden Werten beschrieben. Denn nach den Gesetzmäßigkeiten einer kontinuierlich wirkenden Aktion müsste die Ausgangsvariable Q3 den Zustand False erhalten, nach den Gestzmäßigkeiten der speichernd wirkenden Aktion müsste Q3 jedoch den Wert True erhalten. Welchen Wert soll nun Q3 erhalten? Es ist nicht so, dass der Zustand True Vorrang vor dem Zustand False hat!

Um diesen Konflikt der Ausgangswertigkeit zu vermeiden, verbietet die Norm die Vermischung von speichernd wirkenden und kontinuielrich wirkenden Aktionen für ein und die selbe Variable.

Grafcet 20 – Transienter Ablauf

Im abgebildeten Grafcet ist Schritt 2 aktiv und die Transitionsbedingung „B1“ ist ständig erfüllt.

Welchen Zustand nehmen die Signallampen P1 und P2 an, nachdem Taster S3 betätigt wurde?

Transienter Ablauf

Transienter Ablauf

Lösung:

Da die Transition B1 schon erfüllt ist, bevor S3 betätigt wird, wird Schritt 3 nach Betätigung von S3 als „virtuell aktiviert“ betrachtet. Der Grafcet befindet sich danach im Schritt 4.

Die Lampe P1 ist speichernd wirkend abgebildet und wird deshalb auch von einem „virtuell aktiven“ Schritt eingeschaltet.

Die Lampe P2 hingegen ist als kontinuierlich wirkende Akion ausgeführt und behält deshalb während des Übergangs von Schritt 2 zu Schritt 4 ständig den inaktiven Zustand.

Ein virtuell aktivierter Schritt hat keinerlei Auswirkungen auf eine kontinuierlich wirkende Aktion.

Fazit: Schritt 4 ist aktiv, Lampe P1 leuchtet und Lampe P2 hat nie (auch nicht kurz) geleuchtet.

Fehlerteufel 10

Angenommen, eine Schützspule wird im Schritt 1 speichernd wirkend eingeschaltet und im Schritt 3 speichernd wirkend abgeschaltet.
Darf die gleiche Schützspule im Schritt 4 durch eine kontinuierlich wirkende Aktion wieder eingeschaltet werden?

Lösung:

Nein, denn die Norm schreibt vor, dass eine Ausgangsvariable, welche speichernd wirkend verwendet wurde somit nicht mehr als kontinuierlich wirkende Aktion verwendet werden darf.

Grafcet Normverletzung

Grafcet Normverletzung

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Im ersten Moment werden viele Leser behaupten, der linke Grafcet wäre doch eindeutig:

Die Schützspule würde mit Schritt 1 eingeschaltet, mit Schritt 3 abgeschaltet und mit Schritt 4 wieder eingeschaltet.

Jedoch wurde bei dieser Betrachtung ein wichtiger Aspekt (bezüglich kontinuierlich wirkende Aktionen) nicht beachtet:

In Schritt 4 wurde Q0 als kontinuierlich wirkende Aktion abgebildet. Für eine kontinuierliche Aktion gilt, sie ist maximal so lange aktiv, wie der zugehörige Schritt aktiv ist.

Es hilft hier die Vorstellung, dass eine kontinuierlich wirkende Aktion die Ausgangsvariable zu jeder Zeit beschreibt (und nicht einmalig, wie eine speichernd wirkende Aktion).

Deshalb gilt, dass immer dann wenn der zugehörige Schritt NICHT AKTIV ist, diese Aktion inaktiv sein MUSS.

Somit entsteht im Schritt 1 nun ein Konflikt der Ausgangswertigkeit!

Der rechte Grafcet löst dieses „Problem“, in dem er ausschließlich kontinuierlich wirkende Aktionen verwendet.

Die 10 goldenen GRAFCET-Regeln

Regel 1

Ein GRAFCET besteht aus Schritten, Transitionen (Weiterschaltbedingungen), Wirkverbindungen und aus Aktionen.

Im erweiterten Sinn können auch spezielle Befehle Bestandteil eines GRAFCETs sein.

Regel 2

Ein Schritt wird durch eine Wirkverbindung mit einem anderen Schritt verbunden, wobei eine Transition als Weiterschaltbedinung von einem zum andern Schritt fungiert.

Eine Transition gilt als freigegeben, wenn der (die) unmittelbar vor ihr liegende(n) Schritt(e) aktiv ist (sind). Ist eine Transition freigegeben und ist ihre Transitionsbedinung=true, so löst diese Transition aus.

Regel 3

Es muss immer folgende Reihenfolge eingehalten werden: Schritt-Transition-Schritt-Transition-Schritt- usw.

Das bedeutet: Niemals kann ein Schritt direkt auf einen anderen Schritt folgen, und niemlas kann eine Transition direkt auf eine Transition folgen!

Regel 4

Einem Schritt können beliebig viele Aktionen zugeordnet werden. Man unterscheidet Aktionen die nur solange aktiv sind, wie der zugehörige Schritt (sog. kontinuierlich wirkende Aktionen) von Aktionen, die einmal aktiviert werden-dann für viele Schritte aktiv sind-und an späterer Stelle wieder deaktiviert werden (sog. speichernd wirkende Aktionen).

Nicht jedem Schritt muss eine Aktion zugeordnet werden, Schritte ohne Aktionen nennt man Leerschritte. Sie werden oftmals benötigt um Regel 3 nicht zu verletzen.

Regel 5

In der Regel wird ein Schritt dann aktiv, wenn sein vorheriger Schritt aktiv ist UND die unmittelbar vor ihm liegende Transition auslöst.

(I.d.R deshalb, weil Schritte in speziellen Fällen auch von anderen Schritten bzw. Befehlen aktiviert werden können)

Regel 6

Wird ein Schritt aktivert, so deaktivert er den unmittelbar vor ihm liegenden Schritt automatisch.

Wird ein aktiver Schritt während der Ausführung deaktiviert und gleichzeitig aktiviert (z.B. durch eine Schleife auf sich selbst), so bleibt er in diesem Fall aktiv.

Anmerkung zu Regel 5 und Regel 6: Die Norm gibt an, dass eine ausgelöste Transition  den Schritt vor ihr deaktiviert und gleichzeitig den ihr nachfolgenden Schritt aktiviert. Obige Logik der Aktivierung und Dektivierung von Schritten ergibt sich also aus der logischen Anwendung der Norm.

Regel 7

Eine GRAFCET kann sich verzweigen. Eine Alternativverzweigung lässt einen GRAFCET nur in einem Teil des Abzweiges weiter laufen. Eine parallele Verzweigung hingegen lässt den GRAFCET gleichzeitig in mehreren (parallelen) Zweigen weiter laufen (somit sind hier sehr wohl auch mehrere Schritte gleichzeitig aktiv!)

Vergleichen Sie Regel 6!

Regel 8

Ein Schritt, welcher doppelt umrandet ist, nennt man Initialschritt. Dieser Schritt ist automatisch zu Beginn des ersten Ablauf (=Anfangssituation) des GRAFCETs als aktiv zu sehen.

Regel 9

Die in der deutschsprachigen Literatur meist aufgeführte Regel, in einem Grafcet ohne Verzweigung dürfe immer nur ein Schritt (niemals aber mehrere Schritte gleichzeitig) aktiv sein, ist nicht korrekt.

Besitzt ein Grafcet eine Quelltransition und dient deren Flanke als Transition für alle weiteren Schritte, so bildet dieser Grafcet das Verhalten eines Schieberegisters nach. Es entstehen somit Zustände, in denen u.U. alle Schritte dieser Schrittkette gleichzeitig aktiv sein können! Siehe hierzu Grafcet 16.

Anmerkung: Der hier dargestellte Fall des Schieberegisters wird in der DIN EN 60848 als "häufiger Fall" dargestellt. Diese Betrachtung kann jedoch wohl getorst als überzogen angesehen werden.

In einer Schrittkette ohne Verzweigung ist i.d.R. immer nur ein Schritt aktiv!

Regel 10

Ein Leben ohne GRAFCET ist möglich, aber sinnlos. (Loriot)

Grafcet 8 – Schleife

Wie realisiert man in einem Grafcet, dass eine Kolbenstange viermal aus und wieder einfährt, bevor die Schrittkette weiter abgearbeitet wird?

 

Lösung:

Schritt X3 wird als einschließender Schritt bezeichnet. Wird er aktiviert, so aktiviert er seine ihm zugeordnete(n) Einschließung(en), Schritt X4 wird deshalb aktiviert. Nun läuft G2 nach seinen eigenen Regeln ab: Nach dem die Kolbenstange wieder einfährt, wird der Zähler (Counter C) um den Wert 1 erhöht. Dies führt dazu, dass beim viertem Einfahren der Zähler den Wert 4 besitzt. Schritt X5 wird somit nicht mehr verlassen. Aber die nun erfüllte Transition [C=4] deaktivert den einschließenden Schritt X3. Somit wird auch der Teil-Grafcet G2 deaktiviert.

Zähler mit Grafcet

Zähler mit Grafcet

Grafcet 7 – Zähler

Wie stellt man im Grafcet einen Zähler dar, der beispielsweise Bauteile zählt, die an einem Sensor (B1) vorbeifahren …

a) … wenn das Zählen immer nur in einem bestimmten Schritt passiert?

b) … wenn der Zeitpunkt des Zählens nicht vorhersehbar ist?

Lösung:

a)

Im linken Bild wird der Zählerstand um den Wert 1 erhöht, wenn die Transition ausgelöst hat, d.h. X3=1 und B1 liefert eine steigende Flanke.
Im rechten Bild wird der Zählerstand um den Wert 1 erhöht, wenn die Schritt 4 aktiviert wird, d.h. X4 liefert eine steigende Flanke.

Zähler in Grafcet (Zählervariable "C")

Zähler in Grafcet (Zählervariable „C“)

 

 

 

 

 

 

 

 

 

 

 

b)

In G1 befindet sich die eigentliche Schrittkette. Der Teilgrafcet G2 dient nur dazu, den Zählerstand um den Wert 1 zu erhöhen, wenn Sensor B1 ein Werkstück erkennt. Der Zählvorgang kann so lange stattfinden, wie die Anlage eingeschaltet ist.

Zähler in Grafcet wenn Sensor B1 eine steigende Flanke liefert.

Zähler in Grafcet wenn Sensor B1 eine steigende Flanke liefert.

Fehlerteufel 2

Wird der Motor im Rechtslauf betrieben, wenn der Schritt 5 aktiv ist? Was passiert, wenn der Grafcet (durch Betätigung von S2) in den Schritt 6 wechselt?

Grafcet_002_Speichernd_Aufgabe

 

 

 

 

 

Lösung:

Diese Darstellung ist nicht korrekt. Das Zeichen „:=“ deutet darauf hin, dass die Aktion „Motor rechts“ speichernd wirkend auf 1 gesetzt wurde. Dies jedoch verlangt nach einer zusätzlichen Angabe, durch was die Speicherung ausgelöst werden soll!

Beispielsweise kann dies durch Aktivierung eines Schrittes geschehen. Dann muss ein linksbündiger, nach oben gerichteter Pfeil eingezeichnet werden:

Grafcet_002_speichernde_Lösung_2

Bedeutung: Durch Betätigung von S1 gelangt man in den Schritt 5, dadurch wird „Motor rechts“ speichernd wirkend auf 1 gesetzt, d.h. er wird eingeschaltet. Wenn nun S2 betätigt wird, so wird zwar Schritt 5 verlassen, der Motor bleibt jedoch weiterhin im Rechtslauf. Um ihn abzuschalten wird wiederum eine speichernd wirkende Aktion an anderer Stelle benötigt.