Die Herstellung von Präzisionsteilen geht über den bloßen Besitz einer CNC-Maschine hinaus; sie erfordert eine Programmiersprache, die die Maschine interpretieren kann, insbesondere G-Codes und M-Codes.
1952 entwickelte John T. Parsons in Zusammenarbeit mit IBM (International Business Machines) und dem MIT (Massachusetts Institute of Technology) die erste CNC-Fräsmaschine, um den Bedarf der Luftfahrtindustrie an präziser Teilebearbeitung zu decken. Diese Entwicklung leitete die breite Einführung der intelligenten industriellen Produktion ein und ermöglichte CNC-Bearbeitung in verschiedene Sektoren zu expandieren. Dieser Artikel befasst sich mit diesen wichtigen G- und M-Codes und untersucht ihre Bedeutung und Anwendungen in der modernen Fertigung.
Was ist G-Code?

G-Code, auch bekannt als RS-274D, ist die am häufigsten verwendete CNC-Programmiersprache, die hauptsächlich aus numerischen Anweisungen besteht. Das "G" in G-Code steht für Geometrie und bezieht sich auf das alphanumerische Format, das dem System Anweisungen zu den Funktionen des Teils gibt. In der CNC-Programmierung regelt der G-Code die Bewegungen der Maschine, indem er angibt, wie und wo die Maschine arbeiten soll, um das Teil zu erstellen - mit Angabe des Startpunkts, der erforderlichen Bewegungen und des Zeitpunkts, an dem sie anhalten soll.
Als Maschinist ist es wichtig, dass Sie Ihre Maschine genau kennen. Eine Maschine kann zum Beispiel "G3" interpretieren, während eine andere "G03" verlangt. Außerdem schreiben einige Maschinen Dezimalpunkte zwischen den Befehlen vor, während andere dem Bediener erlauben, sie wegzulassen. Diese Unterschiede in den Programmiersprachen sind für die genaue Ausführung des Programms von entscheidender Bedeutung, so dass die Bediener immer die spezifischen Sprachanforderungen für die Maschine, die sie bedienen, kennen müssen.
Was ist M-Code?

M-Codes, oder Diverse Codes, sind verantwortlich für die Verwaltung der nicht bewegungsbezogenen Funktionen von CNC-Maschinen. Diese Codes steuern verschiedene Hilfsoperationen, die während des Bearbeitungsprozesses entscheidend sind. Während sich G-Codes auf die geometrischen Aspekte der Bearbeitung konzentrieren - wie Positionierung und Bewegung - regeln M-Codes Hilfsfunktionen wie das Starten oder Stoppen der Spindel, das Aktivieren oder Deaktivieren des Kühlmittelsystems, das Wechseln von Werkzeugen und das Verwalten von Programmpausen (z. B. Warten auf Bedienereingaben).
Bei der Entwicklung eines CNC-Programms ist es wichtig, dass Sie sowohl G- als auch M-Codes verwenden. Jeder Codesatz sollte nur einen Befehl enthalten, da seine Hauptfunktion darin besteht, die Maschinenoperationen ein- und auszuschalten. Da sich die M-Codes von Maschine zu Maschine unterscheiden können, müssen die Bediener mit den spezifischen M-Codes für ihre Ausrüstung vertraut sein.
Was ist der Unterschied zwischen G-Code und M-Code?
G-Codes und M-Codes erfüllen bei der Steuerung von CNC-Maschinen unterschiedliche, aber sich ergänzende Funktionen. Hier ist eine Zusammenfassung ihrer wichtigsten Unterschiede:
Der G-Code konzentriert sich auf Befehle, die sich auf die Bewegung des Werkzeugs beziehen und regelt, wie die Maschine arbeitet, einschließlich des Schneidwegs und der Geschwindigkeit. Er definiert Positionen und Bewegungen, wie z. B. die Eilpositionierung in einer bestimmten XY-Ebene, lineare Vorschubbewegungen und Kreisinterpolation. Diese Codes sind geometrischer Natur und für das Produktdesign von grundlegender Bedeutung, da sie die Bewegungen der CNC-Maschine initiieren und vorgeben, wie das Werkzeug mit dem Material interagiert.
Im Gegensatz dazu verwalten M-Codes Maschinenoperationen, die keine Bewegung beinhalten. Sie erledigen Aufgaben wie das Anhalten des Programms, den Werkzeugwechsel, das Ein- und Ausschalten der Spindel und die Aktivierung des Kühlmittelsystems. M-Codes überwachen auch Funktionen im Zusammenhang mit den Hilfsoperationen der Maschine und veranlassen die speicherprogrammierbare Steuerung (SPS) der Maschine, verschiedene andere Aufgaben zu verwalten.
Häufig verwendete G-Codes und M-Codes und ihre Funktionen
In diesem Abschnitt werden eine Reihe von wichtigen G- und M-Codes vorgestellt und ihre einzigartigen Funktionen hervorgehoben. Während einige Codes in beiden Listen ähnliche Bedeutungen haben, unterscheiden sich andere erheblich in ihrer Anwendung und Interpretation innerhalb der CNC-Bearbeitung.
Gemeinsame G-Codes
In diesem Abschnitt wird eine Auswahl der wichtigsten G- und M-Codes vorgestellt, wobei deren unterschiedliche Funktionen hervorgehoben werden. Während einige Codes in beiden Kategorien ähnliche Bedeutungen haben können, unterscheiden sich andere in ihrer Anwendung und Interpretation innerhalb der CNC-Bearbeitung erheblich.
Gemeinsame G-Codes
Bei der CNC-Bearbeitung wandeln G-Codes komplexe Operationen in strukturierte Aufgaben um. Die Verwendung von standardisierten Codes gewährleistet Konsistenz und optimale Leistung. Hier sind einige wichtige G-Codes, die für jeden, der mit CNC-Maschinen arbeitet, entscheidend sind:
G00 - Schnelle Positionierung: Bewegt das Werkzeug mit der maximalen Geschwindigkeit der Maschine an eine bestimmte Stelle, ohne zu schneiden.
G01 - Lineare Interpolation (Schneiden in einer geraden Linie): Bewegt das Werkzeug in einer geraden Linie mit einer bestimmten Vorschubgeschwindigkeit.
G02 - Kreisförmige Interpolation (Bogen im Uhrzeigersinn): Bewegt das Werkzeug in einem Bogen im Uhrzeigersinn vom Startpunkt zum Endpunkt.
G03 - Kreisinterpolation (Kreisbogen gegen den Uhrzeigersinn): Bewegt das Werkzeug in einem Bogen entgegen dem Uhrzeigersinn.
G04 - Verweilen: Hält die Bewegung der Maschine für eine bestimmte Dauer an.
Liste der sonstigen funktionalen G-Codes:
G-Code | Beschreibung | Funktion |
G17 | XY-Ebene auswählen | Definiert die XY-Ebene für die Kreisinterpolation. |
G18 | XZ-Ebene auswählen | Definiert die XZ-Ebene für die Kreisinterpolation. |
G19 | YZ-Ebene auswählen | Definiert die YZ-Ebene für die Kreisinterpolation. |
G20 | Programmierung in Inches | Die Maschine interpretiert die Maße in Zoll. |
G21 | Programmierung in Millimetern | Die Maschine interpretiert die Maße in Millimetern. |
G28 | Zurück zu Maschine Home | Fährt das Werkzeug auf die Referenz-Nullposition der Maschine. |
G40 | Radiuskompensation des Schneidwerkzeugs abbrechen | Annulliert die Kompensation des Werkzeugdurchmessers. |
G41 | Schneidevorrichtung Kompensation links | Versetzt den Werkzeugweg nach links von der programmierten Bahn. |
G42 | Cutter Ausgleich Rechts | Versetzt den Werkzeugweg nach rechts von der programmierten Bahn. |
G43 | Werkzeuglängenkompensation (+) | Kompensiert die Werkzeuglänge, normalerweise in positiver Richtung. |
G49 | Werkzeuglängenkorrektur abbrechen | Annulliert die Kompensation des Werkzeuglängenversatzes. |
G54 bis G59 | Arbeitskoordinatensysteme | Wählt verschiedene Werkstückkoordinatensysteme für die Bearbeitung aus. |
G90 | Absolute Programmierung | Alle Koordinaten werden relativ zu einem festen Ursprung angegeben. |
G91 | Inkrementelle Programmierung | Die Koordinaten werden relativ zur aktuellen Position angegeben. |
G92 | Ursprung des Arbeitskoordinatensystems festlegen | Setzt die aktuelle Werkzeugposition als Ursprung für das Werkstückkoordinatensystem. |
Gemeinsame M-Codes
Obwohl CNC-Maschinen häufig M-Codes verwenden, die den G-Codes ähneln, ist eine modellübergreifende Standardisierung nicht durchgängig implementiert worden. Daher müssen CNC-Programmierer maschinenspezifische Codes sorgfältig berücksichtigen. Bestimmte M-Codes haben jedoch auf allen Maschinen die gleiche Bedeutung.
M00 - Programmstopp: Hält den Betrieb der Maschine an, bis der Bediener das Programm wieder aufnimmt.
M01 - Optionaler Stopp: Stoppt die Maschine, wenn der optionale Stopp in der Steuerung aktiviert ist.
M02 - Programmende: Beendet das CNC-Programm und stoppt sowohl die Spindel als auch das Kühlmittel.
M03 - Spindel ein (im Uhrzeigersinn): Startet die Drehung der Spindel im Uhrzeigersinn.
M04 - Spindel ein (gegen den Uhrzeigersinn): Startet die Drehung der Spindel im Gegenuhrzeigersinn.
M05 - Spindelstopp: Stoppt die Drehung der Spindel.
Liste der sonstigen funktionalen M-Codes:
M Code | Beschreibung | Funktion |
M06 | Werkzeugwechsel | Befiehlt der Maschine, das Werkzeug zu wechseln. |
M07 | Nebel Kühlmittel Ein | Schaltet Kühlmittelnebel ein. |
M08 | Kühlmittel fluten Ein | Schaltet die Kühlmittelflut ein. |
M09 | Kühlmittel aus | Schaltet alle Kühlmittelsysteme ab. |
M30 | Programmende und Reset | Beendet das Programm, setzt den Programmzähler zurück und kehrt an den Anfang zurück. |
M48 | Vorschub-Override aktivieren | Ermöglicht dem Bediener die manuelle Einstellung der Vorschubgeschwindigkeit. |
M49 | Vorschub-Override deaktivieren | Deaktiviert die manuelle Vorschubsteuerung. |
M98 | Unterprogramm aufrufen | Ruft ein Unterprogramm auf, das ausgeführt werden soll. |
M99 | Rückkehr aus dem Unterprogramm | Beendet das Unterprogramm und kehrt zum Hauptprogramm zurück. |
Die Bedeutung von G-Code und M-Code bei der CNC-Bearbeitung
G- und M-Codes sind für die CNC-Bearbeitung von entscheidender Bedeutung, da sie die genauen Anweisungen liefern, die für eine hochpräzise Fertigung erforderlich sind. Hier sind die wichtigsten Gründe, warum diese Codes unerlässlich sind:
- Präzision und Kontrolle
Mit den G- und M-Codes können CNC-Maschinen hochpräzise Bewegungen und Operationen ausführen, die für die Erzielung enger Toleranzen und hervorragender Oberflächengüten unerlässlich sind. Diese Präzision gewährleistet die Herstellung von qualitativ hochwertigen Werkstücken.
- Normung
Diese Codes dienen als standardisierte Programmiersprache, die die Kommunikation zwischen verschiedenen Maschinen, Steuerungen und Programmierern erleichtert. Diese Standardisierung ist für eine reibungslose Zusammenarbeit in der Fertigungsindustrie unerlässlich und ermöglicht es den Bedienern, effizient mit verschiedenen CNC-Systemen zu arbeiten.
- Vielseitigkeit
G-Codes decken eine Reihe von Operationen ab, wie z. B. lineare und kreisförmige Bewegungen, Werkzeugkompensation und Koordinatenanpassungen. M-Codes verwalten Hilfsfunktionen, wie Kühlmittelsteuerung und Werkzeugwechsel. Dank dieser Vielseitigkeit können CNC-Maschinen Aufgaben vom einfachen Bohren bis hin zum komplexen Fräsen bewältigen und eignen sich somit für die unterschiedlichsten Anwendungen.
- Wirkungsgrad
Die Automatisierung von Prozessen mit G- und M-Codes verbessert die Bearbeitungseffizienz. CNC-Maschinen können Programme mit minimalen menschlichen Eingriffen ausführen, was Zeit und Arbeitskosten reduziert. Diese Automatisierung steigert die Produktivität und führt zu erheblichen Kosteneinsparungen für die Hersteller.
- Flexibilität
Diese Codes ermöglichen einfache Änderungen an Bearbeitungsprogrammen. Programmierer können Parameter - wie Vorschubgeschwindigkeiten oder Werkzeugwege - ändern, ohne das gesamte Programm neu schreiben zu müssen. Diese Flexibilität ist vor allem in Lohnfertigungsbetrieben von Vorteil, wo häufig kundenspezifische Teile hergestellt werden.
- Fehlerreduzierung
Durch die Verwendung standardisierter Codes wird das Risiko menschlicher Fehler minimiert. G- und M-Codes beseitigen Unklarheiten bei der Programmierung, so dass sich die Bediener auf andere wichtige Aspekte des Bearbeitungsprozesses konzentrieren können. Dies führt zu genaueren, zuverlässigeren und konsistenteren Produktionsergebnissen.
Zusammenfassend lässt sich sagen, dass G- und M-Codes für die CNC-Bearbeitung von grundlegender Bedeutung sind, da sie Präzision, Vielseitigkeit und Effizienz bei gleichzeitiger Minimierung von Fehlern bieten. Ihre Standardisierung gewährleistet eine nahtlose Zusammenarbeit in der gesamten Branche und fördert die Produktivität und Innovation in der modernen Fertigung.
Beispiel für G-Code in der CNC-Bearbeitung

Code-Erläuterung:
G21 - Einheiten auf Millimeter einstellen: Dieser Code weist die CNC-Maschine an, alle Maße und Koordinaten in Millimetern zu interpretieren.
G90 - Absoluter Positionierungsmodus: Alle nachfolgenden Koordinaten werden relativ zu einem festen Arbeitskoordinatensystem berechnet.
G00 X50 Y50 - Eilgang auf X=50, Y=50: Das Werkzeug fährt im Eilgang auf den angegebenen Koordinatenpunkt in der Ebene (ohne Schnitt).
G01 Z-10 F100 - Lineare Bewegung auf Z=-10 bei einem Vorschub von 100 mm/min: Das Werkzeug beginnt, sich entlang der Z-Achse nach unten zu bewegen und greift in den Schnitt ein.
G01 X100 Y100 - Lineare Bewegung auf X=100, Y=100: Das Werkzeug setzt seine Schnittbewegung in der XY-Ebene fort.
G00 Z5 - Eilgang auf Z=5: Das Werkzeug fährt im Eilgang auf der Z-Achse nach oben und zieht sich vom Werkstück zurück.
M30 - Programmende und Reset: Das Programm wird beendet und das Gerät wird zurückgesetzt.
Ergebnis Erläuterung:Dieses Programm arbeitet im Absolutmodus. Zunächst wird die CNC-Maschine so eingestellt, dass sie Millimeter als Maßeinheit verwendet. Dann fährt das Werkzeug im Eilgang auf die Position X=50 und Y=50 und schneidet dann mit dem angegebenen Vorschub nach unten auf Z=-10. Anschließend fährt das Werkzeug in der XY-Ebene zu den Koordinaten X=100 und Y=100, um weiter zu schneiden. Nach Beendigung des Schnittvorgangs fährt das Werkzeug nach oben auf Z=5 zurück, und das Programm ist beendet.
Beispiel für M-Code in der CNC-Bearbeitung

Code-Erläuterung:
M06 - Werkzeugwechsel: Dieser Befehl weist die CNC-Maschine an, einen Werkzeugwechsel vorzunehmen. Dies geschieht in der Regel vor Beginn der Bearbeitung oder wenn ein anderes Werkzeug benötigt wird.
M08 - Kühlmittelflutung ein: Dieser Code aktiviert die Kühlmittelflutung, um das Werkzeug zu kühlen und Späne während des Bearbeitungsprozesses zu entfernen, um eine Überhitzung zu vermeiden.
G00 X50 Y50 - Eilgang auf X=50, Y=50: Das Werkzeug fährt im Eilgang auf die angegebene Koordinatenposition (ohne Schnitt).
G01 Z-10 F100 - Lineare Bewegung nach Z=-10 bei einer Vorschubgeschwindigkeit von 100 mm/min: Das Werkzeug beginnt sich während des Schneidens entlang der Z-Achse nach unten zu bewegen.
G01 X100 Y100 - Linear Move to X=100, Y=100: Das Werkzeug setzt seine Schnittbewegung in der XY-Ebene fort.
M09 - Kühlmittel aus: Dieser Befehl weist die Maschine an, den Kühlmittelfluss zu stoppen, was in der Regel nach Abschluss des Schneidvorgangs geschieht.
G00 Z5 - Eilgang auf Z=5: Das Werkzeug fährt im Eilgang entlang der Z-Achse nach oben und zieht sich vom Werkstück zurück.
M30 - Programmende und Reset: Das Programm endet, und das Gerät wird zurückgesetzt.
Erläuterung zum Vorgang:Dieses Programm beginnt mit einem Werkzeugwechsel, um sicherzustellen, dass das richtige Werkzeug auf der Maschine installiert ist. Dann wird das Flutkühlsystem aktiviert, um die Temperatur des Werkzeugs zu kontrollieren und die Späne während der Bearbeitung zu entfernen. Das Werkzeug fährt dann schnell zur angegebenen Bearbeitungsposition und führt einen Abwärtsschnitt entlang der Z-Achse durch, gefolgt von einem weiteren Schnitt in der XY-Ebene. Nach Abschluss der Bearbeitung wird das Kühlmittel abgeschaltet, und das Werkzeug fährt schnell nach oben, um sich vom Werkstück zurückzuziehen. Schließlich wird das Programm beendet und die Maschine wird zurückgesetzt.
Wie liest man G-Code und M-Code?
Das Verständnis der Struktur und Bedeutung von G- und M-Codes ist für die Interpretation von CNC-Bearbeitungsanweisungen unerlässlich. Hier sind die zu befolgenden Schritte:
Identifizieren Sie den Befehl
Suchen Sie zunächst den Befehlsbuchstaben - entweder G oder M - und notieren Sie die zugehörige Nummer, um die spezifische Funktion zu bestimmen.
Interpretieren Sie die Parameter
Prüfen Sie alle zusätzlichen Parameter, die dem Befehl folgen. Diese können wichtige Details wie Positionskoordinaten, Vorschubgeschwindigkeiten, Werkzeugauswahl oder andere relevante Daten darstellen.
Verstehen Sie die Abfolge
Achten Sie genau auf die Reihenfolge der Befehle, da diese den Arbeitsablauf der Bearbeitungsvorgänge bestimmt. Eine richtig strukturierte Reihenfolge gewährleistet eine reibungslose und genaue Ausführung.
Machen Sie sich mit den gängigen Codes vertraut
Verbessern Sie Ihre Lesegeschwindigkeit, indem Sie häufig verwendete Codes lernen. Zum Beispiel:
G-Codes: G00 (Eilgang), G01 (linearer Schnitt)
M-Codes: M03 (Spindel ein), M05 (Spindel aus)
Wenn Sie diese Schritte beherrschen, verbessern Sie Ihre Fähigkeit, CNC-Programme genau zu lesen und zu interpretieren, um einen effektiven Maschinenbetrieb zu gewährleisten.
Schlussfolgerung
G-Codes und M-Codes haben bei der CNC-Bearbeitung unterschiedliche, aber sich ergänzende Funktionen. G-Codes steuern die Bewegungen und die Geometrie der Maschine und diktieren den Weg und die Positionierung der Werkzeuge. Im Gegensatz dazu steuern M-Codes die Maschinenfunktionen, wie z. B. den Betrieb der Spindel und den Kühlmittelfluss. Zusammen ermöglichen sie es CNC-Maschinen, eine breite Palette von Teilen mit Präzision und Anpassungsfähigkeit zu fertigen.
Ein gründliches Verständnis der G- und M-Codes ist für jeden, der in der CNC-Bearbeitung arbeitet, von entscheidender Bedeutung. Diese Codes sind die Grundlage für CNC-ProgrammierungKurz gesagt, die Beherrschung der G- und M-Codes ist für den Einstieg in eine CNC-Werkstatt unabdingbar, da sie für eine effektive Maschinenbedienung und Programmierung unerlässlich sind.
Abschließende Überlegungen
Mit 15 Jahren Erfahrung in CNC-BearbeitungsdienstIch weiß, welche entscheidende Rolle G- und M-Codes für die Präzisionsfertigung spielen. Diese Codes steuern nicht nur effizient die Maschinenbewegungen und -funktionen, sondern sorgen auch für eine hochwertige Produktion komplexer Teile. Für Bediener, die sich in der Branche einen Wettbewerbsvorteil verschaffen wollen, ist die Beherrschung dieser Codes unerlässlich.
Ich empfehle UltiRapid für seine fortschrittliche Hochgeschwindigkeitsbearbeitungstechnologie, die den Einsatz von G- und M-Codes maximiert. Sie eignet sich ideal für Branchen wie die Luft- und Raumfahrt und die Automobilindustrie, die bei der Herstellung kundenspezifischer Teile hohe Präzision und schnelle Durchlaufzeiten erfordern.
FAQS
Arbeiten alle CNC-Maschinen mit G-Code?
Zwar verwenden die meisten CNC-Maschinen G-Code als Standardprogrammiersprache für die Steuerung von Arbeitsabläufen, doch nicht alle CNC-Maschinen arbeiten ausschließlich mit dieser Sprache. Einige Maschinen können je nach Hersteller und Maschinentyp proprietäre Programmiersprachen oder andere Formate verwenden. Darüber hinaus können bestimmte High-Level-CNC-Systeme verschiedene Sprachen oder Software-Eingaben interpretieren, aber G-Code bleibt der am weitesten verbreitete Standard für verschiedene CNC-Anwendungen.
Wie viele G-Codes gibt es in CNC?
Es gibt über 100 G-Codes, die in verschiedenen CNC-Programmierstandards definiert sind, aber die am häufigsten verwendeten reichen von G0 bis G99. Die verfügbaren spezifischen Codes können je nach CNC-Maschinenhersteller und Steuerungssoftware variieren. Im Allgemeinen decken die grundlegenden G-Codes Bewegungen (wie G0 für Eilgangpositionierung und G1 für lineare Interpolation), Werkzeugwechsel und andere grundlegende Funktionen ab.
Was bezeichnen G-Codes?
G-Codes bezeichnen spezifische Befehle für CNC-Maschinen, darunter:
- Bewegungssteuerung: Steuert die Bewegungen (z. B. G0 für Eilgang, G1 für lineares Schneiden).
- Werkzeug-Funktionen: Befehle für den Werkzeugwechsel (z.B. G43 für die Werkzeughöhenkorrektur).
- Spindelsteuerung: Anweisungen zum Starten, Stoppen oder Einstellen der Spindeldrehzahl.
- Verschiedene Funktionen: Andere Aufgaben wie die Programmierung von Zyklen oder die Einstellung von Offsets.
Jeder G-Code entspricht einer bestimmten Operation und ermöglicht eine präzise Steuerung des Bearbeitungsprozesses.
Warum verwenden wir G-Code?
Der G-Code ist für die CNC-Bearbeitung von entscheidender Bedeutung, da er eine standardisierte Sprache für präzise Maschinenanweisungen bietet. Dies gewährleistet eine hohe Genauigkeit der Bewegungen und Werkzeugwege und ermöglicht genaue Spezifikationen. Seine weit verbreitete Verwendung fördert die Kompatibilität zwischen verschiedenen Maschinen und erhöht die Effizienz der Programmierung. Darüber hinaus ist der G-Code flexibel und kann leicht aus CAD/CAM-Software generiert werden, so dass er an verschiedene Designs und Materialien angepasst werden kann. Durch die Erleichterung der Automatisierung werden manuelle Eingriffe reduziert und die Produktionsgeschwindigkeit und -konsistenz erhöht.