Programmiersyntax
Syntax: |
<Achsname> [ INDP ABORTING | BUFFERED [ OFFSET=..] G90 | G91 G00 | G01 [FEED=..] [POS=..] [DIR=..] | STOP ] |
<Achsname> | Name der unabhängigen Achse |
INDP | Kennung für eine unabhängige Achse |
ABORTING / | ABORTING bricht eine zuvor gestartete Achsbewegung der programmierten Achse ab. Hinweis: BUFFERED noch nicht verfügbar. |
STOP | Stopp der Achse, Abbruch des aktuellen Bewegungsauftrags. Nicht mit anderen Schlüsselworten kombinierbar |
OFFSET | Angabe, welche Achsversätze mit eingerechnet werden sollen; s. Offsettabelle |
G90 / G91 | Absolut- / Relativmaß |
G00 / G01 | Eilgang- / Linearinterpolation |
FEED | Achsspezifischer Vorschub in [mm/min, m/min, inch/min] |
POS | Achsposition in [mm, inch] |
DIR | Richtungsangabe, zulässige Angaben:
Es können auch mathematische Ausdrücke verwendet werden, die zu einem der Werte resultieren. |
Hinweis
Bei der Verwendung von ‚POS‘ muss zwingend ‚G90‘ oder ‚G91‘ angegeben werden.
Fehlt diese Angabe, so wird der Fehler ID 50967 ausgegeben.
Schlüsselwort für Offset | Bedeutung |
---|---|
ALL | Alle aktiven Versatzmaße der Achse |
ZERO | Nullpunktverschiebungen |
ADD_ZERO | Additive Nullpunktverschiebungen bzw. Bezugspunktverschiebungen |
PSET | Istwertverschiebungen |
CLAMP | Platzversätze |
TOOL | Werkzeugversätze |
MEASURE | Messverschiebungen |
MANUAL | Handbetriebverschiebungen |
Programmierbeispiel
Positionierung mit Abbruchbedingung
; Aufgabenstellung:
; Sobald die X-Achse über Position 100 fährt, wird die Z-Achse
; auf Position 900 bewegt.
; Sollte die Z-Achse sich bereits bewegen, wird diese Bewegung
; abgebrochen
; Die Bewegung wird mit Einberechnung aller Offsets durchgeführt.
N010 #RT CYCLE [ID=2 SCOPE=PROG]
N020 $IF ONCE V.RTA.ACS.ACT_POS.X > 100
N030 Z [INDP ABORTING G01 G90 FEED=500 POS=900 OFFSET=ALL]
N040 $ENDIF
N050 #RT CYCLE END
N060 G90 X100
N070 G90 X200
N080 M30
Programmierbeispiel
Endlosdrehen mit Startbedingung
; Aufgabenstellung:
; Z positiv endlos drehen, wenn X > 1mm
; Echtzeit-Zyklus definieren
N10 #RT CYCLE [SCOPE = PROG]
N20 $IF ONCE V.RTA.ACS.ACT_POS.X > 1
N30 Z[INDP DIR = POS FEED = 1000]
N40 $ENDIF
N50 #RT CYCLE END
; Bewegung starten
N60 G01 X100
; beenden--
N70 M30