Skip to main content
CNC.wikiCNC.wiki

G43, G44 und G49 Werkzeuglängenkompensation: Ein praktischer CNC-Leitfaden

Lernen Sie Werkzeuglängenkompensation mit G43, G44 & G49 sicher zu programmieren. Vermeiden Sie Crashs auf Fanuc, Siemens & Mitsubishi durch korrekte Parameter.

Hakan Gündoğdu
Hakan Gündoğdu

CNC CARE Mitgründer

Einleitung

Ein plötzlicher, ungebremster Vorschub im Eilgang direkt in eine gehärtete Schraubstockbacke (vise jaw), eine Spannpratze (fixture clamp) oder das rotierende Spannfutter (rotating chuck) ist der Albtraum jedes CNC-Bedieners. Wenn die Z-Achse mit voller Kraft nach unten rast und das Werkzeug zersplittert, liegt die Ursache fast immer in einer fehlerhaften oder unvollständigen Werkzeuglängenkompensation. Ein einziger vergessener absolute Positionierungssatz nach der Aktivierung von G43 führt dazu, dass die Werkzeugspitze unkoordiniert verfährt, was teure Spindellager beschädigt, den Werkzeugrevolver (turret) dejustiert und augenblicklich Ausschuss (scrap) produziert. Wird dieser Parameter nicht verifiziert, liegt das Ergebnis außerhalb der Toleranz — und der Fehler zeigt sich erst bei der Endmessung. Die korrekte Konfiguration eliminiert die häufigste Ursache für Maßabweichungen bei diesem Befehl. Die sichere Beherrschung von G43 (positive Kompensation), G44 (negative Kompensation) und G49 (Aufheben der Kompensation) ist daher das entscheidende Fundament für Präzision, Toleranzhaltigkeit und kompromisslose Prozesssicherheit in der modernen Zerspanung.

Technische Übersicht

SpezifikationDetails
G-Code-BefehleG43 (Werkzeuglängenkompensation in positiver Richtung), G44 (Werkzeuglängenkompensation in negativer Richtung), G49 (Werkzeuglängenkompensation aufheben)
ModalgruppeGruppe 08 (Modal G-Codes)
Kompatible MarkenFanuc, Siemens, Mitsubishi
Kritische ParameterFanuc: 5001 (TLC/TLB Typ A/B/C), 5006#6 (TOS physisch vs. mathematisch), 5003#6 (LVK Reset-Verhalten); Siemens: MD20380 $MC_TOOL_CORR_MODE_G43G44 (Modus A/B/C), MD20382 $MC_TOOL_CORR_MOVE_MODE (Rückzugsmodus); Mitsubishi: #1268 (ext04/bit6 Achsbewegung vs. Koordinatenverschiebung), #1247 (set19/bit0 Verhalten bei Nicht-Bewegung), #1274 (ext10/bit3 eigenständige H-Aktivierung), #8122 (Keep G43 MDL M-REF).
Kinematische HaupteinschränkungDie Startbefehle der Werkzeuglängenkompensation (G43/G44) dürfen niemals in Kreisinterpolationsblöcken (G02/G03) programmiert oder im selben Satz mit G04 (Verweilzeit), G53 (Maschinenkoordinatenauswahl) oder G28 (Referenzpunktfahrt) kombiniert werden.

Schnellleser

  • Programmieren Sie die Werkzeuglängenkompensation G43 ausschließlich in linearen Bewegungsblöcken (G00 oder G01) mit einer absoluten Zielkoordinate, um eine korrekte Vektorberechnung zu gewährleisten und P70-Kreisbogenfehler zu vermeiden.
  • Koordinieren Sie Ihren physischen H-Register-Index exakt mit dem eingelesenen Werkzeug; das Aufrufen eines falschen Offsets oder das Vergessen von G49 vor einem Werkzeugwechsel kann die Spindel (spindle) direkt in den Tisch rammen.
  • Konfigurieren Sie den Fanuc-Parameter 5001 (TLC/TLB) oder Siemens MD20380, um festzulegen, ob Offsets statisch auf die Z-Achse wirken (Typ A), dynamisch senkrecht zur aktiven Bearbeitungsebene (Typ B) oder auf die jeweils programmierte beliebige Achse (Typ C).
  • Erhalten Sie aktive Kompensationsvektoren bei einem CNC-Reset aufrecht, indem Sie den Fanuc-Parameter 5003 Bit 6 (LVK) auf 1 setzen, um unerwartete Koordinatensprünge bei einem Zyklus-Neustart zu verhindern.
  • Aktivieren Sie eigenständige H-Code-Aktualisierungen auf Mitsubishi-Systemen über Parameter #1274 Bit 3, um Werkzeugverschleiß-Offsets mitten im Zyklus auszutauschen, ohne G43 oder die Z-Position der Spindel erneut aufzurufen.
  • Verhindern Sie Kombinationsfehler (P45-Alarme) auf Mitsubishi-Systemen, indem Sie G43, G44 und G49 strikt von Verweilzeiten (G04), Maschinenkoordinatenauswahlen (G53) oder Homing-Routinen (G28) isolieren.

Grundlegende Konzepte

Die praktische Programmierwirkung der Befehle G43 und G44 besteht darin, die programmierte Bahn der Werkzeugspitze mathematisch anzupassen, um die physische Messlänge (gauge length) des in der Spindel (spindle) geladenen Werkzeugs zu berücksichtigen. Diese dynamische Verschiebung ermöglicht es Programmierern, universelle G-Codes zu schreiben, die vollständig auf dem Werkstück-Nullpunkt basieren, ohne die einzelnen Werkzeuglängen fest in die Koordinatenvektoren hineinzuschreiben.

Programmierer und Bediener müssen akribisch sicherstellen, dass sie die korrekte H-Offsetnummer aufrufen, die dem physischen Werkzeug entspricht. Das Aufrufen eines falschen Offsets oder das Vergessen des Löschbefehls G49 vor einem Werkzeugwechsel kann die Spindel direkt in das Werkstück oder den Maschinentisch rammen. Um die Sicherheit vollständig zu gewährleisten, hebt die Rückkehr zum Referenzpunkt über den Befehl g28-g29-g30-reference-point-return die Werkzeuglängenkompensation für die rückkehrende Achse automatisch auf.

Bei der Verwendung der fortgeschrittenen 3D-Koordinatensystemrotation (G68/G69) müssen Programmierer die Verschachtelung ihrer Befehle sorgfältig planen. Eine der häufigsten Fehlerursachen ist das Aufrufen einer Koordinatenrotation bei aktiver Werkzeuglängenkompensation und der anschließende Versuch, einen anderen Werkzeuglängenoffset (z. B. G43 H2) anzuwenden, ohne zuvor die Rotation aufzuheben. Dies verzerrt die Koordinatenmatrix massiv. Zudem unterscheiden sich Werkzeuglängenoffsets grundlegend von der Radiuskorrektur nach g40-g41-g42-tool-nose-cutter-radius-compensation; beide Systeme müssen in logischer Abfolge programmiert werden, um überlappende Konturfehler zu vermeiden.

Befehlsstruktur

Werkzeuglängenoffsets sind modale G-Codes der Gruppe 08, welche die Werkzeuglängenkompensation regeln. Die grundlegende Syntax erfordert den G-Code, die zu kompensierende Achse und eine H-Adresse (oder D-Adresse je nach Parameter), um die Registernummer des Offsets anzugeben. Die Achsadresse (z. B. Z, X oder Y) bestimmt die Zielachse der Kompensation, und die H-Adresse bezeichnet die Werkzeugkorrektur-Nummer.

G43 wendet die Werkzeuglängenkompensation in positiver Richtung an, was bedeutet, dass der eingetragene Offset-Wert zur programmierten Koordinate addiert wird. G44 wendet die Kompensation in negativer Richtung an, sodass der eingetragene Offset-Wert von der programmierten Koordinate subtrahiert wird. G49 hebt die aktive Werkzeuglängenkompensation auf und versetzt die Maschine wieder in einen Zustand unkorrigierter Koordinatenbewegungen. Die Kompensation kann auch aufgehoben werden, indem ein Offset-Registerwert von Null (H0 oder H00) befohlen wird.

Syntaxstrukturen in den verschiedenen Markensteuerungen:

  • Fanuc: G43 Z_ H_; oder G44 Z_ H_;
  • Siemens ISO-Modus: G43 [Achse]... H...; oder G44 [Achse]... H...;
  • Mitsubishi: G43 Z_ H_ ; oder G44 Z_ H_ ;
  • Universelle Abwahl: G49; oder H0;

Markenanwendungen

Fanuc

Auf Fanuc-Systemen ist die Werkzeuglängenkompensation tief mit den Steuerungsparametern 5001 und 5006 verknüpft. Das Verhalten unterscheidet sich zwischen Bearbeitungszentren und Drehmaschinen. Die Handhabung der Werkzeuglängenkompensation bei Fanuc zeichnet sich durch eine tiefgehende mathematische Anpassung innerhalb des eigenen Ökosystems aus.

Ein standardmäßiger Aufruf der positiven Werkzeuglängenkompensation wird als G43 Z100.0 H01; programmiert, um die positive Kompensation auf der Z-Achse zu aktivieren. G44 wendet den Offset in negativer Richtung an, und G49 hebt den Offset auf.

  • Parameter 5001 Bit 0 (TLC) und Bit 1 (TLB): Bestimmt das mathematische Achsverhalten für die Werkzeuglängenkompensation auf Systemen der M-Serie. Typ A (0) wendet die Kompensation jederzeit ausschließlich auf die Z-Achse an. Typ B (1) wendet die Kompensation auf die Achse an, die senkrecht zur aktuell aktiven Bearbeitungsebene (G17, G18 oder G19) steht. Typ C (2) wendet die Kompensation direkt auf die spezifische, im G43/G44-Block programmierte beliebige Achse an.
  • Parameter 5006 Bit 6 (TOS): Bestimmt, wie die Werkzeuglängenkompensation physikalisch ausgeführt wird. Ein Wert von 0 wendet die Kompensation über eine tatsächliche physische Achsbewegung an, während ein Wert von 1 sie mathematisch ausführt, indem das interne Koordinatensystem verschoben wird, ohne das Werkzeug zu bewegen.
  • Parameter 5003 Bit 6 (LVK): Bestimmt, ob der aktive Werkzeuglängenkompensationsvektor bei einem Reset der CNC sicher beibehalten (Wert 1) oder gelöscht (Wert 0) wird.
  • Parameter 5040 Bit 4 (TLG): Legt fest, ob das System das Standard-G43 oder das spezielle ATC-Drehmaschinenformat G43.7 und G44.7 verwendet, um Werkzeuglängenoffsets auf Drehmaschinen aufzurufen, die mit einem automatischen Werkzeugwechsler (ATC) ausgestattet sind.
  • Parameter 6000 Bit 3 (V15): Ermöglicht die Legacy-Kompatibilität, sodass Programmierer Werkzeugoffsetwerte unter Verwendung des älteren Series 15 Makrosystem-Variablenstruktursatzes (z. B. #2401) anstelle der modernen Variablenstruktur der Series 16/18 lesen und schreiben können.
  • Alarm PS0027 (NO AXES COMMANDED IN G43/G44): Wird auf Steuerungen der M-Serie ausgelöst, wenn die Maschine für Werkzeuglängenkompensation Typ C konfiguriert ist, aber keine physische Achsadresse im G43- oder G44-Block angegeben wurde.
  • Alarm PS0030 (ILLEGAL OFFSET NUMBER): Wird ausgelöst, wenn die durch den H-Code oder D-Code angegebene Offsetnummer zu groß ist und die maximal zulässigen Speicherlimits für Offsets im System exceeds.
  • Alarm PS0049 (ILLEGAL OPERATION G68/G69): Wird ausgelöst, wenn dreidimensionale Koordinatenkonvertierungsbefehle (G68/G69) und Werkzeuglängenkompensationsbefehle (G43/G44/G49) nicht korrekt verschachtelt sind, oder wenn eine Koordinatenrotation aktiv ist und der Programmierer versucht, einen neuen Werkzeuglängenoffset anzuwenden, ohne die Rotation zuvor aufzuheben.
  • Alarm PS5452 (IMPROPER G-CODE 5AXIS MODE): Wird ausgelöst, wenn eine standardmäßige Werkzeuglängenkompensation befohlen wird, während bereits die fortgeschrittene Werkzeugmittelpunktführung (tool center point control) oder die Werkzeugachsenrichtungs-Längenkompensation aktiv ist.
  • Versionsunterschiede: Ein wesentlicher architektonischer Unterschied besteht zwischen der M-Serie (Bearbeitungszentren) und der T-Serie (Drehmaschinen). Drehmaschinen verlassen sich im Allgemeinen auf native T-Codes für Geometrie- und Verschleißkompensationen, ohne G43 zu benötigen. Wenn ein Drehsystem jedoch mit einem automatischen Werkzeugwechsler (ATC) anstelle eines Standardrevolvers ausgestattet ist, bestimmt Parameter 5040 Bit 4 (TLG), ob das System G43 oder G43.7/G44.7 verwendet. Die Legacy-Makrokompatibilität wird über Parameter 6000 Bit 3 (V15) für Series 15 Variablen aktiviert.

Warning: Programmierer müssen eine strikte, standardisierte Verschachtelungsreihenfolge für das Anwenden von Offsets und Rotationen etablieren und explizit sichere G49-Abwahlblöcke oder Referenzpunktfahrten nutzen, bevor Werkzeuge oder Ebenen gewechselt werden, um PS0049-Alarme zu verhindern.

Siemens

Siemens-Steuerungen bieten eine hochgradig anpassbare Struktur, die Werkzeuglängenoffsets je nach aktivem Sprachmodus unterschiedlich verarbeitet. Wichtige Maschinenparameter sind MD20380 und MD20382, mit denen sich die Steuerung an ältere ISO-Programme oder native DIN-Operationen anpassen lässt.

Im ISO-Dialektmodus wird die positive Längenkompensation über G43 Z100.0 H01; aktiviert, wobei das H-Wort das Werkzeugkorrektur-Datenregister angibt. Die Abwahl erfolgt durch G49 oder die Programmierung von H00.

  • MD20380 $MC_TOOL_CORR_MODE_G43G44: Ein BYTE-Parameter (Wertbereich 0 bis 2), der bestimmt, wie die mit H programmierte Längenkompensation im ISO-Modus verarbeitet wird. Modus A (0) erzwingt, dass die Werkzeuglänge H immer auf die dritte Geometrieachse (in der Regel Z) wirkt. Modus B (1) erzwingt, dass die betroffene Achse von der aktiven Ebene abhängt (G17 = Z-Achse, G18 = Y-Achse, G19 = X-Achse). Modus C (2) erzwingt, dass die Werkzeuglänge genau auf die Achse wirkt, die gleichzeitig mit dem H-Wort im Block programmiert ist.
  • MD20382 $MC_TOOL_CORR_MOVE_MODE: Ein BOOLEAN-Parameter, der definiert, wie Werkzeuglängenkompensationen zurückgezogen werden. Wenn er auf 0 (FALSE) gesetzt ist, wird eine Werkzeuglängenkomponente nur dann zurückgezogen, wenn die zugehörige Achse explizit für eine Bewegung programmiert ist.
  • Alarm 14165 (Kanal %1: Block %2): Wird ausgelöst, wenn MD20380 auf Modus C (Wert 2) gesetzt ist, was bedeutet, dass die Länge auf die programmierte Achse wirkt, aber ein G43- oder G44-Befehl mit einem H-Wort ausgeführt wird, ohne dass mindestens eine Geometrieachse im selben Block angegeben ist.
  • Alarm 10915 / 10916: Wird ausgelöst, wenn die aktiven Werkzeuglängenkompensationswerte in Kombination mit der programmierten Geometrie zu einem Bereich führen, in dem eine Positionierung physikalisch oder kinematisch unmöglich ist (z. B. bei Verletzung von Begrenzungen während aktiver Transformationen). Die Steuerung greift ein und stoppt die Maschine, bevor der fehlerhafte Block ausgeführt wird.
  • Versionsunterschiede: Siemens-Steuerungen handhaben die Werkzeuglängenkompensation je nach aktivem Sprachmodus völlig unterschiedlich. Beim Betrieb im ISO-Dialektmodus (G291) müssen Programmierer die Werkzeuglängenkompensation explizit mit G43 oder G44 und einem H-Offset-Wort aktivieren. Im nativen Siemens-DIN-Modus (G290) hingegen werden Werkzeuglängen automatisch im Hintergrund aktiviert, sobald das Werkzeug und seine Schneidenkorrektur-Nummer (z. B. T1 D1) aufgerufen werden. Die expliziten Befehle G43/G44 sind in diesem Modus weder erforderlich noch werden sie nativ auf dieselbe Weise verarbeitet.

Warning: Ein sehr häufiger Programmierfehler ist es, die Maschine im ISO-Modus zu betreiben und zu vergessen, G43 oder G44 explizit zusammen mit einem H-Code zu programmieren, in der falschen Annahme, die Werkzeuglänge sei bereits aktiv, weil das automatische Aktivierungsverhalten von Siemens DIN erwartet wird.

Mitsubishi

Mitsubishi-Systeme verwalten Werkzeugoffsets über die Parameter #1268 und #1247. Die Steuerung verarbeitet sowohl das Format für Bearbeitungszentren (M) als auch für Drehmaschinen (L) nahtlos und bietet eine hohe Parameterflexibilität für Achsbewegungen und Koordinatenverschiebungen.

Ein standardmäßiger Fräsaufruf wird als G43 Z50.0 H01 ; geschrieben, um die Werkzeuglängenkompensation in der positiven Z-Richtung anzuwenden. Die Abwahl erfolgt über G49 Z100.0 ; oder durch Befehlen von H0.

  • Parameter #1268 ext04/bit6 (Werkzeuglängenoffset-Betrieb): Bestimmt, wie die Maschine den Offset physisch anwendet. Eine Einstellung von 0 (Achsbewegungstyp) wendet die Kompensation über eine sofortige physische Achsbewegung an. Eine Einstellung von 1 (Koordinatenverschiebungstyp) wendet die Kompensation über eine Koordinatenverschiebung an (das Koordinatensystem wird intern verschoben und die Achse bewegt sich erst beim nächsten absoluten Verfahrbefehl auf die kompensierte Position).
  • Parameter #1247 set19/bit0 (Bewegung durch Werkzeuglängenkompensationsbefehl): Bestimmt das Verhalten, wenn G43/G44 ohne Achsbewegung im selben Block befohlen wird. Eine Einstellung von 0 zwingt die Achse, sich sofort um den Kompensationsbetrag zu bewegen. Eine Einstellung von 1 wendet die Kompensation auf den internen Positionszähler an, ohne die Achse physisch zu bewegen.
  • Parameter #1274 ext10/bit3 (Eigenständiger H-Befehl): Wenn dieser auf 1 gesetzt ist, kann der modale H-Wert aktualisiert werden, indem die H-Adresse völlig allein in einem Block ausgegeben wird, ohne dass ein G43/G44-Präfix erforderlich ist.
  • Parameter #8122 (Keep G43 MDL M-REF): Wenn dieser auf 1 gesetzt ist, bleibt der Werkzeuglängenoffset auch nach einer manuellen Referenzpunktfahrt aktiv.
  • Alarm P45 (G-Code-Kombinationsfehler): Wird ausgelöst, wenn G43, G44 oder G49 im selben Block wie ein inkompatibler Befehl befohlen wird, wie z. B. G04 (Verweilzeit), G53 (Maschinenkoordinatenauswahl) oder G28 (Referenzpunktfahrt).
  • Alarm P70 (Kreisbogenfehler): Tritt auf, wenn ein Startbefehl für die Werkzeuglängenkompensation (G43/G44) im selben Block wie ein Kreisinterpolationsbefehl (G02/G03) ausgegeben wird.
  • Alarm P170 (Offset-Nr. überschritten): Wird ausgelöst, wenn die befohlene H-Offsetnummer den maximal zulässigen Bereich der Maschine überschreitet (z. B. Befehlen von H300 auf einer Maschine, die nur für 200 Offsets lizenziert ist).
  • Alarm Y51 108 (MCP-Alarm): Wird beim automatischen Start ausgelöst, wenn inkompatible Parameter gleichzeitig aktiv sind, wie z. B. #1247 set19/bit0 = 1 in Kombination mit #1268 ext04/bit6 = 1.
  • Versionsunterschiede: Es besteht ein strikter architektonischer Unterschied zwischen Systemen für Bearbeitungszentren (M) und Drehmaschinen (L). Bei Standard-M-Systemen wird die Werkzeuglänge nativ durch G43/G44 und die H-Adresse verwaltet. Bei Standard-L-Systemen wird die Werkzeuglängenkompensation automatisch über den modalen T-Befehl (z. B. T0101) aufgerufen. Wird jedoch die Programmformat-Umschaltfunktion (G188) auf einem Drehsystem ausgeführt, um den Kompatibilitätsmodus für Bearbeitungszentren zu aktivieren, initialisiert das L-System seine Modals und akzeptiert die standardmäßigen Befehle G43/G44 und H-Adressen.

Warning: Programmierer dürfen G43/G44/G49 niemals im selben Block wie inkompatible Befehle (G04, G53, G28) oder Kreisinterpolationen (G02/G03) befehlen, um Kombinationsfehler und P70-Alarme zu vermeiden.

Markenvergleich

ThemaFanucSiemensMitsubishi
Standard-AchsauswahlBestimmt durch Parameter 5001 (TLC/TLB): Typ A (Z-Achse), Typ B (senkrecht zur Ebene), Typ C (programmierte Achse).Gesteuert durch MD20380: Modus A (Z-Achse), Modus B (senkrecht zur Ebene), Modus C (programmierte Achse).Spezifiziert durch die im G43/G44-Block programmierte Achse.
Rückzug / Offset-AusführungParameter 5006 Bit 6 (TOS) regelt physische Servobewegung (0) vs. mathematische Koordinatenverschiebung (1).MD20382 ermöglicht die Konfiguration des Offset-Rückzugs nur dann, wenn die zugehörige Achse explizit zur Bewegung aufgefordert wird.Parameter #1268 (ext04/bit6) legt physische Bewegung (0) vs. interne Koordinatenverschiebung (1) fest. #1247 set19/bit0 steuert das Verhalten bei G43/G44-Aufrufen ohne Achsbewegung.
Drehmaschinen-KompatibilitätNutzt typischerweise T-Codes. Drehmaschinen mit ATC können je nach Parameter 5040 Bit 4 (TLG) G43/G44 oder G43.7/G44.7 verwenden.DIN-Modus (G290) automatisiert Werkzeuglängen über T_ D_. ISO-Dialektmodus (G291) verarbeitet G43/G44 und H-Wörter.L-Systeme nutzen nativ T-Codes, aber G188 (Programmformat-Umschaltung) ermöglicht volle M-System-Kompatibilität einschließlich G43/G44.
Eigenständige H-Befehle— (keine Quelle)H00 oder G49 hebt auf; D-Code ist der native Siemens-Werkzeugaufruf.Unterstützt über Parameter #1274 (ext10/bit3), wodurch eigenständige H-Sätze (z. B. H02 ;) Verschleißoffsets mitten im Zyklus aktualisieren können.
Achssynchronisation— (keine Quelle)— (keine Quelle)Integriert G43 in die Mehrachsensynchronisationssteuerung, wodurch jeweilige Offsets automatisch auf Folgeachsen angewendet werden.

Technische Analyse

Die Handhabung der Werkzeuglängenkompensation bei Fanuc zeichnet sich durch eine tiefgehende mathematische Anpassbarkeit aus. Innerhalb des eigenen Ökosystems bietet Fanuc drei wählbare geometrische Verhaltensweisen zur Anwendung des Kompensationsvektors über die Parameter TLC und TLB: Typ A lenkt den Offset statisch auf die Z-Achse, Typ B erfasst dynamisch die aktive Bearbeitungsebene und wendet den Offset senkrecht dazu an (ideal für Winkelköpfe), und Typ C isoliert die Kompensation strikt auf die im G43-Block programmierte Achse. Schließlich bietet Fanuc den Parameter 5006 Bit 6 (TOS), der es dem Maschinenhersteller ermöglicht, das kinetische Verhalten des Offsets festzulegen: Die Werkzeuglängenkompensation kann so konfiguriert werden, dass sie entweder physisch über eine tatsächliche Servobewegung ausgeführt wird oder geräuschlos durch mathematische Verschiebung des internen Koordinatensystems erfolgt, ohne eine physische Werkzeugbewegung einzuleiten.

Siemens-Steuerungen heben sich von anderen großen Steuerungsmarken durch eine hochgradig anpassungsfähige, mehrschichtige Architektur für den Umgang mit älterem ISO-Code ab. Erstens bietet Siemens die einzigartige Möglichkeit, nahtlos zwischen dem nativen DIN-Modus – in dem Werkzeuglängen über D-Nummern ohne zusätzliche G-Codes vollautomatisch geladen werden – und dem ISO-Dialektmodus zu wechseln, in dem G43/G44 und H-Wörter zwingend erforderlich sind, um ältere Programme ohne Modifikationen auszuführen. Zweitens bietet Siemens eine unerreichte Flexibilität, indem es Programmierern über MD20380 drei unterschiedliche Interpretationsstrategien für den G43/G44-Block bereitstellt: Die Maschine kann auf das Standardverhalten festgelegt werden, bei dem der Offset immer auf die dritte Geometrieachse wirkt (Modus A), sie kann die kompensierte Achse dynamisch basierend auf der aktiven G17/G18/G19-Ebene verschieben (Modus B), oder sie kann den Längenoffset exakt auf die Achse lenken, die gleichzeitig mit dem H-Wort im Block programmiert ist (Modus C). Schließlich zeichnet sich Siemens durch anpassbare Rückzugsverhalten über MD20382 aus; die Steuerung kann so konfiguriert werden, dass eine Werkzeuglängenkomponente bei einem Aufhebungsblock nur dann physisch zurückgezogen wird, wenn die zugehörige Achse explizit bewegt werden soll, was unruhige und ruckartige Bewegungen bei komplexen 3D-Übergängen verhindert.

Mitsubishi-Steuerungen bieten eine hochgradig anpassbare Ebene für Betriebssicherheit und Flexibilität, die diese Marke deutlich von Fanuc oder Siemens abhebt. Ein herausragendes Merkmal ist die duale Kompensationsverarbeitung von Mitsubishi, die über den Parameter #1268 ext04/bit6 gesteuert wird. Programmierer können global festlegen, ob G43 eine sofortige physische Achsbewegung um den Offset-Betrag bewirkt (Achsbewegungstyp) oder das interne Koordinatenraster nahtlos verschiebt (Koordinatenverschiebungstyp), um auf den nächsten absoluten Positionierbefehl zu warten. Zweitens unterscheidet sich Mitsubishi dadurch, dass es den eigenständigen H-Befehl nativ unterstützt (#1274 ext10/bit3 = 1). Dies ermöglicht es dem Bediener, den aktiven Werkzeuglängen-Verschleißoffset mitten im Zyklus zu wechseln, indem er einfach eine neue H-Nummer auf einer leeren Zeile aufruft, ohne G43 oder einen Z-Achsen-Vektor erneut angeben zu müssen. Schließlich integriert Mitsubishi G43 nahtlos in die Mehrachsensynchronisationssteuerung: Wenn G43 auf einer Masterachse befohlen wird, wendet die Steuerung intelligent die jeweiligen Werkzeug-Offsetbeträge auf die synchronisierten Folgeachsen an, wodurch typische Fehler bei Nicht-Interpolation umgangen werden.

Programmbeispiele

Fanuc-Fräsprogrammbeispiel

O1100 (FANUC G43 WERKZEUGLÄNGENKOMPENSATION) ;
N10 G90 G21 G40 G49 (Sicherheitsblock: absolut, mm, Radius-/Längenkompensation aufheben) ;
N20 T01 M06 (Werkzeugwechsel: Werkzeug 1 einwechseln) ;
N30 S1200 M03 (Spindel im Uhrzeigersinn bei 1200 U/min starten) ;
N40 G00 X50.0 Y50.0 (Eilgangpositionierung in der XY-Ebene außerhalb des Teils) ;
N50 G43 Z10.0 H01 (Positive Werkzeuglängenkompensation auf Z mit Register H01 aktivieren) ;
N60 G01 Z-5.0 F200.0 (Vorschub auf Schnitttiefe) ;
N70 X100.0 F300.0 (Linearen Frässchnitt ausführen) ;
N80 G00 Z50.0 (Eilgangrückzug auf sichere Höhe) ;
N90 G49 M05 (Werkzeuglängenkompensation aufheben und Spindel stoppen) ;
N100 G28 X0 Y0 Z0 (Rückkehr zum Maschinenreferenzpunkt) ;
N110 M30 ;

Trockenlauf (dry run)-Analyse:

  1. Der Satz N10 legt absolute Koordinaten in Millimetern fest und stellt sicher, dass sowohl die Fräserradiuskorrektur (G40) als auch die Werkzeuglängenkompensation (G49) aufgehoben sind.
  2. Der Satz N20 führt den Werkzeugwechsel aus, wodurch Werkzeug 1 in die Spindel (spindle) eingewechselt wird. Satz N30 startet die Spindel im Uhrzeigersinn bei 1200 U/min.
  3. Der Satz N40 positioniert die Achsen im Eilgang auf X50.0 und Y50.0 außerhalb der Werkstückkontur.
  4. Der Satz N50 aktiviert die positive Werkzeuglängenkompensation (G43) auf der Z-Achse mit einer Zielhöhe von Z10.0 unter Verwendung des Registers H01. Die Steuerung verarbeitet den Längenoffset aus H01 und bewegt die Z-Achse physisch um diese kompensierte Distanz (unter der Annahme, dass Parameter 5006 Bit 6 auf 0 konfiguriert ist).
  5. Der Satz N60 verfährt die Z-Achse im Vorschub auf eine Tiefe von -5.0 mm mit 200 mm/min. Satz N70 führt den Frässchnitt bis X100.0 mit 300 mm/min bei aktiver Längenkompensation aus.
  6. Der Satz N80 führt einen Eilgangrückzug auf eine sichere Höhe von Z50.0 aus. Satz N90 hebt die Werkzeuglängenkompensation auf (G49) und stoppt die Spindel (M05).
  7. Der Satz N100 führt eine Fahrt zum Maschinen-Nullpunkt (g28-g29-g30-reference-point-return) aus, um den Arbeitsraum sicher freizufahren.

Siemens-ISO-Dialekt-Programmbeispiel

; SIEMENS G43 WERKZEUGLÄNGENKOMPENSATION IM ISO-DIALEKT
N10 G90 G21 G40 G49 (Absolut, metrisch, Kompensation aufheben)
N20 T02 M06 (Werkzeug 2 einwechseln)
N30 G97 S1500 M03 (Spindel aktiv bei 1500 U/min)
N40 G00 X40.0 Y40.0 (Eilgangpositionierung)
N50 G43 Z15.0 H02 (Längenoffset mit Register H02 aktivieren)
N60 G01 Z-10.0 F250.0 (Vorschub Z auf Bearbeitungstiefe)
N70 Y80.0 (Linearen Profilschnitt ausführen)
N80 G00 Z100.0 (Eilgangrückzug auf Sicherheitsebene)
N90 G49 M05 (Werkzeuglängenkompensation aufheben und Spindel stoppen)
N100 M30

Trockenlauf-Analyse:

  1. Der Satz N10 konfiguriert den absoluten Koordinatenmodus in Millimetern und hebt Fräserradius- sowie Werkzeuglängenkompensationen auf.
  2. Der Satz N20 führt den Werkzeugwechsel aus, lädt Werkzeug 2, und Satz N30 startet die Spindel im Uhrzeigersinn bei 1500 U/min.
  3. Der Satz N40 positioniert die Achsen im Eilgang auf X40.0 und Y40.0, um eine sichere Anfahrposition zu erreichen.
  4. Der Satz N50 führt die positive Werkzeuglängenkompensation (G43) auf eine Zielhöhe von Z15.0 aus, unter Verwendung des in Register H02 gespeicherten Offsets. Die Steuerung verarbeitet den Wert aus H02 anhand des aktiven Parameters MD20380 (unter der Annahme von Modus A wirkt dieser auf Z).
  5. Der Satz N60 fährt Z mit einem Vorschub von 250 mm/min auf -10.0 mm. Satz N70 führt den Frässchnitt auf Y80.0 bei aktiver Kompensation aus.
  6. Der Satz N80 zieht die Z-Achse im Eilgang auf die sichere Sicherheitsebene bei Z100.0 zurück. Satz N90 wählt die Längenkompensation ab (G49) und stoppt die Spindel.

Mitsubishi-Fräsprogrammbeispiel

; MITSUBISHI G43 WERKZEUGLÄNGENKOMPENSATION MIT EIGENSTÄNDIGEM UPDATE
N10 G90 G21 G40 G49 G17 (Absolut, mm, Kompensation aufheben, XY-Ebene) ;
N30 T03 M06 (Werkzeug 3 einwechseln) ;
N40 S1100 M03 (Spindel im Uhrzeigersinn bei 1100 U/min) ;
N50 G00 X0.0 Y-30.0 (Eilgangpositionierung in der XY-Ebene) ;
N60 G43 Z20.0 H03 (Werkzeuglängenoffset mit Register H03 aktivieren) ;
N70 G01 Z-8.0 F150.0 (Linearer Z-Vorschub auf Schnitttiefe) ;
N80 H33 (Aktives Verschleißoffset-Register mitten im Zyklus per eigenständigem Befehl auf H33 aktualisieren) ;
N90 X100.0 F280.0 (Fräsbahn mit aktualisiertem Offsetvektor) ;
N100 G49 Z100.0 M05 (Kompensation aufheben und Eilgangrückzug in Z) ;
N110 M30 ;

Trockenlauf-Analyse:

  1. Der Satz N10 löscht aktive Kompensationen und stellt das Standard-XY-Ebenenprogramm (G17) in absoluten Koordinaten ein.
  2. Die Sätze N30 und N40 führen den Werkzeugwechsel und die Spindelaktivierung bei 1100 U/min aus. Satz N50 positioniert im Eilgang auf X0.0 und Y-30.0.
  3. Der Satz N60 aktiviert die positive Werkzeuglängenkompensation (G43) auf einer Zielhöhe von Z20.0 unter Verwendung des Registers H03. Die Maschine wendet den Offset physisch an (unter der Annahme, dass Parameter #1268 auf 0 konfiguriert ist).
  4. Der Satz N70 fährt die Z-Achse im Vorschub auf eine Tiefe von -8.0 mm mit 150 mm/min.
  5. Der Satz N80 gibt den eigenständigen Befehl H33 aus. Da der Parameter #1274 ext10/bit3 auf 1 konfiguriert ist, wechselt die Mitsubishi-Steuerung das aktive Werkzeuglängenoffset-Register mitten im Zyklus dynamisch auf H33, ohne dass ein G43-Präfix oder ein neuer Z-Achsenbefehl erforderlich ist.
  6. Der Satz N90 führt die Fräsbewegung auf X100.0 mit einem Vorschub von 280 mm/min unter Verwendung des aktualisierten Werkzeugoffsetvektors aus.
  7. Der Satz N100 hebt die aktive Werkzeuglängenkompensation (G49) auf, zieht die Achse auf Z100.0 zurück und stoppt die Spindel.

Fehleranalyse

SteuerungAlarmcodeAuslösebedingungBediener-SymptomUrsache & Behebung
FanucPS0027Die Werkzeuglängenkompensation für Typ C ist aktiv, aber ein G43/G44-Block wird ausgeführt, ohne eine Ziel-Geometrieachse anzugeben.Die Maschine stoppt sofort und zeigt einen blinkenden „PS0027 NO AXES COMMANDED IN G43/G44“ Alarm an.Typ C ist darauf ausgelegt, die Kompensation streng auf die im Block angegebene beliebige Achse anzuwenden. Behebung: Programmieren Sie die Zielkoordinate der Achse zusammen mit dem G43/G44-Befehl.
FanucPS0030Der befohlene H- oder D-Offset-Index überschreitet die maximale Registerkapazität des Systems.Der automatische Zyklus wird abgebrochen und zeigt einen blinkenden „PS0030 ILLEGAL OFFSET NUMBER“ Alarm auf dem Bedienfeld an.Ein Programmierfehler, bei dem die Offset-ID außerhalb der physischen Grenzen der Steuerung liegt. Behebung: Überprüfen Sie die aktiven Offset-Indizes im Speicher und geben Sie eine gültige Register-ID an.
FanucPS0049Die Verschachtelung von Koordinatenrotation (G68/G69) und Werkzeuglängenkompensation ist fehlerhaft, oder ein Werkzeugoffset wird bei aktiver G68-Rotation ohne vorherige Abwahl aktualisiert.Die Spindel läuft weiter, aber die Achsbewegung friert unter dem blinkenden „PS0049 ILLEGAL OPERATION G68/G69“ Alarm ein.Die Koordinatenrotationsmatrix wird mathematisch verzerrt, wenn Offsets bei aktivem G68 geändert werden. Behebung: Verschachteln Sie G43/G49-Blöcke symmetrisch um G68/G69, oder heben Sie die Rotation auf, bevor Sie H-Offsets ändern.
SiemensAlarm 14165MD20380 ist für Modus C konfiguriert (wirkt auf die programmierte Achse), aber G43/G44 wird mit H programmiert, ohne eine Geometrieachse im selben Block zu benennen.Die Programmausführung stoppt und zeigt „Alarm 14165 Kanal %1: Block %2“ an.Die Geometrieachse fehlt im Befehlsblock, während Modus C aktiv ist. Behebung: Fügen Sie die Ziel-Geometrieachse (z. B. Z oder X) dem G43/G44-Block hinzu.
SiemensAlarm 10915 / 10916Aktive Werkzeuglängenkompensationswerte in Kombination mit programmierten Bewegungen verletzen physische Software-Endschalter oder zielen auf kinematisch unmögliche Zonen ab.Die vorausschauende Verarbeitung der Steuerung stoppt die Achsen vor der Ausführung des fehlerhaften Blocks und zeigt Alarm 10915/10916 an.Die Werkzeugkorrekturregister enthalten übermäßig große Offsetwerte, oder aktive Transformationen überschreiten den Verfahrbereich. Behebung: Überprüfen Sie die aktiven D/H-Offsetwerte und verifizieren Sie, ob die Zielkoordinate innerhalb der physischen Verfahrgrenzen liegt.
MitsubishiP70Die Aktivierung der Werkzeuglängenkompensation G43/G44 wird innerhalb eines Kreisinterpolationsblocks (G02/G03) befohlen.Die Bewegung stoppt sofort und zeigt einen blinkenden „P70 Arc error“ an.Offsetvektoren können nicht auf einer kreisförmigen Trajektorie berechnet werden. Behebung: Verschieben Sie den G43/G44-Offsetaufruf in einen linearen Block (G00 oder G01) vor dem Start des Kreisbogens.

Anwendungshinweis

Eine fatale Kollision und teurer Ausschuss sind die unvermeidbare Folge, wenn die Synchronisation zwischen Steuerung und physikalischer Achsposition durch ein fehlerhaftes Timing verloren geht. Auf Mitsubishi-Steuerungen mit aktiviertem Koordinatenverschiebungstyp (Parameter #1268 ext04/bit6 = 1) oder Fanuc-Systemen mit Parameter 5006 bit 6 (TOS) = 1 bewirkt ein isolierter H- oder G43-Befehl lediglich eine interne Verschiebung der Koordinatenregister, löst jedoch keine sofortige physische Achsbewegung aus. Wird danach kein absoluter Verfahrblock mit G00 oder G01 programmiert, bleibt die Werkzeugspitze bezüglich des verschobenen Netzes unsynchronisiert. Nachfolgende inkrementelle Schritte oder Zyklen führen das Werkzeug auf einer unkompensierten, tödlichen Trajektorie direkt in die Spannmittel. Ein weiteres hohes Risiko besteht bei Werkzeugwechseln: Eine automatische Referenzpunktfahrt (G28) setzt die aktive Kompensation vorübergehend außer Kraft. Wenn der Bediener vergisst, die Kompensation mit einem neuen G43-Block zu reaktivieren, bemerkt er die Toleranzüberschreitung erst, wenn das Werkzeug mit voller Vorschubgeschwindigkeit in das Werkstück crasht. Um diese Gefahren zu eliminieren, gilt in der Praxis die eiserne Regel, jede Aktivierung von G43 zwingend mit einem absoluten Z-Achsen-Anfahrsatz zu koppeln, G49 vor Werkzeugwechseln rechtzeitig aufzurufen und G43 niemals mit Kreisbahnen (G02/G03) zu vermischen, um Fehlermeldungen wie den Mitsubishi-Alarm P70 oder Fanuc PS0027 von vornherein zu verhindern.

Verwandte Befehle

Um die Werkzeuglängenkompensation effektiv zu programmieren, müssen Bediener das breitere Netzwerk von G-Codes und Hilfsroutinen verstehen:

  • G00 (Eilgang): Wird häufig verwendet, um die Achsen schnell auf eine sichere Höhe zu positionieren, während G43 den Werkzeuglängen-Offsetvektor aktiviert.
  • G28 (Referenzpunktfahrt): Hebt aktive Werkzeuglängenoffsets automatisch auf, wenn die physische Achse auf den Maschinenreferenzpunkt fährt.
  • G43.1: Werkzeuglängenkompensation in Werkzeugachsrichtung (wendet den Offset dreidimensional in Richtung des aktiven Werkzeugvektors an).
  • G43.7 / G44.7: Drehmaschinen-ATC-Werkzeuglängenkompensation, gesteuert auf Fanuc-Systemen durch Parameter 5040 Bit 4 (TLG).
  • G43.4 / G43.5: Werkzeugmittelpunktführung (Typ 1 / Typ 2) für hochmoderne 5-Achs-Bearbeitungen.
  • G68 / G69: Koordinatensystemrotation, die strikte Verschachtelungsregeln mit G43/G49 erfordert, um geometrische Matrixverzerrungen und PS0049-Alarme zu verhindern.
  • G10: Programmierbare Dateneingabe, um Werkzeuglängenoffset-Werte direkt aus dem NC-Programm in die aktive Systemdatenbank zu schreiben.

Fazit

Die dauerhafte Gewährleistung enger Fertigungstoleranzen und die Vermeidung von Maschinenschäden hängen direkt von der fehlerfreien Konfiguration der Längenkompensation ab. Für eine maximale Prozesssicherheit müssen Fertigungsbetriebe standardisierte Programmierrichtlinien etablieren: G43 darf ausschließlich auf linearen Sätzen mit absoluten Zielkoordinaten aufgerufen werden, und jede Änderung von Steuerungsmodi oder Parametern muss vorab simuliert werden. Vor dem ersten Zerspanungsschritt ist ein sorgfältig überwachter Trockenlauf der sicherste Schutz vor Programmierfehlern. Bediener müssen die steuerungsspezifischen Parameter wie Fanuc 5001 oder Mitsubishi #1268 im Detail verifizieren, um unerwartete Achsbewegungen auszuschließen. Nur durch diese lückenlose Konfiguration und präzise Parameterprüfung lässt sich das Risiko von Maßabweichungen vollständig eliminieren und eine wirtschaftliche, fehlerfreie Serienproduktion realisieren.

Häufig gestellte Fragen (FAQ)

Wie verifiziert man die Achszuordnung bei G43/G44 auf Mehrkanalsteuerungen, um Maßabweichungen zu verhindern?

Auf komplexen CNC-Systemen hängt die Wirkung von G43 stark von der Parametrierung der aktiven Ebene (G17/G18/G19) und Maschinenparametern wie Fanuc 5001 (TLC/TLB) oder Siemens MD20380 ab. Steht die Steuerung auf Type C bzw. Mode C, wirkt die Kompensation auf die explizit programmierte Achse; bei Type A wirkt sie ausschließlich auf die Z-Achse. Wird diese Zuordnung bei Schwenkköpfen oder Mehrkanal-Maschinen falsch interpretiert, droht eine Toleranzüberschreitung an anderen Achsen. Aktion: Prüfen Sie vor dem Programmstart immer im Status-Display der Steuerung, welcher physikalischen Achse der Längenoffset nach dem G43-Befehl tatsächlich zugewiesen wurde.

Welche Gefahr droht beim Mischen von G43 Längenkompensationen und G68 Koordinatenrotationen?

Wenn Sie eine 3D-Koordinatenrotation (G68) aktivieren, während eine Werkzeuglängenkompensation (G43) aktiv ist, und anschließend versuchen, den Werkzeugoffset ohne vorherige Rotationabwahl (G69) zu ändern, wird die mathematische Berechnungsmatrix der Steuerung verzerrt. Dies führt zum Fanuc-Systemalarm PS0049 oder zu unkontrollierten Ausgleichsbewegungen der Achsen. Aktion: Implementieren Sie eine symmetrische Programmierstruktur, bei der G43 stets innerhalb des G68/G69-Blocks aufgerufen oder die Rotation vor einem H-Register-Wechsel vollständig aufgehoben wird.

Warum führt eine manuelle Werkzeugvermessung ohne anschließende LVK-Parameterprüfung zu Ausschuss?

Selbst wenn das Werkzeug exakt vermessen wurde, kann ein Reset der Maschine oder eine Programmunterbrechung die aktive Werkzeugkompensation unbemerkt löschen, falls der Reset-Retention-Parameter (z. B. Fanuc 5003 Bit 6 LVK) auf 0 konfiguriert ist. Startet der Bediener das Programm danach mitten im Zyklus neu, verfährt die Achse unkompensiert, was zu massivem Ausschuss führt. Aktion: Verifizieren Sie, dass der Parameter LVK (Fanuc 5003#6) auf 1 steht, damit aktive Offsetdaten auch nach einem Reset oder Not-Aus im Speicher erhalten bleiben.

Immer noch nicht gelöst?

Frage unseren KI-Assistenten zu diesem Thema in natürlicher Sprache. Basierend auf verifizierten Quellen, keine Halluzinationen.

KI-Assistent fragen
Hakan Gündoğdu
Hakan Gündoğdu
  • CNC CARE Co-Founder (May 2025 - Present)
  • Mitsubishi Electric NC Sales & Service Section Manager (2008 - 2025)
  • Reis CNC Service Engineer (2003 - 2005)
  • Ören Kalıp CNC Mold Line Team Leader (1999 - 2002)

Mit über 25 Jahren Erfahrung in allen Bereichen der CNC-Maschinenbranche bin ich weiterhin als Mitgründer von CNC CARE tätig, wo wir markenunabhängige Beratung, Engineering und Original-Ersatzteil-Services anbieten.

Ähnliche Artikel

Weitere Artikel zu diesem Thema