G-Code für die CNC-Programmierung

Marti Deans November 10, 2022

8 min read

Autodesk Fusion Logo

Elevate your design and manufacturing processes with Autodesk Fusion

This post is also available in: Italiano (Italienisch) English (Englisch)

G-Code? Sie wissen, was man über Grundlagen sagt: Lerne sie zuerst, und du wirst dich für immer an sie erinnern. Das Gleiche gilt für die Programmierung von CNC-Maschinen. Selbst wenn sich neue Fertigungstechnologien entwickeln, bleiben die Grundlagen dafür, wie Teile mit einem CNC-Programm bearbeitet werden, für immer in Erinnerung.

G-Code

In diesem Artikel geht es um die Kernkomponente eines jeden CNC-Programms – den G-Code.

g-code

G-Code auf einen Blick

Hersteller auf der ganzen Welt nutzen die CNC-Programmierung, um die Werkzeuge einer CNC-Maschine zu steuern und Teile zu produzieren. Das Herzstück dieses automatisierten Fertigungsprozesses ist eine Reihe von Anweisungen, die einer CNC-Maschine sagen, wo – und wie – sie sich bewegen soll. Diese Anweisungen werden G-Code genannt.

G-Code wurde erstmals in den 1960er Jahren von der Electronics Industry Association (EIA) eingeführt. Obwohl die offizielle Sprache als RS-274D dokumentiert wurde, wird sie von allen als G-Code bezeichnet. Und warum? Viele der Wörter oder einzelnen Codeteile, aus denen diese maschinenbasierte Sprache besteht, beginnen mit dem Buchstaben G.

Obwohl der G-Code ein universeller Standard sein soll, haben viele CNC-Maschinenhersteller ihren eigenen, einzigartigen Geschmack entwickelt. Am Ende des Tages essen wir alle Eiscreme, aber eine Haas-Maschine hat vielleicht Erdbeergeschmack und eine Tormach-Maschine hat vielleicht Schokoladengeschmack. Aufgrund dieses Unterschieds in den G-Code-Geschmacksrichtungen ist es zwingend erforderlich zu verstehen, wie Ihre eigene CNC-Maschine G-Code verwendet.

Warum der Unterschied bei den G-Code-Geschmacksrichtungen? Es kommt wirklich auf die Fähigkeiten jeder Maschine an. Nehmen Sie eine Maschine, die eine Koordinatensystemdrehung basierend auf Messtaster-Eingaben verarbeiten kann. Sie benötigen eine Reihe von G-Code-Befehlen, die diese Drehung aktivieren oder deaktivieren können. Eine andere Maschine ohne diese Einstellmöglichkeit wird diesen G-Code nicht benötigen.Im Zweifelsfall sollten Sie immer die Dokumentation Ihrer CNC-Maschine zu Rate ziehen, wenn Sie den Rest dieses Artikels durcharbeiten. Wir gehen hier die Grundlagen durch, aber man kann nie wissen, ob Ihre Maschine nicht vielleicht einen etwas anderen Weg zum gleichen Endziel eingeschlagen hat.

G-Code-Blöcke

Der G-Code-Standard wurde zu einer Zeit veröffentlicht, als Maschinen noch über wenig Speicher verfügten. Aufgrund dieser Speicherbeschränkung ist G-Code eine extrem kompakte und prägnante Sprache, die auf den ersten Blick fast archaisch wirken mag. Nehmen Sie zum Beispiel diese Codezeile:

G01 X1 Y1 F20 T01 M03 S500

In dieser einzigen Zeile geben wir der CNC-Maschine eine Reihe von Anweisungen:

Mehrere Zeilen G-Code wie diese bilden zusammen ein komplettes CNC-Programm. Ihre CNC-Maschine liest den Code dann Zeile für Zeile von links nach rechts und von oben nach unten, wie beim Lesen eines Buches. Jeder Anweisungssatz befindet sich in einer separaten Zeile oder einem Satz.

G-Code-Programme

Das Ziel eines jeden G-Code-Programms ist es, Teile auf die sicherste und effizienteste Weise zu produzieren. Um dies zu erreichen, sind die G-Code-Sätze in der Regel in einer bestimmten Reihenfolge angeordnet, etwa so:

  1. Starten Sie das CNC-Programm.
  2. Laden Sie das gewünschte Werkzeug.
  3. Schalten Sie die Spindel ein.
  4. Schalten Sie das Kühlmittel ein.
  5. Fahren Sie auf eine Position über einem Teil.
  6. Starten Sie den Bearbeitungsvorgang.
  7. Schalten Sie das Kühlmittel aus.
  8. Schalten Sie die Spindel aus.
  9. Bewegen Sie sich von dem Teil weg an einen sicheren Ort.
  10. Beenden Sie das CNC-Programm.

Dieser Ablauf ist ein einfaches Programm, das nur ein Werkzeug für eine Bearbeitung verwendet. In der Praxis werden Sie normalerweise die Schritte 2 bis 9 spülen und wiederholen. Das nachstehende G-Code-Programm umfasst beispielsweise alle oben genannten Codeblöcke mit sich wiederholenden Abschnitten, wo dies erforderlich ist:

Example of a CNC G-code program with explanations of each code block

Modale und Adress-Codes

Wie andere Programmiersprachen auch, kann G-Code eine Aktion unbegrenzt wiederholen, bis sie gestoppt wird. Dieser Schleifenprozess verwendet modalen Code, der solange wirkt, bis Sie ihn entweder abschalten oder durch einen anderen modalen Code modifizieren. Zum Beispiel ist M03 ein modaler Code, der eine Spindel unendlich lange laufen lässt, bis Sie ihm mit M05 sagen, dass er aufhören soll. Warten Sie einen Moment. Dieses Wort (denken Sie daran: ein Wort ist ein kleines Stück Code) hat nicht mit einem G begonnen, aber es ist trotzdem G-Code. Wörter, die mit einem M beginnen, sind Maschinencodes, und sie schalten Maschinenfunktionen wie Kühlmittel, Spindel und Spanner ein oder aus. Ich werde im nächsten Abschnitt einige gängige auflisten, aber Sie können eine Liste der M-Codes Ihrer Maschine in der Dokumentation finden.

Der G-Code enthält auch eine vollständige Liste der Adresscodes. Sie können sich diese als das Wörterbuch für G-Code vorstellen, das bestimmte Verhaltensweisen definiert. Adresscodes beginnen mit der Buchstabenbezeichnung, wie G, und dann mit einer Reihe von Zahlen. Zum Beispiel definiert X2 einen Adresscode für die X-Koordinate, wobei 2 der Wert auf der X-Achse ist, zu dem die Maschine bewegt werden soll.

Die vollständige Liste der Adresscodes umfasst:

Examples of address code parameters

Einem G-Code-Programm können mehrere Sonderzeichen-Codes hinzugefügt werden. Diese werden typischerweise zum Starten eines Programms, zum Auskommentieren von Text oder zum Ignorieren von Zeichen verwendet und umfassen:

G-Codes & M-Codes erklärt

G- und M-Codes machen den größten Teil Ihres CNC-Programms aus. Codes, die mit G beginnen, bereiten Ihre Maschine auf die Ausführung einer bestimmten Art von Bewegung vor. Die gebräuchlichsten G-Codes, denen Sie in jedem CNC-Programm immer wieder begegnen werden, sind

G0 – Eilgang

Dieser Code weist eine CNC-Maschine an, so schnell wie möglich zu einer bestimmten Koordinatenposition zu fahren. G0 verfährt die Maschine Achse für Achse, d. h., sie verfährt zuerst entlang beider Achsen und beendet die Bewegung auf der Achse, die sich nicht in Position befindet. Ein Beispiel für diese Bewegung sehen Sie in der Abbildung unten:

Diagram showing the motion of a G00 rapid move

Dieser Code weist die Maschine an, in einer geraden Linie zu einer Koordinatenposition mit einem definierten Vorschub zu verfahren. Zum Beispiel: G1 X1 Y1 F32 fährt die Maschine zu den Koordinaten X1, Y1, mit einem Vorschub von 32.

G2, G3 – Bogen im Uhrzeigersinn, Bogen gegen den UhrzeigersinnDiese Codes weisen die CNC-Maschine an, in einem Bogen zu einer Zielkoordinate zu fahren. Zwei zusätzliche Koordinaten, I und J, definieren die zentrale Position des Bogens, wie unten gezeigt:

Diagram showing CW and CCW arc interpolation using G02 and G03

G17, G18, G19 – Ebenenkennungen

Diese Codes legen fest, auf welcher Ebene ein Kreisbogen bearbeitet werden soll. Standardmäßig verwendet Ihre CNC-Maschine G17, das ist die XY-Ebene. Die anderen beiden Ebenen sind in der Abbildung unten dargestellt:

Plane selection diagram showing XY, YZ, and ZX planes

G40, G41, G42 – Fräserdurchmesserkompensation

Diese Codes definieren die Fräserdurchmesser-Kompensation oder CDC, die es einer CNC-Maschine ermöglicht, ihr Werkzeug links oder rechts von einer definierten Bahn zu positionieren. Ein D-Register speichert den Offset für jedes Werkzeug.

Diameter offset table with example values in tool 1.

G43 – WerkzeuglängenkorrekturDieser Code definiert die Länge der einzelnen Werkzeuge unter Verwendung einer Z-Achsenhöhe. Dies ermöglicht der CNC-Maschine zu verstehen, wo sich die Spitze eines Werkzeugs in Bezug auf das zu bearbeitende Werkstück befindet. Ein Register definiert die Werkzeuglängenkorrekturen, wobei H der Werkzeuglängenversatz und Z die Länge des Werkzeugs ist.

Tool Length offset table with tool length value examples

G54 – Arbeitsversatz

Dieser Code wird verwendet, um einen Aufspann-Offset zu definieren, der den Abstand von den internen Koordinaten einer Maschine zum Nullpunkt auf einem Werkstück bestimmt. In der folgenden Tabelle ist nur G54 mit einer Offset-Definition versehen. Sie können jedoch mehrere Offsets programmieren, wenn ein Job die gleichzeitige Bearbeitung mehrerer Teile erfordert.

Work Offset table with values for a work offset included in the G54

M-CodesM-Codes sind Maschinencodes, die sich zwischen verschiedenen CNC-Maschinen unterscheiden können. Diese Codes steuern Funktionen auf Ihrer CNC-Maschine, wie z. B. Kühlmittel- und Spindelrichtungen. Einige der gebräuchlichsten M-Codes sind:

Sample of common machine codes or m-codes

Festgelegte Zyklen im G-Code

Der letzte Aspekt des G-Codes, den wir ansprechen wollen, sind Festzyklen. Diese sind vergleichbar mit Methoden oder Funktionen in der Computerprogrammierung. Sie ermöglichen es Ihnen, eine komplizierte Aktion in nur wenigen Codezeilen auszuführen, ohne alle Details abtippen zu müssen.

Nehmen Sie z. B. den untenstehenden Festzyklus. Hier weisen wir das CNC-Werkzeug in nur zwei Codezeilen auf der linken Seite an, ein Loch mit einem Tieflochbohrer zu erzeugen. Dieselbe Aktion erfordert über 20 Zeilen regulären G-Code.

Canned Cycle vs Expanded G Code

Einige gängige Bohrzyklen sind:

G81 – Einfacher Bohrer-Zyklus

Dieser Zyklus erstellt ein Loch, indem er bis zu einer bestimmten Z-Achsen-Koordinate eintaucht und sich dann zurückzieht. Die Programmierung dieses Zyklus erfordert eine Tiefe, Vorschubgeschwindigkeit, XY-Koordinaten und die Ebene, auf der gebohrt werden soll.

G83 – Tieflochbohren

Dieser Zyklus wird zum schnellen Bohren tiefer Löcher verwendet. Ein Werkzeug bohrt zuerst eine definierte Strecke und zieht sich dann zurück, wodurch das Material aus der Bohrung entfernt wird und das Kühlmittel die Späne wegspülen kann. Die einfachste Implementierung dieses Zyklus erfordert eine Anfangshöhe, eine Vorschubebene, ein Bohrungsinkrement und eine Tiefe.

Diagram showing peck drilling motion and parameters

G98 – Rückzug auf die anfängliche rasche Höhe

Dieser Zyklus fährt ein Werkzeug auf eine Freifläche zwischen den Bohrungen zurück, was hilft, Spannungen zu vermeiden. Die Programmierung dieses Zyklus erfordert eine Anfangshöhe und eine Vorschubebene, auf der gebohrt werden soll.

Zuerst die Grundlagen

Auch wenn Sie niemals Ihr eigenes CNC-Programm von Hand schreiben werden, wird Ihnen das Verständnis der Grundlagen von G-Code einen Vorsprung in Ihrer CNC-Programmierkarriere verschaffen. Das Kernverhalten bleibt herstellerübergreifend intakt, auch wenn sich der eigentliche G-Code leicht unterscheidet. Letztendlich kombinieren Sie Koordinaten, Vorschubgeschwindigkeiten und eine Reihe von definierbaren Aktionen, um ein Werkzeug zu bewegen und ein Teil erfolgreich zu bearbeiten.

Einige Ratgeber empfehlen, die gängigsten G- und M-Codes auswendig zu lernen. Das mag zwar funktionieren, aber Übung macht den Meister! Wenden Sie Ihre G-Code-Grundlagen während Ihrer gesamten Laufbahn kontinuierlich an und frischen Sie sie auf, damit sie Ihnen erhalten bleiben. Hier ist ein kurzes Quiz, um zu sehen, wo Sie stehen.Sind Sie bereit, Ihr Wissen über CNC-Programmierung und G-Code in die Praxis umzusetzen? Testen Sie Fusion 360 noch heute!

Full-access Fusion Trial
Unlock all of Fusion's advanced features and functionality - free for 30 days.
Start Free Trial

Tags and Categories

Maschinenbau Unkategorisiert

Get Fusion updates in your inbox

By clicking subscribe, I agree to receive the Fusion newsletter and acknowledge the Autodesk Privacy Statement.