CNC-Programmierung meistern: G-Code & M-Code Grundlagen
CNC steht für Computerized Numerical Control. Moderne CNC-Maschinen umfassen nicht nur Werkzeugmaschinen, sondern auch Industrieroboter und computergesteuerte Messmaschinen.
1952, getrieben durch Luftfahrtbedarf, entwickelte John T. Parsons mit IBM und MIT die erste CNC-Fräsmaschine. Seither verbreitete sich CNC-Technologie in alle Branchen – mit den Programmiersprachen G-Code und M-Code (RS-274).
Was sind G-Code und M-Code?
Über 70 Jahre CNC-Entwicklung brachten diverse Sprachen hervor. Anfänglich Lochbänder, 1956 APT-Sprache (Automatically Programmed Tools). RS-274 (G-Code) entstand im selben Jahrzehnt aus APT: Geometriedaten (Werkzeugposition) und Maschinenfunktionen (Spindeldrehzahl, Kühlung). RS-274-Funktionen übernahmen APT-Basics mit Vereinfachungen für kürzere, handhabbarere Programme.
| APT | G- und M-Codes |
|---|---|
| GO TO {X, Y, Z} | G1, G2, G3 {X, Y, Z} |
| FEDRAT | F |
| SPINDLE CW / CCW | S M3 / M4 |
| COOLNT ON / OFF | M8 / M9 |
| FINI | M30 |
RS-274 besteht hauptsächlich aus G-Funktionen (Geometrie) und ebenso wichtigen M-Funktionen (Maschine). Drei Kernfragen:
- Was sind G-Codes?
- Was sind M-Codes?
- Unterschiede?
Was sind G-Codes?
G-Codes (G-Funktionen) definieren die Geometrie („G“ = Geometry): Koordinatensystemwahl, Bearbeitungsebene, Programmierteinheiten (absolut/inkremental), Werkzeugbewegung (Schnellgang, Arbeitsgang).
Was sind M-Codes?
M-Codes (M-Funktionen) steuern Maschinenfunktionen („M“ = Machine): Spindel ein/aus, Kühlung ein/aus, Werkzeugwechsel, etc.
Unterschiede zwischen G-Code und M-Code
G-Codes: „Wie sich das Werkzeug zum Werkstück bewegt“. M-Codes: „Was die Maschine während der Bearbeitung tut“.
Zusätzliche Hilfsfunktionen in RS-274:
- X, Y, Z – Positionskoordinaten
- I, J, K – Kreiszentrumsversatz vom Startpunkt
- F – Interpolationsgeschwindigkeit (Vorschub)
- S – Spindeldrehzahl
- T – Werkzeugnummer
- H – Werkzeughöhenkorrektur-Nummer
- D – Werkzeugradiuskorrektur-Nummer
Wichtige G-Codes (Auszug)
| Code | Funktion | Parameter |
|---|---|---|
| G0 | Schnellpositionierung (linear) | X, Y, Z |
| G1 | Lineare Interpolation | X, Y, Z, F |
| G2 | Kreisbogen im Uhrzeigersinn (CW) | X, Y, Z, I, J, K, F |
| G3 | Kreisbogen gegen Uhrzeigersinn (CCW) | X, Y, Z, I, J, K, F |
Beispiel 1: G1 X10 Y50 F100 → Lineare Fahrt zu X=10, Y=50 mit 100 mm/s.
G2 X10 Y50 I10 J40 F100 → Kreisbogen CW zu X=10, Y=50, Kreiszentrum relativ +10 X, +40 Y, 100 mm/s.
| Code | Funktion | Parameter |
|---|---|---|
| G17 | Arbeitsebene XY | / |
| G18 | Arbeitsebene ZX | / |
| G19 | Arbeitsebene YZ | / |
| G20 | Einheiten: Zoll | / |
| G21 | Einheiten: Millimeter | / |
| G41 | Radiuskorrektur links | D, X, Y, Z |
| G42 | Radiuskorrektur rechts | D, X, Y, Z |
| G40 | Radiuskorrektur aus | / |
| G43 | Höhenkorrektur ein | H, Z |
| G49 | Höhenkorrektur aus | / |
| G54–G59 | Werkstückkoordinatensysteme | / |
Beispiel 2: G21 G17 G55 → mm, XY-Ebene, WKO G55.
G43 H1 Z100 → Höhenkorrektur H1, Position Z=100.
G41 D1 X15 → Radiuskorrektur links D1, Fahrt zu X=15 mit linker Korrektur.
G40 G49 → Korrekturen aus.
| Code | Funktion |
|---|---|
| G90 | Absolutprogrammierung (bezogen auf WKO) |
| G91 | Inkrementelle Programmierung (bezogen auf aktuelle Position) |
Wichtige M-Codes (Auszug)
| Code | Funktion | Parameter |
|---|---|---|
| M00 | Programmstopp | / |
| M03 | Spindel ein (CW) | S |
| M04 | Spindel ein (CCW) | S |
| M05 | Spindel aus | / |
| M06 | Werkzeugwechsel | T |
| M08 | Kühlung ein | / |
| M09 | Kühlung aus | / |
| M30 | Programmende | / |
| M98 | Unterprogramm aufrufen | Name |
| M99 | Unterprogrammende | / |
CNC-Programmiermethoden
CNC-Programmierung = alphanumerische Daten (G/M-Codes) zu Geometrie und Technologie. Drei Hauptmethoden:
- Manuelle Programmierung: Programmierer schreibt Code basierend auf Zeichnung, Werkzeugplan, Maschinenkenntnis. Schritte: Bearbeitungsplan, Nullpunkte, Werkzeuge, Blöcke, Programmblatt, Übertragung in Steuerung.
- Programmierung an der Maschine (Shopfloor Programming): Steuerung mit grafischer Oberfläche, interaktiver Dialog, automatische G-Code-Generierung aus Konturen/Zyklen.
- CAD/CAM-Programmierung: Für komplexe Freiformflächen (Luftfahrt, Rüstung) mit Mehrfachbearbeitung (3/4/5-Achs). CAD/CAM übernimmt Geometrie, Programmierer fügt Technologie hinzu (Spannen, Werkzeuge, Schnittdaten). Prozess: CAD-Modell → CAM-Strategien → CL-Datei → Simulation → Postprozessor → G-Code → Steuerung → Einrichten → Bearbeiten.
Fazit
Auch wenn moderne Methoden (Shopfloor, CAD/CAM) G/M-Code-Wissen nicht zwingend erfordern, sollte ein Programmierer die Basics beherrschen – für Sonderfälle manueller Eingriffe. G- und M-Codes sind quasi universell: Kennt man die Grundlagen, lassen sich alle CNC-Steuerungen mit minimalen Syntaxunterschieden programmieren. Benötigen Sie professionelle CNC-Programmierung? WayKen verfügt über 20+ Jahre Erfahrung, modernste Technologie und erfahrene CNC-Ingenieure. Fordern Sie jetzt ein Angebot an!
CNC-Maschine
- CNC-Maschinen: Produktion steigern, Kosten senken, Präzision sichern
- G-Code vs. M-Code verstehen: Wichtige Unterschiede für CNC-Bediener
- G- & M-Codes meistern: Der ultimative CNC-Programmierleitfaden
- CNC G-Codes erklärt: Essentieller Leitfaden für CNC-Programmierer
- CNC-Dosenzyklen (Canned Cycles): Vor- & Nachteile für effizientes Zerspanen
- CNC-Programmierung meistern: Grundlagen, Anwendungen & G-Code-Expertise
- CNC-Programmierung meistern: Bewährte Techniken & Insider-Strategien für optimale Ergebnisse
- Hurco CNC Handbücher herunterladen – Programmierung, Wartung & Sicherheit (Kostenlos)
- Fanuc G71 Plandrehzyklus meistern: CNC-Drehcode-Beispiel
- CNC-Programmiergrundlagen: Schritt-für-Schritt Tutorials & Beispielcode