Grafcet 15 – Einschließender Schritt mit Aktion?

Ist es zulässig, an einen einschließenden Schritt ein Aktionskästchen anzufügen?

Lösung:

Ja, das ist möglich. Ein einschließender Schritt besitzt alle Eigenschaften, die ein "nicht-einschließender Schritt" auch besitzt.

Stehen beispielsweise mehrere einschließende Schritt für verschiedene Betriebsarten, so kann an den entsprechenden einschließenden Schritt die jeweilige Meldelampe für diese Betriebsart angefügt werden.

Grafcet 14 – Einschließender Schritt mit Initialschritt

Ist es möglich, dass innerhalb einer Einschließung ein Schritt als ein Initialschritt gekennzeichnet wird?

 

 

Lösung:

Ja, das ist möglich.

Es folgt aus dieser Kennzeichnung jedoch, dass der einschließende Schritt selbst ebenso als Initialschritt gekennzeichnet werden muss. Das Sternchen innerhalb der Einschließung kann beim Initalschritt stehen, muss es aber nicht.

Steht das Sternchen z.B. bei Schritt 9 und ist als Initialschritt der Schritt 7 gekennzeichnet, so ist in der Anfangssituation X7 aktiv. In allen weiteren (späteren) Situationen in denen der Initialschritt aktiviert wird, wird dadurch X9 aktiviert.

Fehlerteufel 8

Ein Drehstrommotor soll über den Taster S1 in den Linkslauf und mit Taster S2 in den Rechtslauf geschaltet werden.

Beide Taster sind in der Anlage nicht hardwareseitig gegeneinander verrigelt.

Wie müssen demnach die Transitionsbedingungen im folgenden Grafcet aussehen?

sich gegenseitig ausschließendeTransitionen

fehlende Transitionsbedingungen

 

 

 

 

 

 

 

 

Lösung:

Die Darstellung im Grafcet muss stets eindeutig sein. Auch der unwahrscheinliche Fall, dass die Taster S1 und S2 gleichzeitig betätigt werden, muss berücksichtigt werden. Würde auf eine Negation im Grafcet verzichtet, so könnten Schritt 3 und Schritt 4  gleichzeitig aktiviert werden. Dies widerspricht jedoch den Gesetzmäßigkeiten der Alternativverzweigung, wonach entweder Schritt 3 ODER Schritt 4 aktiv sein darf.

Auf diese Eindeutigkeit muss immer geachtet werden. Wären die Taster S1 und S2 hardwareseitig gegenseitig verriegelt, könnte man im Grafcet auf die Negationen in den Transitionsbedingungen verzichten. Gleiches gilt, wenn die Drehrichtungsänderung durch einen Wahlschalter einstellbar wäre.

sich gegenseitig ausschließendeTransitionen

sich gegenseitig ausschließendeTransitionsbedingungen

 

 

 

 

 

 

 

 

Würden jetzt tatsächlich beide Taster exakt gleichzeitig betätigt, so würde sich der Grafcet nicht verändern, d.h. weder Schritt 3 noch Schritt 4 würde aktiviert werden.

Grafcet 13 – Makroschritt mit Aktion

Durch einen Makroschritt kann man eine Vielzahl von Schritten komprimiert darstellen. Ist es empfehlenswert, diesen Makroschritt mit einer Aktion zu verknüpfen, wie im Bild gezeigt?

Makroschritt mit angehängter Aktion - empfehlenswert?

Makroschritt mit angehängter Aktion - empfehlenswert?

 

 

 

 

 

 

 

 

 

Lösung:

Nein, diese Darstellung ist nicht zu empfehlen. Möchte man zum Ausdruck bringen, dass der Motor währende der Dauer des Makroschrittes M3 aktiv ist, so sollte man auf das Aktionskästchen verzichten und stattdessen einen Kommentar "Motor läuft" verwenden:

Makroschritt mit Kommentar anstatt Aktion

Makroschritt mit Kommentar anstatt Aktion

 

 

 

 

 

 

 

 

Der Grund dafür liegt in der Eigenschaft des Makroschrittes. Er dient als eine Art Zusammenfassung einer Vielzahl von Einzelschritten. Im Beispiel müsste jeder dieser Einzelschritte mit der Aktion "Motor" verknüpft sein. Da aber Schritt M3 stellvertretend für alle diese Einzelschritte (incl. deren Aktionen) steht, wäre es unlogisch Teilbereiche/Aktionen dieser Einzelschritte in der  "Zusammenfassung" nochmals extra auszuweisen.

Ergänzender Hinweis:

Da der Makroschritt jedoch (ebenso, wie ein "normaler" Schritt) eine Schrittvariable (hier: XM3) besitzt, wäre eine angehängte Aktion nicht normverletzend. Die Schrittvariable des Makroschrittes ist genau dann "1", wenn ein Schritt der Expansion eines Makroschrittes aktiv ist.

Die Norm verbietet es nicht ausdrücklich, einem Makroschritt eine Aktion anzuhängen.

Der Verzicht auf eine Aktion ist also (nur) eine reine Empfehlung.

 

Grafcet 12

Wenn ein Grafcet aus nur zwei Schritten besteht, kann man diesen nicht nach den üblichen Gesetzen der Schrittkettenlogik im FUP programmieren.

Beachtet man jedoch wenige Regeln, so ist eine Umsetzung des Grafcets in einen FUP problemlos möglich.

Wie sieht der FUP zu folgendem Grafcet aus?

Grafcet aus zwei Schritten im FUP programmieren

Grafcet aus zwei Schritten im FUP programmieren

 

 

 

 

 

 

 

 

 

 

 

Die Lösung finden Sie in diesem Video weiterleitung zu Youtube

 

 

Grafcet Glossar

Hier folgt eine (unvollständige) Auflistung wichtiger Begriffe zum Thema Grafcet.

1 Der Initialschritt

Der Initialschritt ist durch einen Doppelrahmen gekennzeichnet. Dieser spezielle Schritt ist beim Initialiseren des Grafcets automatisch aktiv.

Nicht selten wird eine Anlage durch mehrere Grafcets beschrieben, in diesem Fall sind oftmals mehrere Initialschritte vorhanden.

2 Der Makroschritt

Sein Kennzeichen ist der Buchstabe "M", gefolgt von einer Schrittnummer (z.B. M4). Zusätzlich erhält er zwei waagerechte Linien im Schrittkästchen. Somit ist der Makroschritt von allen anderen Schritten gut zu unterscheiden.

Der Makroschritt steht als Platzhalter für eine Vielzahl von Schritten.

Ein Makroschritt kann somit erst dann verlassen werden, wenn alle "seine" Schritte vollständig abgearbeitet wurden.

Mittels eines Makroschritts lassen sich umfangreiche Grafctes "komprimiert" darstellen. So dient der Makroschritt beispielsweise der Übersichtlichkeit.

Der erste Schritt innerhalb eines Makroschrittes erhält den Buchstaben "E" (gefolgt von der Schrittnummer, z.B.: E4).

Der letzte Schritt innerhalb eines Makroschrittes erhält den Buchstaben "S" (gefolgt von der Schrittnummer, z.B.: S4).

3 Der einschließende Schritt

Sein Kennzeichen sind die diagonalen Linien an den Ecken innerhalb des Schrittkästchens. Der einschließende Schritt erhält wie üblich eine Schrittnummer.

Der einschließende Schritt wird leider oftmals mit dem Makroschritt verwechselt. Wird ein einschließender Schritt aktiv, so aktivert er seine (ihm zugeordneten) Einschließungen. Diese Einschließungen laufen nach ihren eigenen Regeln ab. Eine Deaktivierung eines einschließenden Schrittes hat zur Folge, dass seine Einschließungen dadurch ebenfalls deaktiviert werden.

Mit Hilfe von einschließenden Schritten lassen sich beispielsweise verschiedene Betriebsarten (Hand, Automatik, Tipp-Betrieb etc.) realisieren.

Ein einschließender Schritt kann auch als Initialschritt gekennzeichnet sein. Dies ist dann der Fall, wenn ein Schritt seiner Einschließung(en) als Initialschritt gekennzeichnet wird.

4 Zwangssteuernde Befehle

Einen zwangssteuerden Befehl erkennt man an einem vermeintlichen Aktionskästchen mit Doppelrahmen. Obwohl man auf den Ersten Blick meinen könnte, es handelt sich um eine Aktion, wäre diese Annhame falsch.

Es werden vier Arten von zwangssteuernden Befehlen unterschieden:

... einen bestimmten Schritt (bzw. mehrere Schritte) setzen

... alle Schritte eines Grafcets deaktiveren

... einen Grafcet einfrieren

... den Initialschritt eines Grafcets aktiveren

Mit Hilfe von zwangssteuernden Befehlen lassen sich Abschaltbedingungen (NOT-Halt, NOT-Aus etc.) gut umsetzen.

Oftmals werden zwangssteurnde Befehle jedoch falsch gedeutet, deshalb möchte ich auf einen wichtigen Sachverhalt hinweisen:

Empfängt ein (untergeordneter) Grafcet von einem (übergeordneten) Grafcet einen zwangssteuernden Befehl, so kann sich der untergeordnete Grafcet während dessen n i c h t  v e r ä n d e r n ! Gleichgültig um welchen der vier Befehle es sich handelt.

5 Aktionen, kontinuierlich wirkend

Kontinuierlich wirkende Aktionen finden maximal so lange statt, wie der zugehörige Schritt aktiv ist. Sie können zusätlich mit sog. Zuweisungen versehen werden. Diese Zuweisungen wirken i.d.R. dann als zusätzliche Bedinungen, die erfüllt sein müssen, damit die kontinuierlich wirkende Aktion ausgeführt wird.

Diese Zuweisungen können auch Zeiten beinhalten.

6 Aktionen, speichernd wirkend

Speichernd wirkende Aktionen werden i.d.R. durch die Flanke einer Schrittvariable aktiviert/ deaktivert. Ein linksbündiger Pfeil nach oben oder aber nach unten zeigt eine steigende oder aber fallende Flanke der Schrittvariabeln an.

Dies bedeutet, speichernd wirkende Aktionen können länger (für einen Vielzahl von Schritten) aktiv sein, als kontinuierlich wirkende Aktionen. Um eine speichernd wirkende Aktion auszuschalten, muss (wie beim Einschalten) ein speichernd wirkender Befehl verwendet werden.

Neben der Aktiverung/ Deaktivierung durch eine Schrittvariable ist auch eine Aktivierung/ Deaktivierung durch ein Ereignis (z.B. Flanke eines Sensors) möglich. In diesem Fall findet das Symbol "Fähnchen" seine Anwendung.

Aktion bei Auslösung: Die Norm (Ausgabe Dezember 2002, gültig bis Dez. 2014) bot die zusätzliche Möglichkeit, eine speichernd wirkende Aktion an eine Transition zu knüpfen. Löste die betreffende Transition aus, so war dies der Triggerimpuls für die angehängte speichernd wirkende Aktion. Auf einen linksbüdnigen Pfeil wurde in dieser Variante logischerweise verzichtet.

Siehe hierzu Grafcet 7.

7  Analoge Transitionsbedingungen

Sensoren stellen oftmals eine Transition von einem zum nächsten Schritt dar. Liefert ein Sensor nicht nur die Signale "high -1" oder "low - 0" sondern eine Vielzahl von Messwerten, so spricht die Grafcet-Norm von sog. Transitions-Variablen, diese werden in eckige Klammern gesetzt.

Beispiel:  [Temperatur>20°C] ;  [Drehzahl<100 1/min];   [Zähler=5]

8 Zeiten

Zeiten können sowohl Transitionen als auch Aktionen beeinflussen.

Es können Einschaltverzögerungen, Ausschaltverzögerungen und Zeitbegrenzungen dargestellt werden.

Einschaltverzögerung: t1/y --> Mit steigender Flanke von y startet die Zeit t1 (und läuft nur dann ab, wenn y den Wert 1 beibehält).

Ausschaltverzögerung: y/t2 --> Mit fallender Flanke von y startet die Zeit t2.

Zeitbegrenzung: Negationsstrich über den kompletten Ausdruck t1/y --> Mit steigender Flanke von y startet die Zeit t1.

Oftmals wird eine Kombination von Ein- und Ausschaltverzögerung verwendet:   t1/y/t2

Schrittdauer

Die Variable TX# gibt die Dauer des aktiven Schritts X# an. War z.B. Schritt 3 für 7s aktiv, so ist TX3=7s. Der Wert TX3=7s bleibt so lange erhalten, bis X3 erneut aktiv wird. Zu diesem Zeitpunkt wird TX3=0s und beginnt erneut abzulaufen.

 

9 Verzweigungen

Ein Grafcet kann linear ablaufen aber auch Verzweigungen besitzen. Man unterscheidet Alternativverzweigungen von parallelen Verzweigungen.

Alternative Verzweigung: Von einem Schritt ausgehend kann die Steuerung entweder in den einen Schritt oder aber in den anderen Schritt übergehen. Jede Kette besitzt ihre eigene Transition. Eine gemeinsame Transition für mehrere Ketten ist hier nicht zulässig. Die jeweilgen Transitionen müsen so gewählt werden, dass sie niemals gleichzeitig erfüllt sein können. Gegebenenfalls müssen sie deshalb gegeneinander verriegelt werden.

Vor einer Zusammenführung steht für jeden Zweig eine eigene Transition.

Parallele Verzweigung: Von einem Schritt ausgehend führt eine gemeinsame Transition gleichzeitig in mehrere (parallele) Schritte. Die Zusammenführung von parallelen Ketten erfolgt ebenfalls durch eine gemeinsame Transition.

Diese gemeinsame Transition giltjedoh erst dann als freigegeben, wenn alle Schritt die unmittelbat vor ihr liegen aktiv sind. (Die Norm spricht deshalb auch gerne von einer Synchronisation paralleler Ketten).

10 Kommentar

Durch Kommentare kann die Lesefreundlichkeit eines Grafcets sehr gut erhöht werden. Kommentare dürfen an beliebiger Stelle platziert werden, sie müssen lediglich in Anführungszeichen gesetzt werden.

Werden Kommentare in ausreichender Menge verwendet und aussagekräftig formuliert, so dient das dem Leser zur schnelleren Erfassung der Funktion.  "Kommentar"

11 Rückführung, Schleifen und Sprünge

Eine Rückführung (oftmals vom Ende des Grafcets zurück zum Anfang) realisiert man durch eine Wirkverbindung mit Richtungsangabe (Pfeil nach oben). Denn eine Wirkverbindung ohne Richtungspfeil wirkt grundsätzlich immer von oben nach unten.

Eine Schleife (die eventuell mehrmals durchlaufen werden soll) lässt sich so auch sehr leicht realisieren. Die Rückführung mündet dann einfach in den gewünschten Schritt und nicht im Initialschritt.

Ein Sprung von einem Schritt zu einem anderen Schritt ist oftmals nichts anderes als eine Alternativverzweigung mit "abgeschnittener" Wirkverbindung. An das Ende der Wirkverbindung schreibt man das Sprungziel, also die Schrittvariable des Schrittes, zu dem gesprungen werden soll (z.B. X4).

Ebenso kann dieses Form der Darstellung auf eine Rückfuhrung angewendet werden.

Auch bei Rückführungen, Schleifen und Sprüngen muss die Grundregel Schritt-Transition-Schritt immer eingehalten werden.

12 Struktur eines Grafcets

Ein Grafcet kann in zwei "Bereiche" unterteilt werden. Jeder Grafcet besteht er aus Schritten und Transitionen. Dieser Bereich wird Struktur genannt.

Als Wirkungteil hingegen beschreibt man die Aktionen, ohne Betrachtung der Schritte.

13 Quellschritt und Schlussschritt

Unter einem Quellschritt versteht man einen Schritt ohne vorangehende Transition. Dies hat zur Folge, dass ein Quellschritt nur dann aktiv sein kann, wenn er

a) als Initialschritt gekennzeichnet ist

b) durch einen zwangssteuernden Befehl angesprochen wird

c) durch einen einschließenden Schritt aktiviert wird

Besitzt ein Schritt keine nachfolgende Transition, so spricht man von einem Schlussschritt. Dies hat zur Folge, dass ein Schlussschritt nur durch folgende Arten deaktiviert werden kann:

a) Deaktivierung durch einen zwangssteuernden Befehl

b) Deaktivierung eines einschließenden Schrittes (setzt voraus, dass der Schlussschritt Teil der Einschließung ist)

14 Quelltransition und Schlusstransition

Eine Transition ohne vorangehenden Schritt nennt man Quelltransition. Eine Quelltransition gilt immer als freigegeben (unabhängig davon, in welchem Schritt sich der GRAFCET befindet). Deshalb wird als Transitionsbedinung niemlas ein Zustandsabfrage, sondern eine Flankenabfrage gewählt.

Ein GRAFCET mit einer Quelltransition könnte somit auf einen Initialschritt verzichten.

Eine Transition ohne nachfolgenden Schritt nennt man Schlusstransition. Löst diese Schlusstransition aus (ist sie also freigegeben und erfüllt), so deaktiviert diese Auslösung den vorherigen Schritt.

Ein GRACFET mit einer Schlusstransition besitzt also nach der Schlusstransition k e i n e Rückfuhrung (zum Anfangsschritt etc.).

15 Einschließender Anfangsschritt

Beinhaltet eine Einschließung einen Initialschritt, so muss der zugehörige einschließende Schritt auch als Initialschritt gekennzeichnet werden, er wird somit zum "einschließenden Anfangsschritt".

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).

Regel 5

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 6

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 7

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 Regel6 und Regel 7: 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 8

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 7!

Regel 9

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 10

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

Grafcet 11

Um von X3 nach X4 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 X3 wechselt?

B1 muss für 5s bedämpft bleiben

B1 muss für 5s bedämpft bleiben

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 X2 aktiv ist. Wechselt die Steuerung später in den Schritt X3, 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.

Fehlerteufel 8

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.

 

Grafcet 10

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:

fehlerhafte Transition im Grafcet

fehlerhafte Transition im Grafcet

 

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

  • die linke Zeit (t1) mit steigender Flanke von „Variable“ abzulaufen beginnt (Voraussetzung für einen kompletten Ablauf ist, dass „Variable“ ständig erfüllt bleibt-auch dies widerspricht der Darstellung im obigen Grafcet)
  • die rechte Zeit „t2“ mit fallender Flanke von „Variable“ startet und somit „nachläuft“

Eine mögliche Lösung kann so aussehen:

fallende Flanke als Einschaltverzögerung

fallende Flanke als Einschaltverzögerung

 

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.

Fehlerteufel 7

Welcher Grafcet bietet (unnötigen) Raum zur Diskussion uind sollte deshalb vermieden werden?

unklare Transitionsbedingungen

unklare Transitionsbedingungen

 

 

 

 

 

 

 

 

 

 

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!

Fehlerteufel 6

Auf welche Angabe im Grafcet sollte verzichtet werden, da sie weder der Übersichtlichkeit dient, noch die Funktion des Grafcet verändert?

überflüssige Angabe in Transition

überflüssige Angabe in Transition

 

 

 

 

 

 

 

 

Lösung:

Die Angabe X2 nach Schritt 2 ist überflüsig, denn die Transition nach X2 wird erst dann freigegeben, wenn X2 aktiv ist. Somit ist die Transition X2 immer erfüllt, es macht keinen Sinn, sie extra abfragen zu wollen.

Vergleiche „Grafcet 4“

PAL Abschlussprüfung

Neue Kennzeichnungen von Objekten

Für einige Ausbildungsberufe wird in den PAL-Abschlussprüfungen die Kennzeichnung der Betriebsmittel in Zukunft (Stand: November 2015) umgestellt.

Es ist geplant, die Prüfungen sukzessive zu aktualisieren, wenn möglich sollen für eine gewisse Übergangszeit sowohl die neuen als auch die alten Bezeichnungen parallel verwendet werden.

Dies trifft ins Besondere folgende Berufe:

  • Mechatroniker
  • Industriemechaniker
  • Elektroniker für Automatisierungstechnik (EAT)

weiter Informationen finden Sie hier

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

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

 

Lösung:

Grafcet/FUP Analogie

Grafcet/FUP Analogie

 

 

 

 

 

 

 

 

 

 

 

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 großes Problem. Was hat der Ersteller des Grafcets nicht beachtet?

stockender Ablauf

stockender Ablauf

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lösung:

Wie auch beim Fehlerteufel 4 hat der Ersteller des Grafcets nicht auf einen einwandfreien Ablauf geachtet. Nur führt dies in diesem Grafcet 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 muss natürlich ausgeschlossen werden.

 

An dieser Stelle bedanke ich mich bei Professor Meusel (RFH Köln) für diese Inspiration.

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:

Dieser Grafcet wird als „unsichere“ Ablaufkette beschrieben. 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. Das darf nicht passieren.

Der Ersteller des Grafcets muss darauf achten, dass der Steuerungsablauf  i m m e r eindeutig ist.

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 (bevor der Grafcet wieder von vorne abläuft) in einem Grafcet 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:

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 selbstverständlich, dass X1 und X2 nicht mehr aktiv sind, wenn X3 aktiv ist.

Diese Aussage bezieht sich natürlich auf einen linear (aber geschlossenen) ablaufenden Grafcet. Parallelverzweigungen etc. sind hiervon ausgenommen.

Grafcet 3

Erläuterung zum Eintrag „Grafcet 2“:

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

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

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

Wird Schritt 4 erneut aktiv, so werden die 8s auf 0s zurückgesetzt, die variable TX4 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. Ich wüsste nicht, was dagenspricht.

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

Grafcet 2

Sie wollen in einem GRAFCET mit einer Variablen die Schrittdauer eines aktiven Schrittes beschreiben (z.B. die Schrittdauer des aktiven Schrittes X2).  Wie lautet hierzu die korrekte Angabe der Variablen?

 

Lösung:

TX2

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.

 

Fehlerteufel 1

Hier stelle ich gern gemachte Fehler vor. Lernen Sie aus Fehlern der anderen.

Was ist an diesem Grafcet unlogisch?

fehlerhafter Grafcet 1

 

Lösung:

2s/X25: Die Aktion „Ausgang 1“ wird 2s nach Aktivierung von Schritt 25 (steigende Flanke von X25) aktiv. Soweit ist der Grafcet noch richtig.

X25/4s: Man könnte meinen, die Aktion „Ausgang 1“ wäre noch 4s lange aktiv, nachdem X25 eine fallende Flanke liefert. Jedoch stellt dies einen Widerspruch dar, denn eine fallende Flanke von X25 bedeutet, der Schritt 25 wurde verlassen (X26 ist aktiv). Die Grundvoraussetzung für die Aktion „Ausgang 1“ ist jedoch immer, dass der zugehörige Schritt 25 aktiv ist.

Dies ist der Widerspruch in diesem Grafcet!

Würde X25 beispielsweise durch einen Sensor ersetzt (z.B. 2s/B1/4s), wäre dieses Problem behoben.

Blogeröffnung

Herzlich Willkommen zum GRAFCET-Blog!

Dieser Blog dient dem fachlichen Austausch rund um das Thema Grafcet.

Verwenden Sie die Kommentarfunktion des Blogs, Ihre Kommentare werden nach Prüfung veröffentlicht.

Ich freue mich auf einen regen Austausch!

Mit freundlichen Grüßen

Christian Duhr