CNC Programmierung:
G-Code lernen – Einfach und Schnell

Der G-Code ist eine Computersprache, die zur Steuerung von CNC-Maschinen verwendet wird. CNC steht für Computerized Numerical Control, was bedeutet, dass Maschinen mithilfe von Computern gesteuert werden.

In der modernen Fertigung wird G-Code automatisch von CAD/CAM-Software generiert, was die manuelle Programmierung von G-Code selten erforderlich macht. Trotzdem ist es wichtig, die Grundlagen der G-Code-Programmierung zu kennen. Es gibt insbesondere folgende Gründe dafür:

  • Manuelle Anpassung des G-Codes: In der Produktion werden häufig einfache Teile hergestellt, die sich nur geringfügig voneinander unterscheiden. In solchen Fällen ist es vorteilhaft, den G-Code manuell im Texteditor zu programmieren und anzupassen. Dies spart Zeit, da nicht für jede kleine Variante oder Anpassung eine neue G-Code-Datei per CAD/CAM-Software generiert werden muss.
  • Fehlerbehebung und Optimierung: Ein Verständnis der G-Code-Programmierung ermöglicht es CNC-Bedienern, Fehler in den Programmen schnell zu erkennen und zu beheben. Wenn eine CNC-Maschine nicht wie erwartet arbeitet, kann die Ursache oft in den Programmierdetails des G-Codes liegen. Ein Bediener, der mit der G-Code-Programmierung vertraut ist, kann solche Fehler eigenständig identifizieren und korrigieren.
  • Postprozessor-Anpassung: Manchmal ist es notwendig, den Postprozessor in der CAD/CAM-Software für die Ausgabe des G-Codes anzupassen, da der automatisch generierte G-Code nicht den Anforderungen entspricht. In solchen Fällen sind Grundkenntnisse in G-Code vorteilhaft.

In diesem Blogartikel werden Sie die Grundlagen des G-Codes lernen. Danach sind Sie in der Lage, eigene einfache G-Code-Programme zu schreiben und die oben genannten Probleme selbstständig zu lösen.


Was benötige ich für die G-Code-Programmierung?

Der G-Code besteht aus einer Reihe von Textanweisungen, die in einer Textdatei (ASCII-Datei) gespeichert sind. Die CNC Maschine führt diese Befehle in der Reihenfolge aus, vom Anfang der Textdatei bis zum Ende.

Für die CNC-Programmierung und G-Code ist lediglich ein Texteditor nötig. Da jedoch eine visuelle Überprüfung des programmierten G-Codes notwendig ist, muss eine CNC-Simulation verwendet werden.

Kostenloser G-Code-Simulator: cncGraF

Die CNC-Steuerungssoftware cncGraF ist ideal für Schulungszwecke: Sie bietet einen eingebauten G-Code-Simulator und CNC-Maschinen-Emulator, ist kostenlos (Freeware) und benötigt keinen echten CNC-Controller.

Klicken Sie hier, um cncGraF kostenlos herunterzuladen.

Das Screenshot unten präsentiert CNC-Steuerung cncGraF, einschließlich des G-Code-Texteditors und der 2D-Ansicht. Der CNC-Maschinen-Emulator ist eingeschaltet, und die G-Code-Datei wird im Emulator-Modus ausgeführt.
Um mehr zu erfahren, klicken Sie auf den Blogartikel
cncGraF: Kostenloser G-Code-Simulator und CNC-Maschinen-Emulator.

Die CNC-Steuerungssoftware cncGraF kann als kostenloser G-Code-Simulator dienen und so beim G-Code Lernen helfen.

Aufbau einer G-Code Datei

Folgender Beispiel einer G-Code-Datei ist verfügbar:

; G-Code-Datei: Herstellung eines Rechtecks, erstellt am 24.10.2023
; Werkzeugnummer 1 aktivieren

T1
; Werkzeug heben mit Eilgeschwindigkeit auf die Höhe Z = 10mm über dem Nullpunkt
G00 Z10
; Mit Eilgeschwindigkeit auf die Position X = 10 und Y = 10 fahren
G00 X10 Y10
; Arbeitsspindel mit M3 mit einer Drehzahl von 20000 U/min einschalten
M3 S20000
; 5 Sekunden warten bis die Spindeldrehzahl erreicht ist
G04 H5
; 2 mm mit Vorschub 600 mm pro Minute in das Werkstück eintauchen
G01 Z-2 F600
; Rechteck 100×100 mm mit Vorschub 600 mm pro Minute abfahren
G01 X110
G01 Y110
G01 X10
G01 Y10

; Werkzeug heben mit Eilgeschwindigkeit auf die Höhe Z = 10mm über dem Nullpunkt
G00 Z10
; Programmende
M5 M30

Dieser G-Code beschreibt die Bearbeitung eines Rechtecks mit einer CNC Maschine. Der G-Code beginnt mit Kommentaren, die durch ein Semikolon (;) gekennzeichnet sind. Diese Kommentare sind für die Maschine nicht relevant, helfen aber dem Bediener, den Code zu verstehen.

  • Werkzeugauswahl: Zuerst wird das Werkzeug 1 mit dem Befehl T1 ausgewählt.
  • Positionierung des Werkzeugs: Der Befehl G00 Z10 hebt das Werkzeug auf 10mm über dem Nullpunkt der Maschine. G00 verfährt die Maschine im Eilgang, d.h. mit der Maximalgeschwindigkeit.
  • Anfahren der Startposition: Die Maschine fährt mit G00 X10 Y10 zur Position X=10 Y=10.
  • Einschalten der Spindel: Mit M3 S20000 wird die Spindel eingeschaltet und auf 20000 Umdrehungen pro Minute eingestellt.
  • Wartezeit: Der Befehl G04 H5 sorgt dafür, dass die Maschine 5 Sekunden wartet, damit die Spindel die gewünschte Drehzahl erreicht.
  • Eintauchen in das Material: Mit G01 Z-2 F600 taucht das Werkzeug 2mm tief in das Material ein, mit einem Vorschub von 600 mm pro Minute. G01 wird für die Fräs-Bewegungen verwendet.
  • Rechteckbearbeitung: Die nächsten Befehle (G01 X110, G01 Y110, G01 X10, G01 Y10) bewegen das Werkzeug, um ein 100×100 mm großes Rechteck zu fräsen.
  • Rückkehr in die Ausgangsposition Z: G00 Z10 hebt das Werkzeug wieder auf 10mm über dem Nullpunkt.
  • Programmende: Der Befehl M05 schaltet die Spindel und der Befehl M30 beendet das Programm.

G-Code: Kreise und Kreisbögen

Als nächstes erweitern wir unser Beispiel um eine Kreis-Fräsung, die vor dem Rechteck ausgeführt werden muss. Die erweiterten und geänderten G-Code-Zeilen sind farblich in Hellrot hervorgehoben. Der G-Code sieht dann folgendermaßen aus:

; G-Code-Datei: Herstellung eines Rechtecks, erstellt am 24.10.2023
; Werkzeugnummer 1 wird gewählt
T1
; Werkzeug heben mit Eilgeschwindigkeit auf die Höhe Z = 10mm über dem Nullpunkt
G00 Z10
; Mit Eilgeschwindigkeit auf die Position X = 10 und Y = 10 fahren
G00 X10 Y10
; Arbeitsspindel mit M3 mit einer Drehzahl von 2000 U/min einschalten
M3 S2000
; 5 Sekunden warten bis die Spindeldrehzahl erreicht ist
G04 H5
; Mitte des Rechtecks anfahren
G00 X60 Y40
; 2 mm mit Vorschub 600 mm pro Minute in das Werkstück eintauchen
G01 Z-2 F600
; Kreis (d=20mm, Mittelpunkt 60×60) im Uhrzeigersinn

; mit Vorschub 600 mm pro Minute fahren
G02 I60 J60 X60 Y40
; Werkzeug heben mit Eilgeschwindigkeit : Z = 10mm über dem Nullpunkt
G00 Z10
; Mit Eilgeschwindigkeit auf die Position X = 10 und Y = 10 fahren
G00 X10 Y10

; 2 mm mit Vorschub 600 mm pro Minute in das Werkstück eintauchen
G01 Z-2
; Rechteck 100×100 mm mit Vorschub 600 mm pro Minute abfahren
G01 X110
G01 Y110
G01 X10
G01 Y10

; Werkzeug heben mit Eilgeschwindigkeit : Z = 10mm über dem Nullpunkt
G00 Z10
; Programmende
M5 M30

Der G-Code-Simulator (siehe Bildschirmfoto) zeigt ein Rechteck und einen Kreis, der mittig im Rechteck platziert ist.

Wichtig: Falls die Anzeige der Zeichnung nicht korrekt ist, dann kann das an der falschen Einstellung für die Befehle G02/G03 Kreis(-bogen) liegen. Die Befehle G02/G03 können relativ oder absolut interpretiert werden. Dieses Beispiel bezieht sich auf G02/G03 in absoluter Form. In diesem Fall muss im cncGraF G-Code-Simulator im Hauptmenü „Einstellungen → Optionen → Datei → G-Code“ die Option „G02/03 relativ“ deaktiviert sein.“

Kostenloser G-Code Simulator: cncGraF

G-Code: Bogenbefehl G02/G03

Der Befehl G02 wird verwendet, um eine kreisförmige oder kreisbogenförmige Bewegung im Uhrzeigersinn zu programmieren. Der Befehl G03 tut das Gleiche, nur gegen den Uhrzeigersinn.

Der G02-Befehl im G-Code hat die folgende Syntax:
G02 X… Y… I… J…
Dabei steht:

  • G02‚ für den Befehl selbst, der einen Kreisbogen im Uhrzeigersinn darstellt. Die letzte Position des vorherigen G-Code-Befehls ist die Startposition des Kreises oder Bogens.
  • X… und Y… geben die Endkoordinaten des Kreises oder Bogens an.
  • I… und J… geben den Abstand vom aktuellen Punkt zum Mittelpunkt des Kreisbogens auf der X- und Y-Achse an.

G00 X60 Y40 ; Dies ist die Startposition X,Y des Bogens.
G02 I60 J60 X60 Y40 ; Dieser Befehl bewegt das Werkzeug in einem Kreisbogen im Uhrzeigersinn.

  • I60 J60: Dies sind die Koordinaten des Mittelpunkts des Kreises relativ zur aktuellen Position
    X = 60 Y = 40. In diesem Fall liegt der Mittelpunkt bei X = 60, Y = 60.
  • X60 Y40: Diese sind die Endkoordinaten des Kreisbogens. Das Werkzeug bewegt sich zum Punkt X = 60, Y = 40.
  • Der Durchmesser des Kreises (d = 20 mm) wird durch die Position des Werkzeugs und die Koordinaten des Mittelpunkts bestimmt.

Tabelle mit den wichtigsten G-Code-Befehlen

In diesem Beispiel haben Sie die grundlegenden G-Code-Befehle kennengelernt: G01 und G00 für einfache Bewegungen, den Bogenbefehl G02, das Ein- und Ausschalten der Spindel mit M03 (und M05), den ‚S‘-Befehl für die Spindeldrehzahl, den Werkzeugnummer-Befehl ‚T‘, G04 für Wartezeiten, ‚F‘ für die Arbeitsgeschwindigkeit und M30 für das Dateiende. Diese Befehle bilden die Grundlage und sind bereits ausreichend, um eigene einfache G-Code Programme zu schreiben.

Unten finden Sie eine tabellarische Übersicht aller wichtigsten G-Code-Befehle.

Befehlsübersicht der wichtigsten G-Code Befehle

Die tabellarische Auflistung der G-Befehle (G-Code) enthält nur jene Befehle, die sich für die manuelle Programmierung eignen, da sie einfach zu verwenden sind. Die komplette Liste aller G-Code-Befehle finden Sie im cncGraF CNC-Simulator in der Online-Hilfe [Taste F1].

G-CodeBeschreibung
; ()Die Kommentare werden mit einem Semikolon ‚;‚ oder mit Klammern ‚()‚ gekennzeichnet. Die Kommentare werden von der CNC Maschine ignoriert.

Beispiel:
(Position Z10 anfahren)
G00 Z10
; Position Z10 anfahren
G00 Z10
NN für Satznummer (optional)

Beispiel:
; Satznummer ist nicht notwendig.
N10 T1 M3 S2501
FF für Vorschub in mm/min

Beispiel:
; Fahrt mit 300 mm/min
G01 X100 Y10 F300
TT für Werkzeugnummer

Beispiel:
; Werkzeug 1 ist aktiv
T1
M03 SM03 schaltet die Spindel ein, S definiert die Spindeldrehzahl in U/min

Beispiel:
; Spindel wird geschaltet mit 2000 Umdrehungen pro Minute
M3 S2000
DD Werkzeugdurchmesser in Millimeter.

Beispiel:
; Durchmesser 2,5 mm. D muss direkt hinter T stehen
T1 D2.5
G00Mit G00 verfährt die Maschine im Eilgang, d.h. mit der Maximalgeschwindigkeit.
Das Werkzeug befindet sich nicht im Material (Leerfahrt).

Beispiel:
; Position X = 100 Y = 10 anfahren
G00 X100 Y10
G01Mit G01 wird der programmierte Weg mit der Fräsgeschwindigkeit (Vorschubgeschwindigkeit ‚F‘) angefahren.
Dieser Weg wird visuell im cncGraF G-Code-Simulator als Vektor dargestellt.

Beispiel:
; Position X = 100 Y = 100 mit 300 mm/min anfahren
G01 X100 Y10 F300
G02/G03G02 Kreis(-bogen) im Uhrzeigersinn, G03 Kreis(-bogen) gegen Uhrzeigersinn.
Parameter: X Y I J K
X Endkoordinate in X-Richtung
Y Endkoordinate in Y-Richtung
I Mittelpunkt in X-Richtung
J Mittelpunkt in Y-Richtung
K Mittelpunkt in Z-Richtung

Beispiel:
G00 X10 Y10 F100
G01 Z-2 F50
; Kreisbogen von X10, Y10 nach X30, Y10 mit dem Mittelpunkt I20 und J10 fahren
G02 I20 J10 X30 Y10
G04 HMit G04 wird eine Verweilzeit programmiert.
Parameter: H – Angabe der Zeit in Sekunden

Beispiel:
; Wartezeit 2,5 Sekunden. Dieser Befehl weist die CNC Maschine an für
; die angegebene Zeit anzuhalten, bevor sie den nächsten Befehl ausführt.
G04 H2.5
G70/G71Mit G70 und G71 wird die Bemaßung der Koordinaten zwischen Inch (G70) und Millimeter (G71) festgelegt. Ohne Angabe ist G71 aktiv.

Beispiel:
; Bemaßung der Koordinaten ist in Millimeter
G71
G80/G81/G82Der Bohrzyklus G81/G82 ist für einfaches Bohren und Bohren mit Verweilzeit geeignet. Der Bohrzyklus wird mit dem Befehl G80 oder durch anderen G-Befehl wie z.B. G00 oder G01 gelöscht. Format: G98(G99) G81(G82) X Y Z R F (P)

Parameter G81
X – Position X
Y – Position Y
Z – Tiefe Z (absolut)
R – Inkrementeller Wert der Rückzugsebene, bezogen auf den Startpunkt in der Z-Achse
F – Vorschubgeschwindigkeit

Zusatzparameter für G82
P – Wartezeit in Millisekunden (1000ms = 1Sek.) am Lochgrund

Mit Befehlen G98 und G99 wird die Rückzughöhe festgelegt, auf die das Werkzeug nach dem Bohrzyklus fahren soll.

G98 – die Ausgangshöhe (Starthöhe) wird nach Bohrzyklus angefahren.
G99 – die Rückzugshöhe (definiert im Parameter R) wird nach dem Bohrzyklus angefahren.

Beispiel:
; Bohren mit Verweilzeit, Tiefe Z = 10mm, Warten 100 Millisekunden am Lochgrund
G98 G82 X10 Y10 Z-10 F300 P100
G90/G91Mit G90 wird Absolutmaß aktiviert, d.h. alle nachfolgenden Koordinatenwerte werden jeweils im Absolutmaß angegeben. G91 aktiviert die relative Bemaßung (Kettenmaß). Ohne Angabe ist G90 aktiv.

Beispiel:
; Relativmaß (Kettenmaß) wird gesetzt
G91

Zusammenfassung

Die G-Code-Programmierung für CNC-Maschinen ist nicht so schwierig. Mit dem Verständnis von nur etwa zehn grundlegenden G-Code Befehlen können Sie bereits beeindruckende Ergebnisse erzielen. Das Erlernen von G-Code lohnt sich definitiv, da es Ihnen ermöglicht, Ihre CNC Maschinen besser zu verstehen und sie einzusetzen.

Ich hoffe, dieser Blogartikel hilft Ihnen dabei, sich schnell in die G-Code-Programmierung einzuarbeiten.

G-Code lernen Teil 2/2: Fortgeschrittene Konzepte

Im zweiten Teil dieser Serie lernen Sie, wie man einfache G-Code-Dateien in der Produktion durch den Einsatz von Parametern ändern kann, ohne eine neue Datei erstellen zu müssen. In Teil 2 konzentrieren wir uns speziell auf die Befehle für Unterprogramme, die Schleifen G25/G26, die IF-Anweisung und den Einsatz von Parametern.

Klicken Sie auf den Blogartikel „G-Code lernen Teil 2/2: Fortgeschrittene CNC Programmierung“ um mehr zu erfahren.

Mit freundlichen Grüßen, Ihr BOENIGK-electronics Team


Beitrag veröffentlicht

in

,

von

de_DEDE