Grafcet 9 – Quellschritt

Nicht in jedem GRAFCET erfolg eine Rückführung vom letzten Schritt hin zum Initialschritt. Oftmals dient der Initialschritt nur als “Quelle” der Schrittkette. Man bezeichnet diesen Schritt dann als Quellschritt.

Quellschritt: Immer wenn ein Schritt keine im vorangestellte Transition besitzt, spricht man von einem Quellschritt.

Beispiel: Hier ist X0 der Initialschritt, erkennbar am Doppelrahmen. Vor dem Initialschritt befindet sich jedoch keine Transition, somit wird dieser Initialschritt als Quellschritt bezeichnet.

Grafcet: Quellschritt als Initialschritt

GRAFCET: Quellschritt als Initialschritt

 

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.

Grafcet 6 – Grafcet vs. FUP

Dies ist eine Antwort auf die Leseranfrage von Fabi96.

Es wird gezeigt, wie ein Initialschritt durch ein SPS Programm realisiert wird. In meinem Buch stelle ich vier verschiedene Möglichkeiten vor, einen Initialschritt/ GRAFCET durch ein SPS Programm abzubilden.

Dieser einfache GRAFCET soll in einen FUP umgesetzt werden:

vom Grafcet zum FUP

vom GRAFCET zum FUP

Hier nun die erste Variante aus meinem Buch, der zugehörige FUP kann so aussehen:

vom Grafcet zum FUP; strukturiertes Programmieren

vom GRAFCET zum FUP
strukturiertes Programmieren

Erklärung: Der Initialschritt wird genau dann "automatisch" gesetzt, wenn alle anderen Schritt nicht aktiv sind. Dies ist beim ersten Einschalten der Steuerung der Fall. Deshalb wurde an den Setzeingang von "X0" das UND-Gatter gelegt.

Beachten Sie die Rücksetzbedingung des letzen Schrittes. Der letze Schritt X2 wird durch den Taster S3 zurückgesetzt, dies führt in diesem Programm "automatisch" zum Setzen von X0. Und genau dieses Verhalten gibt der GRAFCET auch vor.

Grafcet 5

Analogie Grafcet/FUP

Wie sieht der GRAFCET aus, der Vorlage für den abgebildeten Programmausschnitt war?

Analogie Grafcet/FUP

einfache Schrittkette, Analogie GRAFCET/ FUP bzw. FBS

Lösung:

Grafcet/FUP Analogie

Analogie     GRAFCET/ FUP, FBS 

Anmerkung: da hier nicht bekannt ist, welcher Schritt nach der Transition "S0" folgt, wurde die Transition selbst als Rücksetzbedingung gewählt.

Im Blogeintrag GRAFCET 6 sehen Sie, wie eine vollständige Umsetzung eines GRAFCETs in ein S7 Programm erfolgen kann.

Fehlerteufel 5

Auch dieser Grafcet beinhaltet ein Problem. Was hat der Ersteller des Grafcets nicht beachtet?

stockender Ablauf

stockender Ablauf

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lösung:

Der Ersteller des Grafcets hat nicht auf einen einwandfreien Ablauf geachtet. Nur führt dies in diesem Grafcet, im Vergleich zum Grafcet im Fehlerteufel 4, zu einem anderen Resultat.

X2 und X3 sind aktiv, S3 wird betätigt, nun sind also X2 und X5 aktiv.

Die gemeinsame Transition B2 wird erst freifgegeben, wenn X6 aktiv ist. Schritt 6 kann jedoch nun nicht mehr aktiv werden, denn dazu müsse X4 aktiv und B1 erfüllt sein. X4 kann aber nicht mehr aktiv werden, da X5 aktiv ist.

Der Grafcet ist also blockiert, seine Schritte 2 und 5 bleiben dauerhaft aktiv, daran kann nichts mehr geändert werden.

Dieses (fehlerhafte) Verhalten wird wohl nicht gewollt sein, und muss deshalb ausgeschlossen werden.

Fehlerteufel 4

Der abgebildete GRAFCET sieht auf den ersten Blick korrekt aus. Worin liegt jedoch das Problem in dieser Darstellung?

unsichere Ablaufkette

unsichere Ablaufkette

 

 

 

 

 

 

 

 

 

 

 

 

Lösung:

X2 und X3 sind aktiv, wenn jetzt S3 betätigt würde, bevor die Transition 5s/X3 erfüllt wäre, so würde Schritt 5 aktiv werden. Die Transition B2 würde dann in den Schritt 1 überleiten. Schritt 1 und Schritt 2 wären aktiv.

Da GRAFCET  keine Programmiersprache, sondern eine Entwurfssprache ist, widerspricht dieser Ablauf nicht den Grundregeln der GRAFCET  Norm. Dieses Beispiel soll jedoch verdeutlichen, dass es u.U. zu unerwarteten Zuständen kommen kann.

Fehlerteufel 3

Ist in diesem GRAFCET die Grundregel Transition-Schritt-Transition … erfüllt?

Ist der GRAFCET somit normgerecht dargestellt oder ist er fehlerhaft gezeichnet?

Parallelverzweigung

Parallelverzweigung

 

 

 

 

 

 

 

 

 

 

 

Lösung:

Der GRAFCET ist nicht normgerecht. Vor einer Parallelverzweigung darf es immer nur e i n e gemeinsame Transition geben. Im abgebildeten GRAFCET kann jedoch vor der Parallelverzweigung keine Transition sitzen, da dann die Regel “Schritt-Transition-Schritt” verletzt würde.

Darüber hinaus wäre es hier möglich, durch S1 n u r den Schritt 2 zu aktivieren, Schritt 3 wäre dann inaktiv. Auch das widerspricht der Logik einer Parallelverzweigung.

Grafcet 4

Ist es sinnvoll, die letzte Transition in einem geschlossenen GRAFCET (bevor der GRAFCET wieder von vorne abläuft) durch die Negation aller vorherigen Schritt (wie in folgendem Ausschnitt gezeigt) zu ergänzen?

Transition ergänzt durch Negation der Schritte

Transition ergänzt durch Negation der Schritte

 

 

 

 

 

 

 

Lösung:

In der Regel nein, denn die GRAFCET Norm besagt, dass ein Schritt die vorherigen Schritt a u t o m a t i s c h  zurücksetzt. Somit ist es sehr wahrscheinlich, dass X1 und X2 nicht mehr aktiv sind, wenn X3 aktiv ist.

Diese Aussage bezieht sich auf einen linear (aber geschlossenen) ablaufenden GRAFCET. Dieser besitzt weder eine Quell- noch eine Schlusstransition.

Anmerkung: Die GRAFCET Norm verbietet es nicht, dass neben den Schritten 3 auch noch die Schritte 2 und 1 aktiv sind!

Sollte tatsächlich sichergestellt werden, dass alle Schritte neben X3 deaktiviert werden müssen, bevor der nächste Schritt aktiviert werden soll, so ist die oben abgebildete Transitionsbedinung tatsächlich so anwendbar.

Grafcet 3

Erläuterung zum Eintrag “GRAFCET 2”:

Die Variable T2 beschreibt die Dauer, die ein aktiver Schritt gesetzt ist.

Beispielsweise soll der Schritt 4 bereits seit 8s aktiv sein, die Variable T4 besitzt somit den Wert 8s (T4=8s).

Wird Schritt 4 verlassen, so behält die variable T4 den Wert 8s.

Wird Schritt 4 erneut aktiv, so werden die 8s auf 0s zurückgesetzt, die variable T4 erhält dann einen neuen Wert.

Anmerkung: Eigentlich schreibt die  Norm folgende Noation vor:

T”Bezeichnung des Schritts” (Also beispielsweise TRechtslauf)

Anstelle der Schrittbezeichnung kann jedoch wohl problemlos dessen Schrittvariable geschrieben werden.

Sowohl die Schrittbezeichnung, als auch die Schrittvariable sind eindeutige Kennzeichen.