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.

Zählschleifen 1:

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, daß eine Schleife einmal zu wenig durchlaufen wird.

Anstelle des P-Parameters können auch Variablen ("V.") mit Schreibzugriff oder, falls in der Applikation freigegeben [6]-6.44, auch R-Parameter (siehe Kapitel 9) 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

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

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 erniedrigt
wird. Innerhalb der Zählschleife kommen N110 bis N130 zur Ausführung.

N120 Y COS [P1 * 5] 
N130 ...
N150 $ENDFOR

N100 $FOR P1= 100, 10, 1 P1 wird bei Schleifenbeginn mit 100 vor- belegt. Die Zählschleife wird solange durch-
laufen,bis P1 den Wert 10 überschritten hat,
N110 X SIN [P1 * 5] also gar nicht. Innerhalb der Zählschleife
kommen N110 bis N130 zur Ausführung.

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