Schnelle Antwort: M-Codes (Sonstige Codes) steuern alle Funktionen einer CNC-Maschine, die nicht mit der Bewegung zusammenhängen: Spindelstart und -stopp (M03/M04/M05), Kühlmittel ein- und ausschalten (M08/M09), Werkzeugwechsel (M06), Programmunterbrechungen (M00/M01) und Programmende (M30). Während der G-Code der Maschine mitteilt, wohin sie sich bewegen soll, gibt der M-Code vor, in welchem Zustand sich die Maschine befinden muss, um sinnvolle Arbeit zu verrichten – ohne M03 dreht sich die Spindel nicht, ohne M08 überhitzt sich der Bearbeitungsbereich, und ohne M05 vor M06 wird ein Werkzeugwechsel versucht, während sich die Spindel noch dreht. Fehler in der Abfolge der M-Codes sind eine der häufigsten Ursachen für Werkzeugbruch, Fehler bei der Oberflächengüte und Maschinenabstürze in der CNC-Fertigung. Die grundlegenden M-Codes sind bei Steuerungen von Fanuc, Haas und Siemens weitgehend standardisiert; erweiterte und Zusatzfunktionen variieren je nach Maschinenhersteller.


Was ist M-Code?

Der M-Code (Abkürzung für „Miscellaneous Code“) ist der Teil der CNC-Programmiersprache, der nicht die Geometrie der Werkzeugbahn, sondern den Maschinenstatus steuert. Jede CNC-Maschine, die ISO 6983-/EIA-RS-274-konformen Code ausführt, verwendet zwei parallele Befehlsebenen:

G-Code — die Bewegungs- und Geometrieebene. Der G-Code definiert Achspositionen, Interpolationsmodi (linear, kreisförmig, spiralförmig), Vorschubgeschwindigkeiten, Koordinatensysteme und Zyklusschritte. Der G-Code gibt der Maschine vor, wohin sie fahren soll und wie sie dorthin gelangt.

M-Code — die Maschinensteuerungsebene. Der M-Code legt fest, ob sich die Spindel dreht und in welche Richtung, ob Kühlmittel fließt, welches Werkzeug eingespannt ist und ob das Programm angehalten oder beendet wurde. Der M-Code teilt der Maschine mit, in welchem Zustand sie sich befinden muss, um eine sinnvolle Bearbeitung durchzuführen.

Die physikalische Folge dieser Unterteilung: Der G-Code bewegt das Werkzeug in die Position X50 Y20 – wurde jedoch vor dieser G01-Bewegung kein M03 (Spindel ein) ausgegeben, steht die Spindel still, wenn das Werkzeug das Werkstück erreicht. Das Werkzeug greift in das Material ein, ohne sich zu drehen, wodurch Reibung statt Zerspanung entsteht, die Werkzeugschneide innerhalb von Sekunden verbrennt und möglicherweise die Werkstückoberfläche zerkratzt wird.

Der G-Code definiert die Bahn. Der M-Code sorgt dafür, dass anhand dieser Bahn Teile gefertigt werden.


M-Code vs. G-Code: Der entscheidende Unterschied

Funktion G-Code M-Code
Steuert die Bewegung der Achsen (X, Y, Z) Ja Nein
Steuert die Vorschubgeschwindigkeit Ja Nein
Steuert die Spindeldrehung Nein Ja
Regelt die Kühlmittelzufuhr Nein Ja
Steuert den Werkzeugwechsel Nein Ja
Steuert den Programmablauf (Pause, Beenden) Nein Ja
Steuert die Zusatzfunktionen der Maschine Nein Ja
Definiert Geometrie (Kreisbögen, Festzyklen) Ja Nein

Keiner der beiden Codetypen funktioniert bei der tatsächlichen Bearbeitung eigenständig:

  • G-Code ohne M-Code: Die Maschine folgt einer Bewegungsbahn bei ausgeschalteter Spindel und ausgeschaltetem Kühlmittel – es findet kein Materialabtrag statt, und es besteht die Gefahr einer Beschädigung des Werkzeugs oder des Werkstücks bei Kontakt.
  • M-Code ohne G-Code: Die Spindel dreht sich, Kühlmittel fließt, Werkzeuge werden gewechselt – aber es findet keine Zerspanungsbewegung statt.

Ein vollständiges CNC-Programm kombiniert beides: Der M-Code versetzt die Maschine in den richtigen Betriebszustand, der G-Code führt die Schnittgeometrie aus, der M-Code sorgt für die Übergänge zwischen den Arbeitsschritten und beendet das Programm.


Das Standard-M-Code-Nachschlagewerk

Spindelsteuerung: M03, M04, M05

M03 — Spindel EIN, Drehung im Uhrzeigersinn Der grundlegendste M-Code für die Bearbeitung. Wird vor jeder Schneidbewegung ausgegeben, in der Regel zusammen mit einem S-Wort (Spindeldrehzahl in U/min): M03 S3000 Startet die Spindel mit 3000 U/min im Uhrzeigersinn. Standard für alle rechtsschneidenden Werkzeuge – Schaftfräser, Bohrer, Bohrstangen, Gewindebohrer mit konventioneller Gewinderichtung.

M04 — Spindel EIN, Drehung gegen den Uhrzeigersinn Wird für linksdrehende Werkzeuge, gegenläufige Gewindeschneidung und bestimmte Sonderbearbeitungen verwendet. Die Eingabe von M04, wenn eigentlich M03 beabsichtigt war (oder umgekehrt), führt zu einer falschen Schnittrichtung – bei einem Bohrer bedeutet dies, dass die Schneidkanten nicht vordern, sondern hinter dem Werkstück liegen, was zu Reibung, Wärmeentwicklung und schneller Beschädigung der Schneidkanten führt.

M05 — Spindel STOP Stoppt die Spindeldrehung. Dieser Befehl muss vor jedem Werkzeugwechsel (M06) erteilt werden – ein Werkzeugwechsel bei laufender Spindel führt zu einer mechanischen Kollision zwischen dem rotierenden Werkzeug und dem Werkzeugwechslermechanismus, was für die Spindel häufig katastrophale Folgen hat. M05 muss außerdem vor dem Programmende (M30) eingegeben werden, um zu verhindern, dass die Maschine ihren Zyklus bei noch laufender Spindel abschließt.

Kühlmittelregelung: M07, M08, M09

M08 – Kühlmittel EIN (Flutung) Aktiviert die Flutkühlung – den primären Kühlmodus für die meisten CNC-Bearbeitungen. Muss vor dem Kontakt des Schneidwerkzeugs mit dem Werkstück aktiviert werden. Wird die Kühlung erst nach Beginn des Schneidvorgangs zugeführt, läuft der erste Abschnitt des Schnitts ohne Temperaturregelung ab, was in dieser Anfangsphase zu einer schlechten Oberflächengüte und einem hohen Werkzeugverschleiß führt.

Die thermische Auswirkung des fehlenden M08: Bei der Stahlbearbeitung erreichen die Temperaturen in der Schnittzone ohne Kühlmittel 500–800 °C. Ab etwa 600 °C beginnt Schnellarbeitsstahl an Härte zu verlieren; Hartmetall behält seine Härte länger bei, doch die Hitze beschleunigt den Kraterverschleiß. Die Späne, die eigentlich die Wärme aus der Schnittzone abführen sollten, schweißen sich stattdessen an die Spanfläche des Werkzeugs (Aufbau-Kante) und beeinträchtigen so die Schneidgeometrie und die Oberflächengüte.

M07 – Kühlnebel (sofern unterstützt) Luft-Öl-Nebel anstelle von Flutkühlmittel; wird bei Werkstoffen eingesetzt, bei denen Flutkühlmittel kontraproduktiv ist (Gusseisen, bei dem Flutkühlmittel einen Thermoschock verursacht), oder bei Anwendungen, die eine Schmierung erfordern, ohne dass es wie beim Trockenschnitt zum Wiederanschweißen der Späne kommt.

M09 — Kühlmittel AUS Stoppt die gesamte Kühlmittelzufuhr. Wird nach Abschluss der Zerspanungsvorgänge, vor dem Spindelstopp und vor dem Werkzeugwechsel ausgegeben.

Werkzeugwechsel: M06

M06 – Werkzeugwechsel Führt einen automatischen Werkzeugwechsel durch, wobei das aktuell geladene Werkzeug in das Magazin bewegt und das durch das T-Wort angegebene Werkzeug geladen wird: M06 T3 entnimmt das aktuelle Werkzeug und lädt Werkzeug 3. Bei den meisten Bearbeitungszentren wählt das Werkzeugkarussell das nächste Werkzeug (mithilfe des T-Worts) bereits während des laufenden Arbeitsgangs vor, sodass der Werkzeugwechsel selbst nur die Zeit für den eigentlichen Austausch in Anspruch nimmt und nicht die Zeit für die Suche nach dem Werkzeug.

Wichtige Sequenzierungsvorschrift: Die Spindel muss vor der Eingabe von M06 angehalten werden (M05). Bei den meisten Steuerungen löst die Eingabe von M06 ohne vorheriges M05 entweder einen Fehler aus oder erzwingt einen Spindelstopp, bevor der Vorgang fortgesetzt wird – manche Maschinen versuchen jedoch, den Werkzeugwechsel sofort durchzuführen, was zu einer Kollisionsgefahr führen kann.

M06 bringt außerdem die Z-Achse vor dem Werkzeugwechsel in die Werkzeugwechselposition zurück (in der Regel den Maschinen-Nullpunkt oder eine definierte sichere Höhe). Programmierer, die den Befehl M06 ausführen, ohne sicherzustellen, dass sich das Werkzeug auf einer sicheren Z-Höhe befindet, können dazu führen, dass das ausgewechselte Werkzeug während der Werkzeugwechselbewegung das Werkstück oder die Spannvorrichtung berührt.

Programmsteuerung: M00, M01, M30

M00 – Programmstopp (bedingungslos) Die Programmausführung wird vollständig angehalten, und es ist ein Eingriff des Bedieners erforderlich, um fortzufahren. Wird für die Prüfung während des Bearbeitungsvorgangs verwendet – Pause nach der Schruppbearbeitung, um ein kritisches Maß zu messen, Pause zum Neupositionieren des Werkstücks, Pause zum Entfernen von Spänen aus tiefen Taschen. Der Bediener drückt in der Regel auf „CYCLE START“, um den Vorgang fortzusetzen.

M01 – Optionaler Stopp (bedingt) Funktioniert wie M00 nur, wenn der Schalter “Optional Stop” der Maschinensteuerung aktiviert ist. Ist der Schalter ausgeschaltet, wird M01 ignoriert und das Programm läuft weiter. Wird für Schritte verwendet, die der Programmierer zum Debuggen oder zur Überprüfung zur Verfügung haben möchte, ohne dabei den normalen Produktionsablauf zu unterbrechen.

M30 – Programmende und Rücksetzen Beendet das Programm und gibt die Steuerung an den Anfang des Programms zurück, wobei der Maschinenzustand zurückgesetzt wird. Dies ist der Standard-Programmbeender. Wird ein Programm ohne M30 beendet, verbleibt die Maschine in einem undefinierten Zustand – nachfolgende Programme könnten mit falschen Spindelzuständen, Kühlmittelbedingungen oder Werkzeugversätzen starten.

Zusammenfassung: Core M-Code-Referenz

M-Code Funktion Typischer Anwendungskontext
M00 Bedingungsloser Programmstopp Prüfung während des Fertigungsprozesses, Neupositionierung von Bauteilen
M01 Optionaler Programmstopp Debug-Pause, bedingte Überprüfung
M03 S___ Spindel eingeschaltet, im Uhrzeigersinn mit __ U/min Vor allen Standard-Schneidvorgängen
M04 S___ Spindel eingeschaltet, gegen den Uhrzeigersinn mit __ U/min Linksgewindebohrer, Rückwärtsgewindeschneiden
M05 Spindelstopp Vor dem Werkzeugwechsel, am Ende des Arbeitsgangs
M06 T__ Werkzeugwechsel auf Werkzeug # Zwischen den Bearbeitungsvorgängen
M07 Kühlmittel-Sprühnebel ein Gusseisen, empfindliche Werkstoffe
M08 Kühlmittelzufuhr einschalten Vor allen Schneidvorgängen
M09 Kühlmittel vollständig ablassen Nach dem Schneiden, vor dem Werkzeugwechsel
M30 Programmende und Reset Die letzte Zeile jedes Programms

Die M-Code-Sequenz in einem vollständigen Bearbeitungsprogramm

Das Verständnis von M-Codes ist vor allem im Kontext von Nutzen – die konkrete Reihenfolge, in der M-Codes innerhalb eines Programms erscheinen, bestimmt unmittelbar die Bearbeitungsqualität und die Maschinensicherheit. Im Folgenden wird ein Standardprogramm mit zwei Arbeitsschritten dargestellt (Fräsen, gefolgt von Bohren):

T1 M06 ; Werkzeug 1 (Schaftfräser) vorwählen und wechseln
M03 S3000 ; Spindel einschalten, 3000 U/min
M08 ; Massivkühlung einschalten
G00 Z5 ; Eilgang auf Z-Sicherheitsabstand
G01 X50 Y20 F200    ; Fräsvorgang
G01 X100 Y20 F200   ; Fräsvorgang fortsetzen
G00 Z50 ; Auf sichere Z-Höhe zurückfahren
M09 ; Kühlmittel AUS
M05 ; Spindel STOP
T2 M06 ; Wechsel zu Werkzeug 2 (Bohrer)
M03 S2000 ; Spindel EIN, 2000 U/min
M08 ; Kühlmittel EIN
G81 X30 Y40 Z-15 R5 F100 ; Bohr-Festzyklus
G80 ; Festzyklus abbrechen
G00 Z50 ; Auf sichere Z-Höhe zurückfahren
M09 ; Kühlmittel AUS
M05 ; Spindel STOP
M30 ; Programmende und Zurücksetzen

Jeder M-Code in dieser Abfolge erfüllt einen bestimmten Zweck:

  • M03 vor jeder G01-Zerspanungsbewegung stellt sicher, dass sich die Spindel dreht, bevor das Werkzeug in Kontakt kommt
  • Der vor dem ersten Schnittvorgang ausgegebene Befehl M08 stellt sicher, dass das Kühlmittel fließt, bevor das Werkzeug das Werkstück berührt.
  • M09 vor M05 stellt sicher, dass die Kühlmittelzufuhr abgeschaltet ist, bevor die Spindel zum Stillstand kommt (verhindert, dass sich Kühlmittel auf dem stillstehenden Werkzeug ansammelt)
  • M05 vor M06 stellt sicher, dass die Spindel vor dem Werkzeugwechsel angehalten wird
  • M30 am Programmende versetzt die Maschine wieder in den Bereitschaftszustand

Die Reihenfolge ist entscheidend. Wenn man M08 hinter den ersten G01 verschiebt, erfolgt der erste Schnitt ohne Kühlmittel. Verschiebt man M06 vor M05, besteht die Gefahr einer mechanischen Kollision.


Was passiert, wenn der M-Code falsch ist?

M-Code-Programmierfehler sind physikalische Fehler – sie haben unmittelbare, messbare Auswirkungen auf die Maschine:

Fehler Grundursache Körperliche Folgen
Die Spindel dreht sich während des Schneidvorgangs nicht M03 oder M04 fehlt Reibspuren, Brandspuren, Kantenausbrüche; Ritzspuren auf der Werkstückoberfläche
Überhitzung beim Schneiden Fehlendes oder verspätetes M08 Beschleunigter Werkzeugverschleiß, Aufbauschneide, Verschlechterung der Ra-Werte (z. B. Ra 1,6 → Ra 3,2+ µm)
Falsches Werkzeug geladen Falsches T-Wort bei M06 Falsche Geometrie gefräst, Werkzeugbruch, Ausschussteil
Werkzeugwechsel bei laufender Spindel versucht M05 fehlt vor M06 Mechanische Kollision, Beschädigung des Werkzeugwechslers, mögliche Beschädigung der Spindel
Die Kühlmittelzufuhr läuft nach dem Programm weiter M09 fehlt vor M30 Geringfügig (Kühlmittelansammlung in der Maschine), deutet jedoch auf eine unvollständige Abfolge hin
Die Maschine wurde für den nächsten Durchlauf nicht zurückgesetzt Fehlende M30 Der nächste Zyklus beginnt in einem undefinierten Zustand – falsche Versätze, falsches Werkzeug, falsche Spindeldrehzahl
Spindel in falscher Richtung M04 wird verwendet, wenn M03 erforderlich ist Gegenlauf – sofortige Werkzeugbeschädigung und schlechte Oberflächengüte

Der teuerste M-Code-Fehler in der Produktion ist der Werkzeugwechsel bei laufender Spindel: Der Werkzeugwechslerarm bewegt sich, um das Werkzeug in die Spindel einzuführen, während sich die Spindel dreht, was zu einer Kollision zwischen dem Arm und dem rotierenden Werkzeug führt. Dieses Ereignis kann den Spindelkonus, den Werkzeugwechslerarm und das Werkzeug beschädigen – Reparaturkosten, die sich auf $5.000–$50.000 für Ausfallzeiten und Ersatzteile belaufen können und durch die beiden Zeichen “M05” vor “M06” vollständig verhindert werden können.


Unterschiede bei den M-Codes zwischen verschiedenen CNC-Steuerungen

Die meisten grundlegenden M-Codes sind auf den gängigen CNC-Steuerungsplattformen (Fanuc, Haas, Siemens, Mitsubishi, Okuma) standardisiert. Der Kernsatz – M03, M04, M05, M06, M07, M08, M09, M30 – verhält sich auf praktisch allen CNC-Produktionsmaschinen identisch.

Die Abweichung beginnt bei den maschinenspezifischen Hilfsfunktionen:

Funktion Standard? Anmerkungen
Spindel ein/aus (M03/M05) Ja Universal
Kühlmittel (M08/M09) Ja Universal
Werkzeugwechsel (M06) Ja Allgemeiner Mechanismus; die Umsetzung variiert
Kühlmittelzufuhr durch die Spindel Nein Häufig vom Maschinenhersteller zugewiesener M-Code (z. B. Haas M52, bei anderen Modellen unterschiedlich)
Luftstrahl Nein Maschinenabhängiger Code
Späneförderschnecke / Förderschnecke Nein Gerätespezifisch
Palettenwechsler Nein Gerätespezifisch
Tür öffnen/schließen Nein Gerätespezifisch
Prüfzyklen Nein Bei FANUC 0i ist dies Standard, bei anderen Systemen kann es abweichen.
Werkstückhalter (Drehmaschine) Nein Gerätespezifisch

Wenn ein für eine Maschine geschriebenes Programm auf eine andere übertragen wird, funktionieren alle Standard-M-Codes. Jeder maschinenspezifische M-Code führt entweder zu einem Fehler (unbekannter M-Code), führt eine andere als die beabsichtigte Funktion aus oder wird stillschweigend ignoriert – all dies kann zu unerwartetem Verhalten führen. Bei Programmen, die zwischen Maschinen übertragen werden, müssen alle maschinenspezifischen M-Codes vor der Ausführung überprüft und aktualisiert werden.


Häufige Programmierfehler und wie man sie vermeidet

Fehlender Spindelstart vor der Schneidbewegung

Der grundlegendste Fehler: Eine G01- oder G02-Bewegung wird ausgeführt, während M05 noch aktiv ist (Spindel gestoppt). Vorbeugung: In der Checkliste zur Programmüberprüfung muss vor jedem G01-/G02-/G03-Befehl die Eingabe von M03 oder M04 vorgeschrieben werden. Bei modernen CNC-Steuerungen kann dies auch durch die Logik der Vorschubverriegelung erkannt werden, doch dieser Schutz ist maschinenabhängig.

Kühlmittel wird nach dem ersten Schnitt aktiviert

M08 erscheint zwar im Programm, jedoch erst nach der ersten G01-Bewegung und nicht davor. Der erste Schnitt erfolgt ohne Kühlmittel, was zu der schlechtesten Oberflächenqualität und dem höchsten Werkzeugverschleiß des gesamten Arbeitsvorgangs führt. Abhilfe: Platzieren Sie M08 unmittelbar vor der ersten Schneidbewegung und nicht nach anderen G-Code-Befehlen im selben oder im folgenden Satz.

Falsche Werkzeugnummer bei M06

T2 M06 wurde ausgegeben, aber in der T2-Tasche des Karussells befindet sich das falsche Werkzeug, oder der Werkzeugversatz (H/D) für T2 wurde nicht eingegeben. Vorbeugende Maßnahme: Überprüfen Sie vor der Ausführung das Werkzeugkonfigurationsblatt anhand des Programms; nutzen Sie, sofern verfügbar, Prüfzyklen zur Überprüfung des Werkzeuglängenversatzes.

M05 vor M06 überspringen

Wie oben bereits erwähnt – der teuerste häufige Fehler im M-Code. Vorbeugung: Machen Sie „M05 vor M06“ zu einer unumstößlichen Programmierregel; überprüfen Sie bei der Programmüberprüfung jeden Werkzeugwechselblock.

M30 weglassen

Das Programm läuft bis zur letzten G-Code-Zeile und stoppt, ohne zurückgesetzt zu werden. Die nächste Ausführung beginnt an der Position der letzten Zeile und nicht am Anfang des Programms. Abhilfe: Legen Sie fest, dass M30 in jedem Programm als obligatorische letzte Zeile enthalten sein muss.

Checkliste für die Überprüfung des M-Codes:

Überprüfen Anforderung
M03 oder M04 vor der ersten Schnittbewegung? Ja
M08 vor dem ersten Schneidvorgang? Ja
M05 vor jedem M06? Ja
M09 nach dem letzten Schnittvorgang? Ja
M05 nach der letzten Spindelumdrehung? Ja
M30 als letzte Programmzeile? Ja
Wurden die T-Werte und H/D-Versätze für alle M06-Modelle überprüft? Ja
Wurden die maschinenspezifischen M-Codes für diese Steuerung überprüft? Ja

Wichtigste Erkenntnisse

  • Der M-Code steuert den Maschinenstatus, nicht die Geometrie: Spindeldrehzahl, Kühlmittelstrom, Werkzeugwechsel und Programmablauf sind allesamt M-Code-Funktionen. G-Code kann M-Code nicht ersetzen, und M-Code kann G-Code nicht ersetzen.
  • Die Reihenfolge der M-Codes ist ebenso wichtig wie die Korrektheit der Werkzeugwege: M05 muss vor M06 stehen; M03 und M08 müssen vor den Schneidbewegungen stehen; M09 und M05 müssen auf die Schneidbewegungen folgen. Die Reihenfolge ist physikalisch bedingt – eine falsche Reihenfolge führt zu Werkzeugschäden, Ausschuss oder Maschinenabstürzen.
  • Das Fehlen von M08 führt unmittelbar zu einer Beeinträchtigung der Oberflächenqualität und einer Verkürzung der Standzeit des Werkzeugs: Schnitttemperaturen von 500–800 °C ohne Kühlmittel bei der Stahlbearbeitung führen zur Bildung von Aufbauschneiden, zu beschleunigtem Werkzeugverschleiß und zu einer Verschlechterung der Ra-Werte – all dies lässt sich durch die richtige Platzierung von M08 verhindern.
  • Die Core-M-Codes sind bei allen Controllern einheitlich: M03/M05/M06/M08/M09/M30 verhalten sich auf Fanuc-, Haas-, Siemens- und den meisten CNC-Produktionsplattformen einheitlich. Erweiterte und Zusatz-M-Codes sind maschinenspezifisch und nicht übertragbar.
  • Der teuerste einzelne M-Code-Fehler ist ein Werkzeugwechsel bei laufender Spindel: Wird M05 vor M06 ausgelassen, kann dies zu einem Spindelschaden führen, der $5.000–$50.000 kostet – mit zwei Zeichen vermeidbar.
  • Kenntnisse im Bereich M-Code sind nicht nur für Programmierer von Bedeutung: Maschinenbediener, Anlagenbediener und Fertigungsingenieure, die sich mit M-Code auskennen, können Probleme mit der Spindel, der Kühlmittelzufuhr und der Abfolge diagnostizieren, ohne dass ein Programmierer hinzugezogen werden muss.
  • Für OEM-Einkaufsteams: CNC-Programme, die mit Sonderteilen geliefert werden, sollten im Rahmen der Erstmusterprüfung eine Überprüfung der M-Codes beinhalten – dabei ist insbesondere zu bestätigen, dass die Kühlmittelsequenzen, Werkzeugwechselsequenzen und das Programmende korrekt für die Produktionsmaschine programmiert sind.

Häufig gestellte Fragen

Was steuert der M-Code bei der CNC-Bearbeitung?

Der M-Code steuert alle Maschinenfunktionen, die nicht mit der Bewegung zusammenhängen, in der CNC-Programmierung. Er regelt: den Drehzustand und die Drehrichtung der Spindel (M03 im Uhrzeigersinn, M04 gegen den Uhrzeigersinn, M05 Stopp), das Ein- und Ausschalten der Kühlmittelzufuhr (M08 Flut ein, M09 aus), automatische Werkzeugwechsel (M06 mit einem T-Wort zur Angabe der Werkzeugnummer), Programmunterbrechungen für Bedienereingriffe (M00 bedingungslos, M01 optional) sowie Programmbeendigung und Rücksetzung (M30). Diese Funktionen sind nicht optional – ohne M03 dreht sich die Spindel nicht, sodass kein Zerspanungsvorgang stattfindet; ohne M08 überhitzt sich der Bearbeitungsbereich; ohne M05 vor M06 wird ein Werkzeugwechsel bei laufender Spindel versucht, was die Gefahr einer mechanischen Kollision birgt.

Was ist der Unterschied zwischen M-Code und G-Code?

Der G-Code definiert Geometrie und Bewegung – Achspositionen (X, Y, Z), Interpolationsmodi (G00 Eilgang, G01 linear, G02/G03 kreisförmig), Vorschubgeschwindigkeiten und vordefinierte Bearbeitungszyklen. Der M-Code definiert den Maschinenzustand – ob sich die Spindel dreht und wie schnell, ob Kühlmittel fließt, welches Werkzeug eingespannt ist und ob das Programm läuft, pausiert oder beendet ist. Beide sind für eine funktionierende Bearbeitung erforderlich. G-Code ohne M-Code bewegt das Werkzeug, kann aber nicht schneiden (Spindel aus). M-Code ohne G-Code aktiviert Maschinenfunktionen, erzeugt jedoch keine Schneidbewegung. In einem vollständigen Programm wechseln sie sich ab: M-Code legt den Betriebszustand fest, G-Code führt die Geometrie aus.

Welche M-Codes sollte man unbedingt kennen?

Die acht wichtigsten M-Codes für die CNC-Bearbeitung sind: M03 (Spindel ein, im Uhrzeigersinn) – erforderlich vor jedem Zerspanungsvorgang; M05 (Spindelstopp) – erforderlich vor jedem Werkzeugwechsel und am Programmende; M06 mit T-Wort (Werkzeugwechsel) – wechselt zum angegebenen Werkzeug; M08 (Kühlmittel vollströmen) – erforderlich vor Zerspanungsvorgängen in Stahl und den meisten Metallen; M09 (Kühlmittel abstellen) – erforderlich nach Abschluss der Zerspanung; M30 (Programmende und Rücksetzen) – beendet und setzt jedes Programm zurück; M00 (bedingungsloser Stopp) – für die Prüfung während des Bearbeitungsvorgangs; M04 (Spindel ein, gegen den Uhrzeigersinn) – für linksdrehende Werkzeuge. Diese acht Codes decken den Großteil der praktischen Anforderungen bei der CNC-Bearbeitung ab.

Kann ein falscher M-Code eine CNC-Maschine zum Absturz bringen?

Ja. Das häufigste M-Code-Unfallszenario ist die Eingabe von M06 (Werkzeugwechsel), ohne zuvor M05 (Spindelstopp) eingegeben zu haben. Der Werkzeugwechslerarm versucht, in die rotierende Spindel einzugreifen, was zu einer mechanischen Kollision führt, bei der der Spindelkonus, der Werkzeugwechslerarm, der Halteknopf und das Schneidwerkzeug gleichzeitig beschädigt werden können – die Reparaturkosten liegen zwischen mehreren Tausend und mehreren Zehntausend Dollar. Weitere gefährliche M-Code-Fehler sind: eine falsche Spindeldrehrichtung (M04 statt beabsichtigtem M03), die zu einem sofortigen Versagen der Werkzeugschneide führt; maschinenspezifische M-Codes, die bei Ausführung auf einer anderen Steuerung unerwartete Maschinenbewegungen auslösen; sowie das Fehlen eines Z-Rückzugs vor M06, wodurch das ausgefahrene Werkzeug während des Anfahrvorgangs zum Werkzeugwechsel mit dem Werkstück oder der Spannvorrichtung in Kontakt kommt.

Verwenden alle CNC-Maschinen dieselben M-Codes?

Die Standard-M-Codes (M03, M04, M05, M06, M07, M08, M09, M30) sind bei praktisch allen CNC-Produktionsmaschinen mit Steuerungen von Fanuc, Haas, Siemens, Mitsubishi und Okuma einheitlich. Maschinenspezifische M-Codes für Zusatzfunktionen weichen jedoch erheblich voneinander ab: Spindeldurchfluss-Kühlmittel, Luftstoß, Späneförderersteuerung, Palettenwechsler, Türbetätigung und Roboterintegration verwenden allesamt vom Maschinenhersteller zugewiesene M-Codes, die von Maschine zu Maschine variieren. Bei einem Programm, das von einem Haas-Bearbeitungszentrum auf eine Fanuc-gesteuerte Maschine übertragen wird, funktionieren die zentralen M-Codes zwar korrekt, doch alle Haas-spezifischen M-Codes führen entweder zu Fehlern oder verhalten sich anders. Alle maschinenspezifischen M-Codes müssen vor der Ausführung eines übertragenen Programms anhand des Handbuchs der Zielmaschine überprüft werden.


Verfasst vom CMS-Entwicklungsteam mit über 15 Jahren Erfahrung in der präzisen CNC-Bearbeitung, einschließlich der Programmierung und Bedienung von Fräs- und Drehzentren mit Steuerungssystemen von Fanuc, Haas und Siemens für Fertigungsanwendungen in den Bereichen Automobil, Luft- und Raumfahrt, Medizin, Elektronik und industrielle OEM-Fertigung. Technische Referenzen: ISO 6983-1 (Numerische Steuerung von Maschinen – Programmformat und Definitionen), EIA RS-274-D (Interchangeable Variable Block Data Format), Programmierhandbuch der Fanuc 0i-Serie, Haas CNC-Programmierhandbuch.


Beschaffung präzisionsgefertigter CNC-Bauteile mit optimierter Programmierung?

Bei CMS fertigen wir präzisionsgefräste und gedrehte Bauteile aus Aluminium, Stahl, Edelstahl und technischen Kunststoffen mit lückenlos dokumentierten CNC-Programmen. Jedes Programm enthält geprüfte M-Code-Sequenzen – korrekte Abläufe für Spindel, Kühlmittel und Werkzeugwechsel – sowie eine Erstmusterprüfung vor der Freigabe zur Serienfertigung.

[Angebot für CNC-Bearbeitung und Programmüberprüfung anfordern →]

Kontaktinformationen

Erhalten Sie die neuesten Nachrichten und Updates

Abonnieren Sie unseren Newsletter