Grafcet – FAQ 13 Vermischung von kontinuierlich wirkenden und speichernd wirkenden Aktionen

Diese Rubrik bietet die Antworten auf die am häufigsten gestellten Fragen zum Thema GRAFCET.

Sie vermissen Ihre Frage? Schreiben Sie mir!

Grafcet-FAQ 13
Darf in einem Grafcet eine Variable sowohl kontinuierlich als auch speichernd wirkend beschrieben werden?
Aus aktuellem Anlass soll hier nochmal klargestellt werden, in wie weit eine Vermischung von kontinuierlich wirkenden Aktionen mit speichernd wirkenden Aktionen zulässig bzw. verboten ist.

Wenn eine Variable (z.B. Motor_3) in einem Grafcet an irgendeiner Stelle kontinuierlich wirkend beschrieben wird, darf diese Variable (also Motor_3) in diesem Grafcet nirgends speichernd wirkend beschrieben werden.

Wenn eine Variable (z.B. Motor_2) in einem Grafcet an irgendeiner Stelle speichernd wirkend beschrieben wird, darf diese Variable (also Motor_2) in diesem Grafcet nirgends kontinuierlich wirkend beschrieben werden.

Man muss sich also entscheiden, ob eine Variable im gesamten Grafcet entweder durchgängig kontinuierlich wirkend oder immer speichernd wirkend beschrieben wird.

Natürlich könnte man die Variable Motor_3 durchgängig kontinuierlich wirkend, und die Variable Motor_2 immer speichernd wirkend in einem Grafcet beschreiben.

Dieser Sachverhalt wurde schon im Eintrag Grafcet-FAQ 1 diskutiert.

Grafcet – FAQ 11 federrückgestelltes Ventil

Diese Rubrik bietet die Antworten auf die am häufigsten gestellten Fragen zum Thema GRAFCET.

Sie vermissen Ihre Frage? Schreiben Sie mir!

Grafcet-FAQ 11

Eine Kolbenstange wird pneumatisch angetrieben. Muss man eine speichernd wirkende Aktion im GRAFCET verwenden, wenn hierfür ein federrückgestelltes Ventil verwendet wird?

Lösung: Hier lautet die Antwort nein und nein!

Grundsätzlich lautet die Empfehlung für Variablen, die auf einen physikalischen Ausgang (Ventilspule) wirken: Es sollten wenn möglich nur kontinuierlich wirkende Aktionen verwendet werden.

Hinzu kommt, dass man immer zusätzlich die gewünschte Funktionsweise beachten muss. Soll beispielsweise die Kolbenstange nur für die Dauer eines Schrittes ausgefahren bleiben, so wäre die Verwendung einer speichernd wirkenden Aktion niemals sinnvoll (denn man müsste im nächsten Schritt den Ausgang wieder speichernd wirkend auf null ":=0" setzen).

Man kauft sich zusätzlich einen weiterern Nachteil ein: Wird die Variable "Ventilspule" speichernd wirkend beschrieben, so muss sie im kompletten GRAFCET immer speichernd wirkend beschrieben werden.

 

Grafcet – FAQ 9 Arten von speichernd wirkenden Aktionen

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

Grafcet-FAQ 9

Welche Arten von speichernd wirkenden Aktionen gibt es?

Lösung:
Speichernd wirkende Aktion bei ...
 ... Aktivierung eines Schrittes (siehe Grafcet 24)
 ... Deaktivierung eines Schrittes (siehe Grafcet 8)
 ... einem Ereignis (siehe Grafcet 23)
 ... Auslöung einer Transition (siehe Grafcet 7)

Grafcet 23 – speichernd wirkenden Aktion bei Ereignis

Im gezeigten GRAFCET sei Schritt 3 aktiv. Wird der Motor M5 speichernd wirkend eingeschaltet, wenn der Sensor B1 seinen Signalzustand von 0 auf 1 ändert?

Grafcet: speichernd wirkende Aktion bei einem Ereignis

GRAFCET: speichernd wirkende Aktion bei einem Ereignis

 

 

 

 

 

 

 

 

 

 

 

Antwort:

Nein, wenn Senso B1 eine steigende Signalflanke liefert wird dadurch nur Schritt 4 aktiv. Das Ereignis, welches den M5 speichernd wirkend einschaltet liegt nun in der Vergangenheit, weshalb die Abfrage „Flanke B1“ am Fähnchen als Antwort „false“ liefert.

Erst ein erneuter Wechsel des Signalzustandes des Sensors B1 von 0 auf 1 schaltet nun (Schritt 4 ist bereits aktiv) den Motor M5 speichernd wirkend ein.

 

Grafcet – FAQ 1 Konflikt in der Ausgangswertigkeit

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.

Siehe hierzu auch Fehlerteufel 10

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 wirkende Aktion realisiert 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 – Konflikt in der Ausgangswertigkeit

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 incl. zugehöriger 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 incl. zugehöriger Weiterschaltbedinung von einem zum andern Schritt fungiert.

Eine Transition gilt als freigegeben, wenn alle unmittelbar vor ihr liegenden Schritte aktiv 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.
Es gibt jedoch sehr viele Anlagen, in denen immer nur ein Schritt aktiv ist.

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 Teil-GRAFCET 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.