Einführung in die CNC- Programmierung
1. Vorwort
Obwohl heute die meisten CNC-Programme nicht "von Hand" geschrieben werden, ist es sinnvoll CNC-Programme auch
zu verstehen. Diese Seite soll und kann kein Maschinenhandbuch ersetzen, jedoch den Einstieg in die
CNC-Programmierung erleichtern. Deshalb habe ich auch nur die Funktionen und Befehle beschrieben, die am meisten
benutzt werden, z.B. für die Radiusprogrammierung nur "I" und "J" inkremental.
Eine gute Beschreibung der G-Code Funktionen (und mehr) finden Sie auf der Seite von Michael Finger
Bei der folgenden Beschreibung bin ich nur auf das Fräsen eingegangen.
Warum man Drehen nicht einfach mit Fräsen vergleichen kann, zeigt die Gegenüberstellung, bei gleicher
Kontur:

2. Programmstruktur
Ein "CNC Programm" besteht aus mehreren "Sätzen" (Zeilen).
Jeder Satz besteht aus einem oder mehreren "Wörtern".
Ein Wort beteht aus "Adressenbuchstaben", gefolgt von "Werten".
Die Sätze sind meistens in 10er Schritten nummeriert, damit man noch Sätze einfügen kann.
Ein CNC-Satz darf nur aus "einer Zeile" bestehen und ist am Ende mit den zwei unsichtbaren Zeichen: Alt+13 und
Alt+10 abgeschlossen.
Eine Beispielsatz: N540 G2 X30 Y-20 R-12 M8,
mit Wörtern: N540, G2, X30, Y-20, R-12, M8,
und Adressen: N, G, X, Y, R, M,
mit folgenden Werten: 540, 2, 30, -20, -12, 8.
Die Maschinensteuerung führt die einzelnen Sätze aus.
Zusätzliche Wörter in einem Satz führen spezielle Befehle aus.
Zum Beispiel die M08-Funktion ist am Anfang eines Satzes wirksam und kann deshalb die Kühl/Schmierung
einschalten, bevor eine Achse sich bewegt.
3. Die wichtigsten Adressbuchstaben
- % Programmanfang mit Programmnummer
- F Vorschubgeschwindigkeit
- G Vorbereitende Funktion
- I Abstand vom Startpunkt zum Bogenzentrum in X
- J Abstand vom Startpunkt zum Bogenzentrum in Y
- K Abstand vom Startpunkt zum Bogenzentrum in Z
- M Maschinenfunktionen
- N Zeilennummern
- R Radius
- S Drehfrequenz der Bearbeitungsspindel
- T Werkzeug- (Tool-) Nummer
- X Achse zur Spindel
- Y Achse zur Spindel, X und Z
- Z Achse längs zur Spindel
4. G-Funktionen
Die G-Funktionen sind vorbereitende Funktionen für die Achsen und zur Maschinenkontrolle. Sie sind in Gruppen, wie z.B.: G00, G01, G02 G03 oder G40, G41 und G42, eingeteilt. Es kann immer nur ein Befehl einer Gruppe aktiv sein.
Die G-Funktionen sind entweder modal oder satzweise wirksam.
- Modal, sie sind solange wirksam, bis sie durch eine neue G-Funktion aus derselben Gruppe ersetzt werden.
- Satzweise, sie wirken nur in dem Satz, in dem sie stehen.
2 Beispiele:
G41 G01 X10 Y...so funktioniert die Zeile,G01 G03 X10 Y...so nicht.
Interpolation
G00Lineare Interpolation im EilgangG01Lineare Interpolation in der VorschubgeschwindigkeitG02Interpolation im UhrzeigersinnG03Interpolation gegen den Uhrzeigersinn
Ebenenauswahl
G17X/Y EbeneG18X/Z EbeneG19Y/Z Ebene
Werkzeugradius Korrektur
Werkzeugradius Korrektur
G40Werkzeugradius Korrektur ausG41Werkzeugradius Korrektur links von der KonturrichtungG42Werkzeugradius Korrektur rechts von der Konturrichtung
Feste Zyklen
G80Bohrzyklus aufhebenG81Bohren
Positionsmodus
G90Absolute ProgrammierungG91Inkrementale Programmierung
5. M-Funktionen
Programm Kontrollfunktionen
M30Programmende
Spindel
M3Spindel ein im UhrzeigersinnM4Spindel ein gegen den UhrzeigersinnM5Spindel Stopp
Werkzeug
M6Werkzeugwechsel
Kühlung/Schmierung
M8EinM9Aus
6. Achsen
Um die Bewegung einer CNC-Maschine programmieren zu können, müssen dem Koordinierungssystem die einzelnen Achsen zugeordnet werden. Nach DIN 66217 wird ein rechtshändiges, rechtwinkeliges Koordinatensystem mit den Achsen X, Y, Z verwendet. Festlegung: Die Z-Achse verläuft parallel zur Hauptspindel der Maschine und die positive Bewegung in Z-Richtung verläuft vom Werkstück zur Werkzeugspitze. Weiterhin gilt: Der Programmierer nimmt immer an, dass sich nur das Werkzeug bewegt.
Erklärende Grafik anzeigen7. Werkzeugkorrekturen
Jedes Werkzeug ist in den Abmessungen von Länge und Radius unterschiedlich. Bei der Radiuskorrektur wird
der Steuerung die originale Kontur als CNC-Wegdaten übergeben.
"Die Maschinensteuerung" errechnet den Versatz, mit Hilfe der Angaben im "Werkzeugspeicher der Steuerung".
Woher weis die Steuerung wie viel sie versetzen muss?
Im Werkzeugspeicher der Steuerung sind die Werkzeuge nummeriert und für jedes Werkzeug (Werkzeugnummer) wird
der Durchmesser und die Länge angegeben. Beispiel: T5 D8 L20 (Tool 5, Durchmesser 8 mm, Länge 20
mm).
Sollte sich ein Werkzeugbruch ereignen, wechselt man das Werkzeug aus, korrigiert die Länge und den
Durchmesser und startet das Programm neu. Die Maschinensteuerung übernimmt sofort die neuen Werte.
Werkzeugkorrekturen und Anwahl sind so lange gültig, bis sie gelöscht oder durch eine neue
überschrieben werden.
Werkzeugradius-Korrektur
Die Fräser-Radius-Korrektur ermöglicht es, ein CNC-Programm zu schreiben, ohne die Fräserbahn
zu berechnen.
Woher weis die Steuerung auf welche Seite sie versetzen muss?
Dafür wird "im CNC-Programm" G41 oder G42 angegeben.
G40Fräser-Radius-Korrektur aus, Fräserbahn auf der Kontur.G41Fräser-Radius-Korrektur in Konturrichtung links von Kontur.G42Fräser-Radius-Korrektur in Konturrichtung rechts von Kontur.
Wichtig!
Die Angaben links, bzw. rechts, beziehen sich immer auf die
Bearbeitungsrichtung.
Wenn die Radius-Korrektur aktiv ist, errechnet die NC-Maschine die Mittelpunktsbahn des Werkzeugs parallel zur Werkstückkontur. Um scharfe äußere Ecken läuft das Werkzeug mit einem Kreisbogen, der dem Werkzeugradius entspricht. Innere Ecken werden nur bis zum Werkzeugradius ausgearbeitet. Mit einem runden Werkzeug ist es also nicht möglich, scharfe innere Ecken auszuarbeiten.
Erklärende Grafik zum Konturverlauf anzeigenWenn mit der Radius-Korrektur gearbeitet wird, ist auch der Radiusaufbau zu beachten damit es nicht zu Konturverletzungen kommen kann. Denn das Werkzeug muss, bevor es an der Kontur arbeit, um den Fräserradius auf die richtige Seite versetzt werden.
Erklärende Grafik Radiusaufbau anzeigenWerkzeuglängen-Korrektur
Die Länge ist Abstand der Schneidenspitze zum Werkzeugeinstellpunkt in ZEin Programmierbeispiel
Alle Maßangaben sind in mm, die Vorschubgeschwindigkeit in mm/min.
Zeichnung zum Programmierbeispiel anzeigen- a) Start- und Endpunkt
- b) Werkzeugkorrektur-Aufbau auf der rechten Seite
- c) Anfahr-Radius
- d) Korrektur
- e) Abfahr-Radius
- f) Werkzeugkorrektur-Abbau
NC-Programm:
%1 [Programmnummer zur Identifizierung](ZEICHNUNGS-DATEI: CRC3.DWG) [Kommentare](DATUM: 11.02.2002 22:47)(WERKZEUGDURCHMESSER 10.00 mm)N010 G00 Z40.0N020 S3000 T1 M06 [Werkzeug-Nr.: 1, Werkzeugwechsel]N030 M03 [Spindel ein]N040 Z10.0 [Auf Sicherheitshöhe im Eilgang ]N050 G00 X120.000 Y90.000 [Im Eilgang zur Startposition]N060 F100 [Halbe Vorschubgeschwindigkeit beim Eintauchen]N070 G01 Z-2.000 M08 [Tiefe und Kühl-Schmierstoff ein]N080 F200 [Volle Vorschubgeschwindigkeit bei der Kontur]N090 G42 G01 X90.000 Y90.000 [Radiusaufbau rechts, Vorschubgeschwindigkeit
und Kühl-Schmierstoff ein]N100 G02 X120.000 Y120.000 I30.000 J0.000 [Anfahrbogen]N110 G01 X200.000 [Gerade]N120 G02 X220.000 Y100.000 I0.000 J-20.000 [Bogen, R = 20]N130 G01 X220.000 Y40.000N140 G02 X200.000 Y20.000 I-20.000 J0.000N150 G01 X40.000N160 G02 X20.000 Y40.000 I0.000 J20.000N170 G01 Y100.000N180 G02 X40.000 Y120.000 I20.000 J0.000N190 G01 X120.000 [Kontur bearbeitet]N200 G02 X150.000 Y90.000 I0.000 J-30.000 [Abfahrweg]N270 G40 G01 Y150 Z10 M09 [Werkzeugradiusabbau und freifahren,
Kühl-Schmierstoff aus]N210 G40 G01 X120.000N220 G00 Z40.0N230 G00 X0.0 Y0.0 [Vom Werkstück wegfahren]N240 M05 [Spindel aus]N250 M30 [Programmende]8. Interpolation
CNC-Maschinen benutzen G00, G01, G02 und G03 als Interpolationsmethode, wenn sie sich zu einem Punkt bewegen.G00 und G01 sind lineare Interpolationen, G00 ist schneller als G01 im F-Register festgelegt ist.
G02 und G03 sind Kreis-Interpolationen, G02 im Uhrzeigersinn und G03 gegen den Uhrzeigersinn.
G00, G01, G02 und G03 sind modal wirksam.
Eilgang linear G00
Mit dieser Methode bewegt sich das Werkzeug, so schnell es die Maschine zulässt, zu dem programmierten Punkt. Alle Achsen bewegen sich gleichzeitig.
Lineare Vorschubgeschwindigkeit G01
Mit dieser Methode bewegt sich das Werkzeug mit der in F angegebene Geschwindigkeit zu dem programmierten Punkt. Alle Achsen bewegen sich gleichzeitig.
Kreisbogen im Uhrzeigersinn G02, Kreisbogen gegen den Uhrzeigersinn G03
Mit dieser Methode fährt das Werkzeug gleichzeitig mit zwei Achsen einen Kreisbogen in einer Ebene. Der Kreisbogen wird bei G02 im Uhrzeigersinn, bei G03 gegen den Uhrzeigersinn mit der in F angegebenen Geschwindigkeit bearbeitet.
Kreisinterpolations-Parameter: "I" für die X-Achse, "J" für die Y-Achse; und "K" für die Y-Achse.
Bei den meisten Steuerungen wird die "End Position" absolut vom Werkstücknullpunkt angegeben. "I" und "J" werden inkremental von der "Start Position" zum Radiusmittelpunkt angegeben.
Beispiel mit G02:
N100 G01 X30.0 Y10.0
N110 G02 X140.0 Y120.0 I40.0 J70.0
Erklärende Grafik zur Kreisinterpolation
9. Die wichtigsten Funktionen im G-Code
G-Funktionen
---------------------------------
G00 Punktsteuerverhalten Eilgang
G01 Geradeninterpolation
G02 Kreisinterpolation im UZ
G03 Kreisinterpolation im GUZ
G04 Verweilzeit
G17 Ebenenauswahl X, Y
G40 Löschen der Werkzeugkorrektur
G41 Werkzeugkorrektur "Links" in Konturrichtung
G42 Werkzeugkorrektur "Rechts" in Konturrichtung
G90 Absolute Maßangaben
G91 Relative Maßangaben
G92 Istwert setzen
---------------------------------
M-Funktionen
---------------------------------
M00 Programmierter Halt
M02 Programmende mit Stillsetzen
M03 Spindel ein
M05 Spindel aus
M06 Werkzeugwechsel
M08 Kühlung oder Absaugung ein
M09 Kühlung oder Absaugung aus
M30 Programmende
--------------------------------
Zusatzfunktionen
--------------------------------
% Programmanfang
N Satznummer
S Drehfrequenz der Hauptspindel
F Vorschubgeschwindigkeit
T Werkzeugnummer
Heiko Rech hat für den G-Code eine Hilfedatei zur Verfügung gestellt, bei der die einzelnen
Funktionen beschrieben sind. Sie kann hier
hier
geladen werden.