Sprunganweisung

LABEL <label_name>;

    <statements>

GOTO <label_name>;

Die LABEL- und GOTO-Anweisungen ermöglichen Sprünge im G-code.

LABEL <label_name>;

Mit LABEL wird ein Sprungziel mit dem angegebenen Namen an die angegebenen Position eingebunden.
Dabei muss <label_name> ein gültiger Bezeichner sein, wie der Name einer Variable oder einer Funktion.
Eine LABEL-Anweisung kann dort verwendet werden, wo eine Anweisung erwartet wird, außer im Zusammenhang mit einer CASE-Anweisung.
Ist eine LABEL-Anweisung in einer Funktion definiert, ist deren Gültigkeitsbereich auf die Funktion beschränkt.
Befindet sich die Label-Anweisung im globalen Code, so ist diese nur im globalen Bereich gültig.
Es ist ein Fehler, wenn zwei LABEL-Anweisungen mit dem gleichen Namen im gleichen Gültigkeitsbereich definiert sind.

GOTO <label_name>;

Sorgt für die Fortsetzung der Ausführung des g-Codes an der Stelle, an der das angegebene LABEL eingebunden ist.
Es ist ein Fehler, wenn der angegebene <label_name> nicht im Gültigkeitsbereich der GOTO-Anweisung definiert ist.
Zudem ist es nicht erlaubt, GOTO-Anweisungen innerhalb einer CASE-Anweisung zu verwenden.

Beispiel

N10 G00 X0 Y0 Z0
N20 G01 X10 F1000
!R1 := 0;

!LABEL jumpPos;
!R2 := R1;
!R1 := R2 + 1;
N30 G01 Y=10*R1

!IF R1 = 1 THEN
    !GOTO jumpPos;
!END_IF

N40 G01 Z =10*r1

!IF R1 = 2 THEN
    !goto jumpPos;
!END_IF

M30

Voraussetzungen

TwinCAT

GST Interpreter

TwinCAT 3.1.4024.47

GST 3.1.8.67