Grafcet 28 – Kontinuierlich wirkende Aktionen falsch gewählt

Mit beiden Grafcets soll eine einfache Schaltung „Motor in Selbsthaltung“ realisiert werden. Nach dem Signal „Start“ soll der Motor solange den Zustand „EIN“ besitzen, bis das Signal „Stopp“ den Motor abschaltet, ihn also in den Zustand „AUS“ versetzt.

Am Beispiel des linken Grafcets soll deutlich werden, dass es nicht nur sinnlos ist, für diese Zwecke zwei boolsche Variablen zu verwenden, sondern dass diese Verwendung sogar falsch ist, da sich dadurch ein widersprüchliches Verhalten ergibt:

Boolsche Variablen können im Grafcet Widersprüche erzeugen

Anmerkung: Wenn man in obigen Grafcets die Transtionsbedingung „Start“ ersetzt durch „Start & nicht-Stopp“, verhindert man so einen transienten Ablauf bei gleichzeitiger Betätigung von „Start“ und „Stopp“.

Der Blogeintrag Grafcet 21 erläutert ein weiteres Problem, dass bei der Verwendung von kontinuierlich wirkenden Aktionen entstehen kann.

Grafcet – FAQ 6 kontinuierlich wirkende Aktion

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

Grafcet-FAQ 6
Wenn kontinuierlich wirkende Aktionen ständig ihre Variablen beschreiben, so muss doch folgender GRAFCET immer einen Konflikt der Ausgangswertigkeit erzeugen?

kontinuierlich wirkende Aktion

kontinuierlich wirkende Aktion

 

 

 

 

 

 

 

 

 

 

 

 

 

Antwort:
Nein, das ist nicht so.

Erklärung:
Es werden nur die Variablen von kontinuierlich wirkenden Aktionen durch inaktive Schritte mit dem Wert false beschrieben, welche nicht bei dem aktuell aktiven Schritt vorkommen.
Im betrachteten GRAFCET wird also bei aktivem Schritt X1 der Variablen Q0 der Wert 1 zugewiesen. Durch X2 und X4 erhält Q0 nicht den Wert 0, da Q0 ja beim aktiven Schritt X1 vorkommt.

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

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.