Twój koszyk jest obecnie pusty!
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.
G-Code lernen Teil 1/2: Grundlagen
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.
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 M
30
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.“
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-Code | Beschreibung |
---|---|
; () | 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 |
N | N für Satznummer (optional) Beispiel: ; Satznummer ist nicht notwendig. N10 T1 M3 S2501 |
F | F für Vorschub in mm/min Beispiel: ; Fahrt mit 300 mm/min G01 X100 Y10 F300 |
T | T für Werkzeugnummer Beispiel: ; Werkzeug 1 ist aktiv T1 |
M03 S | M03 schaltet die Spindel ein, S definiert die Spindeldrehzahl in U/min Beispiel: ; Spindel wird geschaltet mit 2000 Umdrehungen pro Minute M3 S2000 |
D | D Werkzeugdurchmesser in Millimeter. Beispiel: ; Durchmesser 2,5 mm. D muss direkt hinter T stehen T1 D2.5 |
G00 | Mit 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 |
G01 | Mit 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/G03 | G02 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 H | Mit 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/G71 | Mit 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/G82 | Der 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/G91 | Mit 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 |
Podsumowanie
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.
Z serdecznymi pozdrowieniami, Twój zespół BOENIGK-electronics