G- & M-Codes meistern: Der ultimative CNC-Programmierleitfaden
Einführung
Sie denken vielleicht, G-Codes und M-Codes zu verstehen sei schwierig. Das stimmt nicht. Wer Interesse an CNC-Bearbeitung hat oder in einer CNC-Fertigung arbeiten möchte, profitiert enorm von fundiertem Wissen beider Codes.
Zur Unterstützung haben wir den vollständigen Leitfaden zum Verständnis beider Codes zusammengestellt. Dieser Beitrag behandelt:
- G- und M-Codes
- Geschichte der CNC-Programmierung
- Die Rolle der Maschinenprogrammierung in der CNC-Bearbeitung
- G- und M-Code-Befehlslisten
… und mehr. Lassen Sie uns die G&M-Codes knacken.
Was sind G- und M-Codes?
Man kann CNC-Teile nicht fertigen, ohne den korrekten Umgang mit CNC-Maschinen zu beherrschen. Wie wird man im Umgang mit CNC-Maschinen versiert?
Durch Erlernen der CNC-Maschinen-Programmiersprache und Verständnis der CNC-Bearbeitungscodes – G-Code und M-Code. Ohne dieses Wissen gelingt die CNC-Teilefertigung nicht. Sehen wir uns beide Code-Typen an.
G-Code
G-Code ist die gängigste Programmiersprache. Ein G-Code in der CNC-Programmierung fungiert als Steuerung und Diktator. Er kontrolliert die Maschinenbewegung und diktiert, wie und wohin sie sich bewegen soll, um das CNC-gefertigte Endprodukt zu formen.
M-Code
M-Code dient spezifischen Anwendungen. Ein M-Code in der CNC-Programmierung steuert verschiedene Maschinenfunktionen, einschließlich Start und Stopp spezifischer Aktionen oder Programme.
G-Code und M-Code arbeiten zusammen, um CNC-gefertigte Teile und Komponenten herzustellen. Daher sind sie in Fertigung und Industrie unverzichtbar.
Geschichte der CNC-Programmierung
Ende der 1950er entwickelte das MIT Servomechanisms Laboratory die erste Implementierung numerischer Steuerungsprogrammierung. Seither entwickelten diverse kommerzielle und nicht-kommerzielle Organisationen Implementierungen numerischer Steuerung – hauptsächlich mit G-Code.
1960 wurde die Electronic Industry Alliance der numerischen Steuerungsprogrammiersprache in den USA standardisiert. Eine finale Revision wurde Februar 1980 genehmigt. Eine standardisierte G-Code-Version ist BCL (Binary Cutter Language), entwickelt zur Steuerung von CNC-Maschinen in Geraden und Bögen.
In den 1970ern und 1990ern versuchten viele Werkzeughersteller, Kompatibilitätsprobleme durch Standardisierung der Maschinensteuerungen zu lösen. 2010 waren Controller-Unterschiede und Inkompatibilitäten nur noch lästig, da Bearbeitungsoperationen mit CAD/CAM-Anwendungen entwickelt wurden.
Laut Wikipedia „begann G-Code als Sprache ohne Schleifen, bedingte Operatoren und programmierer-deklarierte Variablen, die Logik nicht kodieren konnten.“ Heute umfasst G-Code Makro-Sprachfähigkeiten, die hochwertigen Programmiersprachen ähneln.
Die Rolle der Maschinenprogrammierung in der CNC-Bearbeitung
Das „C“ in CNC-Programmierung steht für „Computer“, der das Programmiersystem steuert. Computer verstehen nur spezifische Sprachen für verschiedene Aufgaben.
Gleiches gilt für CNC-Programmierung! Zerspaner geben Programme manuell oder per CAD-Software ein. Egal welche Methode – der Code muss PERFEKT sein.
Vor computergestützter Maschinenprogrammierung war die Verwaltung korrekter Programme für Mehrfachbearbeitung aufgrund des Papierformats der NC-Programmierung schwierig.
Wie steuert CNC-Programmierung CNC-Maschinen?
Bevor wir verstehen, wie CNC-Programmierung CNC-Maschinen steuert, blicken wir zurück: Wie betrieben man CNC-Maschinen vor Computern?
In der Prä-Computer-Ära steuerten Zerspaner CNC-Maschinen mit Karten und Bändern. Für Codes lochten sie Karten in verschiedenen Reihenfolgen. Das war effektiv, ABER mühsam. Karten konnten beschädigt werden oder verloren gehen – die Produktion litt darunter.
Dank Computern endeten die meisten Produktionsprobleme. Doch nicht alles war einfach… Codes mussten manuell eingegeben werden. Wieder eine lästige Aufgabe. Bei komplexeren Teilen wurden mehr Anweisungen nötig – manuelles Codieren wurde zur Schwerarbeit.
Als fortschrittlichere Computer Standard wurden, instruierten Zerspaner einfach die Software. Diese generierte dann die G- und M-Codes, die die Maschinen verstehen. Computer-Aided Design (CAD) und Computer-Aided Manufacturing (CAM) haben die Codegenerierung enorm vereinfacht!
G- und M-Codes im Detail verstehen
Was ist G-Code?
G-Code ist auch als RS-274D bekannt. Laut Wikipedia ist G-Code die am weitesten verbreitete CNC-Programmiersprache. Sie steuert viele Computwerkzeuge und hat verschiedene Dialekte. G-Code ist in logischer Sprache geschrieben.
Das „G“ in G-Code steht für „Geometry“ (Geometrie). Bei der Instruktion einer CNC-Maschine bewirkt der Buchstabe „G“ gefolgt von einer Zahl einen Befehl zur Geometrieänderung des bearbeiteten Teils.
Wichtige G-Codes
- G00 – Schnellverfahr (für bestimmte Koordinatenposition)
- G01 – Lineare Vorschubbewegung
- G02 – Uhrzeigersinnige Vorschubbewegung (Kreisbogen)
- G03 – Gegenuhrzeigersinnige Vorschubbewegung (Kreisbogen)
Diesen G-Codes folgt ein geometrischer Ort. Geometrie besteht aus Koordinaten entlang Achsen – also „X“ und „Y“ in einer Ebene.
Funktionen von G-Codes
G-Codes beginnen oft mit „G“, aber nicht nur Zahlen werden in der G-Code-Programmierung genutzt. Weitere Buchstaben in der G-Codierung:
- A: Werkzeugführung um die X-Achse
- R: Radius von Bögen
- X, Y, Z: Werkzeugposition in drei Dimensionen – X horizontal, Y vertikal, Z Tiefe
- I und J: Inkrementeller Mittelpunkt von Bögen
- N: Zeilennummer
- F: Vorschubgeschwindigkeit
- S: Spindeldrehzahl
- T: Werkzeugwahl
- B: Drehwert um die X-Achse
- C: Hilfsachse dreht um Z-Achse per C-Wert
- D: Werkzeugdurchmesser-Korrektur
- L: Wiederholungen/Loops
- P: Zeitverzögerung/Sprung
G-Code kann Aktionen wiederholen, bis Stopp erfolgt. G-Codes sind Einbuchstaben-Befehle, die Maschinen sagen, was zu tun ist – auch Spindelstart etc. Sie machen CNC-Maschinen programmierbar und flexibel für diverse Teile.
Meist sind G-Code-Befehle alphanumerisch. Unterschiedliche Maschinen lesen G-Codes jedoch in verschiedenen Formaten – abhängig von:
- Anwesenheit/Abwesenheit von Leerzeichen
- Anzahl Nullen zwischen Buchstabe und Befehl
Der Zerspaner muss daher seine Maschinentypen kennen. Andernfalls führen Befehlsfehler zu Komplikationen.
G-Codes lesen
- Schritt 1: Lange, komplexe Inhalte in kartesische Koordinaten und Marker zerlegen.
- Schritt 2: Nach bekannten Codes suchen. Vergessene Codes über Schlüssel wiedererkennen. Da jeder Zahlenstring eine Reihenfolge hat, folgen G-Codes einer sorgfältigen Struktur.
Was ist M-Code?
M-Code ist die Maschinensteuersprache, die das Gesamtprogramm der Programmiermaschine kontrolliert. Sie steuert Maschinenfunktionen.
Das „M“ in M-Codes steht für „Miscellaneous“ (Verschiedenes). Manche nennen es „Machine Code“, da diese Codes spezifische Geräteoperationen steuern – M-Codes lenken Nicht-Schneid-Operationen. Ohne M-Codes ließen sich nur die drei Hauptbewegungen der G-Codes instruieren.
Für andere Operationen – Programmstopp, Werkzeugwechsel, Kühlmittelspülung – benötigen Zerspaner das Wissen zur M-Code-Ausführung.
Funktionen von M-Codes
M-Code steuert alle nicht-geometrischen Maschinenfunktionen – kurz: diverse Maschinenfunktionen. Beispiele: Spindelstart/stopp, Palettenwechsel, Kühlmittel ein/aus.
Es gibt zwei separate Aktionen für M-Codes. Die Maschine muss vielleicht Kühlmittel spülen und nach Temperaturabfall abschalten. Wie bei G-Codes hängen die Dialekte für M-Codes von der Maschine ab. Manche erfordern eine Null zwischen Buchstabe und Ziffern, andere nicht.
Wichtige M-Codes
- M00 – Stopp (welche Funktion das Programm auch ausführt)
- M01 – Spindel drehen (uhrzeigersinnig)
- M08 – Kühlmittelspülung EIN
- M09 – Kühlmittelspülung AUS
M-Codes sind maschinenabhängiger als G-Codes und stark anpassbar. Sie variieren auch zwischen Maschinen. Manche unterstützen Null zwischen Buchstabe und Zahlen.
Wichtig! Beim Einrichten von G- und M-Codes an der CNC-Programmiermaschine muss der Zerspaner pro Informationsblock nur einen M-Code-Befehl nutzen. M-Codes können Maschine ein/ausschalten. Mehrfache Nutzung pro Block verursacht Programmprobleme.
M-Codes lesen
M-Codes werden nicht allein genutzt, sondern mit anderen Codes zur Aktivierung idealer Maschineneinstellungen. Durch Kombination mit anderen Code-Kategorien wirken M-Codes komplex.
Doch wie G-Codes folgen sie einer spezifischen Reihenfolge, die Bearbeitungsprozesse reibungslos hält.
G-Code- und M-Code-Befehlslisten
Dieser Abschnitt stellt diverse G- und M-Codes und ihre Bedeutung vor. Wie erwähnt, bestehen G- und M-Codes aus Buchstaben, Zahlen und Zusatzeinheiten. Teile bedeuten dasselbe, aber Einheiten können abweichen.
Es gibt fast hundert G-Codes. Dreh- und Fräsmaschinen haben unterschiedliche Codes, teilen aber auch gemeinsame. Sehen wir uns einige an.
G-Code-Liste für CNC-Drehmaschine
| G-Code | Funktion |
|---|---|
| G00 | Schnellverfahr |
| G01 | Lineare Interpolation / Fase & Eckenrundung – Modal |
| G02 | Uhrzeigersinnige Kreisinterpolation – Modal |
| G03 | Gegenuhrzeigersinnige Kreisinterpolation – Modal |
| G04 | Wartezeit (P) P=Sekunden/Millisekunden |
| G05 | Feinspindelsteuerung (Live Tooling) – Optional |
| G09 | Exakter Stopp |
| G10 | Programmierbare Offset-Einstellung |
M-Code-Liste für CNC-Drehmaschine
| M-Code | Funktion |
|---|---|
| M00 | Programmstopp – Modal |
| M01 | Optionaler Programmstopp – Modal |
| M02 | Programmende – Modal |
| M03 | Spindel vorwärts (S) – Modal |
| M04 | Spindel rückwärts (S) – Modal |
| M05 | Spindelstopp – Modal |
| M08 | Kühlmittel EIN – Modal |
| M09 | Kühlmittel AUS – Modal |
| M10 | Spannfutter spannen – Modal |
G-Codes für CNC-Fräsen
| G-Code | Funktion |
|---|---|
| G00 | Schnellverfahr |
| G01 | Lineare Interpolation |
| G02 | Uhrzeigersinnige Interpolation |
| G03 | Gegenuhrzeigersinnige Interpolation |
| G04 | Wartezeit |
| G09 | Exakter Stopp |
| G10 | Programmierbare Offset-Einstellung |
| G12 | Uhrzeigersinniges Kreistaschenfräsen |
| G13 | Gegenuhrzeigersinniges Kreistaschenfräsen |
| G17 | XY-Ebenenauswahl |
M-Codes für CNC-Fräsen
| M-Code | Funktion |
|---|---|
| M00 | Programmstopp |
| M01 | Optionaler Programmstopp |
| M02 | Programmende |
| M03 | Spindel uhrzeigersinnig (S) |
| M04 | Spindel gegen den Uhrzeigersinn (S) |
| M05 | Spindelstopp |
| M06 | Werkzeugwechsel (T) |
| M08 | Kühlmittel EIN |
| M09 | Kühlmittel AUS |
| M10 | 4. Achse Bremse EIN |
Unterschiede zwischen G- und M-Codes
- G-Codes betreffen Geometrie, M-Codes diverse Maschinenfunktionen.
- G-Codes unterscheiden sich zwischen CNC-Maschinen, M-Codes sind in den meisten CNC-Maschinen gleich.
- G-Codes befehlen Maschinenbewegung und -funktion für Produktdesign, M-Codes führen Nicht-Bewegungsoperationen aus.
- G-Code initialisiert die CNC-Maschine, M-Code initialisiert die programmierbare Logiksteuerung (PLC) der Maschine.
Wer muss G-Codes und M-Codes lernen?
Sie haben nun grundlegende Informationen zu beiden Codes. Die eigentliche Frage: „Wer“ muss G- und M-Codes lernen?
Antwort: JEDER, der in einem Maschinenbaubetrieb arbeitet oder CNC-Maschinenprogrammierung anstrebt, muss beide Codes beherrschen. Verständnis von G- und M-Codes ist für jeden Mitarbeiter im Maschinenbaubetrieb Pflicht – unabhängig von der Position.
Je nach Verantwortung reicht Basiswissen oder tiefe Beherrschung. Grundlegendes CNC-Code-Wissen nützt fast jeder Position im CNC-Betrieb. Manche Betriebe bieten Schulungen zur CNC-Programmiersprache an.
CNC-Bearbeitungszentren und Programme laufen wiederholt ohne Interaktion ab – abhängig vom Teil und Prozess. Nach Programmabschluss sind oft keine weiteren Edits nötig. Fehlt die gewünschte Präzision, können Anpassungen vorgenommen werden – aber nur von Fachleuten: erfahrene Ingenieure, Einrichter, Vorarbeiter.
Mehr über G-Code und M-Code lernen? Dieses Video von TITANS erklärt manuelle Programmierung an einer CNC-Maschine. Hoffentlich hilfreich!
Fazit
G-Codes und M-Codes unterscheiden sich. G-Code = Geometrie, M-Code = Maschinenfunktionen. G-Codes machen CNC-Maschinen programmierbar und flexibel für fast jedes Teil. CNC-Maschinen nutzen G- und M-Codes für CNC-Programmierung. Diese Codes sagen den Maschinen EXAKT, was sie tun sollen:
- Wann sie sich bewegen
- Wohin sie sich bewegen
- Wie sie sich bewegen
Kurz: Ohne Verständnis von G- und M-Codes kann man keine Karriere im CNC-Maschinenbaubetrieb starten.
Danke fürs Lesen! Hoffentlich half dieser Beitrag beim Verständnis. G- und M-Codes sind magisch. Welche interessanten Aspekte haben Sie heute gelernt? Kommentieren Sie unten.
CNC-Maschine
- Fortgeschrittene CNC-Programmierung für Plasmas & Laserschneiden: Schlitze, Stege, Piercen & Lead-Ins meistern
- CNC-Fräsen meistern: Präzisions-Metallfertigung erklärt
- 5-Achsen-Programmierung meistern: Werkzeugachse, Kollisionskontrolle & Best Practices
- CNC-Dosenzyklen (Canned Cycles): Vor- & Nachteile für effizientes Zerspanen
- CNC-Programmierung meistern: Grundlagen, Anwendungen & G-Code-Expertise
- CNC-Programmierung meistern: Bewährte Techniken & Insider-Strategien für optimale Ergebnisse
- Hurco CNC Handbücher herunterladen – Programmierung, Wartung & Sicherheit (Kostenlos)
- Umfassender Leitfaden zu CNC G- & M-Codes für Fräsen & Drehen
- M-Code-Meisterschaft: CNC-Programmierquiz
- G-Codes meistern: CNC-Programmierquiz