Zählschleifen

Zählschleifen erlauben das n-malige Abarbeiten von Anweisungen. Die Anzahl der Schleifendurchgänge wird durch eine Zählvariable kontrolliert.

Die Syntax der Zählschleife beginnt mit:

$FOR P<expr> = <expr1>, <expr2>, <expr3>

und endet immer mit:

$ENDFOR

Dabei ist P<expr> die Zählvariable, deren Startwert durch <expr1>, deren Endwert durch <expr2> und das Zählinkrement durch <expr3> festgelegt wird.

Hinweis

notice

Als Zählvariable dürfen nur ganzzahlige Werte verwendet werden.

Bei der Verwendung von Dezimalzahlen kann die Schrittweite i.a. nicht exakt dargestellt werden (Ausnahme: Zweierpotenzen), da sich beim Aufsummieren ein Rundungsfehler akkumuliert. Dies kann dazu führen, dass eine Schleife einmal zu wenig durchlaufen wird.

Anstelle des P-Parameters können auch Variablen ("V.") mit Schreibzugriff verwendet werden.

Ist das Zählinkrement negativ, so erfolgt der Schleifenabbruch bei Unterschreitung des Endwertes, ist es positiv, so wird die Schleife bei Überschreitung des Endwertes abgebrochen. Die Programmierung des Zählinkrements 0 führt zu einer Endlosschleife und zur Ausgabe einer Warnung.

Programmierbeispiel

prg_example

Zählschleifen

N100 $FOR P1= 10, 100, 2  P1 wird bei Schleifenbeginn mit 10 vorbelegt.
                          Die Zählschleife wird solange durchlaufen,
                          bis P1 den Wert 100 überschritten hat, wobei
                          P1 am Ende jedes Schleifendurchlaufs um 2
                          erhöht wird.

N110 X SIN [P1 * 5]       Innerhalb der Zählschleife kommen die NC-Sätze
                          bis N130 zur Ausführung.

N120 Y COS [P1 * 5]

N130 ...

N150 $ENDFOR

Programmierbeispiel

prg_example

Negative Schrittweite:

N100 $FOR P1= 100, 10, -2  P1 wird bei Schleifenbeginn mit 100 vorbelegt.
                           Die Zählschleife wird solange durchlaufen, bis
N110     X SIN [P1 * 5]    P1 den Wert 10 unterschritten hat, wobei P1 am
                           Ende jedes Schleifendurchlaufs um 2 reduziert
                           wird. Innerhalb der Zählschleife kommen N110

                           bis N130 zur Ausführung.

N120 Y COS [P1 * 5]

N130 ...

N150 $ENDFOR

Nicht ausgeführte Schleife:

N100 $FOR P1= 100, 10, 1   P1 wird bei Schleifenbeginn mit 100 vorbelegt.
                           Die Zählschleife soll solange durchlaufen wer
                           den, bis P1 den Wert 10 überschritten hat.
N110 X SIN [P1 * 5]        Hier jedoch nie, da P1 mit 100 vorbelegt ist.

N120 Y COS [P1 * 5]

N130 ...

N150 $ENDFOR

Endlosschleife:

N100 P2=20

N110 $FOR P1= 100, 10, 0 Endlosschleife

N120 $IF P2 == 50

N130 $BREAK

N140 $ENDIF

N150 $ENDFOR