G-Code Programmierung: G0, G1, G2, G3

Vier Fahrbefehle steuern den Großteil aller CNC-Bearbeitungen: G0, G1, G2 und G3. Wer diese Codes versteht, kann einfache Zerspanprogramme selbst schreiben, Maschinenprogramme lesen und Fehler direkt an der Steuerung erkennen — ohne zwingend auf eine CAD/CAM-Software angewiesen zu sein.

In der Praxis wird G-Code heute meist automatisch aus CAD/CAM-Systemen erzeugt. Trotzdem ist das Verständnis der Grundbefehle essenziell: Wer einen Eilgang im Eingriff nicht erkennt oder die Kreisrichtung bei G2/G3 verwechselt, riskiert Werkzeugbruch, Ausschuss oder schlimmstenfalls Maschinenschäden. Dieser Artikel erklärt die vier Grundbefehle praxisnah mit vollständigen Codebeispielen.

Basis ist die Norm DIN 66025 (national) bzw. ISO 6983 (international), die den Programmaufbau und die Befehlsstruktur für numerisch gesteuerte Maschinen definiert. Die Codebeispiele folgen dem weit verbreiteten FANUC-Dialekt, der auf den meisten Steuerungen (Haas, Fanuc, kompatible Siemens-Modi) lauffähig ist.

📌 TL;DR — Das Wichtigste in Kürze

  • G0 (Eilgang): Schnellste Bewegung zum Positionieren — niemals im Materialeingriff verwenden
  • G1 (Linearinterpolation): Gerade Schnittbewegung mit definiertem Vorschub F — Standard beim Zerspanen
  • G2 (Kreisinterpolation CW): Bogen im Uhrzeigersinn, Parameter R oder I/J/K
  • G3 (Kreisinterpolation CCW): Bogen gegen den Uhrzeigersinn
  • Modalität: G0, G1, G2, G3 sind modal — sie gelten bis zum nächsten anderslautenden Fahrbefehl
  • Norm: DIN 66025 / ISO 6983 definiert Programmaufbau und Befehlsstruktur
  • Vollkreis: G2/G3 ohne Endpunkt-Angabe (Start = Endpunkt) erzeugt einen vollständigen Kreis

Was ist G-Code — und wozu brauchen Ingenieure ihn heute noch?

G-Code (auch NC-Code oder DIN-Code genannt) ist die maschinennahe Programmiersprache für CNC-Werkzeugmaschinen. Jede Zeile eines G-Code-Programms beschreibt eine Aktion: Werkzeug bewegen, Spindel starten, Kühlmittel einschalten. Die Steuerung liest die Sätze sequenziell und setzt sie in Achsbewegungen um.

In modernen Fertigungsumgebungen erzeugt die CAD/CAM-Software den G-Code automatisch aus dem 3D-Modell. Warum dann noch die Grundlagen kennen? Weil der Maschinenbediener, Einrichter und Qualitätsverantwortliche das Programm lesen und beurteilen muss — insbesondere bei Kollisionsprüfungen, Einzelteilfertigung ohne CAM-Lizenz, Parameteranpassungen direkt an der Maschine und bei der Fehlersuche nach einem Alarm.

Norm-Basis: DIN 66025 und ISO 6983

Der G-Code ist durch zwei Normen geregelt: DIN 66025 (Deutschland) legt den Programmaufbau und die Adressbuchstaben fest. Die international gültige ISO 6983 (Teile 1 und 2) definiert das Datenformat und die Befehlsstruktur numerisch gesteuerter Maschinen. Beide Normen sind im Kern deckungsgleich.

In der Praxis gibt es steuerungsspezifische Dialekte: Fanuc, Siemens SINUMERIK, Heidenhain und Haas weichen in Details ab — Kreisbogen-Syntax, Unterprogramm-Aufruf, Zyklen. Die vier Grundbefehle G0, G1, G2 und G3 sind auf allen Systemen identisch definiert und lauffähig.

Modalität — warum Codes „hängen bleiben“

G-Codes unterscheiden sich darin, ob sie nur einmalig wirken oder dauerhaft aktiv bleiben. Die Fahrbefehle G0, G1, G2 und G3 sind modal: Einmal programmiert, gelten sie für alle folgenden Sätze, bis ein anderer Fahrbefehl aufgerufen wird. Das spart Programmlänge, erfordert aber Aufmerksamkeit.

💡 Faustregel — Modalität: G0, G1, G2 und G3 gelten bis zum nächsten Fahrbefehl. Ein G1 in Zeile 10 wirkt noch in Zeile 50, wenn kein G0, G2 oder G3 dazwischen steht. Fehler entstehen oft, wenn ein vorheriges G1 noch aktiv ist und man vergisst, G0 für den Freifahrweg zu setzen.

Das CNC-Koordinatensystem — Voraussetzung für alle Fahrbefehle

Alle Fahrbefehle beziehen sich auf ein kartesisches Koordinatensystem mit X-, Y- und Z-Achse. Vor der Verwendung von G0 bis G3 müssen zwei grundlegende Einstellungen bekannt sein: die Bezugsart (absolut oder inkremental) und die aktive Bearbeitungsebene. Die Grundlagen zu Achskonventionen, Bezugspunkten und Nullpunkten — also das Fundament unter dem G-Code — erklärt der Artikel CNC-Drehen Grundlagen: Achsen, Bezugspunkte, Nullpunkte.

Absolut (G90) vs. Inkremental (G91)

G90 (Absolutmaß) — alle Koordinatenangaben beziehen sich auf den Werkstücknullpunkt. X50 bedeutet immer: Position 50 mm vom Nullpunkt entfernt. G91 (Inkrementalmaß) — jede Koordinate beschreibt die Bewegung relativ zur aktuellen Position. X10 bedeutet: 10 mm weiter als aktuell. G90 ist die Standardeinstellung und für die meisten Programme empfohlen, da absolute Koordinaten weniger fehleranfällig sind.

Die Ebenenauswahl G17, G18, G19

Für Kreisinterpolation (G2/G3) muss die Bearbeitungsebene bekannt sein. Sie definiert, in welcher Ebene der Bogen liegt und welche Achsen die I/J/K-Parameter beschreiben.

Ebenenauswahl für Kreisinterpolation
G-Code Ebene Bogenparameter Typische Anwendung
G17 X-Y-Ebene I (X), J (Y) Fräsen von oben (Standard)
G18 X-Z-Ebene I (X), K (Z) CNC-Drehen, Profile in X/Z
G19 Y-Z-Ebene J (Y), K (Z) Seitenkonturen, selten beim Fräsen

Beim Fräsen ist G17 die Standardebene. G17 muss meist nicht explizit programmiert werden, da die Steuerung diese Ebene beim Einschalten aktiviert — dennoch ist es gute Praxis, G17 am Programmanfang zu setzen.

G0 — Eilgang: schnell positionieren, nie bearbeiten

G0 bewegt das Werkzeug mit der höchstmöglichen Geschwindigkeit der Maschine auf die angegebene Position. Die Eilganggeschwindigkeit ist maschinenspezifisch und liegt typischerweise bei 10.000-30.000 mm/min bei modernen Bearbeitungszentren. Der F-Wert (Vorschub) wird bei G0 ignoriert.

Syntax und Parameter

Die Grundstruktur lautet:

G0 X[Koordinate] Y[Koordinate] Z[Koordinate]

Nicht alle Achsen müssen angegeben werden — nur die, die bewegt werden sollen:

N10 G0 Z50         ; Werkzeug auf Z=50 mm freifahren
N20 G0 X100 Y75    ; In X und Y positionieren
N30 G0 Z2          ; Auf Sicherheitsabstand absenken

Typische Anwendungsfälle

G0 wird ausschließlich außerhalb des Materialeingriffs eingesetzt: beim Freifahren nach einem Schnitt (Z-Achse nach oben), beim Positionieren auf den nächsten Startpunkt und beim Werkzeugwechsel (Rückzug auf Wechselposition). Ein häufig verwendetes Muster ist das „Positionierdreieck“: Z freifahren → X/Y positionieren → Z absenken.

Werkzeugweg: G0 Eilgang vs. G1 Vorschub Draufsicht auf ein Bauteil: orangene gestrichelte Linie zeigt G0-Eilgang, blaue durchgezogene Linie zeigt G1-Vorschubweg mit Richtungspfeilen Werkstück Start G0 (Eilgang) P1 (X120 Y100) P2 P3 G1 F200 (Vorschubfahrt)

Abb. 1: G0-Eilgang (orange, gestrichelt) zum Positionieren — G1-Vorschubfahrt (blau, durchgezogen) beim Zerspanen

❌ Häufiger Fehler: Eilgang im Materialeingriff

Der gefährlichste Programmierfehler beim Einstieg: G0 wird versehentlich mit einer Z-Koordinate unterhalb der Werkstückoberfläche kombiniert, während das Werkzeug noch über dem Material steht. Die Steuerung fährt dann mit voller Eilganggeschwindigkeit ins Material.

✅ Lösung: Sicherheitshöhe konsequent nutzen

  • Vor jedem G0 in X/Y immer zuerst Z auf Sicherheitsabstand freifahren (z. B. Z50)
  • Schematic: G0 Z50 → G0 X[neu] Y[neu] → G0 Z2 (Anfahrhöhe) → dann G1 Z-[Tiefe]
  • G0 niemals mit negativen Z-Werten in der Nähe des Werkstücks ohne vorherigen Z-Freifahrweg

G1 — Linearinterpolation: der Standard-Fahrbefehl beim Zerspanen

G1 bewegt das Werkzeug mit dem programmierten Vorschub F (in mm/min oder mm/U) auf geradem Weg zum Zielpunkt. Alle linearen Schnittbewegungen — Planfräsen, Nutenfräsen, Konturenfahren, Einstechen — werden mit G1 programmiert. G1 ist der am häufigsten verwendete Fahrbefehl in CNC-Programmen.

Syntax und F-Parameter

G1 X[Koordinate] Y[Koordinate] Z[Koordinate] F[Vorschub]

Der F-Wert ist modal und muss bei der ersten G1-Bewegung gesetzt sein. Fehlt der F-Wert beim ersten G1-Aufruf, löst die Steuerung einen Alarm aus. Angepasst werden muss der Vorschub je nach Material, Werkzeug und Schnittiefe — typische Werte liegen beim Fräsen von Stahl zwischen 50 und 500 mm/min, bei Aluminium zwischen 200 und 2.000 mm/min.

💡 Faustregel — F-Wert: Der F-Wert fehlt = Maschinen-Alarm. Kontrollfrage vor dem Programmstart: Ist im ersten G1-Satz ein F-Wert programmiert? G1 ist modal — der F-Wert bleibt aktiv, bis er geändert wird. Zu hohe Vorschübe bei harten Werkstoffen führen zu Werkzeugbruch; zu niedrige reduzieren unnötig die Produktivität.

Planfräsen, Konturieren, Bohren mit Vorschub

G1 deckt nahezu jede lineare Schnittbewegung ab. Beim Tauchfräsen (Z-Bewegung in Material) wird G1 mit reduziertem Vorschub (typisch 30-50 % des Planfräsvorschubs) verwendet, da axiale Kräfte beim Eintauchen höher sind als beim Seitenfräsen.

💡 Praxisbeispiel: Rechteck-Tasche fräsen mit G0 und G1

%
O1001                      ; Programmnummer
N10 G17 G21 G90            ; Ebene XY, Metrisch, Absolutmaß
N20 G0 Z50                 ; Werkzeug freifahren (Sicherheitshöhe)
N30 G0 X10 Y10             ; Startposition Tasche
N40 G0 Z2                  ; Auf Anfahrhöhe
N50 G1 Z-5 F80             ; Eintauchen 5 mm tief, reduzierter Vorschub
N60 G1 X60 Y10 F250        ; Untere Kante links → rechts
N70 G1 X60 Y40             ; Rechte Kante nach oben
N80 G1 X10 Y40             ; Obere Kante rechts → links
N90 G1 X10 Y10             ; Linke Kante zurück zum Start
N100 G0 Z50                ; Freifahren
N110 M30                   ; Programmende
%

Erläuterung: Die Tasche hat die Abmessungen 50 × 30 mm (von X10/Y10 bis X60/Y40). Eintauchen (N50) mit 80 mm/min, Planfräsen (N60-N90) mit 250 mm/min. Die Tasche wird einfach konturiert — für eine fertige Tasche sind mehrere Zustellungen (Schrupp- + Schlichtgang) erforderlich.

G2 und G3 — Kreisinterpolation: Bögen und Kreise fräsen

Kreisbogen-Konturen lassen sich nicht mit G1 programmieren. G2 und G3 steuern die Kreisinterpolation — die Steuerung berechnet automatisch den gebogenen Weg zwischen Start- und Endpunkt und hält dabei den gewünschten Radius ein. Voraussetzung: Die korrekte Bearbeitungsebene ist aktiv (bei Fräsen von oben: G17).

G2 (Uhrzeigersinn) vs. G3 (Gegenuhrzeigersinn)

Die Richtung (CW oder CCW) wird aus der Sicht von oben auf die aktive Bearbeitungsebene bestimmt. Bei G17 (X-Y-Ebene) bedeutet das: von oben auf die Fräsmaschine schauen. G2 fährt im Uhrzeigersinn, G3 gegen den Uhrzeigersinn. Die Verwechslung beider Befehle erzeugt eine Spiegelung der Kontur — ein häufiger Fehler, der erst beim Überprüfen des Werkzeugwegs in der Simulation auffällt.

Zwei Methoden: Radius R vs. Mittelpunkt I/J/K

G2 und G3 akzeptieren zwei verschiedene Parametrierungsarten für den Bogen: den Radius R oder den inkrementalen Mittelpunkt-Vektor I/J/K.

Radius R (einfacher): Für Bögen bis 180° wird R positiv angegeben, für Bögen größer als 180° (Majorbögen) wird R negativ angegeben. Vollkreise können mit R nicht programmiert werden, da Start- und Endpunkt identisch wären.

Mittelpunkt I/J/K (universell): I, J und K geben den inkrementalen Vektor vom Startpunkt zum Kreismittelpunkt an. Bei G17: I ist die Verschiebung in X, J in Y. Diese Methode erlaubt auch Vollkreise (Start = Endpunkt, I/J ≠ 0).

R-Parameter vs. I/J/K-Vektor bei G2/G3
Methode Syntax Vorteil Einschränkung
Radius R G2 X[End] Y[End] R[Radius] Einfach, intuitiv Kein Vollkreis möglich; R negativ für >180°
Mittelpunkt I/J G2 X[End] Y[End] I[ΔX] J[ΔY] Vollkreis möglich, präziser Inkrementales Denken erforderlich

Vollkreis programmieren

Ein Vollkreis wird programmiert, indem Start- und Endpunkt identisch sind (kein X/Y/Z-Ziel angegeben) und der Mittelpunkt per I/J definiert wird. Alternativ: Zielkoordinate = Startkoordinate explizit angeben.

💡 Praxisbeispiel: Kreisbogen — R-Methode vs. I/J-Methode im Vergleich

; Ausgangslage: Werkzeug steht bei X0 Y0 (Kreisumfang links)
; Kreismittelpunkt bei X25 Y0, Radius = 25 mm
; Halbkreis im Uhrzeigersinn von X0/Y0 nach X50/Y0

; --- Methode 1: R-Parameter ---
N10 G0 X0 Y0             ; Startposition anfahren
N20 G1 Z-3 F100          ; Eintauchen
N30 G2 X50 Y0 R25 F200   ; Halbkreis CW mit Radius 25 mm

; --- Methode 2: I/J-Mittelpunkt ---
; Mittelpunkt liegt bei X25 Y0 → inkremental vom Start (X0/Y0): I=+25, J=0
N30 G2 X50 Y0 I25 J0 F200  ; Identischer Halbkreis mit I/J

; --- Vollkreis (nur mit I/J möglich) ---
; Start und Ende = X0 Y0, Mittelpunkt I=25 J=0
N10 G0 X0 Y0
N20 G1 Z-3 F100
N30 G2 I25 J0 F200       ; Vollkreis (kein X/Y Endpunkt nötig)

Ergebnis: Beide Methoden (R und I/J) erzeugen denselben Halbkreis. Für den Vollkreis ist ausschließlich die I/J-Methode verwendbar.

G2 und G3 Kreisinterpolation — Richtung und I/J-Vektor Zwei Kreise nebeneinander: links G2 im Uhrzeigersinn mit roten Pfeilen, rechts G3 gegen den Uhrzeigersinn mit grünen Pfeilen. Jeweils Startpunkt, Endpunkt, Mittelpunkt und I/J-Vektor beschriftet. G2 — Uhrzeigersinn (CW) S (X0 Y0) E (X160 Y0) M I=+80 CW ↻ R=80 G2 X160 Y0 I80 J0 F200 G3 — Gegenuhrzeigersinn (CCW) S (X160 Y0) E (X0 Y0) M I=-80 CCW ↺ R=80 G3 X0 Y0 I-80 J0 F200

Abb. 2: G2 (Uhrzeigersinn, rot) und G3 (Gegenuhrzeigersinn, grün) — I-Vektor zeigt inkremental vom Startpunkt zum Kreismittelpunkt M

Programm-Aufbau und wichtige Hilfs-Codes

Ein vollständiges G-Code-Programm besteht aus mehr als nur Fahrbefehlen. Spindel, Kühlmittel, Werkzeugwechsel und Programmende werden über sogenannte M-Codes gesteuert. Für den täglichen Einsatz reicht das Verständnis von etwa zehn G- und M-Codes aus.

Programmstruktur

Jedes Programm beginnt und endet mit dem Prozent-Zeichen %. Die Programmnummer (O-Wort) identifiziert das Programm im Steuerungsspeicher. Sätze sind fortlaufend nummeriert (N10, N20 …). Kommentare stehen in Klammern ; Kommentar oder (Kommentar) je nach Steuerungstyp.

Die wichtigsten M-Codes

Wichtigste G- und M-Codes in der Übersicht
Code Funktion Hinweis
G0EilgangKein Materialeingriff
G1Linearinterpolation mit VorschubF-Wert erforderlich
G2Kreisinterpolation UhrzeigersinnR oder I/J/K
G3Kreisinterpolation GegenuhrzeigersinnR oder I/J/K
G17Ebenenauswahl X-YStandard beim Fräsen
G21Maß in MillimeterG20 = Zoll
G90AbsolutmaßG91 = Inkrementalmaß
M3Spindel EIN, UhrzeigersinnS-Wert = Drehzahl in 1/min
M5Spindel AUS
M8Kühlmittel EINM9 = Kühlmittel AUS
M30Programmende und ResetPflicht am Programmende

Werkzeugwechsel und T-Wort

Der Werkzeugaufruf erfolgt über das T-Wort gefolgt von der Werkzeugnummer und dem M6-Befehl (Werkzeugwechsel ausführen). Eine typische Sequenz: T1 M6 (Werkzeug 1 wechseln) gefolgt von M3 S8000 (Spindel mit 8.000 1/min starten). Vor dem Wechsel immer auf Sicherheitshöhe freifahren, da der automatische Werkzeugwechsel eine definierte Wechselposition ansteuert.

G-Code in der Praxis: CAD/CAM vs. manuelle Programmierung

In der modernen Serienproduktion wird G-Code fast ausschließlich per CAD/CAM erzeugt. Systeme wie Siemens NX, Mastercam oder Fusion 360 CAM generieren aus dem 3D-Modell automatisch optimierte Werkzeugwege und exportieren fertigen G-Code für die Zielsteuerung. Manuelle Programmierung bleibt trotzdem relevant.

Wann manuell programmieren heute noch sinnvoll ist

Manuelle G-Code-Programmierung lohnt sich bei einfachen Geometrien (Taschen, Bohrungsraster, Profile), die schneller direkt am Bedienpanel eingegeben sind als über CAM. Sie ist unverzichtbar für kleine Serien ohne CAM-Lizenz, für Korrekturen direkt an der Steuerung (Offset-Anpassungen, Vorschubkorrekturen) und für das Lesen und Verstehen von CAM-generiertem Code zur Kollisionsprüfung.

G-Code lesen und verstehen

Auch wer nie ein vollständiges Programm manuell schreibt, muss G-Code lesen können. Der erste Blick gilt immer: Gibt es G0-Bewegungen in der Nähe des Werkstücks ohne vorherigen Z-Freifahrweg? Sind alle G1-Sätze mit plausiblem F-Wert versehen? Stimmt die Kreisrichtung (G2/G3) mit dem erwarteten Werkzeugweg überein?

💡 5 G-Codes, die jeder Maschinenbediener kennen sollte:
  • G0 — Eilgang: nur zur Positionierung, nie im Eingriff
  • G1 — Linearinterpolation: der Schnitt-Standardbefehl
  • G2/G3 — Kreisinterpolation: Bögen und Kreise
  • G90/G91 — Absolut/Inkremental: Bezugssystem für alle Koordinaten
  • M30 — Programmende: immer vorhanden, sonst läuft die Steuerung in den Halt

Fazit

G0, G1, G2 und G3 sind die vier Grundbefehle der CNC-Programmierung — alles andere baut darauf auf. G0 positioniert schnell außerhalb des Materials, G1 schneidet geradeaus mit definiertem Vorschub, G2 und G3 fräsen Bögen im oder gegen den Uhrzeigersinn. Das Verständnis dieser Befehle ist Grundlage für jeden, der CNC-Programme liest, prüft oder selbst erstellt.

Drei Erkenntnisse für die Praxis: Erstens, Eilgang (G0) und Schnittbewegung (G1/G2/G3) immer sauber trennen — ein G0 im Materialeingriff ist der häufigste und teuerste Einsteigerfehler. Zweitens, die I/J/K-Methode für Kreisbögen ist universeller als R — nur mit I/J lassen sich Vollkreise programmieren. Drittens, modale Befehle wirken weiter, bis sie explizit geändert werden — nach einem G2-Satz muss G1 neu gesetzt werden, um auf lineare Vorschubfahrt umzuschalten.

Der nächste Schritt: Überprüfen Sie das nächste CAM-generierte Programm auf Eilgangbewegungen im Werkstückbereich — die Simulation zeigt es, aber das Verständnis des G-Codes macht Sie unabhängig davon. Weiterführende Grundlagen zur Zerspanung finden Sie im Pillar-Artikel Fertigung & Zerspanung.

FAQ — Häufig gestellte Fragen zur G-Code Programmierung

Was ist der Unterschied zwischen G0 und G1?

G0 bewegt das Werkzeug mit der maximal möglichen Maschinengeschwindigkeit (Eilgang) und dient ausschließlich der Positionierung ohne Materialeingriff. G1 bewegt das Werkzeug mit dem programmierten Vorschub (F-Wert) und wird für alle Schnittbewegungen verwendet. G0 ignoriert den F-Wert; bei G1 ist ein F-Wert zwingend erforderlich. Im Eilgang (G0) darf das Werkzeug keinen Kontakt mit dem Werkstück haben — sonst drohen Werkzeugbruch und Maschinenschäden.

Wann verwende ich I/J/K statt R bei G2/G3?

R ist einfacher zu berechnen und für Bögen bis 180° (Halbkreis) ausreichend. Für Bögen größer 180° wird R negativ angegeben. Vollkreise können mit R nicht programmiert werden, da Start- und Endpunkt identisch wären — die Steuerung kann den Bogen nicht eindeutig bestimmen. Die I/J/K-Methode funktioniert für alle Bögen einschließlich Vollkreisen und gilt als robuster und präziser. Empfehlung: I/J für produktive Programme, R für schnelle Einzelteile und einfache Bögen.

Wie programmiere ich einen Vollkreis mit G2?

Für einen Vollkreis muss der Startpunkt auf dem Kreisumfang liegen und kein Endpunkt (X/Y) angegeben werden — der Endpunkt ist identisch mit dem Startpunkt. Der Mittelpunkt wird per I/J angegeben. Beispiel: Startpunkt X0 Y0, Kreismittelpunkt bei X25 Y0 (Radius 25 mm): G0 X0 Y0G1 Z-3 F100G2 I25 J0 F200. Mit R-Parameter ist ein Vollkreis nicht möglich.

Was bedeutet modaler G-Code?

Modale G-Codes bleiben nach ihrer Aktivierung solange wirksam, bis ein anderer Code derselben Gruppe aufgerufen wird. G0, G1, G2 und G3 gehören alle zur Gruppe der Fahrbefehle — sie überschreiben sich gegenseitig. Ist G1 aktiv, bleibt es bis zum nächsten G0, G2 oder G3 wirksam. Nicht-modale Codes (z. B. G4 — Verweilzeit) wirken nur im Satz, in dem sie programmiert sind. Modalität spart Programmlänge, erfordert aber Aufmerksamkeit bei der Fehlersuche.

Was ist der Unterschied zwischen G90 und G91?

G90 (Absolutmaß) bezieht alle Koordinaten auf den Werkstücknullpunkt. X50 bedeutet immer: gehe zu X=50 mm vom Nullpunkt. G91 (Inkrementalmaß) bezieht alle Koordinaten auf die aktuelle Werkzeugposition. X10 bedeutet: bewege dich 10 mm in X-Richtung. G90 ist für die meisten Anwendungen empfohlen, da es unabhängig von der aktuellen Position ist und Fehler durch falsche Ausgangsposition vermeidet. G91 eignet sich für Muster-Wiederholungen und Zyklen.

Kann man G-Code ohne CAD/CAM-Software selbst schreiben?

Ja. Für einfache Geometrien (Rechtecke, Kreise, Bohrbilder, Profile) ist manuelles Schreiben effizient und schnell. Ab mittlerer Komplexität (Freiformflächen, 3D-Konturen, Mehrachsbearbeitung) ist CAD/CAM-Unterstützung sinnvoll — nicht weil G-Code schwerer wird, sondern weil die Werkzeugwegoptimierung (Schruppen/Schlichten, Kollisionsprüfung, Restmaterialerkennung) manuell zu aufwendig wäre. Grundkenntnisse in G-Code sind aber auch bei CAD/CAM-Nutzern unverzichtbar, um generierten Code zu verstehen, zu prüfen und anzupassen.

Welche G-Codes sind auf allen Steuerungen identisch?

G0, G1, G2 und G3 (Fahrbefehle), G17/G18/G19 (Ebenenauswahl), G20/G21 (Maßeinheit), G90/G91 (Bezugsart) und M3/M4/M5 (Spindel), M8/M9 (Kühlmittel), M30 (Programmende) sind auf Fanuc-kompatiblen Steuerungen (Haas, viele Fanuc-OEM, Siemens im Fanuc-Modus) identisch. Unterschiede entstehen bei Bohr- und Fräszyklen (G81-G89), Nullpunktspeicherung (G54-G59), Unterprogrammen und Makroprogrammierung — hier weichen Siemens SINUMERIK, Heidenhain und andere deutlich ab.

Quellen und weiterführende Literatur

  • DIN 66025 — Programmierung von numerisch gesteuerten Arbeitsmaschinen; Aufbau von Programmsätzen (Beuth Verlag)
  • ISO 6983-1 — Numerical control of machines — Program format and definition of address words (ISO)
  • Haas Automation — Online Operator’s Manual: G-Codes der Fräsmaschine
  • LinuxCNC-Dokumentation — G-Code Referenz (Deutsch)
  • Machining Doctor — G02/G03 Kreisinterpolation mit Parameterbeschreibung (machiningdoctor.com)

⚖️ Rechtlicher Hinweis

Dieser Artikel dient ausschließlich Informationszwecken und stellt keine Konstruktionsanleitung, Produktempfehlung oder verbindliche technische Beratung dar. Die Inhalte wurden nach bestem Wissen und unter Berücksichtigung aktueller technischer Standards erstellt, jedoch können Irrtümer und Änderungen nicht ausgeschlossen werden.

Haftungsausschluss:

  • Die Anwendung der beschriebenen Verfahren, Berechnungen und Empfehlungen erfolgt auf eigenes Risiko.
  • Für konkrete CNC-Programmierprojekte und maschinenspezifische Parametereinstellungen konsultieren Sie bitte qualifizierte Fachingenieure, Steuerungshersteller und aktuelle Normwerke.
  • Normenangaben können veraltet sein — prüfen Sie stets die aktuelle Fassung.
  • Steuerungsspezifische G-Code-Dialekte (Siemens, Heidenhain, Mazak u. a.) können von den hier beschriebenen Beispielen abweichen — verwenden Sie das jeweilige Steuerungshandbuch.
  • DS Werk und der Autor übernehmen keine Haftung für Schäden, die aus der Anwendung der Informationen entstehen.

Bei sicherheitsrelevanten Anwendungen und Erstinbetriebnahmen von CNC-Maschinen ist eine fachkundige Prüfung und Freigabe durch qualifiziertes Fachpersonal zwingend erforderlich. Falsch programmierte CNC-Programme können zu Sachschäden an Maschine und Werkstück führen.

Weiterführende Artikel