G40, G41, G42 Radiuskorrektur: Der ultimative CNC-Leitfaden
Mastern Sie die CNC-Fräserradiuskorrektur mit G40, G41 und G42. Konfigurieren Sie Parameter auf Fanuc, Siemens und Mitsubishi ohne Maßabweichungen.
Einleitung
Ein lauter Knall, ein zersplittertes Schneidwerkzeug und ein tief in die Spannbacken (vise jaws) oder eine Spannvorrichtung (clamp) gerammter Revolver (turret): Wenn ein Programmierer den Startpunkt einer Radiuskorrektur versehentlich innerhalb des Kompensationskreises platziert oder eine unzulässige Anfahrtstangente wählt, führt dies unweigerlich zu einer verheerenden Kollision im Arbeitsraum. Ohne eine rechtzeitige Bahnberechnung und vorausschauende Kollisionsüberwachung bricht das Werkzeug unkontrolliert aus der programmierten Trajektorie aus. Die physische Folge ist nicht nur ein totalschrottreifes Werkstück (scrap part), sondern oft auch eine dauerhafte Beschädigung der Spindel (spindle). 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. Um die Prozesssicherheit in der Serienfertigung zu gewährleisten und teuren Ausschuss (scrap) zu vermeiden, müssen die Befehle G40, G41 und G42 auf Fanuc-, Siemens- und Mitsubishi-Steuerungen absolut fehlerfrei implementiert, voreingestellt und durch präzise Parameter- und Anfahrregeln abgesichert werden.
Technische Übersicht
| Spezifikation | Details |
|---|---|
| G-Code-Befehle | G40 (Kompensation aufheben), G41 (Fräserradius-/Schneidenradiuskorrektur links), G42 (Fräserradius-/Schneidenradiuskorrektur rechts) |
| Modalgruppe | Gruppe 07 (Modal) |
| Kompatible Marken | Fanuc, Siemens, Mitsubishi |
| Kritische Parameter | Fanuc: 5003 (SUP/SUV startup/cancel type), 19607#5 (CAV interference check avoidance); Siemens: OFFN (contour allowance), $TC_DP6 (tool radius); Mitsubishi: #8157 (Nose R comp Type B), #1289 ext25 bit 0 (minute corner rounding) |
| Kinematische Haupteinschränkung | Die Aktivierung (G41/G42) und Deaktivierung (G40) der Korrektur muss zwingend in linearen Blöcken (G00 oder G01) programmiert werden. Aktive Bearbeitungsebenen (G17/G18/G19) dürfen während der aktiven Kompensation nicht gewechselt werden. |
Schnellleser
- Programmieren Sie die Aktivierung (G41/G42) und Deaktivierung (G40) der Kompensation ausschließlich in linearen Bewegungsblöcken (G00 oder G01), um einen gültigen Korrekturvektor aufzubauen und Alarme zu vermeiden.
- Programmieren Sie im Aktivierungsblock einen linearen Verfahrweg, der strikt größer ist als der physische Schneiden- oder Fräserradius, um Vektorfehler zu verhindern.
- Wechseln Sie niemals die aktive Bearbeitungsebene (G17, G18 oder G19), während die Radiuskorrektur aktiv ist; führen Sie vor dem Ebenenwechsel immer ein G40 zum Abwählen aus.
- Überwachen Sie den Look-Ahead-Puffer, indem Sie aufeinanderfolgende Blöcke ohne Koordinatenbewegung (wie Verweilzeiten oder M-Codes) vermeiden, die die Schnittpunktberechnungen stören.
- Programmieren Sie ein direktes Aufmaß (contour allowance) mit dem Inline-Parameter
OFFN=bei Siemens, um schnell Schrupp- oder Schlicht-Offsetdurchgänge zu erzeugen. - Nutzen Sie den einzigartigen Mitsubishi-Befehl G46 auf Drehsystemen, um automatisch die korrekte Schneidenradiuskorrekturrichtung ohne manuelles Umschalten zwischen G41/G42 zu erkennen und zuzuweisen.
- Aktivieren Sie bei Fanuc den Parameter 19607 Bit 5 (CAV), um Werkzeugbahnen bei erkanntem Überschneiden dynamisch neu zu berechnen und den Zyklus fortzusetzen, anstatt mit dem Alarm PS0041 zu stoppen.
Grundlegende Konzepte
Die praktische Programmierwirkung der Befehle G41 und G42 besteht darin, die physische Mittelpunktbahn des Werkzeugs dynamisch um exakt den Radius des Fräsers oder der Schneide von der programmierten mathematischen Kontur zu verschieben. Dies ermöglicht es Programmierern, G-Code direkt nach den Zeichnungsmaße des Werkstücks zu schreiben, ohne die Mittelpunktversätze für jeden Winkel und jede Kontur manuell berechnen zu müssen.
Übergangsblöcke (Aktivierung mit G41/G42 und Deaktivierung mit G40) müssen zwingend lineare Bewegungsbefehle (G01 (Linear-Interpolation)) mit einem Verfahrweg sein, der den Werkzeugradius oder den Versatzwert überschreitet, um den Korrekturvektor korrekt aufzubauen oder abzubauen. Versuche, die Aktivierung/Deaktivierung auf Kreisbahnen (G02/G03) auszuführen oder die Bearbeitungsebene (G17, G18, G19 (Plane-Auswahl)) bei aktiver Kompensation zu wechseln, lösen bei allen Marken Alarme aus.
CNC-Systeme verlassen sich auf das Vorauslesen (pre-reading) nachfolgender Blöcke, um die Schnittpunktvektoren zwischen den Werkzeugbahnen zu berechnen. Bediener müssen den Look-Ahead-Puffer aufrechterhalten und die Ausführung von zu vielen aufeinanderfolgenden Nicht-Bewegungsblöcken (wie mehreren Verweilzeiten, Hilfsfunktionen oder M-Codes) vermeiden, da dies die mathematischen Schnittpunktberechnungen unterbricht, was Alarme auslöst oder unerwünschte Verletzungen der Werkstückoberfläche verursacht.
Befehlsstruktur
Aktivierungen sind modal und bestimmen die Bahnseite relativ zur Richtung der Werkzeugbewegung. Wenn G41 aktiv ist, wird der Werkzeugversatz links von der programmierten Kontur berechnet. Wenn G42 aktiv ist, verschiebt der Versatz die Werkzeugbahn rechts von der Kontur. Das Abwählen der Kompensation mit G40 ist zwingend erforderlich, um die Maschine wieder in einen Zustand unkorrigierter Koordinatenbewegungen zurückzusetzen.
Je nachdem, ob es sich bei der CNC-Maschine um ein Bearbeitungszentrum (M-Serie) oder ein Drehzentrum (T-Serie) handelt, werden die Korrekturadressen und -ebenen unterschiedlich gehandhabt. Bearbeitungszentren erfordern eine Ebenenauswahl (G17, G18 oder G19) und weisen Radialwerte über eine D- oder H-Offsetnummer zu. Drehzentren wenden die Schneidenradiuskorrektur nativ in der ZX-Ebene (typischerweise G18) an und rufen die Werte direkt aus den Registern der T-Code-Offsets ab.
Syntaxstrukturen über verschiedene Steuerungslandschaften:
- Fanuc Fräsen:
G17 G41 X_ Y_ D_;(oder H-Offset) - Fanuc Drehen:
G18 G42 X_ Z_; - Siemens:
G1 G41 X_ Y_ OFFN=_; - Mitsubishi Fräsen:
G17 G41 X_ Y_ D_; - Mitsubishi Drehen:
G18 G42 X_ Z_; - Mitsubishi Automatisch:
G46 X_ Z_; - Mitsubishi Vektor:
G41 X_ Y_ I_ J_; - Universelle Abwahl:
G40 X_ Y_;oderG40 X_ Z_;
| Marke | Adresse / Parameter | Beschreibung | Gültige Optionen / Bereiche |
|---|---|---|---|
| Universal | X, Y, Z | Koordinaten zur Positionierung in aktiven Ebenen. | Numerische Koordinaten |
| Universal | D / H | Auswahlnummer des Offset-Registers. | Ganzzahlige Offset-ID (z. B. D01, H01) |
| Siemens | OFFN | Direktes Aufmaß (contour allowance), das auf die äquidistante Bahn angewendet wird. | Numerischer Offsetwert (z. B. OFFN=2.5) |
| Mitsubishi | I, J, K | Eigene Koordinaten zur manuellen Verschiebung des Start-/Abwahlvektors. | Numerische Komponenten des Richtungsvektors |
Markenanwendungen
Fanuc
Fanuc-Steuerungen regeln die Werkzeugschneiden- und Fräserradiuskorrektur über granulare Konfigurationsregister. Die Parameter 5003 und 5008 bilden das Fundament dafür, wie diese Korrekturvektoren während der Bewegung erzeugt und bewertet werden. Speziell der Parameter 5003 determines die Vektorformen beim Start-up, während der Parameter 5008 die Reaktionen bei Richtungsprüfungen regelt.
Die G-Code-Befehle sind `G40` zum Aufheben der Kompensation, `G41` für den Versatz links der Bahn und `G42` für den Versatz rechts der Bahn. Auf Bearbeitungszentren muss zuerst die aktive Ebene festgelegt werden (in der Regel `G17` für die XY-Ebene) und der Radialversatz wird über einen `D`-Code zugewiesen, wie in `G17 G41 X50.0 Y50.0 D01 F200.0;` gezeigt.
- Parameter 5003 Bit 0 (SUP) und 1 (SUV): Bestimmt das mathematische Verhalten der Start-up- und Deaktivierungsvektoren. Die Kombinationen dieser Bits wählen zwischen Typ A (Vektor senkrecht zum nächsten/vorherigen Block), Typ B (Schnittpunktvektorausgabe) oder Typ C (Verschiebung senkrecht zum Block, selbst wenn keine Bewegung befohlen wird).
- Parameter 5008 Bit 1 (CNC): Bestimmt, wie die CNC bei einer Interferenzprüfung reagiert, wenn die Bewegungsrichtung nach der Kompensation um 90 bis 270 Grad von der programmierten Richtung abweicht. Ein Wert von 0 gibt einen Alarm aus, während ein Wert von 1 den Alarm unterdrückt.
- Parameter 19607 Bit 5 (CAV): Steuert die Vermeidung von Interferenzprüfungsalarmen. Ein Wert von 0 führt dazu, dass die Maschine bei erkanntem Überschneiden mit einem Alarm (PS0041) stoppt, während ein Wert von 1 es der Maschine ermöglicht, die Werkzeugbahn intelligent zu ändern, um die Interferenz zu vermeiden.
- Alarm PS0034 (NO CIRC ALLOWED IN ST-UP/EXT BLK): Wird ausgelöst, wenn versucht wird, einen Aktivierungs- (G41/G42) oder Abwahlbefehl (G40) auszuführen, während eine Kreisinterpolation (G02/G03) aktiv ist.
- Alarm PS0037 (CAN NOT CHANGE PLANE IN G41/G42): Wird ausgelöst, wenn die aktive Korrekturebene (G17, G18 oder G19) gewechselt wird, während die Fräserradius- oder Schneidenradiuskorrektur aktiv ist.
- Alarm PS0041 (INTERFERENCE IN CRC / CUTTER COMPENSATION): Wird ausgelöst, wenn die Steuerung berechnet, dass ein übermäßiges Schneiden (Überschneiden/Interferenz) stattfinden wird, beispielsweise wenn zwei oder mehr Blöcke nacheinander ohne Achsbewegung programmiert werden, während die Korrektur aktiv ist.
- Versionsunterschiede: Es besteht ein grundlegender Unterschied zwischen den Architekturen der M-Serie (Bearbeitungszentren) und der T-Serie (Drehmaschinen). Steuerungen der M-Serie verlassen sich stark auf `D`- oder `H`-Adressen, um den spezifischen radialen Offsetwert abzurufen, und müssen G17/G18/G19-Ebenen aktiv verwalten. Systeme der T-Serie, die nativ in der ZX-Ebene arbeiten, nutzen `T`-Codes, um sowohl die Werkzeuggeometrie-/Verschleißoffsets als auch die imaginäre Werkzeugschneidenposition (T-Nummer 1 bis 9) aufrufen, wodurch die Kompensation ohne separate D-Codes nativ integriert wird.
Warnung: Bediener müssen sicherstellen, dass aufeinanderfolgende Nicht-Bewegungsblöcke den Look-Ahead-Puffer nicht leeren, während G41 oder G42 aktiv ist, da dies die Schnittpunktberechnungen der Steuerung stört und die Produktion mit einem PS0041-Alarm stoppt.
Siemens
Siemens-Steuerungen implementieren die Werkzeugradiuskorrektur (WRK) mit fortschrittlicher kinematischer Bahnhandhabung und Inline-Geometriemodifikation. Die primären Systemvariablen zur Definition der physischen Geometrie des Werkzeugs sind `$TC_DP1` und `$TC_DP6`.
Die aktive Werkzeugkorrektur wird mit `G41` (Bearbeitung links der Kontur) oder `G42` (Bearbeitung rechts der Kontur) ausgelöst und mit `G40` abgewählt. Programmierer können ein Inline-Konturaufmaß direkt im Aktivierungsblock mit der Adresse `OFFN=` anwenden, wie z. B. `G1 G41 Y50 F200 OFFN=1.5;`.
- Parameter OFFN: Ein optionaler Parameter, der einen normalen Konturversatz (Aufmaß) auf die programmierte Kontur anwendet; nützlich zur Erzeugung äquidistanter Bahnen für das Schlichten.
- Systemvariablen $TC_DP1 bis $TC_DP6: Systemvariablen zur Werkzeugdatendefinition, bei denen `$TC_DP1` den Werkzeugtyp angibt (z. B. 120 für Fräswerkzeug) und `$TC_DP6` den Werkzeugradius spezifiziert.
- Settingdaten SD42900, SD42920, SD42940, SD42950: Einstellungsdaten zum Spiegeln von Werkzeug- und Verschleißlängen sowie zur Aufrechterhaltung konstanter Längen bei Ebenenwechseln.
- Alarm 10751 "danger of collision due to tool radius compensation": Wird ausgelöst, wenn die Steuerung keinen gültigen Schnittpunkt zwischen den Offsetkurven benachbarter Blöcke berechnen kann (z. B. bei Verwendung der Erweiterungsstrategie `G461` und wenn keine gültige Bahn aufgelöst werden kann).
- Alarm 10757 "changing the compensation plane while tool radius compensation is active not possible": Wird ausgelöst, wenn ein Programm versucht, die aktive Arbeitsebene (`G17`, `G18` oder `G19`) zu wechseln, bevor die WRK mit `G40` abgewählt wurde.
- Alarm 10753 / 10754 "selection / deselection of the tool radius compensation only possible in linear block": Wird ausgelöst, wenn `G41`, `G42` oder `G40` in einem Block programmiert sind, der weder den Eilgang `G00` noch die lineare Vorschubinterpolation `G01` nutzt.
- Versionsunterschiede: Wenn eine Siemens-Steuerung im ISO-Dialekt-T-Modus arbeitet, kann ein Vektor, der die Reaktion am Blockende beeinflusst, im linearen Block dynamisch mit den Adressen `I`, `J` und `K` programmiert werden. Diese erweiterte Vektorfunktionalität is im originalen ISO-Dialekt-Modus nicht verfügbar. Darüber hinaus sind die Fräserradiuskorrekturfunktionen zwischen dem originalen ISO-Dialekt-Modus und dem nativen Siemens-840D-sl-Modus absolut inkompatibel, was eine sorgfältige Programmübersetzung erfordert.
Warning: Programmierer müssen den Endpunkt des G40-Blocks immer so wählen, dass eine kollisionsfreie Rückzugsbahn mathematisch garantiert ist, und vermeiden, einen Werkzeugversatz von D0 zu programmieren, während die Korrektur aktiv ist, da dies den Fehler 10750 anstelle einer sicheren Abwahl auslöst.
Mitsubishi
Mitsubishi-Steuerungen bieten hochgradig anpassungsfähige Bahnsteuerungen, wobei die Start-up-Trajektorien über den Maschinenparameter `#8157` und das Verhalten an kleinen Ecken durch den Parameter `#1289` definiert werden.
Die Kompensation wird mit `G41` oder `G42` aktiviert und mit `G40` deaktiviert. Auf Drehmaschinen-Systemen erlaubt der Befehl `G46` nativ die automatische Richtungsbestimmung basierend auf dem hypothetischen Schneidenradius-Mittelpunkt, wie in `G46 X50. Z100. ;`.
- Parameter #8157 (Nose R comp type B): Wählt die Bahn des Start-up- und Abwahlvektors. Eine Einstellung von 0 (Typ A) wandelt den Pfad in einen Offsetvektor senkrecht zum Befehlsvektor ohne Schnittpunktberechnung um. Eine Einstellung von 1 (Typ B) führt eine Schnittpunktberechnung zwischen dem Befehlsblock und dem nächsten Block durch.
- Parameter #1289 ext25/bit0: Bestimmt das Kriterium für die Ausführung von Außenrundungen an kleinen Ecken. 0 wendet die konventionelle Methode an, während 1 ein spezielles Rundungsverfahren für kleinste Eckenwinkel von 1° oder weniger aktiviert.
- Parameter #8071 3-D CMP: Definiert den Nenner-Konstantenwert für die 3D-Fräserradiuskorrektur auf M-Systemen. Wird in Koordinatenberechnungen verwendet: Vx = (i × r) / p, Vy = (j × r) / p, Vz = (k × r) / p.
- Alarm P151 (Arc error): Wird ausgelöst, wenn der Korrekturmodus durch einen Kreisbefehl statt durch einen linearen Befehl abgewählt wird oder wenn ein Richtungsvektor des Typs `I, J, K` im Kreismodus beim Start der Korrektur befohlen wird.
- Alarm P153 (Interference check): Tritt auf, wenn die programmierte Vorschubrichtung und die Vorschubrichtung nach der Kompensation umgekehrt berechnet werden, z. B. beim Fräsen einer Nut, die schmaler als der Werkzeugdurchmesser ist.
- Alarm P112 (Illegal plane select): Wird ausgelöst, wenn ein Ebenenauswahlbefehl (G17, G18, G19) oder ein Axnamenswechsel (G111) ausgegeben wird, während die Werkzeugradiuskorrektur aktiv eine Bahn steuert.
- Alarm P608 (Skip command error): Wird ausgelöst, wenn eine G31-Suchfunktion (Skip) befohlen wird, während die Schneiden- oder Fräserradiuskorrektur aktiv ist.
- Versionsunterschiede: Auf Drehsystemen (L) wird bei der Ausführung von Schruppzyklen (G70, G71, G72, G73) das Schneidenradiuskorrektur-Verhalten vorübergehend automatisch aufgehoben — da die fertig bearbeitete Form bereits den Korrekturwert enthält — und kehrt nach Abschluss der Zyklen automatisch in den Korrekturmodus zurück. Darüber hinaus werden die fortschrittliche 3D-Werkzeugradiuskorrektur (G41.2/G42.2) und die Möglichkeit, die Schneidenradiuskorrektur speziell bei Dreharbeiten auf einer Fräsmaschine anzuwenden, nativ auf M-Systemen (Bearbeitungszentren) unterstützt.
Warning: Programmierer dürfen niemals vier oder mehr aufeinanderfolgende Blöcke ohne Koordinatenbewegung ausführen, während G41 oder G42 aktiv ist, da dies die Mitsubishi-Steuerung zwingt, das Vorauslesen zu unterbrechen, und den Fräser abseits der Bahn eintauchen lässt.
Markenvergleich
| Thema | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| Inline-Konturaufmaß | — (keine Quelle) | Wird direkt über `OFFN=...` im Aktivierungsblock unterstützt. | — (keine Quelle) |
| Modi für Start-up- / Abwahlvektoren | Granulare Bits in Parameter 5003 wählen Typ A-, B- oder C-Vektoren. | Gesteuert durch die Fahrbefehle `NORM`, `KONT`, `KONTC` und `KONTT`. | Parameter #8157 wählt Typ A (senkrecht) oder Typ B (Schnittpunkt) Vektoren. |
| Vermeidung von Schnittpunktfehlern | CAV-Parameter (19607#5) ändert Werkzeugbahnen dynamisch im Flug, um Alarme zu vermeiden. | `G461` fügt Hilfskreise ein und `G462` verlängert Tangenten zur Schnittpunktauflösung. | Vier oder mehr aufeinanderfolgende Nicht-Bewegungsblöcke unterbrechen das Vorauslesen und führen zu Konturbeschädigungen. |
| Automatischer Richtungsmodus Drehen | — (keine Quelle) | — (keine Quelle) | Unterstützt über automatische Richtungsbestimmung `G46` auf Drehsystemen. |
| Manuelle Vektormodifikation | G38 bestimmt Vektorhalt; G39 fügt Eckenkreisbogen ein. | — (keine Quelle) | Programmierer können `I`-, `J`- und `K`-Vektoren in `G40`/`G41`/`G42`-Blöcken anhängen, um den Pfad zu überschreiben. |
| Skip-Befehl-Kompatibilität | G31 Skip-Funktion bei aktiver Korrektur unzulässig (verursacht Alarm). | — (keine Quelle) | Befehl G31 während aktiver Kompensation löst den Alarm `P608` aus. |
Technische Analyse
Die Handhabung der Fräserradiuskorrektur bei Fanuc ist stark durch die tiefe, granulare Parametrisierbarkeit geprägt. Erstens bietet Fanuc mit der Funktion zur Vermeidung von Interferenzprüfungsalarmen über den Parameter 19607 Bit 5 (CAV) ein einzigartiges Feature. Anstatt die Maschine stumpf anzuhalten, wenn mathematisch ein Überschneiden erkannt wird, berechnet diese Funktion die Werkzeugbahn intelligent im Flug neu, um die Verletzung physisch zu vermeiden, während der Zyklus fortgesetzt wird. Zweitens bietet Fanuc Programmierern eine strikte Kontrolle darüber, wie die Start-up- und Deaktivierungsvektoren physisch am Werkstück ansetzen. Durch Modifikation des Parameters 5003 (SUP- und SUV-Bits) kann die Steuerung zwischen den Start-up-Verhaltensweisen vom Typ A, Typ B und Typ C umgeschaltet werden, wodurch das Werkzeug entweder einen Schnittpunkt anfährt oder senkrecht zum nächsten Block eintaucht, was sich perfekt an hochspezifische Spannmittelgrenzen anpassen lässt. Schließlich ermöglicht Fanuc eine explizite Parametersteuerung über die Interferenzprüfungslogik selbst (Parameter 5008 CNV/CNC), wodurch Bediener Winkelprüfungen oder Richtungsprüfungen unabhängig voneinander deaktivieren können, falls komplexe Mikrobearbeitungsprofile fälschlicherweise Alarme auslösen.
Siemens-Steuerungen zeichnen sich durch leistungsstarke übergeordnete Geometriemodifikationswerkzeuge und fortschrittliche An-/Abfahrstrategien aus. Das einzigartige Inline-Konturaufmaß `OFFN` ermöglicht es Programmierern, schnell Schrupp-Offsets zu konfigurieren, ohne die Koordinaten im Code zu ändern oder komplexe Makrostrukturen auszuführen. Darüber hinaus bietet Siemens mit den Befehlen `G461` und `G462` erweiterte Rückzugsstrategien. Wenn die Steuerung keinen gültigen mathematischen Schnittpunkt zwischen den Offsetkurven zweier benachbarter Blöcke finden kann, zwingen diese Befehle die Steuerung dazu, dynamisch einen Hilfskreis einzufügen oder die Bahn über eine gerade Tangente zu verlängern, wodurch die Konturschleife sicher geschlossen wird, anstatt die Produktion sofort zu stoppen. Siemens bietet zudem `CUTCONON` und `CUTCONOF`, um die Kompensation ohne vollständige Abwahl vorübergehend einzufrieren.
Mitsubishi sticht durch Bahnsteuerungen hervor, die speziell zur Optimierung von Drehmaschinenoperationen und manuellen Vektoranpassungen entwickelt wurden. Ein besonders hervorstechendes Verhalten ist die native integration des Befehls `G46` auf Drehsystemen. Anstatt den Programmierer zu zwingen, bei komplexen Konturen ständig zwischen G41 und G42 hin- und herzuschalten, entscheidet G46 automatisch über die korrekte Richtung der Schneidenradiuskorrektur, indem es die programmierten Bewegungsvektoren und den voreingestellten hypothetischen Werkzeugschneiden-Mittelpunkt analysiert. Darüber hinaus ist Mitsubishi einzigartig darin, Programmierern das direkte Anhängen der Adressen `I`, `J` und `K` in einem G41-, G42- oder G40-Block zu erlauben, um den Winkel des Start- oder Deaktivierungsvektors manuell zu überschreiben, was Dummy-Linearbewegungen zur Ausrichtung überflüssig macht.
Programmbeispiele
Um die praktischen Unterschiede zwischen diesen drei Steuerungssystemen zu veranschaulichen, zeigen die folgenden Beispiele, wie G40-, G41- und G42-Befehle in der Produktion programmiert werden.
Fanuc-Fräsprogrammbeispiel
O1001 (FANUC MILLING COMP EXAMPLE) ;
N10 G90 G21 G40 G80 (Safety block: absolute, mm, cancel comp, cancel cycles) ;
N20 T01 M06 (Tool change: load 10mm flat end mill) ;
N30 S1200 M03 (Start spindle clockwise at 1200 rpm) ;
N40 G00 X0.0 Y-20.0 Z10.0 (Rapid positioning outside the part) ;
N50 G01 Z-5.0 F150.0 (Feed down to cutting depth) ;
N60 G41 X20.0 Y0.0 D01 F250.0 (Activate cutter compensation left with offset register D01) ;
N70 Y50.0 (Feed along left edge of workpiece) ;
N80 X80.0 (Feed along top edge) ;
N90 Y0.0 (Feed along right edge) ;
N100 X0.0 (Feed along bottom edge) ;
N110 G40 X-20.0 Y-20.0 (Deselect cutter compensation in a linear block) ;
N120 G00 Z100.0 M05 (Rapid retract and stop spindle) ;
N130 M30 ;
Trockenlauf (dry run)-Analyse:
- Die Steuerung verarbeitet den Sicherheitsblock, stellt absolute Koordinaten in Millimetern ein und stellt sicher, dass die Fräserradiuskorrektur abgewählt ist (`G40`).
- Der Werkzeugwechselblock (`T01 M06`) lädt das Werkzeug, und die Spindel wird mit 1200 U/min im Uhrzeigersinn gestartet.
- Die Achsen verfahren im Eilgang zu einem sicheren Startpunkt `X0.0 Y-20.0 Z10.0` außerhalb der Werkstoffgrenzen.
- Das Werkzeug fährt in Z auf eine Tiefe von `-5.0` mit einem Vorschub von 150 mm/min.
- Im Block `N60 G41 X20.0 Y0.0 D01 F250.0` aktiviert die Steuerung die Fräserradiuskorrektur links (`G41`). Das Werkzeug verfährt linear von `X0.0 Y-20.0` nach `X20.0 Y0.0`. Während dieser linearen Bewegung baut die Steuerung einen senkrecht zur Kontur stehenden Korrekturvektor auf, der den im Register `D01` hinterlegten radialen Offsetwert (z. B. 5.0 mm) nutzt.
- Während das Werkzeug entlang der Konturblöcke verfährt (`Y50.0`, `X80.0`, `Y0.0`, `X0.0`), wird die physische Mittelpunktbahn exakt 5.0 mm links von der programmierten Koordinatenkontur verschoben.
- Beim Erreichen des Konturendes wird der Block `N110 G40 X-20.0 Y-20.0` eingelesen. Die Steuerung führt eine lineare Verfahrbewegung zu den Rückzugskoordinaten aus, während sie den Werkzeugmittelpunkt-Offsetvektor sicher abbaut, wodurch der Werkzeugmittelpunkt wieder auf die exakten unkorrigierten Positionen bei `X-20.0 Y-20.0` zurückgeführt wird.
Siemens-Drehprogrammbeispiel
; SIEMENS TURN COMP EXAMPLE
N10 G90 G95 G40 G18 (Absolute coordinates, feed per rev, cancel comp, ZX plane)
N20 T01 D01 (Load turning tool and activate offset register D01)
N30 G97 S1500 M3 (Constant spindle speed 1500 rpm, spindle CW)
N40 G0 X100.0 Z10.0 (Rapid traverse to start point outside diameter)
N50 G1 Z2.0 F0.2 (Feed to start of cut)
N60 G42 X40.0 Z0.0 (Activate tool nose radius compensation right)
N70 G1 X50.0 Z-5.0 (Taper cut with active compensation)
N80 G1 Z-30.0 (Turn outer diameter)
N90 G1 X90.0 (Face out)
N100 G40 G0 X120.0 Z20.0 (Deselect tool nose compensation in rapid traverse)
N110 M30
Trockenlauf-Analyse:
- Die Maschine wird auf absolute Positionierung und Vorschub pro Umdrehung konfiguriert, und die ZX-Ebene (`G18`) wird für das Drehen festgelegt. Die Kompensation ist mit `G40` abgewählt.
- Das aktive Drehwerkzeug und seine zugehörigen Geometrie-/Verschleißdaten im Register `D01` werden über `T01 D01` geladen.
- Die Spindel wird mit 1500 U/min gestartet. Die Achsen fahren im Eilgang auf `X100.0 Z10.0`, um eine sichere Anfahrposition einzunehmen.
- Die Achse fährt mit einem Vorschub von 0.2 mm/U auf `Z2.0`.
- Der Block `N60 G42 X40.0 Z0.0` aktiviert die Schneidenradiuskorrektur rechts (`G42`). Während dieses linearen Blocks liest die Steuerung den Schneidenradiuswert aus der Systemvariable `$TC_DP6` und berechnet den Startkorrekturvektor, um den Kontaktpunkt der Werkzeugspitze mit dem programmierten Kegelanfang auszurichten.
- Das Werkzeug führt einen Kegelschnitt von `X40.0 Z0.0` nach `X50.0 Z-5.0` aus und hält die Werkzeugschneide automatisch tangential zur Steigung.
- Der Außendurchmesser wird auf `Z-30.0` gedreht und auf `X90.0` plangedreht, wobei die Werkzeugbahn dynamisch um den Schneidenradius verschoben bleibt, um ein Unterschneiden zu verhindern.
- Der Block `N100 G40 G0 X120.0 Z20.0` wählt die Kompensation (`G40`) in einem linearen Eilgangblock ab. Die Steuerung zieht die Werkzeugspitze auf `X120.0 Z20.0` zurück, während sich der Korrekturvektor sicher abbaut.
Mitsubishi-Fräsprogramm mit benutzerdefiniertem Vektor
%
O2001 (MITSUBISHI COMP VECTOR EXAMPLE) ;
N10 G90 G21 G40 G17 (Absolute, mm, cancel compensation, XY plane) ;
N20 T02 M06 (Load 12mm flat end mill) ;
N30 S1000 M03 (Start spindle CW at 1000 rpm) ;
N40 G00 X0.0 Y-30.0 Z15.0 (Rapid traverse to starting coordinates) ;
N50 G01 Z-10.0 F180.0 (Feed Z axis to cutting depth) ;
N60 G41 X30.0 Y0.0 I15.0 J10.0 D02 F200.0 (Activate compensation left with custom I and J vector coordinates) ;
N70 Y60.0 (Feed along compensated path) ;
N80 X100.0 (Feed along top contour) ;
N90 G40 X0.0 Y-30.0 I10.0 J-10.0 (Deselect compensation with manual cancel vector) ;
N100 G00 Z50.0 M05 (Retract Z and stop spindle) ;
N110 M30 ;
%
Trockenlauf-Analyse:
- Block 1 wählt jede aktive Werkzeugradiuskorrektur ab und stellt das Standard-XY-Ebenenprogramm im absoluten Modus ein.
- Der Werkzeugwechsel wird ausgeführt und Werkzeug 2 geladen. Die Spindel wird mit 1000 U/min aktiviert.
- Die Achsen verfahren im Eilgang zu den Koordinaten `X0.0 Y-30.0 Z15.0`, um eine sichere Werkzeugpositionierung zu gewährleisten.
- Die Z-Achse fährt mit 180 mm/min auf Tiefe `-10.0`.
- Der Block `G41 X30.0 Y0.0 I15.0 J10.0 D02 F200.0` aktiviert die Fräserradiuskorrektur links (`G41`). Anstatt einen standardmäßigen senkrechten Anfahrvektor zu verwenden, interpretiert die Mitsubishi-Steuerung die Adressen `I15.0` und `J10.0`, um einen benutzerdefinierten Winkel für den Startvektor zu erzwingen. Dies stellt sicher, dass sich das Werkzeug der Werkstückfläche entlang einer abgewinkelten Bahn nähert, um eine benachbarte Spannvorrichtung zu umgehen.
- Das Fräswerkzeug verfährt entlang der Kontur `Y60.0` und `X100.0` und behält seinen Bahnmittelpunktversatz unter Verwendung des radialen Wertes im Register `D02`.
- Am Konturende wird `G40 X0.0 Y-30.0 I10.0 J-10.0` ausgeführt. Die Steuerung verwendet die `I`- und `J`-Koordinaten, um einen spezifischen Rückzugswinkel zu fahren, der die Werkstückcke sicher freifährt, und bewegt die Achsen zurück zu den unkorrigierten Koordinaten bei `X0.0 Y-30.0`, während der aktive Vektor abgebaut wird.
Fehleranalyse
| Marke | Alarmcode | Auslösebedingung | Bediener-Symptom | Ursache & Behebung |
|---|---|---|---|---|
| Fanuc | PS0034 | Versuch, die Kompensation innerhalb eines Kreisinterpolationsblocks (G02/G03) zu aktivieren (G41/G42) oder abzuwählen (G40). | Die CNC stoppt sofort die Achsbewegung und zeigt einen blinkenden roten Fehler „NO CIRC ALLOWED IN ST-UP/EXT BLK“ an. | Die Steuerung kann keinen Start-up-Vektor auf einer gekrümmten Kontur erstellen. Behebung: Verschieben Sie G41, G42 oder G40 in einen linearen Bewegungsblock (G00 oder G01) vor oder nach dem Kreisbogen. |
| Fanuc | PS0041 | Berechnung eines mathematischen Überschneidens, oft verursacht durch Programmierung von zwei oder mehr aufeinanderfolgenden Blöcken ohne physische Achsbewegung. | Die Spindel läuft weiter, aber die Achsen frieren ein und auf dem Bildschirm wird „INTERFERENCE IN CRC / CUTTER COMPENSATION“ angezeigt. | Der Look-Ahead-Puffer ist frei von Koordinatenaktualisierungen (z. B. aufeinanderfolgende Verweilzeiten oder M-Codes), was die Bahnberechnungen stört. Behebung: Konsolidieren Sie M-Codes, eliminieren Sie aufeinanderfolgende Verweilzeiten oder aktivieren Sie den CAV-Parameter (19607#5) für die dynamische Bahnvermeidung. |
| Siemens | Alarm 10751 | Die Kollisionsüberwachung der Steuerung kann keinen gültigen mathematischen Schnittpunkt zwischen den Offsetkurven benachbarter Blöcke finden. | Die automatische Ausführung wird sofort abgebrochen, im Display blinkt „Danger of collision due to tool radius compensation“. | Die Konturgeometrie ist zu eng für den aktiven Fräserradius oder die G461-Strategien können keinen Pfad auflösen. Behebung: Prüfen Sie die Werkzeugdaten, verringern Sie den aktiven Fräserradius oder implementieren Sie die erweiterten Bahneinfügungsstrategien G461/G462. |
| Siemens | Alarm 10757 | Versuch, die aktive Arbeitsebene (G17, G18 oder G19) zu wechseln, während die Werkzeugradiuskorrektur aktiv ist. | Das Programm stoppt mitten im Block und zeigt „Changing the compensation plane while TRC is active is not possible“ an. | Wechsel der Bearbeitungsebene erfordern ein Zurücksetzen der Koordinaten. Behebung: Programmieren Sie einen G40-Befehl, um die aktive WRK vollständig abzuwählen, bevor Sie den Ebenenwechselbefehl ausführen. |
| Mitsubishi | P153 | Die programmierte Konturvorschubrichtung und die kompensierte Vorschubrichtung werden als umgekehrt berechnet. | Die Achsen verzögern bis zum vollständigen Stillstand, und das Fehlerfenster zeigt einen „P153 Interference check“-Alarm an. | Tritt auf, wenn versucht wird, eine Innenkante oder Nut zu bearbeiten, die schmaler als der Werkzeugdurchmesser ist. Behebung: Verwenden Sie einen Fräser mit kleinerem Durchmesser, der mathematisch in die Nutbreite passt, oder ändern Sie die programmierte Geometrie. |
| Mitsubishi | P608 | Ein G31-Suchlauf (Skip) wird befohlen, während die Werkzeugradius- oder Schneidenradiuskorrektur aktiv ist. | Die Bearbeitung bricht sofort ab und zeigt „P608 Skip command error“ an. | Der Skip-Befehl umgeht die Geometrieprüfungen der Werkzeugbahn. Behebung: Programmieren Sie einen G40-Abwahlbefehl, um die Werkzeugkorrektur zu deaktivieren, bevor Sie den G31-Suchblock ausgeben. |
Anwendungshinweis
Ein plötzlicher Stillstand mitten im Schruppzyklus oder eine unbemerkte Profilverletzung an einer engen Nut (groove) gefährdet die Wirtschaftlichkeit jeder CNC-Fertigung. Die häufigste Ursache für Maßabweichungen bei Radiuskorrekturen ist eine unzureichende Vorausschau der Steuerung (look-ahead buffer) oder eine fehlerhafte Parameterkonfiguration. Wenn beispielsweise auf Mitsubishi-Steuerungen vier oder mehr aufeinanderfolgende Nicht-Bewegungsblöcke (wie Verweilzeiten oder Hilfsfunktionen) programmiert werden, bricht die Bahnermittlung ab, was zu schweren Maßabweichungen oder dem Alarm P153 führt. Auf Fanuc-Steuerungen stoppt die Maschine bei einer übergeschnittenen Kontur standardmäßig mit dem Alarm PS0041, es sei denn, der Parameter 19607 Bit 5 (CAV) ist auf 1 gesetzt, was eine automatische Konturanpassung zur Kollisionsvermeidung ermöglicht. Um Maßabweichungen und Ausschuss (scrap) bei komplexen Passungen zu vermeiden, müssen Einrichter die steuerungsspezifischen Parameter wie den Fanuc-Parameter 5003 (SUP/SUV-Bits) für den Anfahrvektor (Type A, B oder C) oder den Mitsubishi-Parameter #8157 sorgfältig verifizieren. Wird dieser Parameter nicht verifiziert, liegt das Ergebnis außerhalb der Toleranz — und der Fehler zeigt sich erst bei der Endmessung. Die korrekte Konfiguration der Werkzeugdaten (wie $TC_DP6 bei Siemens für den Werkzeugradius) und der Parameter eliminiert die häufigste Ursache für Maßabweichungen bei diesem Befehl und stellt sicher, dass Toleranzüberschreitungen und Beschädigungen an Chuck, Turret und Vise Jaws ausgeschlossen sind.
Verwandte Befehle
Um die Fräserradius- und Schneidenradiuskorrektur effektiv zu programmieren, müssen Bediener das breitere Netzwerk von G-Codes und Hilfsroutinen verstehen:
- G38 (Vektorhalt): Wird auf Fanuc- und Mitsubishi-Systemen verwendet, um den aktuellen Korrekturvektor während Verfahrblöcken vorübergehend zu halten und unerwünschte Neuberechnungen zu verhindern.
- G39 (Ecken-Kreisinterpolation): Fügt bei Fanuc- und Mitsubishi-Steuerungen einen Übergangs-Eckenkreisbogen während der Radiuskorrektur ein, um die Bewegung um scharfe Außenecken zu glätten.
- G46 (Automatische Schneidenradius-Richtungsbestimmung): Ein Mitsubishi-Drehmaschinenbefehl, der basierend auf Bewegungsvektoren automatisch die korrekte linke oder rechte Korrekturrichtung erkennt und anwendet.
- G41.2 / G42.2 (Dreidimensionale Werkzeugradiuskorrektur): Erweitert die Kompensation auf Fanuc- und Mitsubishi-M-Systemen in den 3D-Raum, um Oberflächenkompensationen in vertikaler Richtung zu handhaben.
- G450 / G451 (Auswahl des Eckenübergangs): Wird auf Siemens-Systemen verwendet, um an Außenecken zwischen dem Einfügen eines Übergangskreises (G450) und dem Schneiden äquidistanter Bahnen (G451) umzuschalten.
- G01 (Linear-Interpolation): Wird verwendet, um lineare Schnittkoordinaten auszuführen und Start-up- sowie Abwahlvektoren zu verfahren.
- G17, G18, G19 (Plane-Auswahl): Legt die aktive Bearbeitungsebene fest, auf die die radialen Offsets mathematisch projiziert werden.
- G28 (Referenzpunktfahrt): Standardmäßiger Referenzpunktlauf zur sicheren Rückkehr der Achsen nach dem Abwählen der Korrektur.
Fazit
Für eine maximale Prozesssicherheit und kompromisslose Maßhaltigkeit in der CNC-Präzisionsfertigung müssen Programmierer standardmäßig klare An- und Abfahrregeln etablieren. Die Aktivierung (G41/G42) und Deaktivierung (G40) der Korrektur darf ausschließlich in linearen Verfahrblöcken (G00 oder G01) erfolgen, wobei der Verfahrweg stets größer als der physische Werkzeugradius sein muss. Vor dem Einfahren der Maschine sind die steuerungsspezifischen Anfahrparameter (wie Parameter 5003 bei Fanuc oder #8157 bei Mitsubishi) sowie die exakten Werkzeugdaten im Werkzeugspeicher zwingend zu kontrollieren. Wird dieser Parameter nicht verifiziert, liegt das Ergebnis außerhalb der Toleranz — und der Fehler zeigt sich erst bei der Endmessung. Die korrekte Konfiguration der look-ahead-Einstellungen und das Vermeiden von Nicht-Bewegungsblöcken eliminieren die häufigste Ursache für Maßabweichungen bei diesem Befehl. Durch die konsequente Nutzung von grafischen Simulationen und Eilgang-Trockenläufen vor dem eigentlichen Zerspanungsprozess werden teurer Ausschuss (scrap) und Maschinenschäden zuverlässig verhindert.
Häufig gestellte Fragen (FAQ)
Wie wird eine Toleranzüberschreitung durch den Look-Ahead-Speicher bei aktiver Radiuskorrektur vermieden?
Wenn der Look-Ahead-Puffer durch mehrere aufeinanderfolgende Nicht-Bewegungsblöcke (z. B. M-Befehle oder Verweilzeiten) geleert wird, kann die Steuerung die Schnittpunkte nachfolgender Konturen nicht mehr berechnen und bricht ab oder erzeugt Maßabweichungen. Um dies zu verhindern, sollten Sie Hilfsfunktionen und Dwells außerhalb der aktiven Radiuskorrektur programmieren oder bei Fanuc den CAV-Interferenzschutz (Parameter 19607 Bit 5) aktivieren. Aktion: Überprüfen Sie Ihr G-Code-Programm vor dem Start auf aufeinanderfolgende Leerblöcke ohne Achsbewegung und konsolidieren Sie M-Befehle in Fahrblöcken.
Was ist der Unterschied zwischen den Anfahrtypen A und B auf Fanuc- und Mitsubishi-Steuerungen?
Der gewählte Anfahrtyp bestimmt, wie der Kompensationsvektor aufgebaut wird. Typ A erzeugt einen Vektor senkrecht zum ersten Bewegungsblock, was bei engen Werkstückkonturen zu einer Konturbeschädigung führen kann. Typ B berechnet den mathematischen Schnittpunkt mit dem Folgesatz, was eine weichere und präzisere Anfahrt ermöglicht. Wird dieser Parameter nicht verifiziert, liegt das Ergebnis außerhalb der Toleranz — und der Fehler zeigt sich erst bei der Endmessung. Aktion: Kontrollieren Sie den Maschinendatensatz (Parameter 5003 SUP/SUV bei Fanuc oder Parameter #8157 bei Mitsubishi) und stellen Sie ihn auf Typ B ein, um eine prozesssichere Schnittpunktberechnung zu garantieren.
Warum führt der Werkzeugverschleiß bei G41/G42 oft zu Maßabweichungen und wie korrigiert man dies sicher?
Ein ungenauer oder nicht aktualisierter Werkzeugradiuswert (z.B. `$TC_DP6` bei Siemens) führt dazu, dass die reale Fräsbahn nicht mehr exakt zur Soll-Kontur passt. Dies führt zu Toleranzüberschreitungen und erhöhtem Ausschuss. Die korrekte Konfiguration und regelmäßige Kalibrierung der Werkzeugabmessungen eliminieren die häufigste Ursache für Maßabweichungen bei diesem Befehl. Aktion: Messen Sie den Werkzeugdurchmesser regelmäßig mit einem Messtaster ein und tragen Sie die Differenz direkt als Verschleißwert (Wear Offset) im Steuerungsspeicher ein, bevor Sie das nächste Teil fertigen.
Immer noch nicht gelöst?
Frage unseren KI-Assistenten zu diesem Thema in natürlicher Sprache. Basierend auf verifizierten Quellen, keine Halluzinationen.

- 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
Siemens CYCLE800 G-Code: Schwenkebene & Werkzeugausrichtung
Siemens CYCLE800 programmieren für 3+2-Achsen. Lernen Sie Schwenkebenen, Werkzeugausrichtung und die Behebung der Sinumerik-Alarme 61190 und 61153.
Siemens CYCLE72 Konturfräsen: Leitfaden zum Sinumerik-Bahnfräsen
Anleitung zum Siemens CYCLE72 Konturfräsen auf Sinumerik. Erfahren Sie alles über Parameter, das Vermeiden von Alarm 61123 und prozesssicheres Arbeiten.
Siemens CYCLE952 Konturdrehzyklus prozesssicher programmieren
Siemens CYCLE952 Konturdrehen auf Sinumerik CNC programmieren. Parameter verifizieren, Alarm 61051 vermeiden und Unterschiede zu Fanuc und Mitsubishi verstehen.
Siemens SLOT1 und SLOT2 Nutfräszyklen sicher programmieren
Programmierung der Nutfräszyklen SLOT1 und SLOT2 auf Siemens Sinumerik Steuerungen. Parameter verifizieren, Alarm 61000 vermeiden und Fräser anpassen.