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 /
BUFFERED

ABORTING bricht eine zuvor gestartete Achsbewegung der programmierten Achse ab.
Wird das Schlüsselwort nicht angegeben, dann wird standardmäßig ABORTING verwendet.

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]
Wird FEED ohne die Angabe von Richtung und einer G-Funktion G00/G01 programmiert, löst es eine Endlosbewegung der Achse mit dem vorgegebenen Vorschub aus.

POS

Achsposition in [mm, inch]

DIR

Richtungsangabe, zulässige Angaben:

  • POS, positive Richtung
  • CUR, aktuelle Richtung
  • NEG, negative Richtung

Es können auch mathematische Ausdrücke verwendet werden, die zu einem der Werte resultieren.

Hinweis

notice

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

prg_example

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

prg_example

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