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