Schritte in ST

Syntax
STEP name_1 :
action_1();
action_2();
action_3(BZ); (* mit einem optionalen Aktionsbestimmungszeichen; 'BZ' ist hier nur ein Platzhalter. *)
action_4(BZ,T#0s); (* mit einem optionalen Aktionsbestimmungszeichen und einer Zeitdauer *)
...
action_n();
END_STEP

Bedeutung

ein →Schritt im →AS-Netzwerk, wobei name_1 ein →IEC-Bezeichner sein muss
Pro AS-Netzwerk sind mehrere Schritte zulässig. Beachten Sie die Hinweise unter "AS-Elemente in ST", wie Sie AS-Netzwerke effizient und korrekt erstellen/verwenden.

Dem Schritt kann eine oder mehrere Aktionen zugeordnet werden: action_1(); ... action_n();Die Steuerung dieser Aktionen erfolgt durch das optionale Aktionsbestimmungszeichen.

Informationen darüber, wann ein Schritt bzw. Initial-Schritt aktiv oder inaktiv ist, und die Auswirkungen davon finden Sie unter "Auswertung des ST-Codes inklusive der AS-Netzwerke".

Die Verwendung des Schritts ist nur in der aktuellen POE möglich.

Beispiel
STEP step1 :
act1();
act2(N);
act3(L,T#10s);
END_STEP
 
STEP step2 :
act2(R);
END_STEP

Schrittmerker und Schrittzeiten verwenden

Sie können die folgenden Eigenschaften eines Schritts in der aktuellen POE verwenden. Die Verwendung ist analog zur Verwendung einer →konstanten Variable möglich.
(Die folgenden Beschreibungen beziehen sich auf einen Schritt mit dem Namen name_1.)

  • Schrittmerker: Der aktive oder inaktive Zustand des Schritts kann durch den logischen Wert des booleschen Strukturelements name_1.X dargestellt werden. Falls der Schritt aktiv ist, hat X den Wert TRUE (oder eine Entsprechung). Bei einem inaktiven Schritt hat X den Wert FALSE (oder eine Entsprechung). Verwenden Sie z.B. den Schrittmerker, damit ein AS-Netzwerk den Zustand eines anderen AS-Netzwerks prüfen kann.

  • Schrittzeit: Die Zeit, die seit der Initiierung des Schritts verstrichen ist, kann durch das Strukturelement name_1.T vom Datentyp TIME dargestellt werden: Wird der Schritt aktiviert, wird der Wert für name_1.T auf t#0s zurückgesetzt. Wird der Schritt deaktiviert, bleibt der Wert für name_1.T erhalten, der vorlag, als der Schritt deaktiviert wurde.

  • Aktivierungszeitpunkt: Der Zeitpunkt, zu dem der Schritt aktiviert wurde, kann durch das Strukturelement name_1.S vom Datentyp TIME dargestellt werden.

Beispiel
ACTION act3 :
IF step1.T < t#5s THEN (* Bis 5 Sekunden nach der Aktivierung des Schritts 'step1' wird die Variable 'cntStep0' hochgezählt. *)
cntStep0 := cntStep0 + 1;
ELSE
cntStep0 := cntStep0 - 1;
END_IF;
END_ACTION
 
(* Fehlerhafte Verwendung *)
step1.X := BOOL#1;
step1.T := t#100ms; 
step1.S := t#100s;