{"id":10317,"date":"2026-03-12T10:55:08","date_gmt":"2026-03-12T02:55:08","guid":{"rendered":"https:\/\/www.cncmachiningshops.com\/?p=10317"},"modified":"2026-07-19T17:21:55","modified_gmt":"2026-07-19T09:21:55","slug":"g-code-and-m-code","status":"publish","type":"post","link":"https:\/\/www.cncmachiningshops.com\/de\/g-code-and-m-code\/","title":{"rendered":"G-Code und M-Code in der CNC-Programmierung: Befehlstypen, Programmstruktur und praktische Beispiele"},"content":{"rendered":"<div data-page-id=\"AT0qdjHDyok1tCxcuPGceqlZn7e\" data-lark-html-role=\"root\" data-docx-has-block-data=\"true\">\n<p>Jeder Vorgang einer CNC-Maschine \u2013 jede Vorschubgeschwindigkeit, jeder Spindelstart, jeder Werkzeugwechsel \u2013 wird durch G-Code und M-Code gesteuert. Diese beiden Befehlstypen bilden die Befehlsebene zwischen einem von der CAM-Software generierten Werkzeugweg und dem tats\u00e4chlichen Materialabtrag. Der G-Code steuert Geometrie und Bewegung; der M-Code regelt den Maschinenzustand, der diese Bewegung sicher und effektiv macht. Das Verst\u00e4ndnis daf\u00fcr, wie beide zusammenwirken, unterscheidet Programmierer, die zuverl\u00e4ssigen Produktionscode schreiben k\u00f6nnen, von denen, die lediglich das ausf\u00fchren k\u00f6nnen, was die CAM-Software generiert.<\/p>\n<p>Dieser Artikel behandelt G- und M-Codes aus praktischer ingenieurtechnischer Sicht: Was die einzelnen Befehle steuern, wie die Programmstruktur und die Logik der Betriebsmodi funktionieren, g\u00e4ngige Codes im Kontext der tats\u00e4chlichen Bearbeitung, Unterschiede zwischen Steuerungen, die sich auf die Portabilit\u00e4t auswirken, sowie die Programmierfehler, die die meisten Abst\u00fcrze und Ausschuss verursachen. Das Ziel ist nicht eine Befehlsreferenzliste \u2013 es geht vielmehr darum, die Ausf\u00fchrungslogik zu verstehen, die CNC-Programme vorhersehbar und wiederholbar macht.<\/p>\n<hr \/>\n<h2>Was sind G-Code und M-Code? Der wesentliche Unterschied<\/h2>\n<p>Die grundlegende Unterscheidung ist ganz einfach. <strong>Der G-Code steuert die Werkzeugbewegung und die Geometrie<\/strong>. <strong>M-Codes steuern den Maschinenstatus und Zusatzfunktionen<\/strong>. Beides ist erforderlich. Keines von beiden funktioniert ohne das andere.<\/p>\n<table>\n<thead>\n<tr>\n<th>Aspekt<\/th>\n<th>G-Code<\/th>\n<th>M-Code<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Hauptrolle<\/td>\n<td>Werkzeugbewegung und Geometrie<\/td>\n<td>Maschinenfunktion und -zustand<\/td>\n<\/tr>\n<tr>\n<td>Bedienelemente<\/td>\n<td>Achsen, Interpolation, Vorsch\u00fcbe, Koordinatensysteme<\/td>\n<td>Spindel, K\u00fchlmittel, Werkzeugwechsel, Programmablauf<\/td>\n<\/tr>\n<tr>\n<td>Auswirkungen<\/td>\n<td>Genauigkeit, Oberfl\u00e4cheng\u00fcte, Zykluszeit<\/td>\n<td>Sicherheit, Zuverl\u00e4ssigkeit, Schnittbedingungen<\/td>\n<\/tr>\n<tr>\n<td>Beispiele<\/td>\n<td>G00, G01, G02, G17, G54<\/td>\n<td>M03, M05, M06, M08, M30<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>G-Code: Geometrie und Bewegungslogik<\/h3>\n<p>G-Codes beantworten die Frage: <em>Wie muss sich das Werkzeug bewegen, um diese Geometrie zu erzeugen?<\/em> Sie legen den Positioniermodus, die Interpolationsart, das Vorschubverhalten und das aktive Koordinatensystem fest. Die Oberfl\u00e4chenqualit\u00e4t, die Ma\u00dfgenauigkeit und die Werkzeugbelastungsverteilung werden direkt davon beeinflusst, wie die G-Codes aufgebaut und angeordnet sind.<\/p>\n<p>Stellen Sie sich den G-Code als das geometrische Gehirn des Programms vor. Er wei\u00df, wohin das Werkzeug fahren muss und wie es dorthin gelangen soll.<\/p>\n<h3>M-Code: Maschinen- und SPS-Steuerung<\/h3>\n<p>M-Codes beantworten eine andere Frage: <em>Wie sollte sich die Maschine bei der Ausf\u00fchrung dieser Bewegung verhalten?<\/em> Sie steuern den Spindelstart und die Spindeldrehrichtung, die K\u00fchlmittelzufuhr, den Werkzeugwechsel sowie den Programmablauf. Alle diese Funktionen werden \u00fcber die SPS (speicherprogrammierbare Steuerung) der Maschine verwaltet \u2013 eine von der Bewegungssteuerung getrennte Steuerungsebene.<\/p>\n<p>Eine hilfreiche Betrachtungsweise: Der G-Code definiert den Weg; der M-Code bereitet die Bedingungen f\u00fcr die Bearbeitung entlang dieses Weges vor und h\u00e4lt sie aufrecht. Ein korrekt definierter Werkzeugweg schl\u00e4gt sofort fehl, wenn die Spindel nicht l\u00e4uft, das falsche Werkzeug eingespannt ist oder die K\u00fchlmittelzufuhr nicht aktiv ist. Diese Bedingungen fallen vollst\u00e4ndig in den Bereich des M-Codes.<\/p>\n<hr \/>\n<h2>CNC-Programmstruktur: Bl\u00f6cke, Modalzust\u00e4nde und Ausf\u00fchrungslogik<\/h2>\n<p>Eines der wichtigsten Konzepte bei der CNC-Programmierung \u2013 und eines, das zu den unerwartetsten Verhaltensweisen f\u00fchrt \u2013 ist das Verst\u00e4ndnis, dass der Controller Programme als <strong>Zustandsmaschine<\/strong>, und nicht als einfache, sequenzielle Liste von Anweisungen.<\/p>\n<h3>Bl\u00f6cke und Ausf\u00fchrungsreihenfolge<\/h3>\n<p>Ein CNC-Programm besteht aus <strong>Bl\u00f6cke<\/strong> \u2014 in der Regel jeweils eine Befehlszeile. Der Controller liest jeden Block von links nach rechts und f\u00fchrt ihn als Einheit aus. Entscheidend ist, dass der Controller keine Absichten interpretiert. Er sieht lediglich den aktuellen Block in Verbindung mit den modalen Zust\u00e4nden, die durch vorherige Bl\u00f6cke festgelegt wurden.<\/p>\n<p>Das bedeutet, dass zwei identisch aussehende Bewegungsbefehle sich v\u00f6llig unterschiedlich verhalten k\u00f6nnen, je nachdem, was zuvor im Programm festgelegt wurde. Fehler bei der Umsetzung sind die Hauptursache f\u00fcr die meisten unerwarteten Verhaltensweisen von CNC.<\/p>\n<h3>Modale vs. nicht-modale Codes<\/h3>\n<p>Diese Unterscheidung ist f\u00fcr das Verst\u00e4ndnis des Programmverhaltens von entscheidender Bedeutung:<\/p>\n<p><strong>Modalcodes<\/strong> bleiben so lange aktiv, bis sie ausdr\u00fccklich ge\u00e4ndert werden. Einmal festgelegt, bleiben sie in allen nachfolgenden Bl\u00f6cken bestehen, bis sie \u00fcberschrieben werden. Beispiele:<\/p>\n<ul>\n<li>Bewegungsmodus (G00, G01, G02) \u2013 bleibt aktiv, bis ein anderer Bewegungsmodus aufgerufen wird<\/li>\n<li>Positioniermodus (G90\/G91) \u2013 Absolut- oder Inkrementalmodus bleibt bis zur \u00c4nderung beibehalten<\/li>\n<li>Ebenenauswahl (G17\/G18\/G19) \u2013 die aktive Schneidebene bleibt bestehen<\/li>\n<\/ul>\n<p><strong>Nichtmodale Codes<\/strong> Sie werden einmal in dem Block ausgef\u00fchrt, in dem sie vorkommen, und haben danach keine weitere Wirkung. Typische Beispiele hierf\u00fcr sind bestimmte Befehle zum Abbrechen von Festzyklen und Verweilbefehle.<\/p>\n<table>\n<thead>\n<tr>\n<th>Verhalten<\/th>\n<th>Modalcodes<\/th>\n<th>Nichtmodale Codes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Zustandserhaltung<\/td>\n<td>G\u00fcltig, bis etwas anderes festgelegt wird<\/td>\n<td>Einmal ausf\u00fchren<\/td>\n<\/tr>\n<tr>\n<td>Risiko bei Fehlinterpretation<\/td>\n<td>Unbeabsichtigte Bewegung in sp\u00e4teren Bl\u00f6cken<\/td>\n<td>In der Regel lokaler Effekt<\/td>\n<\/tr>\n<tr>\n<td>H\u00e4ufige Beispiele<\/td>\n<td>G00, G01, G90, G91, G17<\/td>\n<td>Einmalige Aktionen, Abbr\u00fcche bestimmter Zyklen<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Die praktische Konsequenz: Ein aus einem vorherigen Arbeitsgang aktiv gebliebener G01-Modus f\u00fchrt dazu, dass die n\u00e4chste Eilgangbewegung stattdessen als Zerspanungsbewegung mit Vorschubgeschwindigkeit ausgef\u00fchrt wird. Das ist ein Unfall, der nur darauf wartet, zu passieren \u2013 und der sich durch das Verst\u00e4ndnis des Moduszustands vollst\u00e4ndig vermeiden l\u00e4sst.<\/p>\n<h3>Phasen der Programmlogik<\/h3>\n<p>Jedes zuverl\u00e4ssige CNC-Programm durchl\u00e4uft drei logische Phasen:<\/p>\n<p><strong>Initialisierung:<\/strong> Legen Sie den Maschinenstatus ausdr\u00fccklich fest. Legen Sie die Einheiten (G20\/G21), die Ebene (G17), den Positioniermodus (G90), den Werkst\u00fcckversatz (G54 oder gleichwertig) und den Vorschubmodus fest. Verlassen Sie sich niemals auf die Standardeinstellungen der Steuerung \u2013 diese variieren von Maschine zu Maschine.<\/p>\n<p><strong>Bearbeitungen:<\/strong> G-Codes sind f\u00fcr Bewegung und Geometrie ma\u00dfgeblich. M-Codes sorgen im Hintergrund f\u00fcr die Aufrechterhaltung der Schnittbedingungen \u2013 die Spindel l\u00e4uft weiter, die K\u00fchlmittelzufuhr bleibt aktiv, das Werkzeug bleibt im Einsatz.<\/p>\n<p><strong>Herunterfahren:<\/strong> R\u00fcckkehr in einen sicheren, bekannten Zustand. Das Werkzeug wird zur\u00fcckgezogen, Spindel und K\u00fchlmittel werden abgeschaltet, das Programm endet und wird f\u00fcr den n\u00e4chsten Zyklus zur\u00fcckgesetzt.<\/p>\n<hr \/>\n<h2>Die wichtigsten G-Code-Typen: Bewegungsbefehle, Positionierungsbefehle und Festzyklen<\/h2>\n<p>Anstatt jeden G-Code einzeln aufzulisten, vermittelt das Verst\u00e4ndnis der drei Funktionskategorien Klarheit dar\u00fcber, wann und warum die einzelnen Typen bei der praktischen Bearbeitung zum Einsatz kommen.<\/p>\n<h3>G-Codes f\u00fcr Bewegung und Interpolation<\/h3>\n<p>Diese Codes legen fest, wie sich das Schneidwerkzeug zwischen den Punkten bewegt. Sie haben den unmittelbarsten Einfluss auf die Oberfl\u00e4cheng\u00fcte, die Zykluszeit und die Werkzeugbelastung.<\/p>\n<p><strong>G00 \u2013 Eilgang<\/strong> Bewegt das Werkzeug mit maximaler Maschinengeschwindigkeit. Wird ausschlie\u00dflich f\u00fcr nicht-schneidende Bewegungen verwendet: Anfahren, Zur\u00fcckfahren, Positionierung beim Werkzeugwechsel und Freiraumbewegungen. Bei G00 hat die Geschwindigkeit Vorrang vor der Bahngenauigkeit \u2013 die tats\u00e4chliche Bahn zwischen den Punkten ist bei den meisten Maschinen keine Gerade. Der Freiraum zwischen Spannvorrichtung und Werkst\u00fcck muss \u00fcberpr\u00fcft und darf nicht einfach vorausgesetzt werden.<\/p>\n<p><strong>G01 \u2013 Lineare Interpolation<\/strong> Bewegt das Werkzeug in einer geraden Linie mit einer programmierten Vorschubgeschwindigkeit. Dies ist die prim\u00e4re Schnittbewegung bei den meisten Fr\u00e4s- und Drehvorg\u00e4ngen. Die Vorschubgeschwindigkeit wird mit F angegeben \u2013 und dieser F-Wert bleibt modal bestehen, bis er ge\u00e4ndert wird.<\/p>\n<p><strong>G02 \/ G03 \u2013 Kreisinterpolation<\/strong> G02 erzeugt B\u00f6gen im Uhrzeigersinn; G03 erzeugt B\u00f6gen gegen den Uhrzeigersinn. Wird f\u00fcr kreisf\u00f6rmige Taschen, Eckenradien, Verrundungen und Konturfr\u00e4sen verwendet. Der Mittelpunkt oder der Radius (R) muss angegeben werden. Bei den meisten Steuerungen ist die Bogenrichtung relativ zur aktiven Ebene (G17\/G18\/G19) \u2013 ein wichtiges Detail bei der Programmierung von B\u00f6gen au\u00dferhalb der XY-Ebene.<\/p>\n<p><strong>Der entscheidende Unterschied:<\/strong> G00 dient zur Positionierung zwischen den Schnitten. G01\/G02\/G03 dienen zum Materialabtrag. Die Verwendung von G00 anstelle von G01 \u2013 oder das Belassen von G01, wenn eine Eilpositionierung erforderlich ist \u2013 ist eine der h\u00e4ufigsten Ursachen f\u00fcr Kollisionen und \u00dcberschnitte.<\/p>\n<h3>Koordinatensystem und G-Codes zur Positionierung<\/h3>\n<p>Diese Codes definieren <em>wobei<\/em> Es kommt auf die Bewegung an, nicht darauf, wie sich das Werkzeug bewegt.<\/p>\n<p><strong>Arbeitskoordinatensysteme (G54\u2013G59)<\/strong> Jeder Offset speichert eine Beziehung zwischen dem Maschinen-Nullpunkt und dem Werkst\u00fcck-Nullpunkt. In ein und demselben Programm k\u00f6nnen mehrere Spannvorrichtungen oder R\u00fcstungen aktiv sein, indem unterschiedliche Arbeits-Offsets aufgerufen werden. In der praktischen Zerspanung ist G54 die Standardeinstellung f\u00fcr die Bearbeitung mit einer einzigen R\u00fcstung; G55\u2013G59 werden f\u00fcr Paletten mit mehreren Spannvorrichtungen oder Tombstone-Spannvorrichtungen verwendet.<\/p>\n<p><strong>G90 \u2013 Absolute Positionierung<\/strong> Alle Koordinaten beziehen sich auf den aktiven Arbeitsnullpunkt. Eine Bewegung zu X50 erfolgt immer relativ zum Werkst\u00fccknullpunkt, unabh\u00e4ngig von der aktuellen Werkzeugposition. Dies ist der Standardmodus f\u00fcr die meisten Produktionsprogramme \u2013 er ist vorhersehbar und leicht zu \u00fcberpr\u00fcfen.<\/p>\n<p><strong>G91 \u2013 Inkrementelle Positionierung<\/strong> Jede Koordinate wird relativ zur aktuellen Werkzeugposition verschoben. G91 ist sehr leistungsf\u00e4hig bei sich wiederholenden Mustern und symmetrischen Strukturen, kann jedoch gef\u00e4hrlich sein, wenn es unbeabsichtigt aktiv bleibt. Ein inkrementeller Befehl G01 Z-1,0 bedeutet \u201c1 mm nach unten verschieben, ausgehend von der aktuellen Position\u201d \u2013 nicht vom Nullpunkt des Werkst\u00fccks. Dies ist eine wesentliche Ursache f\u00fcr Tiefenfehler und Kollisionen.<\/p>\n<h3>Vorgefertigte Zyklen<\/h3>\n<p>Mit Festzyklen lassen sich sich wiederholende Bohr-, Gewindeschneid- und Gewindebohrsequenzen in einzeilige Befehle zusammenfassen. Anstatt Anfahrt, Vorschub, Verweildauer, R\u00fcckzug und Freiraum f\u00fcr jede Bohrung einzeln zu programmieren, \u00fcbernimmt ein Festzyklus die gesamte Sequenz automatisch.<\/p>\n<p>Zu den g\u00e4ngigen Beispielen z\u00e4hlen G81 (Bohren), G83 (Tieflochbohren), G84 (Gewindeschneiden) und G76 (Feinbohren). Zu den typischen Parametern geh\u00f6ren die Bohrtiefe, die R\u00fcckzugsebene, die Vorschubgeschwindigkeit sowie zyklusbezogene Optionen.<\/p>\n<p>Hier sind zwei technische Aspekte von Bedeutung. Erstens sind Festzyklen <strong>modal<\/strong> \u2014 Sie bleiben aktiv, bis sie ausdr\u00fccklich abgebrochen werden (in der Regel mit G80). Wird vergessen, einen Bohrzyklus vor einer Neupositionierung abzubrechen, kann dies dazu f\u00fchren, dass die Maschine an jeder Zwischenposition bohrt. Zweitens variiert das R\u00fcckzugsverhalten je nach Steuerung \u2013 \u00fcberpr\u00fcfen Sie die R\u00fcckzugslogik beim Peck-Bohren, bevor Sie Tieflochbohrzyklen auf unbekannten Maschinen ausf\u00fchren.<\/p>\n<hr \/>\n<h2>H\u00e4ufige M-Codes: Was sie steuern und warum das Timing entscheidend ist<\/h2>\n<p>M-Codes werden oft als Nebensache betrachtet \u2013 einfache Befehle zum Starten der Spindel und zum Einschalten der K\u00fchlmittelzufuhr. In der Praxis sind jedoch das Timing und die Abfolge der M-Codes ebenso entscheidend wie die Geometrie der Werkzeugbahn. Fehler dabei f\u00fchren zum Verlust von Werkzeugen, Werkst\u00fccken und manchmal sogar von Maschinen.<\/p>\n<h3>Spindelsteuerung<\/h3>\n<p><strong>M03 \u2013 Spindel ein (im Uhrzeigersinn)<\/strong> Standard-Schnittrichtung f\u00fcr rechtsdrehende Werkzeuge. Muss aktiv sein, bevor ein G-Code f\u00fcr den Schnitt ausgef\u00fchrt wird. Geben Sie einen S-Wert (Spindeldrehzahl) im selben oder im vorhergehenden Satz an.<\/p>\n<p><strong>M04 \u2013 Spindel ein (gegen den Uhrzeigersinn)<\/strong> Wird f\u00fcr linksdrehende Werkzeuge, bestimmte Bohrvorg\u00e4nge und das Gewindefr\u00e4sen in bestimmten Konfigurationen verwendet. Die Verwendung von M04 mit einem standardm\u00e4\u00dfigen rechtsdrehenden Schaftfr\u00e4ser f\u00fchrt sofort zu Sch\u00e4den sowohl am Werkzeug als auch am Werkst\u00fcck.<\/p>\n<p><strong>M05 \u2013 Spindelstopp<\/strong> Erforderlich vor Werkzeugwechseln, Antastvorg\u00e4ngen und Programmunterbrechungen. Bei den meisten Maschinen stoppt M06 (Werkzeugwechsel) die Spindel automatisch \u2013 es ist jedoch empfehlenswert und allgemeing\u00fcltiger, M05 explizit vor M06 zu programmieren.<\/p>\n<h3>K\u00fchlmittelregelung<\/h3>\n<p><strong>M08 \u2013 K\u00fchlmittel ein<\/strong> Aktiviert die Flutk\u00fchlung. Bei Maschinen mit mehreren K\u00fchlmitteloptionen kann mithilfe bestimmter M-Codes zwischen Flut-, Nebel- und Spindel-Durchflussk\u00fchlung gew\u00e4hlt werden \u2013 siehe M-Code-Liste der Maschine.<\/p>\n<p><strong>M09 \u2013 K\u00fchlmittel aus<\/strong> Vor Werkzeugwechseln und am Programmende ausschalten. Wenn die K\u00fchlmittelzufuhr w\u00e4hrend eines Werkzeugwechsels aktiv bleibt, f\u00fchrt dies zu Aufr\u00e4umproblemen und potenziellen Sicherheitsrisiken an der Werkzeugwechselposition.<\/p>\n<p>Der richtige Zeitpunkt f\u00fcr die K\u00fchlmittelzufuhr ist wichtiger, als die meisten Programmierer annehmen. Bei der Bearbeitung von Titan (Ti-6Al-4V) muss das K\u00fchlmittel bereits aktiv sein, bevor die Schneide das Werkst\u00fcck ber\u00fchrt \u2013 eine Aktivierung erst nach dem Kontakt ist f\u00fcr den W\u00e4rmeschutz zu sp\u00e4t. Bei Aluminium 6061 verhindert Spr\u00fch- oder Flutk\u00fchlung die Bildung von Zunder und gew\u00e4hrleistet eine gleichbleibende Oberfl\u00e4cheng\u00fcte. Der M08-Befehl geh\u00f6rt <em>vorher<\/em> der erste Schnitt G01, nicht danach.<\/p>\n<h3>Werkzeugwechsel und Programmablauf<\/h3>\n<p><strong>M06 \u2013 Werkzeugwechsel<\/strong> F\u00fchrt den automatischen Werkzeugwechsel zu dem durch einen T-Code angegebenen Werkzeug durch. F\u00fcr eine sichere Ausf\u00fchrung muss das Werkzeug in die Werkzeugwechselposition zur\u00fcckgezogen und die Spindel angehalten sein. Standardablauf: G00 bis Z-Sicherheitsabstand \u2192 M05 \u2192 T___ \u2192 M06.<\/p>\n<p><strong>M00 \u2013 Programmstopp (bedingungslos)<\/strong> Unterbricht die Ausf\u00fchrung. Die Maschine h\u00e4lt an und wartet auf eine Eingabe durch den Bediener. Wird f\u00fcr Pr\u00fcfungen w\u00e4hrend des Betriebs, manuelle Arbeitsschritte oder die Anpassung von Vorrichtungen w\u00e4hrend des Zyklus verwendet.<\/p>\n<p><strong>M01 \u2013 Optionaler Stopp<\/strong> H\u00e4lt nur an, wenn der optionale Stoppschalter am Controller aktiviert ist. N\u00fctzlich f\u00fcr Pr\u00fcfpunkte, die im Produktionsbetrieb umgangen werden k\u00f6nnen, aber w\u00e4hrend der Einrichtung oder bei Erstmusterl\u00e4ufen aktiviert werden.<\/p>\n<p><strong>M30 \u2013 Programmende und R\u00fccksetzen<\/strong> Beendet das Programm und spult zum Anfang zur\u00fcck. Dies ist die korrekte Vorgehensweise zum Beenden eines CNC-Programms in der Produktion. M02 beendet das Programm ohne R\u00fcckspulen \u2013 vermeiden Sie dies im Produktionscode.<\/p>\n<table>\n<thead>\n<tr>\n<th>Funktionsgruppe<\/th>\n<th>M-Codes<\/th>\n<th>Stelle im Ingenieurwesen<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Spindel<\/td>\n<td>M03 \/ M04 \/ M05<\/td>\n<td>Schneiden aktivieren und beenden; Richtung steuern<\/td>\n<\/tr>\n<tr>\n<td>K\u00fchlmittel<\/td>\n<td>M08 \/ M09<\/td>\n<td>Temperaturregelung, Spanabfuhr, Oberfl\u00e4cheng\u00fcte<\/td>\n<\/tr>\n<tr>\n<td>Werkzeugverwaltung<\/td>\n<td>M06<\/td>\n<td>Ablauf des Werkzeugwechsels<\/td>\n<\/tr>\n<tr>\n<td>Programmablauf<\/td>\n<td>M00 \/ M01 \/ M30<\/td>\n<td>Sicherheitsstopps, Inspektion, R\u00fccksetzen des Zyklus<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h2>Wie G-Code und M-Code zusammenwirken: Ein praktisches Beispiel aus der Fr\u00e4sbearbeitung<\/h2>\n<p>Die Abstimmung zwischen G- und M-Codes wird deutlich, wenn man die Ausf\u00fchrungslogik eines konkreten Bearbeitungsvorgangs nachverfolgt. So sieht ein einfacher Planfr\u00e4sdurchgang an einem Werkst\u00fcck aus Aluminium 6061 aus der Perspektive der Zustandsverwaltung aus:<\/p>\n<h3>Phase 1: Maschinenvorbereitung (M-Codes legen die Schnittbedingungen fest)<\/h3>\n<pre><code>G21 G90 G17 G54 ; Metrisch, absolut, XY-Ebene, Werkst\u00fcckversatz einstellen\nT01 M06 ; Planfr\u00e4ser laden (Werkzeugwechselsequenz)\nS3000 M03 ; Spindel einschalten, im Uhrzeigersinn mit 3000 U\/min\r\nM08 ; K\u00fchlmittel voll auf\nG00 Z50,0 ; Eilgang auf sicheren Z-Abstand\nG00 X-10,0 Y0 ; Eilgang zur Ann\u00e4herungsposition\r\n<\/code><\/pre>\n<p>Vor jeder Schneidbewegung ist der Zustand der Maschine vollst\u00e4ndig definiert: das richtige Werkzeug, die Spindel l\u00e4uft in der richtigen Richtung mit der richtigen Drehzahl, die K\u00fchlmittelzufuhr ist aktiviert, das Werkzeug befindet sich in sicherer Position \u00fcber dem Werkst\u00fcck.<\/p>\n<h3>Phase 2: Schneidbewegung (G-Codes steuern den Verfahrweg)<\/h3>\n<pre><code>G00 Z2,0 ; Eilgang auf die Z-Anfahrh\u00f6he\nG01 Z-0,5 F200 ; Eintauchen auf die Schnitttiefe mit geregelter Vorschubgeschwindigkeit\nG01 X110,0 F600 ; Planfr\u00e4sdurchgang \u00fcber das Werkst\u00fcck\r\n<\/code><\/pre>\n<p>Die G01-Befehle steuern den eigentlichen Materialabtrag. Die M-Codes f\u00fcr Spindel und K\u00fchlmittel aus Phase 1 bleiben modal aktiv \u2013 sie m\u00fcssen nicht f\u00fcr jeden Schnitt erneut aufgerufen werden, m\u00fcssen jedoch vor Beginn von Phase 2 festgelegt worden sein.<\/p>\n<h3>Phase 3: Sicherer Ausstieg (Maschine in einen bekannten Zustand zur\u00fcckversetzen)<\/h3>\n<pre><code>G01 Z2,0 F600 ; R\u00fcckzug mit Vorschubgeschwindigkeit (keine Eilgangbewegung \u2013 kontrolliert)\r\nG00 Z50,0 ; Eilgang bis zum vollen Z-Freiraum\nM09 ; K\u00fchlmittel aus\nM05 ; Spindelstopp\nG00 X0 Y0 ; Zur\u00fcck zur Referenzposition\nM30 ; Programmende und R\u00fccksetzen\r\n<\/code><\/pre>\n<p>Jedes Element der Ausfahrsequenz hat einen bestimmten Zweck. Das Zur\u00fcckfahren mit Vorschubgeschwindigkeit vor dem Wechsel in den Eilgang verhindert Eintauchspuren, falls das Werkzeug noch in leichtem Kontakt steht. Das Abschalten der K\u00fchlmittelzufuhr vor dem Anhalten der Spindel verhindert, dass w\u00e4hrend des Auslaufs K\u00fchlmittel verspritzt wird. Der Befehl \u201eG00\u201c zur Referenzposition sorgt f\u00fcr eine zuverl\u00e4ssige Vorbereitung auf den n\u00e4chsten Zyklus.<\/p>\n<p>Diese dreistufige Vorgehensweise \u2013 Vorbereiten, Ausf\u00fchren, Wiederherstellen \u2013 ist das mentale Modell, mit dem sich die meisten CNC-Programmierfehler vermeiden lassen.<\/p>\n<hr \/>\n<h2>Unterschiede bei Steuerungen: Warum G-Code und M-Code nicht wirklich universell sind<\/h2>\n<p>ISO 6983 \/ RS274 bietet eine gemeinsame Syntaxgrundlage, doch die Hersteller von Steuerungen erweitern und modifizieren das Verhalten erheblich. Ein Programm, das auf einem Ger\u00e4t einwandfrei l\u00e4uft, kann auf einem anderen Ger\u00e4t Fehlermeldungen oder unerwartete Bewegungen ausl\u00f6sen \u2013 selbst bei identischer Hardware.<\/p>\n<h3>H\u00e4ufige Abweichungen<\/h3>\n<p><strong>Fanuc-basierte Steuerungen:<\/strong> Die am h\u00e4ufigsten verwendeten Industriesteuerungen. Fanuc legt einen umfangreichen gemeinsamen Kern fest, doch die Maschinenhersteller k\u00f6nnen das Verhalten durch eigene Optionen erg\u00e4nzen oder anpassen. Die Syntax von Makro B, die M-Codes f\u00fcr die Abtastung und die Parameter der Festzyklen variieren h\u00e4ufig von Maschine zu Maschine, selbst innerhalb der Fanuc-Familie.<\/p>\n<p><strong>Haas-Steuerungen:<\/strong> Was die grundlegenden G-Codes f\u00fcr die Bewegungssteuerung angeht, ist das System weitgehend Fanuc-kompatibel, allerdings verwendet Haas f\u00fcr viele Funktionen vereinfachte oder propriet\u00e4re M-Codes. Programme, die auf Haas-Maschinen erstellt wurden, erfordern h\u00e4ufig Anpassungen der M-Codes, wenn sie auf Fanuc-Maschinen \u00fcbertragen werden.<\/p>\n<p><strong>LinuxCNC:<\/strong> Open-Source und in hohem Ma\u00dfe konfigurierbar. Unterst\u00fctzt die Standard-RS274-Syntax, erweiterte Funktionen sind jedoch benutzerdefiniert. Leistungsstark f\u00fcr kundenspezifische Maschinen; erfordert eine sorgf\u00e4ltige Konfigurationsdokumentation, um ein konsistentes Verhalten zu gew\u00e4hrleisten.<\/p>\n<table>\n<thead>\n<tr>\n<th>Fl\u00e4che<\/th>\n<th>Typische Abweichung<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Werkzeugwechsel (M06)<\/td>\n<td>Positionierung, Sicherheits\u00fcberpr\u00fcfungen, Verhalten im Flugverkehrskontrollbetrieb<\/td>\n<\/tr>\n<tr>\n<td>Vorgefertigte Zyklen<\/td>\n<td>Parameter, R\u00fcckzugsmodi, Peck-Verhalten<\/td>\n<\/tr>\n<tr>\n<td>K\u00fchlmittel-M-Codes<\/td>\n<td>Verschiedene K\u00fchlmitteltypen, spezifische Code-Zuordnungen<\/td>\n<\/tr>\n<tr>\n<td>Makrovariablen<\/td>\n<td>Syntax, Verf\u00fcgbarkeit, Variablennummerierung<\/td>\n<\/tr>\n<tr>\n<td>Standardzust\u00e4nde von Modalen<\/td>\n<td>Ebenenauswahl, Vorschubmodus, Einheiten beim Einschalten<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Bew\u00e4hrte Verfahren f\u00fcr die Portabilit\u00e4t<\/h3>\n<p>Der zuverl\u00e4ssigste Ansatz f\u00fcr die Kompatibilit\u00e4t zwischen verschiedenen Controllern:<\/p>\n<ul>\n<li><strong>Verlassen Sie sich niemals auf Standardeinstellungen.<\/strong> Legen Sie zu Programmstart die Einheiten, die Ebene, den Positionierungsmodus und den Arbeitsversatz ausdr\u00fccklich fest.<\/li>\n<li><strong>Vermeiden Sie controller-spezifische Tastenkombinationen<\/strong> in Programmen, die f\u00fcr mehrere Rechner vorgesehen sind.<\/li>\n<li><strong>Kommentare zu nicht standardm\u00e4\u00dfigen M-Codes<\/strong> mit ihrer Funktion \u2013 zuk\u00fcnftige Programmierer werden ohne Dokumentation nicht wissen, was M88 auf Ihrem konkreten Rechner bewirkt.<\/li>\n<li><strong>Auf jedem Controller validieren<\/strong> vor dem ersten Produktionslauf, auch wenn das Programm \u201ceigentlich funktionieren sollte\u201d.\u201d<\/li>\n<\/ul>\n<hr \/>\n<h2>H\u00e4ufige G-Code- und M-Code-Fehler: Diagnose und Vermeidung<\/h2>\n<p>Die meisten CNC-Fehler lassen sich auf Fehler bei der Zustandsverwaltung zur\u00fcckf\u00fchren, nicht auf Syntaxfehler. Der Controller hat genau das ausgef\u00fchrt, was ihm befohlen wurde \u2013 das Problem ist, dass der Programmierer nicht vollst\u00e4ndig ber\u00fccksichtigt hat, welche modalen Zust\u00e4nde aktiv waren.<\/p>\n<table>\n<thead>\n<tr>\n<th>Fehler<\/th>\n<th>Grundursache<\/th>\n<th>Pr\u00e4vention<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Modaler \u00dcbertrag<\/td>\n<td>G90\/G91, G00\/G01 oder aus dem vorherigen Satz \u00fcbernommenes Ebenensignal<\/td>\n<td>Kritische Modalzust\u00e4nde beim Programmstart und vor kritischen Vorg\u00e4ngen explizit zur\u00fccksetzen<\/td>\n<\/tr>\n<tr>\n<td>Falsches Koordinatensystem<\/td>\n<td>Das Programm geht von einem Arbeitsversatz oder einem Einheitssystem aus, das von der Maschineneinstellung abweicht.<\/td>\n<td>G54\u2013G59, G90\/G91 und G20\/G21 explizit festlegen \u2013 niemals davon ausgehen<\/td>\n<\/tr>\n<tr>\n<td>Unerwartete schnelle Bewegung<\/td>\n<td>G01 ist weiterhin aktiv, wenn eine Schnellpositionierung vorgesehen ist, oder umgekehrt<\/td>\n<td>Den G-Code f\u00fcr die Bewegung in jedem Block neu angeben, in dem sich die Bewegungsabsicht \u00e4ndert<\/td>\n<\/tr>\n<tr>\n<td>Spindel-\/K\u00fchlmittel-Zeitsteuerung<\/td>\n<td>M-Codes, die nach Beginn der Schneidbewegung eingegeben werden<\/td>\n<td>M08 und M03 als Voraussetzungen behandeln: vor dem ersten G01 aktiv<\/td>\n<\/tr>\n<tr>\n<td>Unsicherer Werkzeugwechsel<\/td>\n<td>M06 wurde ohne Spindelstopp oder sichere R\u00fcckzugsposition aufgerufen<\/td>\n<td>Standard-Werkzeugwechselablauf einhalten: Zur\u00fcckfahren \u2192 M05 \u2192 T___ \u2192 M06<\/td>\n<\/tr>\n<tr>\n<td>Unregelm\u00e4\u00dfiges Zyklusverhalten<\/td>\n<td>Modaler Festzyklus (G83, G84) wurde vor der Neupositionierung nicht abgebrochen<\/td>\n<td>Stornieren Sie Festzyklen explizit mit G80; gehen Sie nicht davon aus, dass sie automatisch storniert werden.<\/td>\n<\/tr>\n<tr>\n<td>Das Programm bricht beim zweiten Durchlauf ab<\/td>\n<td>Versteckte Modalzust\u00e4nde bleiben auch nach Programmende bestehen<\/td>\n<td>Verwenden Sie M30 mit vollst\u00e4ndiger Abschaltsequenz; initialisieren Sie alle Zust\u00e4nde beim Programmstart<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Ein konkretes Beispiel: Inkrementalmodus bleibt aktiv<\/h3>\n<p>Ein h\u00e4ufiger Vorfall in der Werkstatt: Ein Programmierer verwendet G91 (inkremental) f\u00fcr ein Bohrmuster mit Schraubenkreis. Der Festzyklus l\u00e4uft korrekt ab. Dann bricht G80 den Zyklus ab, aber G91 wird nicht auf G90 zur\u00fcckgesetzt. Der n\u00e4chste Arbeitsschritt \u2013 ein Taschenfr\u00e4sdurchgang \u2013 verwendet inkrementale Koordinaten. Anstatt zu X50 Y30 (absolut) zu fahren, bewegt sich die Maschine 50 mm und 30 mm von ihrer aktuellen Position aus.<\/p>\n<p>Ergebnis: Fr\u00e4sdurchgang an falscher Stelle, Ausschussteil, potenzieller Zusammensto\u00df.<\/p>\n<p>Korrektur: hinzuf\u00fcgen <code>G90<\/code> bis zur Zeile unmittelbar danach <code>G80<\/code> beim Verlassen des inkrementellen Modus. Ein Zeichen. Speichert einen Teil.<\/p>\n<hr \/>\n<h2>Bew\u00e4hrte Verfahren f\u00fcr eine zuverl\u00e4ssige CNC-Programmierung<\/h2>\n<p>Zuverl\u00e4ssige Programme weisen unabh\u00e4ngig von der Maschine oder der Steuerung gemeinsame strukturelle Merkmale auf. Diese Vorgehensweisen reduzieren Fehler, vereinfachen die Fehlersuche und sorgen daf\u00fcr, dass Programme auch von anderen Personen als dem urspr\u00fcnglichen Autor gewartet werden k\u00f6nnen.<\/p>\n<h3>Initialisierungsblock \u2013 Immer<\/h3>\n<p>Jedes Programm sollte mit einer vollst\u00e4ndigen Zustandsinitialisierung beginnen:<\/p>\n<pre><code>G21 G90 G17 G54 G94 G40 G49    ; metrisch, absolut, XY-Ebene, WCS 1, \n ; Vorschub pro Minute, Fr\u00e4serkorrektur deaktivieren, Werkzeugl\u00e4nge deaktivieren\r\n<\/code><\/pre>\n<p>Dieser einzelne Block beseitigt die meisten Probleme im Zusammenhang mit der Weitergabe des Modalzustands. Das Schreiben dauert f\u00fcnf Sekunden und erspart stundenlange Fehlersuche.<\/p>\n<h3>Explizite Zustands\u00e4nderungen an logischen Grenzen<\/h3>\n<p>Stellen Sie vor jedem neuen Bearbeitungsvorgang \u2013 insbesondere beim Wechsel zwischen Bohren und Fr\u00e4sen, zwischen verschiedenen Spannvorrichtungen oder nach manuellen Eingriffen \u2013 die kritischen Modenzust\u00e4nde wieder her. Gehen Sie nicht davon aus, dass die Maschine nach dem vorherigen Bearbeitungsvorgang im richtigen Zustand ist.<\/p>\n<h3>Regeln f\u00fcr die M-Code-Sequenzierung<\/h3>\n<p>Halten Sie sich konsequent an diese Reihenfolge:<\/p>\n<ol>\n<li>Auf einen sicheren Z-Abstand zur\u00fcckfahren<\/li>\n<li>Spindelstopp (M05), falls ein Werkzeugwechsel erforderlich ist<\/li>\n<li>Werkzeugwechsel (M06) mit T-Code<\/li>\n<li>Spindelstart mit neuer Drehzahl (M03 S___) und K\u00fchlmittel einschalten (M08)<\/li>\n<li>Position bis zum Anflugpunkt<\/li>\n<li>Schneidebewegung beginnen<\/li>\n<\/ol>\n<p>Das Umkehren der Schritte 4 und 5 \u2013 d.\u202fh. das Zur\u00fcckfahren in die Position, bevor Spindel und K\u00fchlmittel aktiv sind \u2013 ist bei den meisten Steuerungen zwar technisch m\u00f6glich, wird jedoch nicht empfohlen. Die Spindel ben\u00f6tigt Zeit, um ihre Drehzahl zu erreichen; das K\u00fchlmittel muss den Schneidbereich erreichen, bevor das Werkzeug in den Werkstoff eindringt.<\/p>\n<h3>Kommentiere die Absicht, nicht nur die Syntax<\/h3>\n<p>Schlechter Kommentar: <code>; G01 X50 F300 (lineare Bewegung)<\/code> Guter Kommentar: <code>; Schlichtdurchgang an der Bezugsebene \u2013 Tiefe 0,1 mm, 0 Aufma\u00df belassen<\/code><\/p>\n<p>Kommentare sollten erl\u00e4utern, <em>warum<\/em> Erl\u00e4utern Sie, welche Codesequenz vorliegt und welche Annahmen darin zugrunde gelegt werden, anstatt lediglich zu wiederholen, was im Code bereits steht.<\/p>\n<h3>Vor der Ausf\u00fchrung durch Simulation \u00fcberpr\u00fcfen<\/h3>\n<p>Selbst erfahrene Programmierer f\u00fchren vor der Bearbeitung eine Simulation durch. Moderne CAM-Simulationen erkennen Werkzeugwegfehler, Halterkollisionen und Interferenzen bei Eilg\u00e4ngen, die im Code zwar korrekt erscheinen, an der Maschine jedoch zu Abst\u00fcrzen f\u00fchren. Testl\u00e4ufe mit der Vorschubgeschwindigkeit 10% und einer visuellen \u00dcberpr\u00fcfung jeder Bearbeitungsphase decken die verbleibenden Probleme auf, die bei der Simulation \u00fcbersehen wurden.<\/p>\n<hr \/>\n<h2>Schlussfolgerung<\/h2>\n<p>G-Code und M-Code sind keine zwei getrennten Listen von CNC-Befehlen \u2013 sie sind zwei aufeinander abgestimmte Ebenen eines einzigen Maschinensteuerungssystems. Der G-Code definiert, wohin und wie sich das Werkzeug bewegt; der M-Code stellt sicher, dass sich die Maschine im richtigen Zustand befindet, um diese Bewegung sicher und effektiv auszuf\u00fchren. Das Verst\u00e4ndnis daf\u00fcr, wie diese beiden Komponenten zusammenwirken, wie sich der Moduszustand \u00fcber Programmbl\u00f6cke hinweg fortsetzt und wie sich Unterschiede bei den Steuerungen auf das Verhalten auswirken, macht den Unterschied zwischen Code aus, der in der Produktion zuverl\u00e4ssig funktioniert, und Code, der nur einmal, auf einer Maschine und unter idealen Bedingungen funktioniert.<\/p>\n<p>Eine zuverl\u00e4ssige CNC-Programmierung beruht auf einer konsequenten Verwaltung des Programmablaufs: explizite Initialisierung, vorhersehbare Ausf\u00fchrungsphasen und sorgf\u00e4ltige zeitliche Abstimmung des M-Codes. Programmierer, die G-Code und M-Code als aufeinander abgestimmtes logisches System verstehen \u2013 und nicht als isolierte Befehle, die es auswendig zu lernen gilt \u2013, schreiben Programme, die maschinen- und schicht\u00fcbergreifend portabel, sicher und leicht zu warten sind.<\/p>\n<hr \/>\n<h2>FAQ<\/h2>\n<p><strong>Ist der G-Code f\u00fcr Fr\u00e4s- und Drehmaschinen derselbe?<\/strong><\/p>\n<p>Nicht ganz. Die grundlegenden Bewegungsbefehle (G01, G02) kommen in beiden vor, aber der Kontext unterscheidet sich erheblich. Beim Fr\u00e4sen werden die Ebenenauswahl (G17\/G18\/G19) und mehrachsige Koordinaten verwendet. Drehzentren nutzen Durchmesser-\/Radiussteuerung (G7\/G8 bei einigen Steuerungen), spindelsynchrone Bewegungen zum Gewindeschneiden (G32, G92) und drehmaschinenspezifische Festzyklen (G71, G72). Die zugrunde liegende Syntax ist zwar dieselbe; die Anwendungslogik unterscheidet sich jedoch so stark, dass sich Erfahrungen aus dem Fr\u00e4sen nicht automatisch auf die Drehprogrammierung \u00fcbertragen lassen.<\/p>\n<p><strong>Sind M-Codes bei allen CNC-Ger\u00e4ten einheitlich?<\/strong><\/p>\n<p>Nein \u2013 und davon auszugehen, ist riskant. Grundlegende Codes wie M03 (Spindel im Uhrzeigersinn), M05 (Spindelstopp) und M30 (Programmende) sind weitgehend einheitlich. Die Steuerung der K\u00fchlmittelzufuhr, das Antasten, das Spannen, der Palettenwechsel und automatisierungsbezogene Funktionen variieren jedoch erheblich je nach Steuerung, Maschinenhersteller und Konfiguration. \u00dcberpr\u00fcfen Sie stets die Zuordnung der M-Codes an der jeweiligen Maschine, bevor Sie sich darauf verlassen.<\/p>\n<p><strong>Warum verh\u00e4lt sich derselbe G-Code auf verschiedenen Steuerungen unterschiedlich?<\/strong><\/p>\n<p>Die Norm ISO 6983 definiert die Syntax, nicht das Verhalten. Steuerungen erweitern die Norm um eigene Standardwerte, Optionen und Interpretationen. Vorgegebene Zyklusparameter, Lichtbogen-Definitionen, Standard-Modalzust\u00e4nde beim Einschalten und die Positionierung beim Werkzeugwechsel k\u00f6nnen sich alle unterscheiden. Das Schreiben von explizitem, defensivem Code \u2013 also das Festlegen aller Modalzust\u00e4nde, anstatt sich auf Standardeinstellungen zu verlassen \u2013 ist der einzige zuverl\u00e4ssige Weg, um Unterschiede zwischen verschiedenen Steuerungen zu bew\u00e4ltigen.<\/p>\n<p><strong>Kann CAM-Software Kenntnisse im Bereich manueller G\/M-Code ersetzen?<\/strong><\/p>\n<p>CAM-Software generiert zwar effizient korrekte Werkzeugwege, macht das Verst\u00e4ndnis des Codes jedoch nicht \u00fcberfl\u00fcssig. Ingenieure und Zerspanungsfachkr\u00e4fte ben\u00f6tigen nach wie vor Kenntnisse im G- und M-Code, um die Programmlogik zu \u00fcberpr\u00fcfen, unerwartetes Verhalten zu beheben, die Zykluszeit zu optimieren und klar mit Lieferanten und Bedienern zu kommunizieren. CAM ersetzt die manuelle Eingabe, nicht jedoch das technische Urteilsverm\u00f6gen.<\/p>\n<p><strong>Was sind die gef\u00e4hrlichsten Fehler im G- und M-Code?<\/strong><\/p>\n<p>Zustandsbezogene Fehler verursachen die schwerwiegendsten Vorf\u00e4lle. Zu den risikoreichsten Fehlern z\u00e4hlen: G00-Eilg\u00e4nge, die zu nah am Werkst\u00fcck ausgef\u00fchrt werden; unbeabsichtigt aktiv gelassener Inkrementalmodus (G91); das Weglassen des Spindelanlaufs (M03) vor der Schneidbewegung; das Ausl\u00f6sen eines Werkzeugwechsels (M06) ohne sicheren R\u00fcckzug; sowie nicht vor der Neupositionierung abgebrochene Festzyklen (G83, G84). Keiner dieser Fehler f\u00fchrt zu Syntaxfehlern \u2013 die Steuerung f\u00fchrt sie ohne Beanstandung aus. Der Schaden entsteht auf mechanischer Ebene.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Jede Bewegung einer CNC-Maschine \u2013 jede Vorschubgeschwindigkeit, jeder Spindelstart, jeder Werkzeugwechsel \u2013 wird durch G-Code und M-Code gesteuert. Diese beiden Befehlstypen bilden die Befehlsebene zwischen einem CAM-generierten Werkzeugweg und dem tats\u00e4chlichen Materialabtrag.<\/p>","protected":false},"author":1,"featured_media":12266,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[105],"tags":[],"class_list":["post-10317","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cnc-machining-guide"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.5 (Yoast SEO v28.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>G Code vs M Code: CNC Programming Commands Guide<\/title>\n<meta name=\"description\" content=\"Learn the differences between G code and M code in CNC programming, including command types, program structure, and practical examples used in CNC machining operations.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cncmachiningshops.com\/de\/g-code-and-m-code\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"G Code and M Code in CNC Programming: Command Types, Program Structure, and Practical Examples\" \/>\n<meta property=\"og:description\" content=\"Learn the differences between G code and M code in CNC programming, including command types, program structure, and practical examples used in CNC machining operations.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cncmachiningshops.com\/de\/g-code-and-m-code\/\" \/>\n<meta property=\"og:site_name\" content=\"CNC Machining Shops\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-12T02:55:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-19T09:21:55+00:00\" \/>\n<meta name=\"author\" content=\"cncmachiningshops\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"cncmachiningshops\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"15\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/g-code-and-m-code\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/g-code-and-m-code\\\/\"},\"author\":{\"name\":\"cncmachiningshops\",\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/#\\\/schema\\\/person\\\/2593a2e2de68be71300e10f486236551\"},\"headline\":\"G Code and M Code in CNC Programming: Command Types, Program Structure, and Practical Examples\",\"datePublished\":\"2026-03-12T02:55:08+00:00\",\"dateModified\":\"2026-07-19T09:21:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/g-code-and-m-code\\\/\"},\"wordCount\":3349,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/g-code-and-m-code\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/G-Code-and-M-Code-in-CNC-Programming-800x600-1.jpg\",\"articleSection\":[\"CNC Machining Guide\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.cncmachiningshops.com\\\/g-code-and-m-code\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/g-code-and-m-code\\\/\",\"url\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/g-code-and-m-code\\\/\",\"name\":\"G Code vs M Code: CNC Programming Commands Guide\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/g-code-and-m-code\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/g-code-and-m-code\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/G-Code-and-M-Code-in-CNC-Programming-800x600-1.jpg\",\"datePublished\":\"2026-03-12T02:55:08+00:00\",\"dateModified\":\"2026-07-19T09:21:55+00:00\",\"description\":\"Learn the differences between G code and M code in CNC programming, including command types, program structure, and practical examples used in CNC machining operations.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/g-code-and-m-code\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.cncmachiningshops.com\\\/g-code-and-m-code\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/g-code-and-m-code\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/G-Code-and-M-Code-in-CNC-Programming-800x600-1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/G-Code-and-M-Code-in-CNC-Programming-800x600-1.jpg\",\"width\":800,\"height\":600,\"caption\":\"G Code and M Code in CNC Programming 800x600\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/g-code-and-m-code\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"G Code and M Code in CNC Programming: Command Types, Program Structure, and Practical Examples\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/#website\",\"url\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/\",\"name\":\"CNC Machining Shops\",\"description\":\"10+ Years CNC Machining Service Supplier\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/#organization\"},\"alternateName\":\"CMS\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/#organization\",\"name\":\"CNC Machining Shops\",\"alternateName\":\"CMS\",\"url\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/CMS_Logo_1000x1000.png\",\"contentUrl\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/CMS_Logo_1000x1000.png\",\"width\":800,\"height\":800,\"caption\":\"CNC Machining Shops\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"description\":\"Shenzhen CMS Technology Co., Ltd. is located in Shenzhen, Guangdong, China. It was established in 2012 with a factory area of \u200b\u200b3,000 square meters. It is a company specializing in CNC machining and precision parts manufacturing. We have passed ISO9001, IATF16949, ISO13485 certification and are your trusted partner.\",\"email\":\"info@cncmachiningshops.com\",\"telephone\":\"+8617196430663\",\"legalName\":\"Shenzhen CMS Technology Co., Ltd.\",\"foundingDate\":\"2012-07-22\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"11\",\"maxValue\":\"50\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.cncmachiningshops.com\\\/#\\\/schema\\\/person\\\/2593a2e2de68be71300e10f486236551\",\"name\":\"cncmachiningshops\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/36a63d96ed08f8805561107422de4e83bbf8d1669dbc9655acab534bc3e1ed17?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/36a63d96ed08f8805561107422de4e83bbf8d1669dbc9655acab534bc3e1ed17?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/36a63d96ed08f8805561107422de4e83bbf8d1669dbc9655acab534bc3e1ed17?s=96&d=mm&r=g\",\"caption\":\"cncmachiningshops\"},\"sameAs\":[\"https:\\\/\\\/cncmachiningshops.com\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"G-Code vs. M-Code: Leitfaden zu den CNC-Programmierbefehlen","description":"Lernen Sie die Unterschiede zwischen G-Code und M-Code bei der CNC-Programmierung kennen, einschlie\u00dflich Befehlstypen, Programmstruktur und praktischen Beispielen aus der CNC-Bearbeitung.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.cncmachiningshops.com\/de\/g-code-and-m-code\/","og_locale":"de_DE","og_type":"article","og_title":"G Code and M Code in CNC Programming: Command Types, Program Structure, and Practical Examples","og_description":"Learn the differences between G code and M code in CNC programming, including command types, program structure, and practical examples used in CNC machining operations.","og_url":"https:\/\/www.cncmachiningshops.com\/de\/g-code-and-m-code\/","og_site_name":"CNC Machining Shops","article_published_time":"2026-03-12T02:55:08+00:00","article_modified_time":"2026-07-19T09:21:55+00:00","author":"cncmachiningshops","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"cncmachiningshops","Gesch\u00e4tzte Lesezeit":"15\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cncmachiningshops.com\/g-code-and-m-code\/#article","isPartOf":{"@id":"https:\/\/www.cncmachiningshops.com\/g-code-and-m-code\/"},"author":{"name":"cncmachiningshops","@id":"https:\/\/www.cncmachiningshops.com\/#\/schema\/person\/2593a2e2de68be71300e10f486236551"},"headline":"G Code and M Code in CNC Programming: Command Types, Program Structure, and Practical Examples","datePublished":"2026-03-12T02:55:08+00:00","dateModified":"2026-07-19T09:21:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cncmachiningshops.com\/g-code-and-m-code\/"},"wordCount":3349,"commentCount":0,"publisher":{"@id":"https:\/\/www.cncmachiningshops.com\/#organization"},"image":{"@id":"https:\/\/www.cncmachiningshops.com\/g-code-and-m-code\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cncmachiningshops.com\/wp-content\/uploads\/2026\/03\/G-Code-and-M-Code-in-CNC-Programming-800x600-1.jpg","articleSection":["CNC Machining Guide"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.cncmachiningshops.com\/g-code-and-m-code\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.cncmachiningshops.com\/g-code-and-m-code\/","url":"https:\/\/www.cncmachiningshops.com\/g-code-and-m-code\/","name":"G-Code vs. M-Code: Leitfaden zu den CNC-Programmierbefehlen","isPartOf":{"@id":"https:\/\/www.cncmachiningshops.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cncmachiningshops.com\/g-code-and-m-code\/#primaryimage"},"image":{"@id":"https:\/\/www.cncmachiningshops.com\/g-code-and-m-code\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cncmachiningshops.com\/wp-content\/uploads\/2026\/03\/G-Code-and-M-Code-in-CNC-Programming-800x600-1.jpg","datePublished":"2026-03-12T02:55:08+00:00","dateModified":"2026-07-19T09:21:55+00:00","description":"Lernen Sie die Unterschiede zwischen G-Code und M-Code bei der CNC-Programmierung kennen, einschlie\u00dflich Befehlstypen, Programmstruktur und praktischen Beispielen aus der CNC-Bearbeitung.","breadcrumb":{"@id":"https:\/\/www.cncmachiningshops.com\/g-code-and-m-code\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cncmachiningshops.com\/g-code-and-m-code\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.cncmachiningshops.com\/g-code-and-m-code\/#primaryimage","url":"https:\/\/www.cncmachiningshops.com\/wp-content\/uploads\/2026\/03\/G-Code-and-M-Code-in-CNC-Programming-800x600-1.jpg","contentUrl":"https:\/\/www.cncmachiningshops.com\/wp-content\/uploads\/2026\/03\/G-Code-and-M-Code-in-CNC-Programming-800x600-1.jpg","width":800,"height":600,"caption":"G Code and M Code in CNC Programming 800x600"},{"@type":"BreadcrumbList","@id":"https:\/\/www.cncmachiningshops.com\/g-code-and-m-code\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cncmachiningshops.com\/"},{"@type":"ListItem","position":2,"name":"G Code and M Code in CNC Programming: Command Types, Program Structure, and Practical Examples"}]},{"@type":"WebSite","@id":"https:\/\/www.cncmachiningshops.com\/#website","url":"https:\/\/www.cncmachiningshops.com\/","name":"CNC-Bearbeitungswerkst\u00e4tten","description":"Seit \u00fcber 10 Jahren Anbieter von CNC-Bearbeitungsdienstleistungen","publisher":{"@id":"https:\/\/www.cncmachiningshops.com\/#organization"},"alternateName":"CMS","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cncmachiningshops.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.cncmachiningshops.com\/#organization","name":"CNC-Bearbeitungswerkst\u00e4tten","alternateName":"CMS","url":"https:\/\/www.cncmachiningshops.com\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.cncmachiningshops.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.cncmachiningshops.com\/wp-content\/uploads\/2025\/11\/CMS_Logo_1000x1000.png","contentUrl":"https:\/\/www.cncmachiningshops.com\/wp-content\/uploads\/2025\/11\/CMS_Logo_1000x1000.png","width":800,"height":800,"caption":"CNC Machining Shops"},"image":{"@id":"https:\/\/www.cncmachiningshops.com\/#\/schema\/logo\/image\/"},"description":"Die Shenzhen CMS Technology Co., Ltd. hat ihren Sitz in Shenzhen, Guangdong, China. Das Unternehmen wurde 2012 gegr\u00fcndet und verf\u00fcgt \u00fcber eine Produktionsfl\u00e4che von 3.000 Quadratmetern. Es ist auf die Bearbeitung von CNC-Teilen und die Fertigung von Pr\u00e4zisionsteilen spezialisiert. Wir sind nach ISO 9001, IATF 16949 und ISO 13485 zertifiziert und Ihr zuverl\u00e4ssiger Partner.","email":"info@cncmachiningshops.com","telephone":"+8617196430663","legalName":"Shenzhen CMS Technology Co., Ltd.","foundingDate":"2012-07-22","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"11","maxValue":"50"}},{"@type":"Person","@id":"https:\/\/www.cncmachiningshops.com\/#\/schema\/person\/2593a2e2de68be71300e10f486236551","name":"cncmachingshops","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/36a63d96ed08f8805561107422de4e83bbf8d1669dbc9655acab534bc3e1ed17?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/36a63d96ed08f8805561107422de4e83bbf8d1669dbc9655acab534bc3e1ed17?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/36a63d96ed08f8805561107422de4e83bbf8d1669dbc9655acab534bc3e1ed17?s=96&d=mm&r=g","caption":"cncmachiningshops"},"sameAs":["https:\/\/cncmachiningshops.com"]}]}},"_links":{"self":[{"href":"https:\/\/www.cncmachiningshops.com\/de\/wp-json\/wp\/v2\/posts\/10317","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cncmachiningshops.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cncmachiningshops.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cncmachiningshops.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cncmachiningshops.com\/de\/wp-json\/wp\/v2\/comments?post=10317"}],"version-history":[{"count":0,"href":"https:\/\/www.cncmachiningshops.com\/de\/wp-json\/wp\/v2\/posts\/10317\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cncmachiningshops.com\/de\/wp-json\/wp\/v2\/media\/12266"}],"wp:attachment":[{"href":"https:\/\/www.cncmachiningshops.com\/de\/wp-json\/wp\/v2\/media?parent=10317"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cncmachiningshops.com\/de\/wp-json\/wp\/v2\/categories?post=10317"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cncmachiningshops.com\/de\/wp-json\/wp\/v2\/tags?post=10317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}