For-schleife, 4 for-schleife – NORD Drivesystems BU0000 Benutzerhandbuch
Seite 80

NORD CON Hilfe
80
BU 0000 DE
END_CASE;
Eine CASE-Anweisung wird nach folgendem Schema abgearbeitet:
Wenn die Variable in <Var1> den Wert <Wert i> hat, dann wird die Anweisung <Anweisung i>
ausgeführt.
Hat <Var 1> keinen der angegebenen Werte, dann wird die <ELSE-Anweisung> ausgeführt.
Wenn für mehrere Werte der Variablen, dieselbe Anweisung auszuführen ist, dann kann man
diese Werte mit Kommatas getrennt hintereinander schreiben, und damit die gemeinsame
Anweisung bedingen.
Wenn für einen Wertebereich der Variablen, dieselbe Anweisung auszuführen ist, dann kann
man den Anfangs- und Endwert getrennt durch zwei Punkte hintereinanderschreiben, und
damit die gemeinsame Anweisung bedingen.
Beispiel:
CASE INT1 OF
1, 5:
BOOL1 := TRUE;
BOOL3 := FALSE;
2:
BOOL2 := FALSE;
BOOL3 := TRUE;
10..20:
BOOL1 := TRUE;
BOOL3:= TRUE;
ELSE
BOOL1 := NOT BOOL1;
BOOL2 := BOOL1 OR BOOL2;
END_CASE;
9.3.2.2.4 FOR-Schleife
Mit der FOR-Schleife kann man wiederholte Vorgänge programmieren.
Syntax:
FOR <INT_Var> := <INIT_WERT> TO <END_WERT> {BY <Schrittgröße>} DO
<Anweisungen>
END_FOR;
Der Teil in geschweiften Klammern {} ist optional.
Die <Anweisungen> werden solange ausgeführt, solange der Zähler <INT_Var> nicht größer als
der <END_WERT> ist. Dies wird vor der Ausführung der <Anweisungen> überprüft, so dass
die <Anweisungen> niemals ausgeführt werden, wenn <INIT_WERT> größer als
<END_WERT> ist.
Immer, wenn <Anweisungen> ausgeführt worden ist, wird <INT_Var> um <Schrittgröße>
erhöht. Die Schrittgröße kann jeden Integerwert haben. Fehlt sie wird diese auf 1 gesetzt. Die
Schleife muss also terminieren, da <INT_Var> nur größer wird.
Beispiel:
FOR Zaehler :=1 TO 5 BY 1 DO
Var1 := Var1 * 2;
END_FOR;