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

Seite 80

Advertising
background image

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;

Advertising