← Blog

G-Code Grundlagen: die wichtigsten Befehle und CNC-Programmierung in der Praxis

· 12 Min. Lesezeit

CNC-Steuerungsbildschirm mit Zeilen von G-Code
Designed by Magnific

G-Code ist die Sprache, die praktisch jede numerisch gesteuerte Werkzeugmaschine spricht - von der Fräse in der kleinen Werkstatt bis zum Bearbeitungszentrum in der Fabrikhalle. In diesem Leitfaden wird G-Code von Grund auf erklärt: woher er kommt, wie ein Programm aufgebaut ist, was die wichtigsten G-Befehle tun, was der Maschinennullpunkt ist und wie G-Code in der Praxis erzeugt wird. Am Ende nehmen wir ein CNC-Beispielprogramm Zeile für Zeile auseinander.

Was G-Code ist

G-Code ist die Standard-Programmiersprache für numerisch gesteuerte Maschinen, in der die Befehle geschrieben werden, die Werkzeugbewegungen und Maschinenfunktionen steuern. Ihre formale Grundlage sind zwei Normen: die internationale ISO 6983 und die deutsche DIN 66025, die den gemeinsamen Kern definieren, den die meisten Steuerungen teilen. Der Name kommt vom Buchstaben G, mit dem die wichtigsten Befehle beginnen, obwohl ein vollständiges CNC-Programm auch die Adressen M, X, Y, Z, F, S und T enthält. Die Wurzeln reichen in die 1950er Jahre und den amerikanischen Standard RS-274 zurück; heute hat jeder Steuerungshersteller - Fanuc, Siemens, Heidenhain oder das Open-Source-Projekt LinuxCNC - seinen eigenen Dialekt, aber der Kern bleibt gemeinsam. Unter den CNC-Programmiersprachen ist G-Code das, was Englisch unter den natürlichen Sprachen ist: Wer ihn beherrscht, kann mit fast jeder Maschine sprechen.

Der Zweck von G-Code ist einfach: die Geometrie aus der technischen Zeichnung in geplante Werkzeugbewegungen plus Befehle für Spindel, Kühlmittel und Werkzeugmagazin zu übersetzen. CNC-Bearbeitung (Computer Numerical Control) bedeutet genau das: Die Maschine wird von einem Programm gesteuert statt von Handrädern. Das macht die Zerspanung wiederholbar: Ein einmal geschriebenes Programm läuft beim ersten und beim tausendsten Mal identisch - die Grundlage dessen, was wir Präzisionsfertigung nennen.

Wie CNC-Programmierung funktioniert

CNC-Programmierung ist der Prozess, Teilegeometrie in Anweisungen zu übersetzen, die die Steuerung versteht. Eine CNC-Maschine arbeitet in einem einfachen Zyklus: Die Steuerung liest die G-Code-Datei Satz für Satz, interpretiert die Befehle und wandelt sie in Impulse für die Achsantriebe und die Spindel um. Das Programmieren der Werkzeugbewegungen läuft darauf hinaus zu beschreiben, wohin das Werkzeug fahren soll, wie schnell und auf welcher Bahn - die Servoantriebe führen die Bewegung mit einer Genauigkeit von Tausendstelmillimetern aus.

Der typische Ablauf sieht so aus: Der Konstrukteur liefert ein Modell oder eine Zeichnung, der Arbeitsvorbereiter plant die Operationen und Zerspanungswerkzeuge, dann wird ein Programm geschrieben, das die aufeinanderfolgenden Werkzeugbewegungen und Maschinenfunktionen abbildet. Nach Simulation und Einrichtung geht das Programm an die Maschine, und der Bediener überwacht das erste Teil. Das Bedienen von CNC-Maschinen erfordert nicht, für jedes Teil Programme von Grund auf zu schreiben - aber G-Code lesen und korrigieren zu können ist eine Kernkompetenz an der Maschine.

Aufbau des G-Codes: Satz, Zeile und Wort

Ein CNC-Programm ist eine einfache Textdatei. Jede Zeile des G-Codes, Satz genannt, beschreibt einen Schritt: eine Bewegung, eine Maschinenfunktion oder eine Änderung der Einstellungen. Ein Satz besteht aus Wörtern, und jedes Wort ist eine Adresse (ein Buchstabe) plus ein Zahlenwert. Eine Anweisung wie N30 G01 X50.0 Y20.0 F200 bedeutet: Satznummer 30, geradlinige Schnittbewegung zum Punkt X=50, Y=20, mit einem Vorschub von 200 mm/min.

G-Code-Befehle interpretieren

Wer die Adressen kennt, kann G-Code leicht interpretieren. G wählt die Bewegungsart oder Betriebsart, M schaltet Maschinenfunktionen, X, Y und Z geben Koordinaten an, F setzt den Vorschub, S die Spindeldrehzahl, T wählt das Werkzeug und N nummeriert die Sätze. Wichtig ist die Modalität: Die meisten G-Befehle bleiben aktiv, bis ein anderer Befehl derselben Gruppe sie aufhebt. Nach einem einzigen G01 dürfen die folgenden Sätze nur noch Koordinaten enthalten, und die Steuerung führt weiter lineare Bewegungen aus. Deshalb sehen reale Programme so sparsam aus: Eine einmal deklarierte Betriebsart gilt für Dutzende Sätze.

Das Koordinatensystem und der Maschinennullpunkt

Jede Koordinate im Programm wird von irgendeinem Nullpunkt aus gemessen, und hier taucht eine entscheidende Unterscheidung auf. Der Maschinennullpunkt ist ein vom Hersteller festgelegter, fester Bezugspunkt, meist am Ende des Achsverfahrwegs; von diesem Punkt aus baut die Maschine nach jedem Einschalten und jeder Referenzfahrt ihr Koordinatensystem auf (G28 ist die Rückkehr zur Referenzposition, die an den Maschinennullpunkt gebunden ist). Der Werkstücknullpunkt wiederum ist der Nullpunkt, von dem aus sich die Teilemaße bequem messen lassen - etwa eine Ecke oder die Achse einer Bohrung.

Weil der Maschinennullpunkt weit vom aufgespannten Teil entfernt liegt, arbeitet man in der Praxis mit einer Nullpunktverschiebung: Die Befehle G54 bis G59 speichern in der Steuerung den Abstand zwischen Maschinennullpunkt und Werkstücknullpunkt, gemessen mit Messtaster oder Messuhr beim Einrichten. Der Programmierer schreibt dann Koordinaten relativ zum Teil, und die Steuerung addiert die Verschiebung vom Maschinennullpunkt selbst. G53 schaltet vorübergehend auf Maschinenkoordinaten zurück, etwa um eine sichere Werkzeugwechselposition anzufahren, während das ältere G92 den Nullpunkt programmatisch setzt, ohne Verschiebetabelle. Dazu kommen zwei Bemaßungsarten: G90 (absolute Koordinaten, gemessen vom aktiven Nullpunkt) und G91 (inkrementale, gemessen von der aktuellen Position). Fehler rund um den Nullpunkt sind der klassische Werkstattunfall: Eine falsch eingetragene Nullpunktverschiebung oder ein mit dem Werkstücknullpunkt verwechselter Maschinennullpunkt endet mit Ausschuss oder einem Crash - deshalb werden die Programmeinstellungen vor dem Start immer geprüft.

Die wichtigsten G-Befehle: Werkzeugbewegungen

Vier Bewegungsbefehle sind die absolute Basis, mit der jeder Kurs beginnt. G00 ist die Eilgangbewegung: das Positionieren des Werkzeugs mit maximaler Geschwindigkeit der Maschine, außerhalb des Materials. G01 ist eine lineare Bewegung im programmierten Vorschub, also die eigentliche Schnittbewegung im Material. G02 und G03 sind Kreisinterpolation im und gegen den Uhrzeigersinn; mit diesen Bewegungen lassen sich Bögen und Kreise fräsen, ohne dass der Bediener zusätzlich rechnen muss. G04, eine programmierte Verweilzeit, vervollständigt den Satz - genutzt etwa am Grund einer Bohrung, um deren Oberfläche zu verbessern.

Es lohnt sich zu wissen, dass es auch seltenere Codes aus dieser Familie gibt: G05 und G06 tauchen bei Hochgeschwindigkeitsbearbeitung und Spline-Interpolation auf, G07 bei virtuellen Achsen, und G09 erzwingt einen Genauhalt in einer Ecke. Das sind allerdings Besonderheiten einer bestimmten Steuerung und Maschinenart.

CNC-Fräsen: ein Werkzeug bei der Schnittbewegung im Material
Designed by Magnific

CNC-G-Codes: Übersicht der wichtigsten Befehle

Die folgende Tabelle sammelt die G-Codes, die in den meisten Programmen vorkommen. Sie ist als Spickzettel gedacht, konsistent mit ISO 6983 / DIN 66025; die Beschreibungen können sich zwischen Steuerungen leicht unterscheiden.

Code Funktion
G00 Eilgang (Positionieren außerhalb des Materials)
G01 Linearbewegung im Schnittvorschub
G02 / G03 Kreisinterpolation im / gegen den Uhrzeigersinn
G04 Verweilzeit
G09 Genauhalt im Satz
G20 / G21 Maße in Zoll / Millimetern
G28 Rückkehr zum Referenzpunkt der Maschine
G33 Gewindeschneiden mit an die Spindeldrehzahl gekoppeltem Vorschub
G40 / G41 / G42 Werkzeugradiuskorrektur aufheben / links / rechts
G43 Werkzeuglängenkorrektur
G53 Maschinenkoordinaten (vom Maschinennullpunkt)
G54–G59 Nullpunktverschiebungen des Werkstücks
G76 Feinbohrzyklus (Fräsen) / Gewindezyklus (Drehen)
G79 parametrischer Bearbeitungszyklus (ausgewählte Steuerungen)
G80 Bearbeitungszyklen aufheben
G81 / G82 / G83 Bohrzyklus: einfach / mit Verweilzeit / Tieflochbohren
G84 Gewindebohrzyklus
G87 Rückwärtssenkzyklus
G90 / G91 absolute / inkrementale Bemaßung
G92 programmatisches Setzen des Nullpunkts
G94 / G95 Vorschub in mm/min / mm/U
G96 / G97 konstante Schnittgeschwindigkeit / konstante Spindeldrehzahl
G98 / G99 Zyklusrückzug auf Ausgangs- / Rückzugsebene

Werkzeugradius- und Längenkorrektur

G41 und G42 verschieben die Werkzeugbahn um den Fräserradius, sodass man die Teilekontur programmiert statt der Werkzeugmitte; G40 hebt die Korrektur auf. G43 fügt die Längenkorrektur aus der Werkzeugtabelle hinzu. Dank dieser Befehle beschränkt sich die Programmänderung nach dem Nachschleifen eines Fräsers auf das Korrigieren eines Werts in der Tabelle, ohne den Code anzufassen.

Bohr- und Gewindezyklen

Ein Bohrzyklus ist eine fertige Sequenz - Anfahren, Bohren, Rückzug - verpackt in einen einzigen Satz. G81 genügt für flache Bohrungen, G82 fügt eine Verweilzeit am Grund hinzu, und G83 zieht den Bohrer alle paar Millimeter zurück, um den Span in tiefen Bohrungen zu brechen. G84 ist starres Gewindebohren, bei dem die Steuerung die Spindeldrehung an den Vorschub koppelt - ähnlich wie G33 beim Gewindeschneiden auf der Drehmaschine. G98 und G99 entscheiden, auf welche Höhe das Werkzeug zwischen den Bohrungen zurückkehrt, und G80 beendet den Zyklus.

Einheiten, Vorschub und Spindeldrehzahl

G20 und G21 schalten zwischen Zoll und Millimetern um - woran jedes in den falschen Einheiten aus dem Internet geladene Programm schmerzhaft erinnert. G94 und G95 legen fest, ob der Vorschub pro Minute oder pro Umdrehung gilt, während G96 und G97 Drehmaschinen-Territorium sind: Die konstante Schnittgeschwindigkeit hält die Oberflächenqualität auf wechselndem Durchmesser, indem sie die Spindeldrehzahl laufend anpasst.

M-Code: die Maschinenfunktionen

Die andere Hälfte der Sprache ist der M-Code: Befehle, die Maschinenfunktionen ohne Bezug zur Geometrie schalten. Die wichtigsten sind M03 und M04 (Spindelstart im und gegen den Uhrzeigersinn), M05 (Spindelstopp), M06 (Werkzeugwechsel), M08 und M09 (Kühlmittel) und M30, das Programmende mit Rücksprung. Moderne CNC-Maschinen besitzen Werkzeugmagazine, sodass Werkzeugwechsel automatisch ablaufen: Der Satz T05 M06 lädt Werkzeug Nummer 5 ohne Zutun des Bedieners. Gerade der automatische Werkzeugwechsel erlaubt es, mit einem Programm in einer Aufspannung zu bohren, zu fräsen und Gewinde zu schneiden.

Ein G-Code-Beispielprogramm Zeile für Zeile erklärt

Hier ein einfaches Fräsprogramm: eine Konturfahrt um ein Rechteck und eine gebohrte Bohrung.

%
O0006 (PLATTE 60x40)
N10 G21 G90 G54          (Millimeter, absolute Bemassung, Werkstuecknullpunkt G54)
N20 T01 M06              (Werkzeugwechsel: Schaftfraeser 10 mm)
N30 S3000 M03            (Spindel 3000 U/min, im Uhrzeigersinn)
N40 G00 X-10.0 Y-10.0 Z5.0  (Eilgang ueber den Startpunkt)
N50 G01 Z-2.0 F100       (Eintauchen auf 2 mm Tiefe, Schnittvorschub)
N60 G01 X70.0 F300       (Linearbewegung entlang der unteren Kante)
N70 G01 Y50.0            (rechte Seite - G01 weiterhin aktiv)
N80 G01 X-10.0           (obere Kante)
N90 G01 Y-10.0           (zurueck zum Start)
N100 G00 Z50.0           (sicherer Rueckzug)
N110 T02 M06             (Werkzeugwechsel: Bohrer 6 mm)
N120 S1500 M03           (neue Spindeldrehzahl)
N130 G00 X30.0 Y20.0     (Positionieren ueber der Bohrung)
N140 G81 Z-12.0 R2.0 F80 (Bohrzyklus bis -12 mm)
N150 G80 G00 Z50.0       (Zyklus aufheben, Rueckzug)
N160 M05 M09             (Spindel und Kuehlmittel stopp)
N170 M30                 (Programmende)
%

Dieses kurze Skript zeigt alles Wesentliche: Einstellungen am Anfang, Werkzeugbewegungen entlang der Kontur, ein Bearbeitungszyklus und ein sauberes Ende. Die Kontrolle der Z-Bewegungen (erst sichere Höhe, dann das Eintauchen) ist die Gewohnheit, die Werkzeug und Teil gleichermaßen schützt.

G-Code erzeugen: von Hand oder aus CAD/CAM

Einfache Teile lassen sich von Hand an der Maschine programmieren, und viele Bediener arbeiten täglich so. Bei komplexen Formen ergibt manuelles Schreiben keinen Sinn: Die G-Code-Erzeugung übernehmen CAD/CAM-Systeme, die Werkzeugbahnen aus dem 3D-Modell planen, während ein Postprozessor sie in den Dialekt einer konkreten Steuerung übersetzt. Auch einfachere Werkzeuge können G-Code erzeugen: Der DraftSight G-Code Generator erstellt Programme direkt aus einer 2D-Zeichnung, Slicer für den 3D-Druck generieren G-Code für Drucker, und das kostenlose LinuxCNC erlaubt es, die eigene Maschine mit einem gewöhnlichen Computer zu betreiben. Unabhängig von der Quelle endet die Erzeugung mit einer Textdatei, die sich immer von Hand nachpolieren lässt.

Verifikation des NC-Codes

Bevor ein Programm die Maschine erreicht, lohnt die Prüfung im Simulator: Die grafische Verifikation fängt Kollisionen, falsche Verschiebungen und Tippfehler billiger ab als ein gebrochener Fräser. Eine weitere gute Praxis ist ein erstes Teil mit reduziertem Vorschub und der Hand am Override-Regler. Auf die Simulation zu verzichten ist bei trivialen Programmen akzeptabel; bei allem anderen zahlen sich diese paar Minuten schlicht aus.

CNC-Bedienpult mit Override-Reglern für den Vorschub
Designed by Magnific

Wo man G-Code begegnet

Obwohl man G-Code mit dem Fräsen verbindet, steuert er Bewegung fast überall dort, wo wiederholbare Maschinenbewegung zählt. Fräsen und Drehmaschinen sind die Klassiker, aber dieselbe Sprache treibt Laserschneiden, Plasmaschneiden, Draht- und Wasserstrahlmaschinen, Schleifmaschinen, Bohrwerke, sogar Industrieroboter und 3D-Drucker. Nicht alle CNC-Maschinen verstehen exakt denselben Dialekt - bei der Maschinenwahl für die Produktion lohnt der Blick auf die Steuerung und den verfügbaren Postprozessor. Die Anwendung bestimmt auch, welche Befehlsgruppen genutzt werden: Auf der Drehmaschine regieren G96 und Gewindezyklen, auf dem Schneidtisch beschränkt sich die Bewegung auf zwei Achsen, und ein Bearbeitungszentrum nutzt die volle Palette.

Das Potenzial von CNC-Maschinen: Optimierung und Prozessautomatisierung

Ein gut geschriebenes Programm ist mehr als korrekte Geometrie. CNC-Optimierung beginnt im Code: kürzere G00-Wege, eine durchdachte Reihenfolge der Operationen, weniger unnötige Werkzeugwechsel und ans Material angepasste Vorschübe können die Zykluszeit um Dutzende Prozent senken - ganz ohne Investition. Das volle Potenzial von CNC-Maschinen erschließt die Prozessautomatisierung: Stangenlader, Messtaster und Industrieroboter, die Teile beladen, halten die Maschine am Laufen, während der Bediener etwas anderes tut. Warum jede gesparte Spindelminute so viel wert ist, haben wir im Artikel über die teuerste Minute der CNC-Bearbeitung beschrieben.

Aus Sicht des Einkäufers funktioniert es genauso, nur umgekehrt: Je weniger Programmierer- und Spindelstunden das Teil braucht, desto weniger zahlt man. In der MetronQ-Kalkulation übersetzt sich die Teilegeometrie direkt in Bearbeitungszeit, und Richtpreise stehen in der Preissektion. Es lohnt sich auch daran zu denken, dass der Preis nicht nur vom Programm abhängt, sondern auch von den Zeichnungstoleranzen und der geforderten Oberflächenrauheit.

Häufig gestellte Fragen zum G-Code

Worin unterscheidet sich G-Code von M-Code? G-Befehle beschreiben Geometrie und Bewegung: wohin, wie schnell und auf welcher Bahn das Werkzeug fährt. M-Code steuert die Einrichtungen der Maschine: Spindel, Kühlmittel, Werkzeugmagazin. Ein vollständiges CNC-Programm nutzt beide, ineinander verschränkt.

Sind die G-Codes auf Drehmaschine und Fräse dieselben? Der Kern ist gemeinsam (G00, G01, G02, G03, G90, G91), aber Drehmaschinen arbeiten in den Achsen X und Z, nutzen G96/G97 und eigene Drehzyklen, während Fräsen Bohrzyklen und die Korrektur in der XY-Ebene haben. Ein Fräsprogramm läuft ohne Überarbeitung nicht auf einer Drehmaschine.

Wie funktioniert der automatische Werkzeugwechsel? Ein Satz wie T03 M06 weist die Maschine an, das aktuelle Werkzeug ins Magazin zurückzugeben und Werkzeug Nummer 3 zu laden. Die Steuerung übernimmt die Längenkorrektur aus der Werkzeugtabelle (G43), sodass jedes Werkzeug einen korrekten Nullpunkt in der Z-Achse hat.

Was legt Spindeldrehzahl und Vorschub fest? Die Adresse S setzt die Drehzahl (z. B. S3000), und M03/M04 starten sie; die Adresse F definiert den Vorschub, interpretiert gemäß G94 oder G95. Auf Drehmaschinen hält G96 eine konstante Schnittgeschwindigkeit unabhängig vom Durchmesser.

Womit sollte ich anfangen, um mein erstes CNC-Programm zu schreiben? Mit den vier Bewegungen (G00, G01, G02, G03), der Bemaßung G90/G91 und dem Verständnis, was der Maschinennullpunkt und die G54-Verschiebungen sind. Danach Bohrzyklen und Radiuskorrektur. Ein kostenloser Simulator oder LinuxCNC genügt, um ohne Zugang zu einer Maschine zu üben.

Muss ich G-Code kennen, wenn ich CAD/CAM habe? In der Praxis ja, zumindest passiv. Das CAM-System erzeugt das Programm, aber an der Maschine muss immer etwas korrigiert werden: ein Vorschub, eine Nullpunktverschiebung, die Reihenfolge der Sätze. Ein Bediener, der G-Code liest, fängt einen Postprozessorfehler ab, bevor er einen Fräser oder ein Teil kostet.

Wozu dient CNC-Optimierung auf Programmebene? Der Verkürzung der Zykluszeit und dem Schonen der Werkzeuge: weniger Leerwege, weniger Werkzeugwechsel, ans Material angepasste Vorschübe. In der Serienfertigung multipliziert sich selbst eine kleine Programmverbesserung mit der Stückzahl.

ThemenCNC-ProgrammierungG-CodeTechnologie

Quellen

  1. 1.ISO 6983-1:2009 (Programmformat und Adresswörter)
  2. 2.DIN 66025 (Aufbau von NC-Programmen)
  3. 3.P. Smid, "CNC Programming Handbook", 3. Aufl., Industrial Press, 2008 (G- und M-Codes, Bearbeitungszyklen)
  4. 4.LinuxCNC-Dokumentation, linuxcnc.org (Dialekt RS-274/NGC).

Weiterlesen

Auf Ihrem eigenen Teil ausprobieren

Legen Sie ein Konto an, laden Sie Ihre STEP-Dateien hoch und vergleichen Sie die Preise mit Ihren eigenen. Die ersten 14 Tage kostenlos, ohne Karte.

Kostenloses Konto anlegen