Leitfaden
M-Code ist die Maschinensteuerungssprache für die CNC-Bearbeitung. Er wird in Kombination mit G-Code verwendet, um verschiedene Maschinenfunktionen aus- und einzuschalten. Wie beim G-Code gibt es einige Gemeinsamkeiten zwischen den Funktionen verschiedener Steuerungsplattformen, aber die endgültige Definition für eine bestimmte M-Code-Funktion wird vom Hersteller der Steuerung festgelegt. Dieser Artikel befasst sich mit M-Code im Allgemeinen und seiner Anwendung auf die CNC-Bearbeitung. Weitere Informationen finden Sie in den anderen Artikeln dieser Reihe, die am Ende dieses Artikels aufgeführt sind.
Befehle
Das M in M-Code sagt der Maschine, dass ein anderer Befehl folgt. Zum Beispiel startet M03 die Spindel und wird im Allgemeinen von einem S-Code eingeleitet, um die Geschwindigkeit einzustellen. Die folgende Teilliste von M-Codes, die unten als Beispiele aufgeführt sind, gilt für Fanuc-Steuerungen.
M00 Programmstopp
M01 Programmstopp–optional
M02 Programmende
M03 Spindelstart–vorwärts, im Uhrzeigersinn
M04 Spindelstart–rückwärts, oder gegen den Uhrzeigersinn
M05 Spindelstopp
M06 Werkzeugwechsel
Die Codes gehen weiter, bis zu M99, das ein Unterprogramm beendet. Nicht jede Nummer ist vergeben, und einige M-Codes, wie z. B. M06, werden nur für Bearbeitungszentren und nicht für Drehmaschinen verwendet, und umgekehrt. Andere Hersteller stellen mehr Codes zur Verfügung. Es ist wichtig, die Codes für die betreffende Maschine zu kennen. Viele Hersteller lassen auch eine Reihe von M-Codes zur Definition durch den Benutzer frei. Tabelle 1 unten zeigt eine weitere Liste von M-Codes für Drehbearbeitungen. Tabelle 2 enthält eine ähnliche Liste von M-Codes für Fräsbearbeitungen. Diese beiden Tabellen basieren auf den Fanuc-Codes.
Tabelle 1 – Zusammenfassung der M-Code-Befehle für Dreharbeiten
M-Code* |
Beschreibung* |
M00 |
Programmstop |
M01 |
Optionaler Programmstop |
M02 |
Programmende |
M03 |
Spindelstart vorwärts CW |
M04 |
Spindelstart rückwärts CCW |
M05 |
Spindelstopp |
M08 |
Kühlmittel ein |
M09 |
Kühlmittel aus |
M29 |
Rigid Tap-Modus |
M30 |
Programmende zurücksetzen |
M40 |
Spindelgang in der Mitte |
M41 |
Niedriger Gang wählen |
M42 |
Hoher Gang wählen |
M68 |
Hydraulisches Spannfutter schließen |
M69 |
Hydraulisches Futter öffnen |
M78 |
Reitstock vorwärts |
M79 |
Reitstock rückwärts |
M94 |
Spiegelbild löschen |
M95 |
Spiegelbild der X-Achse |
M98 |
Unterprogrammaufruf |
M99 |
Ende des Unterprogramms |
Tabelle Datenquelle: http://www.helmancnc.com/fanuc-m-code-list/
Tabelle 2 – M-Codes Befehlsübersicht für Fräsoperationen
M-Code* |
Beschreibung* |
M00 |
Programmstop |
M01 |
Optionaler Programmstop |
M02 |
Programmende |
M03 |
Spindel Start vorwärts CW |
M04 |
Spindelstart Linkslauf |
M05 |
Spindelstopp |
M06 |
Werkzeugwechsel |
M07 |
Kühlmittel EIN – Kühlmittelnebel/Kühlmittel durch die Spindel |
M08 |
Kühlmittel EIN – Kühlmittel fluten |
M09 |
Kühlmittel AUS |
M19 |
Spindelorientierung |
M28 |
Rückkehr zum Ursprung |
M29 |
Rigid tap |
M30 |
Programmende (Reset) |
M41 |
Niedriger Gang wählen |
M42 |
Hoher Gang wählen |
M94 |
Spiegelbild abbrechen |
M95 |
Spiegelung der X-Achse |
M96 |
Spiegelung der Y-Achse |
M98 |
Unterprogrammaufruf |
M99 |
Ende des Unterprogramms |
Tabelle Datenquelle: http://www.helmancnc.com/fanuc-m-code-list/
Unterprogramme und Makros
Unterprogramme werden mit dem Befehl M98 aufgerufen. Sie werden für verschiedene Operationen verwendet, z. B. für die Indexierung der Z-Achse zwischen sich wiederholenden Schnitten. Unterprogramme werden mit dem Buchstaben „P“ bezeichnet und ein „L“ gibt an, wie oft das Unterprogramm ausgeführt werden soll. Jedes Unterprogramm endet mit M99, wodurch die Steuerung zum Hauptprogramm oder zum vorhergehenden Unterprogramm zurückkehrt, wenn diese verschachtelt sind. Ein weiteres gängiges Unterprogramm ist eines, das die Modalzustände vor oder nach einem Werkzeugwechsel zurücksetzt – ein Sicherheitsschritt.
Vorprogrammierte Funktionen, die vom Maschinenhersteller bereitgestellt werden, gelten ebenfalls als Unterprogramme, werden aber im G-Code aufgerufen.
Makros ermöglichen der CNC-Maschine zwei wichtige Dinge. Durch die Erstellung von Variablen, die geändert werden können, können Merkmalsgrößen (z. B. die Breite einer Nut) angepasst werden, ohne das Programm zu ändern. Außerdem ermöglichen sie es demselben Programm, eine Familie von Werkstückgrößen zu bearbeiten, die auf einer Zeichnung angegeben sein könnten. Variablen werden Adressen zugewiesen, die typischerweise in der Programmzeile wie folgt aufgerufen werden: G00 X#123, wodurch die Maschine angewiesen wird, im Eiltempo zu der Stelle zu fahren, die in der Variablenadresse 123 gespeichert ist.
Bei der Verwendung von Makros ist große Vorsicht geboten, da eine Zahl eingegeben werden könnte, die für den Prozess zu schnell ist, was zu Schäden und/oder Verletzungen führen könnte. CNC-Programmierer bauen routinemäßig Kontrollen in die Programme ein, um solche Katastrophen zu vermeiden.
Anwendungen
Weitere Buchstabenbezeichnungen (oder „Wörter“) werden verwendet, um Vorschub (F), Spindeldrehzahl (S), Werkzeugadressen (T) usw. anzugeben. Ein komplettes CNC-Programm ist mit diesen Buchstaben sowie mit den G- und M-Codes gespickt. Mehrere M-Codes werden verwendet, um das Bedienfeld für Bedienereingaben zu referenzieren. M01, ein optionaler Programmstopp, hält das Programm vorübergehend an und wartet auf Eingaben des Bedieners, wenn die Taste Opt Stop auf dem Bedienfeld aktiviert ist. Andernfalls wird der M01-Befehl ignoriert. Diese Funktion kann verwendet werden, um dem Bediener die Möglichkeit zu geben, Späne zu entfernen. Eine weitere Schaltfläche auf dem Bedienfeld mit der Bezeichnung Block Skip lässt die Programme alle Codeblöcke überspringen, denen ein Schrägstrich vorangestellt ist. Dies ist nützlich für automatische Vorschuboperationen, da damit der Programmstopp-Befehl übersprungen werden kann.
Zusammenfassung
Dieser Artikel gab einen kurzen Überblick über den M-Code und seine Anwendung auf die CNC-Bearbeitungsprogrammierung. Weitere Informationen zu verwandten Produkten finden Sie in unseren anderen Leitfäden oder besuchen Sie die Thomas Supplier Discovery Platform, um potenzielle Bezugsquellen ausfindig zu machen oder Details zu bestimmten Produkten einzusehen.
Weitere Artikel zur CNC-Programmierung
- Eine Einführung in den G-Code und die CNC-Programmierung
- Liste der gebräuchlichen G-Code-Befehle und ihre Bedeutung
- Beispiele von G-Code für gebräuchliche CNC-Funktionen
- G-Code-Spickzettel mit gebräuchlichen Befehlen
- Unterprogramme, Makros und parametrische Programmierung für die CNC-Bearbeitung