CNC hat die Fertigung auf eine neue Ebene gehoben, indem sie den Herstellern die Möglichkeit gibt, bei der Herstellung komplexer Teile eine hohe Genauigkeit, Geschwindigkeit und Flexibilität zu erreichen. G-Codes und M-Codes sind die beiden Codes, die das Herzstück eines jeden CNC-Programms bilden und die vielen Operationen steuern, die eine bestimmte Maschine ausführen kann. Daher ist es für Maschinenbediener und CNC-Programmierer wichtig, zu unterscheiden zwischen G-Code und M-Code für den ordnungsgemäßen Betrieb der Maschine.
In diesem Artikel werden wir einige der gängigsten G- und M-Codes besprechen, wie sie in einem typischen CNC-Programm funktionieren und warum sie für die Fertigung so wichtig sind.
G-Code in der CNC-Programmierung
Der G-Code ist hauptsächlich der Geometrische Code. Er ist die häufigste Form der Programmierung für CNCs. Er teilt der Maschine mit, wie sie sich bewegen soll - zum Beispiel in einer geraden Linie, in einer Kreisbewegung oder mit einer Vorschubgeschwindigkeit.
Im Wesentlichen teilen G-Codes der CNC-Maschine mit, wo das Werkzeug platziert werden soll und wie sich das Werkzeug aufgrund der Bewegung zum Werkstück verhalten soll.
Jeder G-Code steht für eine bestimmte Aktion oder Bewegung in einer CNC-Maschine, und eine Reihe dieser Codes wird in einer bestimmten Reihenfolge ausgeführt, um eine bestimmte Aufgabe zu erfüllen. Obwohl die G-Code-Programmierung ursprünglich für NC-Maschinen entwickelt wurde, bleiben ihre Prinzipien in der modernen CNC-Bearbeitung grundlegend.
Allgemeine G-Codes und ihre Funktionen
Schauen wir uns einige der wichtigsten G-Codes in der CNC-Bearbeitung an:
1. G00: Schnelle Positionierung
Der G00-Befehl weist die Maschine an, das Werkzeug schnell zu einer bestimmten Koordinate zu bewegen, ohne einen Schnitt auszuführen. Er wird normalerweise verwendet, um das Werkzeug vor Beginn der Bearbeitung in eine Startposition zu fahren oder um einen Werkzeugwechsel vorzubereiten. Dies ist eine der schnellsten Bewegungen, die die Maschine ausführen kann.
2. G01: Lineare Interpolation
Der Befehl G01 steuert die Bewegung des Schneidwerkzeugs entlang einer geraden Linie mit einer bestimmten Vorschubgeschwindigkeit. Dies wird häufig für präzise Schneidoperationen verwendet, bei denen die Vorschubgeschwindigkeit langsamer ist als bei der Eilgangpositionierung, was eine höhere Genauigkeit ermöglicht.
3. G02: Kreisförmige Interpolation im Uhrzeigersinn
Der Code G02 befiehlt dem Werkzeug, sich im Uhrzeigersinn zu bewegen. Dies wird in der Regel verwendet, wenn das Werkstück kreisförmige Schnitte oder abgerundete Kanten erfordert.
4. G03: Kreisförmige Interpolation gegen den Uhrzeigersinn
Wie G02 bewegt auch der Befehl G03 das Werkzeug auf einer kreisförmigen Bahn gegen den Uhrzeigersinn. Mit G02 und G03 können Maschinenbediener komplexe gekrümmte Formen und Profile erstellen.
5. G04: Verweilen
Der Befehl G04 weist die Maschine an, für eine bestimmte Zeit zu pausieren oder zu verweilen. Dies ist nützlich, wenn das Schneidwerkzeug seine Position halten muss, z. B. wenn sichergestellt werden soll, dass die Spindel eine stabile Drehzahl erreicht, oder wenn gewartet werden soll, bis das Kühlmittel seine Wirkung entfaltet.
6. G17, G18, und G19: Auswahl der Ebene
Mit diesen Codes wird die geometrische Ebene ausgewählt, in der die Maschine arbeiten soll:
- G17: Wählt die XY-Ebene aus.
- G18: Wählt die XZ-Ebene aus.
- G19: Wählt die YZ-Ebene aus. Dies ist bei der mehrachsigen Bearbeitung wichtig, um sicherzustellen, dass sich das Werkzeug innerhalb der richtigen räumlichen Parameter bewegt.
7. G43: Werkzeuglängenkompensation
Der G43-Code kompensiert die Länge des Werkzeugs und ermöglicht es der Maschine, unterschiedliche Werkzeuggrößen während des Betriebs zu berücksichtigen. Ohne diese Funktion könnten Werkzeuge unterschiedlicher Länge zu Ungenauigkeiten bei der Bearbeitung führen.
Liste der G-Codes
| G-Code | Gruppe | Bedeutung |
| G00 | 01* | Schnelle Bewegung |
| G01 | 01 | Lineare Interpolationsbewegung |
| G02 | 01 | CW-Interpolationsbewegung |
| G03 | 01 | CCW-Interpolationsbewegung |
| G04 | 00 | Verweilen |
| G09 | 00 | Genaue Haltestelle |
| G10 | 00 | Programmierbare Dateneingabe |
| G11 | 00 | Programmierbare Dateneingabe abbrechen |
| G15 | 17* | Polarkoordinaten abbrechen |
| G16 | 17 | Polarkoordinate |
| G17 | 02* | Auswahl der XY-Ebene |
| G18 | 02 | Auswahl der ZX-Ebene |
| G19 | 02 | Auswahl der YZ-Ebene |
| G20 | 06* | Zoll wählen |
| G21 | 06 | Metrik auswählen |
| G28 | 00 | Rückkehr zum Referenzpunkt |
| G29 | 00 | Rückkehr vom Referenzpunkt |
| G30 | 00 | Rückkehr zu 2und ,3rd,4th Referenzpunkt |
| G31 | 00 | Vorschub bis zum Überspringen |
| G33 | 01 | Einfädeln |
| G40 | 07* | Schneideausgleich abbrechen |
| G41 | 07 | Kutterausgleich links |
| G42 | 07 | Kutterausgleich rechts |
| G43 | 08 | Werkzeuglängenkompensation + |
| G44 | 08 | Werkzeuglängenkompensation - |
| G49 | 08* | G43/G44 abbrechen |
| G50 | 11* | G51 abbrechen |
| G51 | 11 | Skalierung |
| G52 | 00 | Lokales Koordinatensystem festlegen |
| G53 | 00 | Nicht-modale Auswahl von Maschinenkoordinaten |
| G54 | 14* | Arbeitskoordinatensystem auswählen 1 |
| G55 | 14 | Arbeitskoordinatensystem wählen 2 |
| G56 | 14 | Arbeitskoordinatensystem auswählen 3 |
| G57 | 14 | Arbeitskoordinatensystem auswählen 4 |
| G58 | 14 | Arbeitskoordinatensystem auswählen 5 |
| G59 | 14 | Arbeitskoordinatensystem auswählen 6 |
| G60 | 00 | Unidirektionale Positionierung |
| G61 | 15 | Genaue Haltestelle modal |
| G64 | 15* | G61 abbrechen |
| G65 | 00 | Makro-Aufruf |
| G68 | 16 | Drehung |
| G69 | 16* | G68 abbrechen |
| G73 | 09 | Hochgeschwindigkeits-Bohrzyklus |
| G74 | 09 | Zyklus für linkshändiges Klopfen |
| G76 | 09 | Feinbohren im Festzyklus |
| G80 | 09* | Abbruch des Konservierungszyklus |
| G81 | 09 | Zyklus der Bohrung |
| G82 | 09 | Zyklus der Punktbohrung |
| G83 | 09 | Normaler Peck-Bohrzyklus |
| G84 | 09 | Klopfzyklus |
| G85 | 09 | Langweiliger Zyklus |
| G86 | 09 | Bohrzyklus mit Spindelstopp |
| G87 | 09 | Back boring cycle |
| G88 | 09 | Langweiliger Zyklus |
| G89 | 09 | Bohrung und Verweilzeit |
| G90 | 03* | Absolut |
| G91 | 03 | Inkremental |
| G92 | 00 | Arbeitskoordinaten festlegen |
| G94 | 05* | Vorschub pro Minute |
| G95 | 05 | Vorschub pro Umdrehung |
| G96 | 13 | Konstante Oberflächengeschwindigkeit |
| G97 | 13* | Konstante Oberflächengeschwindigkeit abbrechen |
| G98 | 10* | Anfangspunkt Rückgabe |
| G99 | 10 | Rückkehr der R-Ebene |
Liste der G-Codes in Drehmaschinen
| G-Code | Gruppe | Bedeutung |
| G12.1 | 21* | Polarkoordinaten-Interpolation abbrechen |
| G13.1 | 21 | Polarkoordinaten-Interpolation |
| G70 | 00 | Abschluss des Zyklus |
| G71 | 00 | Materialabtrag beim Drehen |
| G72 | 00 | Abtragen von Lagerbeständen beim Plandrehen |
| G73 | 00 | Zyklus der Musterwiederholung |
| G74 | 00 | Zyklus für stirnseitiges Tieflochbohren |
| G75 | 00 | Zyklus der Längsschnittabschaltung |
| G76 | 00 | Mehrfädiger Schneidezyklus |
| G83 | 10 | Zyklus für Stirnbohrungen |
| G84 | 10 | Zyklus für Gewindebohrer |
| G85 | 10 | Zyklus für Gesichtsbohrung |
| G87 | 10 | Zyklus für Seitenbohrungen |
| G88 | 10 | Zyklus für seitliches Anbohren |
| G89 | 10 | Zyklus für Seitenbohrungen |
| G98 | 05* | Vorschub pro Minute |
| G99 | 05 | Vorschub pro Umdrehung |
Was ist der M-Code in der CNC-Programmierung?
Während die G-Codes die Maschinenbewegungen spezifizieren, steuern die M-Codes oder Miscellaneous Codes die Hilfsoperationen der Maschine. Dazu gehören das Kühlmittel, das Ein- und Ausschalten der Spindel und das Anhalten, wenn ein Programm abgeschlossen ist. M-Codes fungieren als Schalter und schalten Maschinenkomponenten je nach Bedarf ein oder aus.
Wie die G-Codes sind auch die M-Codes für einen reibungslosen CNC-Betrieb unerlässlich, vor allem, wenn es um spanlose Tätigkeiten geht, die für den Bearbeitungsprozess nach wie vor entscheidend sind.
Gängige M-Codes und ihre Funktionen
Sehen wir uns einige der häufig verwendeten M-Codes in der CNC-Bearbeitung an:
1. M00: Programm Stop
Der Code M00 unterbricht die Ausführung des aktuellen Programms. Im Gegensatz zu einem Notstopp wird die Maschine kontrolliert angehalten, und der Bediener kann das Programm manuell fortsetzen, wenn er bereit ist.
2. M03: Spindel ein (im Uhrzeigersinn)
Der Befehl M03 schaltet die Spindel im Uhrzeigersinn ein. Er wird normalerweise mit einem "S"-Befehl gepaart, der die Spindeldrehzahl angibt, was ihn zu einem grundlegenden Befehl bei der Bearbeitung macht.
3. M05: Spindelanschlag
Dieser Code hält die Spindel sofort an. Er wird häufig vor dem Werkzeugwechsel oder am Ende einer Bearbeitung verwendet.
4. M06: Werkzeugwechsel
Der Code M06 ist für den automatischen Werkzeugwechsel während des Bearbeitungsprozesses unerlässlich. Wenn die Maschine diesen Befehl empfängt, ruft sie das neue, im Programm angegebene Werkzeug (T-Wert) ab und setzt es ein.
5. M08: Kühlmittel ein
Dieser Code schaltet das Kühlmittelsystem ein, das zur Aufrechterhaltung der Werkzeug- und Werkstücktemperaturen während des Schneidvorgangs für einen reibungslosen Betrieb und eine längere Lebensdauer des Werkzeugs unerlässlich ist.
6. M09: Kühlmittel aus
Der Befehl M09 schaltet den Kühlmittelfluss ab. Er wird häufig verwendet, wenn der Bearbeitungsvorgang beendet ist oder während eines Werkzeugwechsels.
Liste der M-Codes
| M-Code | Bedeutung |
| M00 | Programm anhalten |
| M01 | Optionaler Programmstopp(程序选择停止) |
| M02 | Programmende |
| M03 | Spindel vorwärts |
| M04 | Spindel rückwärts |
| M05 | Spindelanschlag |
| M06 | Werkzeugwechsel |
| M07 | Kühlmittel EIN (Nebel) |
| M08 | Kühlmittel EIN (Flut) |
| M09 | Kühlmittel AUS |
| M19 | Spindel ausrichten |
| M30 | Programmende und Rücklauf |
| M31 | Späneförderer vorwärts |
| M32 | Späneförderer rückwärts |
| M33 | Späneförderer-Anschlag |
| M34 | Erhöhung der Position des Kühlmittelzapfens |
| M35 | Verringern der Position des Kühlmittelzapfens |
| M36 | Paletten rotieren |
| M39 | Werkzeugrevolver rotieren |
| M41 | Niedrige Gangschaltung |
| M42 | Hochschaltung |
| M50 | Palettenwechsel durchführen |
| M82 | Werkzeug ausspannen |
| M86 | Werkzeugklemme |
| M88 | Durch das Kühlmittel der Spindel ON |
| M89 | Durch das Kühlmittel der Spindel AUS |
| M95 | Schlafmodus |
| M96 | Springen, wenn keine Eingabe |
| M97 | Lokaler Unterprogrammaufruf |
| M98 | Aufruf eines Unterprogramms |
| M99 | Unterprogramm Rückkehr oder Schleife |
Unterschiede zwischen G-Codes und M-Codes
Obwohl sowohl G-Codes als auch M-Codes für die CNC-Programmierung unerlässlich sind, erfüllen sie sehr unterschiedliche Funktionen:
- G Codes: Sie steuern in erster Linie die geometrischen Bewegungen der Maschine. Sie geben vor, wie sich die Werkzeugmaschine bewegen soll - ob entlang einer geraden Linie, einer Kurve oder eines Bogens.
- M Codes: Erledigung von Hilfstätigkeiten an der Maschine, die nicht mit der Bewegung des Schneidwerkzeugs verbunden sind. Dazu gehören das Starten und Stoppen der Spindel, der Werkzeugwechsel und die Kühlmittelkontrolle.
Während die G-Codes den eigentlichen Zerspanungsprozess steuern, sind die M-Codes ebenso wichtig, um das effiziente Funktionieren der Maschine zu gewährleisten und reibungslose Werkzeugübergänge und Betriebswechsel zu ermöglichen.
Die Bedeutung von G- und M-Codes in der CNC-Bearbeitung
Wie bereits erwähnt, sind sowohl der G-Code als auch der M-Code am CNC-Bearbeitungsprozess beteiligt und spielen eine Rolle bei der Herstellung der Teile. Beide Codes arbeiten zusammen, um komplizierte Fertigungsaufgaben zu automatisieren und zu steuern und so eine genaue und wiederholbare Teileproduktion durch CNC-Maschinen zu ermöglichen.
Dies ist wichtig für Maschinisten und Programmierer, die den Code verstehen müssen. Während die meisten Programmierungen in modernen CAD/CAM-Software, G-Code und M-Code sind nach wie vor erforderlich, insbesondere wenn kundenspezifische Anpassungen oder eine manuelle Programmierung erforderlich sind.
Hier ist der Grund dafür.
1. Effizienz und Genauigkeit
CNC-Maschinen können mit der richtigen G-Code-Programmierung komplexe Konstruktionen schnell und genau ausführen. Präzise Werkzeugbewegungen, gesteuert durch G-Codes, führen zu weniger Materialabfall, kürzeren Bearbeitungszeiten und höherer Produktivität.
2. Flexibilität
Da M-Codes Maschinenfunktionen wie Werkzeugwechsel und Kühlmittelfluss steuern, können CNC-Maschinen viele Aufgaben selbständig erledigen. Dadurch sind CNC-Maschinen vielseitig einsetzbar und können von einfachen Teilen bis hin zu Komponenten für die Luft- und Raumfahrt alles herstellen.
3. Automatisierung
Bei der CNC-Programmierung kommen im Allgemeinen G-Code und M-Code zusammen und ermöglichen einen vollautomatischen Bearbeitungsprozess. Auf diese Weise kann ein geschriebenes und dann geladenes Programm die Maschine dazu bringen, komplexe Aufgaben mit minimaler Überwachung auszuführen, so dass der Bediener sich anderen Produktionsbereichen zuwenden kann.
CNC-Programmierung: Manuelle vs. CAM-generierte G-Codes
Konventionell schreiben die Maschinenbediener die G-Codes Zeile für Zeile. Diese Methode erfordert umfassende Kenntnisse über das Verhalten der Maschine und die winzigen Details des bearbeiteten Teils.
Mit Werkzeugen wie CAM oder computergestützter Fertigung können Zerspanungsmechaniker jetzt jedoch die G-Code vom Entwurfsmodell durch Automatisierung, was die Programmierung vereinfacht.
Während die Software CAM die Codegenerierung beschleunigt und die Fehleranfälligkeit verringert, sind manuelle Programmierkenntnisse nach wie vor von entscheidender Bedeutung für die Feinabstimmung von Abläufen oder die Behebung von Problemen in der Produktionslinie während der Produktion.
4 häufige Fehler bei der CNC-Programmierung und wie G- und M-Codes helfen, sie zu vermeiden
Selbst mit fortschrittlicher CAM-Software, die den größten Teil der Programmierung übernimmt, können bei der CNC-Programmierung immer noch Fehler passieren. Diese Fehler sind zwar häufig, können aber zu fehlerhaften Teilen, Maschinenschäden, Materialverschwendung oder sogar zu Unfällen in der Werkstatt führen.
Betrachten wir einige häufige CNC-Programmierfehler und die Rolle, die die G- und M-Codes bei der Behebung der einzelnen Fehler spielen.
1. Falsche Werkzeuglängenkompensation (G43)
Eines der häufigsten Probleme bei der CNC-Programmierung ist die falsche Kompensation der Werkzeuglänge. Jedes Werkzeug in einer CNC-Maschine hat eine eindeutige Länge, und wenn die Maschine zwischen den Werkzeugen wechselt, muss sie diesen Unterschied berücksichtigen, um die Schnittgenauigkeit zu erhalten.
Wenn der G43-Befehl nicht korrekt eingestellt ist, passt sich die Maschine möglicherweise nicht an die Länge des Werkzeugs an, was zu Ungenauigkeiten bei der Schnitttiefe und möglicherweise zur Zerstörung des Werkstücks führt.
Stellen Sie sich zum Beispiel vor, das Programm schaltet auf ein längeres Werkzeug um, ohne diese zusätzliche Länge zu kompensieren. Infolgedessen könnte das Werkzeug zu tief in das Material schneiden und das Teil und möglicherweise das Werkzeug selbst beschädigen.
Auflösung
Wenn Fehler aufgrund einer falschen Werkzeuglängenkompensation auftreten, überprüfen Sie den G43-Befehl erneut und stellen Sie sicher, dass der richtige Offset verwendet wird. Um die Wahrscheinlichkeit menschlicher Fehler weiter zu verringern, sollten Sie Werkzeugeinstellgeräte verwenden, die die Werkzeuglänge automatisch messen und aufzeichnen.
2. Sicherheitsblöcke übersehen
Ein Sicherheitssatz ist eine Reihe von Vorbefehlen, die sicherstellen sollen, dass die Maschine in einem sicheren und bekannten Zustand startet, bevor die eigentliche Bearbeitung beginnt. Sicherheitssätze können Spindelstopps, das Aufheben der Fräskompensation, die Auswahl der richtigen Ebene und die Positionierung der Maschine an sicheren Koordinaten umfassen.
Wenn das Programm diesen Sicherheitsblock beim Start nicht enthält, kann die Maschine unter unerwarteten oder falschen Bedingungen in Betrieb genommen werden, was zu Abstürzen, Werkzeugbruch oder sogar Verletzungen führen kann.
Wenn zum Beispiel bei einem früheren Arbeitsgang mit einer anderen Tiefe geschnitten wurde und der Sicherheitsblock fehlt, könnte die Maschine mit der alten Tiefe weiterarbeiten, was zu Kollisionen mit Vorrichtungen oder Klemmen führen könnte.
Auflösung
Wenn eine Sicherheitssperre fehlt oder nicht richtig eingestellt ist, überarbeiten Sie das Programm, um wichtige G- und M-Codes einzubauen, die die Maschine vor größeren Bewegungen oder Vorgängen in den Grundzustand versetzen.
Starten Sie das Programm immer mit einem gut konstruierten Sicherheitsblock, um korrekte Maschineneinstellungen zu gewährleisten und Abstürze zu vermeiden.
3. Unzulässige Vorschubgeschwindigkeit (G01)
Die Vorschubgeschwindigkeit ist definiert als die Geschwindigkeit, mit der sich das Schneidwerkzeug um das Werkstück bewegt. Die Einstellung einer falschen Vorschubgeschwindigkeit kann zu verschiedenen Problemen führen.
Ist der Vorschub beispielsweise zu hoch, führt dies zu Werkzeugbruch, Überhitzung oder sogar zu Ungenauigkeiten im Werkstück, weil zu viel Kraft auf die Schnittfläche ausgeübt wird.
Ist die Vorschubgeschwindigkeit dagegen zu niedrig, ist die Bearbeitung nicht effizient. Die Zykluszeit wird auch länger und die Oberflächengüte ist schlecht, weil das Werkzeug reibt, anstatt zu schneiden.
Nehmen wir an, die Vorschubgeschwindigkeit ist bei der Präzisionsbearbeitung zu niedrig. Dies führt zu einer Materialansammlung an der Schneide, was die Qualität der bearbeiteten Oberfläche verschlechtert und den Werkzeugverschleiß erhöht.
Auflösung
Wenn ein ungeeigneter Vorschub eingestellt wurde, kann das Problem über den F-Code im Befehl G01 gelöst werden.
Die CAM-Software kann den idealen Vorschub auf der Grundlage der Materialeigenschaften und der Werkzeuggeometrie automatisch berechnen, aber es kann sein, dass manuelle Anpassungen zur Feinabstimmung erforderlich sind. Überprüfen Sie den Vorschub immer beim ersten Durchlauf des Programms.
4. Nicht übereinstimmende G- und M-Codes
Jeder CNC-Codesatz enthält normalerweise einen G- und einen M-Code. Die Verwendung mehrerer G- oder M-Codes in einem einzigen Satz kann die Maschine verwirren, da sie möglicherweise nicht weiß, welchen Befehl sie priorisieren soll, was zu unerwartetem Verhalten führt.
So kann beispielsweise die Kombination von Befehlen wie G02 (Kreisinterpolation im Uhrzeigersinn) und G01 (lineare Interpolation) im selben Satz dazu führen, dass die Maschine die beabsichtigte Bewegung nicht korrekt ausführt.
Außerdem entstehen Probleme, wenn widersprüchliche M-Codes zusammen verwendet werden. So kann beispielsweise die Kombination von M03 (Spindel im Uhrzeigersinn) und M05 (Spindelstopp) im selben Satz die Maschine verwirren, ob die Spindel gestartet oder gestoppt werden soll, was zu einem inkonsistenten Betrieb führt.
Auflösung
Wenn nicht übereinstimmende Codes zu einer Fehlfunktion der Maschine führen, sollte das Programm überarbeitet werden, um widersprüchliche Codes in verschiedene Blöcke aufzuteilen. Ein sorgfältiges Korrekturlesen des Codes vor der Ausführung auf der Maschine hilft, potenzielle Konflikte frühzeitig zu erkennen.
Schlussfolgerung
G-Code und M-Code sind heute das Herzstück der CNC-Bearbeitung. Daher ist das Verständnis von G- und M-Code sowohl für die Erstellung von CAM-Software als auch von manuellem Code unerlässlich. Auf diese Weise können Sie CNC-Maschinen effizienter und genauer bedienen.
Da sich die Technologie hinter den CNC-Maschinen ständig weiterentwickelt, bleibt die Beherrschung dieser grundlegenden Codes eines der wichtigsten Mittel, um das volle Potenzial der CNC-Bearbeitung zu erschließen.
Haben Sie noch Fragen? Wenden Sie sich an unsere erfahrenen Designer und Hersteller unter FirstMold.









