Endlich ein schülergerechter GRAFCET. Ein Scheitern der Mission ist nicht vorgesehen.
Endlich ein schülergerechter GRAFCET. Ein Scheitern der Mission ist nicht vorgesehen.
Um von Schritt 3 nach Schritt 4 zu gelangen, muss der Sensor B1 5s lang bedämpft sein.
Was passiert jedoch, wenn Sensor B1 schon für 5s bedämpft war, während der GRAFCET noch im Schritt 2 war und erst später in den Schritt 3 wechselt?
Lösung:
Die Transitionsbedingung 5s/B1 gilt als erfüllt, nachdem Sensor B1 5s lang true war (und weiterhin true bleibt). Im nebenstehenden Beispiel könnte dieser Zustand eintreten, während Schritt 2 aktiv ist. Wechselt die Steuerung später in den Schritt 3, so wird die (schon erfüllte) Transition 5s/B1 freigegeben, die Steuerung gelangt umgehend in den Schritt 4.
Schritt 3 wird somit als „instabiler Schritt“ bezeichnet. Es liegt ein sog. „transienter Ablauf“ vor.
Anmerkung: Diese Fragestellung wird irrelevant, wenn anstatt eines Sensors eine Schrittvariable verwendet wird. Also z.B. 5s/X3. Denn dann ist klar, dass die 5s erst dann ablaufen, wenn X3 erreicht wurde.
Die Transition wird erst dann wieder als „false“ betrachtet, wenn B1 seinen Signalzustand von 1 auf 0 wechselt.
Möchte man das zweideutige Verhalten des obigen GRAFCETs verhindern, hat man hierzu mehrere Möglichkeiten.
Ein Teil-GRAFCET G2 soll genau dann in seinen Schritt X3/G2 gezwungen werden, wenn der Sensor B1 Bedämpft wird.
Ist es also möglich, den zwangssteuernden Befehl „G2{X3}“ um eine Zuweisung „B1“ zu ergänzen?
Lösung:
Nein. Kein zwangssteuernder Befehl kann durch irgendwelche zusätzlichen „Bedingungen“ etc. erweitert werden. Im beschriebenen Fall muss der Sensor B1 als Transition verwendet werden, die in den Schritt überleitet, der den zwangssteuernden Befehl „G2{X3}“ ausführt.
Möchte man innerhalb einer Transition eine Zeit starten lassen, wenn ein Sensor eine fallende Flanke liefert, so ist man geneigt, folgende Transition zu wählen:
Ist diese Darstellung normgerecht?
Lösung:
Nein, diese Darstellung ist (leider) nicht normgerecht, obwohl nahezu jeder Leser intuitiv (richtig) verstehen würde, was der Ersteller des GRAFCET meinte.
Die Zeitnotation in GRAFCET ist jedoch mit (t1/Variable/t2) so festgelegt, dass
Eine mögliche Lösung kann so aussehen:
Von X3 ausgehend leitet die fallende Flanke von B1 über in den Schritt X3.1
Mit Aktivierung von X3.1 starten die 5s. Da X3.1 während dessen immer eine logische 1 besitzt, laufen die 5s auch vollständig ab.
Schritt X4 wird also 5s nachdem B1 eine fallende Flanke lieferte, erreicht.
Der Schritt X3.1 dient hier als klassischer „Leerschritt“. Ihm wird keine Aktion zugeordnet, im Produktionsablauf existiert dieser Schritt auch nicht.
Deshalb wurde im Beispiel auch die Schrittnummer mit 3.1 gewählt. Somit soll der Leser schnell erkennen, dass es sich nicht um einen „wirklichen“ Schritt handelt. Die Anlage nimmt diesen Schritt also nicht auf Grund Ihrer Abläufe ein.
Welcher GRAFCET bietet (unnötigen) Raum zur Diskussion uind sollte deshalb vermieden werden?
Lösung:
Die Erfahrung zeigt, dass der GRAFCET unter a) von verschiedenen „Lesern“ verschiedenartig interpretiert werden kann. Mögliche Interpretationsvarianten sind:
b) X2 wird verlassen, nachdem 4s abgelaufen sind (Triggerimpuls für die Zeit ist ausschließlich die steigende Flanke von X2) und zusätzlich (irgendwann) der Sensor B10 bedämpft wird
c) die 4s starten, wenn die Verknüpfung aus (X2&B10) eine steigende Flanke liefert. Nach Ablauf der 4s wird X2 verlassen
d) gleiches Verhalten wie in c)
Deshalb sollte die Schreibweise 4s/X2*B10 vermieden werden und durch die Varianten b, c oder d ersetzt werden!
Denn der GRAFCET sollte für ALLE eindeutig lesbar sein!
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 ihm 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.
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.