G-Code meistern: Die Sprache der CNC-Maschinen

Programmieren ist eine fundamentale Fertigkeit für alle CNC-Bearbeitungsarten – auch wenn Automatisierung und neue Technologien Programmieraufgaben zu ersetzen scheinen. Jeder Zerspaner muss verstehen, wie seine Programme und Werkzeuge funktionieren. Ob Sie neu in CNC-Programmierung und seiner gängigsten Sprache G-Code sind, oder seit Jahren Code von Grund auf schreiben: CNC-Codes können sich wie eine Fremdsprache anfühlen. Und um es schlimmer zu machen: Jede Maschine spricht einen anderen Dialekt, den Sie verstehen müssen. Verstehen Sie, was sie sagen? Hier sind die G-Code-Programmiergrundlagen, die Sie brauchen, um effizient Programme zu verstehen und zu schreiben, die hochwertige Produkte produzieren.
Was ist G-Code?
G-Code ist eine Programmiersprache für CNC, die Maschinen anweist, wo und wie sie sich bewegen sollen. Die meisten Maschinen sprechen einen anderen „Dialekt“ von G-Code – Codes variieren je nach Typ, Marke, Modell. Jede Maschine kommt mit einem Handbuch, das den maschinen-spezifischen Code für eine bestimmte Funktion zeigt.
G-Code steht für „geometric code“ und folgt einer Variation des alphanumerischen Musters:
N## G## X## Y## Z## F## S## T## M##
N: Zeilennummer
G: Bewegung
X: Horizontale Position
Y: Vertikale Position
Z: Tiefe
F: Vorschubgeschwindigkeit
S: Spindeldrehzahl
T: Werkzeugauswahl
M: Zusatzfunktionen
I und J: Inkrementeller Mittelpunkt eines Bogens
R: Radius eines Bogens
Alphanumerische Codes werden für G-Code-Programmierung genutzt, da sie eine einfache Möglichkeit sind, um:
- Bewegung und Funktion zu definieren (G##)
- Position zu deklarieren (X## Y## Z##)
- Wert zu setzen (F## und/oder S##)
- Element auszuwählen (T##)
- Ein-/Ausschalten (M##) – z. B. Kühlmittel, Spindel, Indexierbewegung, Achsensperren etc.
Beispiel:
G01 X1 Y1 F20 T01 M03 S500
bedeutet allgemein: Lineare Vorschubbewegung (G01) zur gegebenen XY-Position bei Vorschub 20. Werkzeug 1, Spindeldrehzahl 500. Zusatzfunktionen variieren maschinenabhängig – für M-Code-Bedeutung muss das Maschinenhandbuch konsultiert werden.
Maschinenbewegung
Alles, was eine Maschine tun kann, basiert auf drei grundlegenden Bewegungsarten:
- Schnellverfahrt (Rapid Move): Lineare Bewegung zu XYZ-Position so schnell wie möglich
- Vorschubbewegung (Feed Move): Lineare Bewegung zu XYZ-Position bei definiertem Vorschub
- Kreisbogenbewegung (Circular Move): Kreisbewegung bei definiertem Vorschub
Jeder G-Code sagt der Maschine, welche Variation dieser Grundbewegungen auszuführen ist und wie.
X und Y sind kartesische Koordinaten für horizontale/vertikale Position, Z die Tiefe. Diese alphanumerischen Werte folgen dem Bewegungs-/Funktionsbefehl (G) zur Positionsdeklaration.
F bestimmt Vorschub (für Vorschub- oder Kreisbewegungen), S die Spindeldrehzahl. T wählt ein Werkzeug. Weitere alphanumerische Werte: I, J, R – Bogenmittelpunkte und Radien.
Zusatzcodes (M-Codes)
Eine Programmzeile kann auch M-Codes enthalten – allgemein Codes, die der Maschine sagen, wie eine Aktion auszuführen ist. Nicht garantiert maschinenübergreifend gleich, aber einige gängige Standard-M-Codes:
- M00: Programmstopp
- M01: Optionaler Programmstopp
- M02: Programmende
- M03: Spindel ein, rechtsdrehend
- M04: Spindel ein, linksdrehend
- M05: Spindelstopp
- M06: Werkzeugwechsel
- M08: Kühlmittel Flutung ein
- M09: Kühlmittel Flutung aus
- M30: Programmende/Rückkehr zum Start
- M41: Spindel niedriger Gang
- M42: Spindel hoher Gang
Modalität
Wie ein Licht an bleibt, bis es ausgeschaltet wird, bleiben G-Code-Funktionen (auf Steuerungen mit Modalität) aktiv, bis sie durch einen anderen Code deaktiviert werden. Anders ausgedrückt: Nur eine Funktion kann zu einem Zeitpunkt aktiv sein. Zum Deaktivieren: neue Funktion wählen.

Beispiel: Code beginnt mit schneller Linearbewegung zu X1 Y1 (G00 X1 Y1). Nächste Funktion ebenfalls schnelle Linearbewegung – G00 muss nicht erneut geschrieben werden. Nur neue Position (z. B. X2 Y2) nötig, da modale Bedingung dieselbe. Dann Wechsel zu linearer Vorschub (G01): G01 in nächster Zeile deaktiviert Schnellverfahrt, aktiviert Vorschub.
Einmal gesetzte Bedingung bleibt aktiv, bis sie ausgeschaltet oder durch eine andere überschrieben wird.
Festzyklen (Canned Cycles)
Festzyklen sind eine Art modaler Bedingung, die alle Bewegungen für eine häufige Aufgabe in einem Code vereint.

Beispiel: Oft ist G81 Code für Basisbohren. Beim Basisbohren muss Werkzeug: 1) zum Lochstartpunkt, 2) schnell zur Freigebene, 3) vorschieben zur Tiefe, 4) schnell raus. Das wären vier Codezeilen, die für jede neue Bohrposition wiederholt werden müssten! Mit Festzyklus G81: nur Lochpositionen nach Aktivierung angeben. Festzyklen wie G81 reduzieren Code signifikant, indem sie multiple Bewegungen in einem Code vereinen.

In G-Code gibt es weitere gängige Festzyklen für Pfropfbohren, Ausbohren, Gewindeschneiden.
Modale Code-Gruppen
Modale Code-Gruppen erlauben mehrere Codes in einer Zeile – aber nur ein Code pro Gruppe pro Zeile, da Codes innerhalb einer Gruppe sich gegenseitig überschreiben.
Modale Gruppen für G-Codes:
- Gruppe 1 (Bewegung): G00, G01, G02, G03, G80, G81, G82, G84, G85, G86, G87, G88, G89
- Gruppe 2 (Ebenenwahl – XY, YZ, ZX): G17, G18, G19
- Gruppe 3 (absolut/inkrementell): G90, G91
- Gruppe 5 (Vorschubmodus): G93, G94
- Gruppe 6 (Einheiten – Zoll/mm): G20, G21
- Gruppe 7 (Schneidenradius-Kompensation – CRC): G40, G41, G42
- Gruppe 8 (Werkzeuglängenausgleich – TLO): G43, G49
- Gruppe 10 (Rückkehrmodus in Festzyklen): G98, G99
- Gruppe 12 (Werkstückkoordinatensystem – WCSS): G54, G55, G56, G57, G58, G59

Postprozessoren
Ein Postprozessor ist ein Übersetzer, der das berechnete Werkzeugbahnbild auf Ihrem Bildschirm in die Maschinensprache übersetzt. Sie können einen Postprozessor erstellen, indem Sie ein Beispielprogramm suchen, das Ihrer Maschine nahekommt, und es präzise an Ihre Maschine anpassen.
G-Code-Programmiertipps
- Manche Maschinen/Steuerungen ignorieren Leerzeichen. G01 X1 Y1 Z1 kann dasselbe bedeuten wie G01 X1Y1Z1.
- Z-Achse ist positiv in Auf-Richtung. Z1 hebt Werkzeug, Z-1 senkt es.
- Maschinendialekt bestimmt, ob führende Null nötig (G01 vs G1).
- Dialekt bestimmt auch, ob Dezimalpunkte immer nötig (z. B. G01 X1. Y1. Z0.5).
- Gute Idee: Beispielprogramme aus Maschinenhandbuch laufen lassen, bevor großes Programm läuft. Oft funktionieren Beispiele nicht – Issues notieren, eigene Benchmarks setzen.
Mit G-Code starten
Bereit, G-Code zur Maschinenprogrammierung zu nutzen? Beginnen Sie mit dem Überprüfen des maschinen-spezifischen Codierungscharts. Jede Maschine ist anders. Haas-Code für eine Funktion kann anders sein als Anilam-Code für dieselbe Funktion. Sie müssen wissen, welche Codes Ihre spezifische Maschine für gewünschte Aufgaben nutzt.
Programm startet oft mit Initialisierungscode (%), gefolgt von Programmnummer. Dann Sicherheitscodes. Dann Werkzeugwechsel – legt passendes Werkzeug ein, setzt Drehzahl. Der Großteil: Maschinenbewegungen und Positionierung.
Bei Zeilennummerierung: Zeilen in Schritten von mindestens 5 benennen. So können später Zeilen eingefügt werden, ohne Reihenfolge zu brechen.
Nach Programmierung: Programm typischerweise mit Reihe von Funktionen beenden, die Maschine stoppen und resetten für nächsten Lauf.
Richtig genutzt, sind G-Codes ein unschätzbares Werkzeug für CNC-Zerspaner – volle Ausschöpfung der Maschinenfähigkeiten. Integrierte CAD/CAM-Lösungen wie Fusion 360 straffen den CNC-Coding-Prozess weiter – Sie müssen Teile nicht manuell per G-Code programmieren. Hochwertige Teile produzieren war nie schneller mit G-Code-Programmierung.

Industrietechnik
- Was ist CNC? – Computer Numerical Control für die moderne Fertigung verstehen
- Drehen verstehen: Ein Schlüsselprozess der Präzisionszerspanung
- CNC-Programmierung entmystifiziert: G-Code vs. M-Code
- Wenn Ihr Maschinenkühlschmierstoff schlecht wird: Sichere Entfernung & Entsorgung
- Frischmilch-Automaten (Milch-Tankstellen): Komfortabel, Günstig, Ökologisch
- Horizontale Bohrwerke erklärt: Aufbau, Betrieb und Anwendungen
- Nudel-Automaten entdecken: Funktionsweise und Angebot
- Präzisionsfräsmaschinen: Definition, Funktionsweise & Unterschied zum Bohren
- Druckgussmaschinen: Funktionsweise, Typen und Vorteile
- Elektroschweißmaschinen (Electrofusion Welding): Anwendungen und Vorteile