Transitionen und Aktionen

  • Bild Nr. 1: Boolescher Ausdruck in einer Bedingung bei einer kontinuierlichen Aktion mit Zuweisungsbedingung.
  • Bild Nr. 2: Ein Bool-Symbol wird beschrieben durch eine speichernd wirkende Aktion bei Aktivierung.
  • Bild Nr. 3: Ein Analog-Symbol wird beschrieben durch eine speichernd wirkende Aktion bei Aktivierung.
  • Bild Nr. 4: Angabe eines BOOL-Symbols bei einer kontinuierlich wirkenden Aktion.

Ein Analogsymbol kann bei einer speichernd wirkenden Aktion geschrieben werden.

Hinweise:

  • Arithmetische Operationen: Addition (+), Subtraktion (-), Multiplikation (*) und Division (/).
  • Bei Division durch Null wird das Ergebnis auf den maximalen Wert des Datentyps festgelegt.

Der Ausruck wird von links nach rechts berechnet. Punkt-vor-Strichrechnung muss mit Klammerung priorisiert werden.

Beispiele:

Zuweisung Erklärung
AO0:=100 In das analoge Symbol AO0 wird der Wert 100 (dezimal) geschrieben.
AO0:=Value1 Es wird der Wert von Value1 geschrieben
AO0:=AO0+1 Es das Ergebnis von AO0+1 geschrieben
AO0:=Value1+Value2 Das Ergebnis der Addition wird geschrieben
AO0:=Value1*Value2 Das Ergebnis der Multiplikation wird geschrieben
AO0:=Value1+Value2-Value4 usw.
AO0:=Value1*(Value2+Value3) usw.
AO0:=Value1*(Value2*(Value3*Value4)) / Value5 usw.

Ein Boolescher-Ausdruck muss bei Transitionen und Aktionsbedingungen angegeben werden. Siehe Bild Nr. 1

Hinweise:

  • Mögliche binäre Operationen: UND (*), ODER (+)
  • Modifikatoren: Steigende Flanke (↑), Fallende Flanke (↓), Negierung (!)
  • Vergleiche können verknüpft werden.

Ein Vergleich muss immer in eckigen Klammern stehen (siehe Beispiele unten).

Im booleschen Ausdruck bewirkt '*' eine UND-Verknüpfung und ein '+' bewirkt eine ODER-Verknüpfung.

Der Ausruck wird von links nach rechts berechnet. UND-vor-ODER muss mit Klammerung priorisiert werden

Beispiele von booleschen Ausdrücken:

Boolescher Ausdruck Erklärung
I2 Es wird nur ein boolesches Symbol angegeben.
I0*I1 UND-Verknüpfung zwischen zwei booleschen Symbolen
I0+I1 ODER-Verknüpfung zwischen zwei booleschen Symbolen
I0*I1*(I2+I3) UND und ODER Verknüpfung mit Klammersetzung
(I0*I1)+(I2*I3) Zwei UND-Verknüpfungen werden ODER verknüpft
↑I0 Steigende Flanke von I0
↓I0 Fallende Flanke von I0
!I0 Negierte Abfrage von I0 (Wird durch horz. Linie im GRAFCET dargestellt)
↓I0*I1 Fallende Flanke von I0 UND I1
2s/(I0*I1)+I2 Wenn I0 UND I1 TRUE sind läuft eine Zeit ab (2 Sek.). Der Ausdruck ist TRUE, wenn I2 TRUE ist oder die Zeit abgelaufen ist und wenn I0 und I1 immer noch TRUE sind.
I0*[Value1>Value2] I0 muss TRUE sein und Value1 größer als Value2. Vergleiche müssen in eckigen Klammern stehen.
I0*[Value1>Value2+10] I0 muss TRUE sein und Value1 größer als Value2+10. Dieses Beispiel macht auch klar, warum ein Vergleich in eckiger Klammer stehen muss. Das Plus-Zeichen ist innerhalb der Klammer eine Addition und außerhalb der Klammer eine ODER-Verknüpfung.
[Value1>Value2] * [Value3<Value3] zwei Vergleiche UND verknüpft.
[Value1=Value2] Vergleich auf gleich
[Value1!=Value2] Vergleich auf ungleich
[Value1>Value2] Vergleich auf größer
[Value1<Value2] Vergleich auf kleiner
[Value1>=Value2] Vergleich auf größer oder gleich
[Value1<=Value2] Vergleich auf kleiner oder gleich

Ein Bool-Symbol kann bei einer speichernd wirkenden Aktion geschrieben werden. Siehe Bild Nr. 2

Syntax:

Bool-Symbol:=Boolescher Ausdruck

Erklärung boolescher Ausdruck (siehe weiter oben)

Diese GRAFCET Features werden von GRAFCET-Studio noch nicht unterstützt:

  • Einfrierbefehl bei zwangssteuernden Befehlen
  • Flanke eines Klammerausdrucks. Beispiel ↑(I0*I1). Flankenauswertung von Operanden ist möglich: ↑I0
  • Zeitbegrenzte Aktion: Angabe von !(6s/X28) bei einer kont. wirkenden Aktion mit Zuweisungsbedingung.
  • Abfrage der Schrittdauer. Beispiel für Schritt "1", "T1" (Siehe DIN EN 60848 [2.2])