Aktualisiert am: 18.05.2022

CNC Programmierung mit Hilfe des G-Code

Themengebiet

CNC Programmierung

G-Code

In der Welt der Programmierung von CNC Werkzeugmaschinen kommt dem G-Code oder auch G-Funktionen eine besondere Bedeutung zu. In diesem Artikel lernst du alles, was du zum Thema G-Code wissen musst.

Manuelle CNC-Programmierung

In der modernen CNC-Programmierung werden Bearbeitungsprogramme in vielen Fällen mit Hilfe einer CAM-Software (Computer Aided Manufacturing) erstellt. Ausgehend vom 3-D-Modell des Werkstücks wird mit Hilfe vordefinierter Prozeduren ein Bearbeitungsablauf erstellt und in ein maschinenspezifisches NC-Programm übersetzt. Auch wenn die Software viele Programmieraufgaben übernimmt, erleichtert ein grundlegendes Verständnis der manuellen CNC-Programmierung die optimale Auslegung des Bearbeitungsprozesses. Bei der manuellen Programmierung werden alle Bewegungsabläufe und Bearbeitungsparameter Zeile für Zeile in Form einzelner Befehlssätze beschrieben.

Was ist der G-Code oder eine G-Funktion?

Innerhalb eines CNC-Programms legen die G-Funktionen fest, welche Berechnungslogik für die Bestimmung Werkzeugbahn heranzuziehen ist. Der G-Code legt also fest, wie die Maschinenachsen zu verfahren sind. Für komplexe Bauteilgeometrien müssen oft mehrere G-Codes kombiniert werden, um den gewünschten Bewegungsablauf zu realisieren. Wie auch bei anderen NC-Befehlen handelt es sich beim G-Code um standardisierte Funktionsbausteine, die mit dem Adressbuchstaben “G” aufgerufen werden. Das G steht in diesem Fall für Go und ist allen vorbereitenden Wegbedingungen vorangestellt. Vorbereitend deshalb, da die G-Befehle den Koordinatenbefehlen in einer Programmierzeile vorangestellt werden. Die Bezeichnung G-Code wird in vielen Fällen auch synonym für ein manuell erstelltes CNC-Programm verwendet.

  • Ein NC-Programm ist eine Abfolge von Steuerungsbefehlen und beschreibt die Maschinenbewegung
  • Mit Hilfe des G-Code / G-Funktion werden die Wegbedigungen in einem NC-Programm festgelegt
  • Die Wegbedingungen legen fest, wie die Maschinenachsen zu bewegen sind, um einen bestimmten Punkt anzufahren
  • Die wichtigsten Befehle sind in der Norm DIN 66 025 festgelegt

Funktionen des G-Codes

Auch wenn verschiedene Hersteller zusätzliche oder abgewandelte Steuerungsbefehle bereitstellen, so ist der grundlegende Aufbau identisch. Auf den Adressbuchstaben G folgt eine zweistellige Zahl. Diese dient unter anderem der Bestimmung der Interpolationsart, der Richtung des der Werkzeugradiuskorrektur, der Wegmaßeingabe oder legt den Zyklus fest. Ein typisches NC-Programm ist blockweise aufgebaut und wird satzweise von links nach rechts bzw. von oben nach unten abgearbeitet.

Aufbau des G-Code

Wie jeder Befehlssatz werden, beginnen auch G-Funktionen mit einer Satznummer mit der Adressbezeichnung N. Darauf folgt dann der eigentliche G-Befehl zur Festlegung der Bahnbewegung mit dem die danach genannten Koordinaten angefahren werden.

...
N30 G03 G17 X165 Y70 R100 F150 $
...

Satz Nr. 30 – Bewegung auf Kreisbahn (Radius: 100 mm) gegen den Uhrzeigersinn mit einer Vorschubgeschwindigkeit von 150 mm/min

%
O123456 (MEIN_PROGRAM)
(T1 0.45 Schaftfräser)
N1 G17 ... G40 ...
...

Das G-Code Programm wird mit (%) initialisiert und mit dem Adressbuchstaben O das gewünschte Programm aufgerufen. Weitere Kommentare, z.B. das verwendete Werkzeug erleichtert es dem Bediener den Überblick zu behalten. Um sicherzustellen, dass nicht aus versehen in einem falschen Bezugssystem gearbeitet wird, werden mögliche Referenzpunkte zurückgesetzt.

...
N2 T1 M06
N3 S7500 M03
...

N2 – Das Wechsel auf das Werkzeug mit der Nummer 1 (T1) wird mit der Schaltfunktion M06 ausgeführt.

N3 – Die Spindel wird mit einer Drehzahl von 7500 U/min. mit dem Schaltbefehl M03 gestartet.

...
N4 G54
N5 M08
N6 G00 X-0.05 Y-0.25
...

N4 – Ein vordefinierter Nullpunkt wird als Bezugspunkt festgelegt.

N5 – Mit dem Schaltbefehl M08 wird der Kühlschmierstoff zugeschaltet.

N6 – Eine Position oberhalb des Werkstücks wird im Eilgang angefahren.

...
N7 ...
N8 ...
...

Die einzelnen Bearbeitungsschritte werden Satz für Satz abgearbeitet.

...
N9 Z1
N10 M05
N11 M09
N12 G91 G28 Z0
N13 G91 G28 X0 Y0
N14 G90
%

N9 – Anfahren einer sicheren Ebene.

N10 / N11 – Spindel und Kühlschmierstoff abschalten.

N12 / N13 – Anfahren der Startposition.

N14 – Umschalten in absoluten Positioniermodus und Rücksetzen des Programms. Das Programm wird (%) beendet.

G-Code Befehle und Anweisungen

Die folgende Tabelle liefert einen Überblick über alle G-Befehle nach DIN 66025.

G-CodeFunktion
G00Positionierung im Eilgang (Punktsteuerung)
G01Lineare Interpolation
G02Kreisinterpolation (im Uhrzeigersinn)
G03Kreisinterpolation (gegen den Uhrzeigersinn)
G04Verweilzeit
G06Interpolation auf einer Parabelbahn
G09Genauhalt
G17Auswahl der Bearbeitungsebene X – Y
G18Auswahl der Bearbeitungsebene X – Z
G19Auswahl der Bearbeitungsebene Y – Z
G33Gewindeschneiden mit konstanter Steigung
G34Gewindeschneiden mit zunehmender Steigung
G35Gewindeschneiden mit abnehmender Steigung
G40Zurücksetzen aller abgerufenen Werkzeugkorrekturen
G41Korrektur des Werkzeugradius (in Vorschubrichtung links)
G42Korrektur des Werkzeugradius (in Vorschubrichtung rechts)
G43Werkzeugkorrektur (positiv)
G44Werkzeugkorrektur (negativ)
G53Zurücksetzen der Nullpunktverschiebung
G54 – G59Nullpunktverschiebung 1 – 6
G60Einfahrtoleranz 1
G61Einfahrtoleranz 2
G63Maximaler Vorschub
G70Maßeingabe [inch]
G71Maßeingabe [mm]
G80Zurücksetzen der abgerufenen Zyklen
G81 – G89Bohrzyklen
G90Absolute Maßeingabe in Bezug auf das aktuelle Koordinatensystem (Bezugsmaß)
G91Relative Maßeingabe in Bezug auf das aktuelle Koordinatensystem (Inkrementalmaß)
G92Verschiebung des Bezugspunkts – Speicher setzen
G94Vorschub [mm/min]
G95Vorschub [mm/Umdrehung]
G96Konstante Schnittgeschwindigkeit
G97Spindeldrehzahl [1/min]

G-Code Arten

Grundsätzlich lassen sich 3 Arten von G-Befehlen unterscheiden, die wiederum in in unterschiedliche Funktionsgruppen aufgeteilt sind. Wichtig ist sich zu merken, dass G-Codes aus einer Funktionsgruppe sich gegenseitig überschreiben.

  • Interpolationsart: G00, G01, G02, G03, G06
  • Auswahl der Bezugsebene: G17, G18, G19
  • Werkzeugkorrektur: G40, G41, G42, G43, G44
  • Nullpunktverschiebung: G92, G53 – G59
  • Einfahrverhalten: G08, G09, G60, G61, G62
  • Beschreibung des Arbeitszyklus: G80 – G89
  • Maßangaben: G90, G91
  • Vorschub: G93, G94, G95
  • Eingabe der Spindeldrehzahl: G96, G97

  • Verweilzeit: G04
  • Zu- oder Abnahme der Geschwindigkeit: G08, G09
  • Gewindeangaben: G63
  • Verschiebung des Bezugspunkts: G92

Wegbedigungen, denen in der Norm keine feste Bedeutung zugeordnet ist,

Nullpunktverschiebung mit G-Code

Der Nullpunkt ist die wesentliche Bezugsgröße in einem NC-Programm. Je nach Werkstück und Bearbeitungsaufgabe kann es Sinn machen einen neuen Referenzpunkt für die folgenden Bearbeitungsschritte festzulegen. Vor allem, wenn Programmbestandteile (z.B. Bohrbilder) an einer anderen Stelle wiederverwendet werden sollen, ist eine Nullpunktverschiebung unerlässlich. Die G-Befehle G54 – G59 können deshalb in der Steuerung mit unterschiedlichen Werten vorbelegt und im Programm aufgerufen werden.