Nullpunktverschiebungen
In TwinCAT NC I stehen eine Reihe von Nullpunktverschiebungen zur Verfügung. Hiermit wird der Abstand zwischen dem Werkstück- und dem Maschinennullpunkt beschrieben.
Unterdrückung der Nullpunktverschiebung
Befehl |
G53 |
Aufhebung |
Mit G53 wird die Nullpunktverschiebung modal unterdrückt. Dabei wirkt sich die Unterdrückung sowohl auf die einstellbare, wie auch auf die programmierbare Nullpunktverschiebung aus.
Einstellbare Nullpunktverschiebung
Befehl | G54 G55 G56 G57 |
Aufhebung | oder Anwahl einer anderen einstellbaren Nullpunktverschiebung |
Im NC-Programm kann über die Befehle G54 bis G57 zwischen den Nullpunktverschiebungen hin- und hergeschaltet werden.
Parametrierung
Die einstellbare Nullpunktverschiebung kann auf unterschiedliche Weise parametriert werden
- SPS-Funktionsbaustein ItpWriteZeroShiftEx (empfohlener Standard)
- System Manager
- aus dem DIN-Programm (ab TwinCAT V2.9 Build 1031)
Die Parameter werden für jeden Interpolationskanal einzeln gesichert. D.h. die einstellbaren Nullpunktverschiebungen sind kanalabhängig.
Die Anwahl der einstellbaren Nullpunktverschiebung muss in einem eigenen Satz erfolgen. Damit die Verschiebung auch wirklich herausgefahren wird, müssen in einem folgenden Geometriesatz wenigstens die betroffenen Achsen genannt werden. |
Beispiel 1:
N10 G01 X100 Y0 Z0 F6000
N20 G54 (activates adjustable zero offset shift (NPV))
N30 G01 X Y Z
N40 M30
In Beispiel 1 werden in Zeile 30 alle Achsen beteiligten Achsen genannt. Dies bewirkt, dass die Nullpunktverschiebungen für alle Achsen herausgefahren werden.
Beispiel 2:
N10 G01 X100 Y0 Z0 F6000
N20 G54 (activates adjustable zero offset shift (NPV))
N30 G01 X200 Y
In Beispiel 2 wird in Zeile 30 die X-Achse an die Position 200 + Verschiebung in X-Richtung verfahren. Bei der Y-Achse wird lediglich die Verschiebung herausgefahren und die Z-Achse wird nicht bewegt.
Parametrierung aus dem DIN-Programm
ab TwinCAT V2.9 Build 1031
Befehl | #set paramZeroShift( G<n>; <value x>; <value y>; <value z> )# |
Parameter G<n> | Nullpunktverschiebung die parametriert werden soll (G54..G59) |
Parameter <value> | Koordinaten der Nullpunktverschiebung |
Mit '#set paramZeroShift(..)#' wird die NPV parametriert aber noch nicht aktiviert. Dafür muss der G-Code noch explizit programmiert werden.
Beispiel 3:
N10 G01 X100 Y0 Z0 F6000
N20 R12=200
N30 #set paramZeroShift( G54; 100.0; R12; -20)#
N40 G54 (activates adjustable zero offset shift (NPV))
N50 G01 X200 Y Z
Programmierbare Nullpunktverschiebung
Befehl | G58 oder G59 |
Aufhebung |
Neben der einstellbaren existieren auch noch programmierbare Nullpunktverschiebungen. Diese Art der Nullpunktverschiebung wird direkt aus dem NC-Programm beschrieben.
Addition der Nullpunktverschiebungen Die programmierbare Nullpunktverschiebung wirkt nur bei aktiver einstellbarer Nullpunktverschiebung. D.h. die gesamte Verschiebung ist die Summe aus • eingestellter Nullpunktverschiebung(G54, G55, G56 oder G57) • erster programmierbarer Nullpunktverschiebung (G58) • zweiter programmierbarer Nullpunktverschiebung (G59) |
Beispiel 4:
N10 G01 X100 Y0 Z0 F6000
N20 G54 (activates adjustable zero offset shift (NPV))
N30 G58 X0.5 Y0.5 Z0.5 (1st prg. zero offset shift)
N50 X Y Z (movements for the zero offset shift)
...
M30
Verhalten bei Kettenmaßangabe
Standardverhalten, unabhängig von der TwinCAT Version
Eine Veränderung des Nullpunktes wirkt sich auch im Kettenmaß aus.
Beispiel 5:
N10 G01 X100 Y0 Z0 F6000
N20 G54 (activates adjustable zero offset shift (NPV))
N25 G58 X10 Y10 Z0
N30 G91 (Incr. dimensions)
N40 G01 X200 Y0
N50 ...
In N40 verfährt Y im Basis-Koordinatensystem auf 10. Mit der Verschiebung des Nullpunktes, verschiebt sich auch der Bezugspunkt für die Kettenmaßprogrammierung, womit sich für Y dann ein Verfahrweg ergibt.
Auf diese Weise kann eine Kontur, die komplett im Kettenmaß programmiert ist, durch eine Nullpunktverschiebung an beliebiger Stelle abgefahren werden.
ab TwinCAT Version 2.10 Build 1308
Ab dieser Version ist das Verhalten unter G91 parametrierbar.
Befehl | Beschreibung |
ZeroShiftIncOn | Auch unter G91 werden die Nullpunktverschiebungen herausgefahren, wenn die Achse genannt wird |
ZeroShiftIncOff | Unter G91 wird die Nullpunktverschiebung nicht herausgefahren |
Beispiel 6:
N10 G01 X100 Y0 Z0 F6000
N15 ZeroShiftIncOff
N20 G54 (activates adjustable zero offset shift (NPV))
N25 G58 X10 Y10 Z0
N30 G91 (Incr. dimensions)
N40 G01 X200 Y
N50 ...
Da im Beispiel 6 'ZeroShiftIncOff' eingestellt ist, wird die X-Achse in N40 um 200mm unabhängig von der neuen Nullpunktverschiebung verfahren. Für die Y-Achse wurde keine Zielkoordinate programmiert, die Achse bleibt also stehen.
Vergl. auch ToolOffsetIncOn/Off