G01 CNC-Code Lineare Interpolation

G01 Lineare Interpolation in CNC-Maschinen: Der komplette Leitfaden

Die lineare Interpolation, gesteuert durch den G01-Befehl, ist einer der fundamentalsten und meistgenutzten Befehle in der CNC-Programmierung. Dieser Befehl ermöglicht es CNC-Maschinen, präzise geradlinige Bewegungen auszuführen - eine wesentliche Funktion für nahezu jede Zerspanungsoperation. In diesem umfassenden Artikel werden wir die lineare Interpolation, ihre Anwendung in verschiedenen CNC-Steuerungssystemen und ihre spezifische Verwendung in Drehmaschinen sowie Bearbeitungszentren detailliert untersuchen.

:bar_chart: Was ist G01 Lineare Interpolation?

Die G01-Funktion ist ein grundlegender Befehl im G-Code, der die Steuerung anweist, das Werkzeug in einer geraden Linie vom aktuellen Punkt zu einem neuen, definierten Zielpunkt zu bewegen. Im Gegensatz zu Rapid-Bewegungen (G00) erfolgt die Bewegung bei G01 mit einer programmierten Vorschubgeschwindigkeit (F-Wert), die präzisere und kontrollierte Schnitte ermöglicht.

Bei der linearen Interpolation berechnet die CNC-Steuerung alle notwendigen Zwischenpunkte, um eine gerade Linie zu erzeugen. Dieser Prozess wird als “Interpolation” bezeichnet, da die Steuerung zwischen dem Start- und Endpunkt “interpoliert” und die Bewegungsparameter für jede Achse kontinuierlich anpasst.

Die grundlegende Syntax des G01-Befehls lautet:

G01 X... Y... Z... F...

Wobei:

  • X, Y, Z die Zielkoordinaten in der jeweiligen Achse darstellen
  • F die Vorschubgeschwindigkeit in mm/min (oder mm/U bei Drehmaschinen) angibt

:counterclockwise_arrows_button: G01 in Drehmaschinen vs. Bearbeitungszentren

CNC-Drehmaschinen

Bei CNC-Drehmaschinen wird die G01-Funktion hauptsächlich für folgende Operationen verwendet:

  • Längsdrehen (Bewegung entlang der Z-Achse)
  • Plandrehen (Bewegung entlang der X-Achse)
  • Konturdrehen (Kombination aus X- und Z-Bewegungen)
  • Gewindestechen und Einstiche

Der G01-Befehl bei Drehmaschinen arbeitet typischerweise mit den X- und Z-Achsen, wobei:

  • Die X-Achse den Durchmesser des Werkstücks (im Durchmessermodus) kontrolliert
  • Die Z-Achse die Länge des Werkstücks kontrolliert

Ein wichtiger Aspekt bei Drehmaschinen ist der Durchmessermodus: Die X-Koordinate wird häufig als Durchmesserwert programmiert, nicht als Radiuswert. Dies bedeutet, dass eine Bewegung um X10 tatsächlich eine Bewegung des Werkzeugs um 5 mm vom Zentrum des Werkstücks darstellt.

CNC-Bearbeitungszentren

Bei Bearbeitungszentren wird G01 für zahlreiche Fräs- und Bohroperationen verwendet:

  • Konturfräsen
  • Taschen- und Nutfräsen
  • Planfräsen
  • Bohroperationen mit kontrolliertem Vorschub
  • 2.5D- und 3D-Konturbearbeitung

Im Gegensatz zu Drehmaschinen arbeiten Bearbeitungszentren typischerweise mit drei oder mehr Achsen (X, Y, Z sowie möglicherweise Rotationsachsen A, B, C), wobei alle Koordinaten direkte Positionswerte darstellen.

:desktop_computer: G01 in verschiedenen Steuerungssystemen

Fanuc-Steuerungen

Fanuc ist einer der weltweit führenden Hersteller von CNC-Steuerungen und folgt eng den standardisierten G-Code-Protokollen.

Beispiel für einen Fanuc G01-Befehl:

G01 X100 Y50 Z-10 F200

Besonderheiten bei Fanuc:

  • Modale Befehle: G01 bleibt aktiv, bis ein anderer Bewegungsbefehl (G00, G02, G03) programiert wird
  • Verwendet häufig das Wort “F” für die Vorschubrate ohne zusätzliche Parameter
  • Unterstützt Fräskompensation mit G41/G42 in Kombination mit G01

Ein komplexeres Beispielprogramm für eine Fanuc-Steuerung:

O1000 (Konturbearbeitung)
N10 G90 G54 G21 (Absolutmaße, Werkstücknullpunkt 1, Metrische Einheiten)
N20 G28 X0 Y0 Z0 (Referenzfahrt)
N30 T1 M6 (Werkzeugwechsel zu Werkzeug 1)
N40 G43 H1 Z100 (Längenkorrektur anwenden)
N50 S1200 M3 (Spindel mit 1200 U/min im Uhrzeigersinn starten)
N60 G0 X-10 Y-10 (Schnellgang zur Startposition)
N70 Z5 (Eilgang auf 5mm über dem Werkstück)
N80 G1 Z-5 F150 (Eintauchen ins Material mit Vorschub 150mm/min)
N90 X50 Y0 F300 (Lineare Bewegung mit 300mm/min)
N100 X70 Y20 (Linienbewegung zum nächsten Punkt)
N110 X100 Y20 (Linienbewegung zum nächsten Punkt)
N120 X120 Y40 (Linienbewegung zum nächsten Punkt)
N130 X100 Y60 (Linienbewegung zum nächsten Punkt)
N140 X50 Y80 (Linienbewegung zum nächsten Punkt)
N150 X0 Y60 (Linienbewegung zum nächsten Punkt)
N160 X-10 Y40 (Linienbewegung zum nächsten Punkt)
N170 X0 Y20 (Linienbewegung zum nächsten Punkt)
N180 X50 Y0 (Linienbewegung zum Ausgangspunkt)
N190 G0 Z100 (Eilgang auf Sicherheitshöhe)
N200 G28 X0 Y0 Z0 (Zurück zum Referenzpunkt)
N210 M30 (Programmende)

Siemens Sinumerik-Steuerungen

Siemens-Steuerungen bieten erweiterte Optionen für die G01-Programmierung und verwenden teilweise eine eigene Syntax.

Beispiel für einen Siemens G01-Befehl:

G01 X100 Y50 Z-10 F=200

Besonderheiten bei Siemens:

  • Verwendung des “=” Zeichens bei manchen Parametern (F=200)
  • Unterstützung für dynamische Vorschubanpassung mit FLIN, FCUB
  • Erweiterte Optionen für Übergänge mit SOFT, BRISK

Ein komplexeres Beispielprogramm für eine Siemens-Steuerung:

PROC KONTUR
;Programmbezeichnung
N10 G90 G54 G17 G710 ;Absolutmaße, WKS1, XY-Ebene, Metrisch
N20 T="FRAESER_10MM" D1 ;Werkzeugaufruf mit Name
N30 M6 ;Werkzeugwechsel
N40 WORKPIECE(,,,"ZYLINDER",192,0,-100,-150,90,60) ;Werkstückdefinition
N50 S=1200 M3 ;Spindeldrehzahl, Rechtslauf
N60 G0 X=AC(-10) Y=AC(-10) ;Schnellgang zur Startposition
N70 Z=AC(5) ;Eilgang auf Sicherheitshöhe
N80 G1 Z=AC(-5) F=150 ;Eintauchen ins Material
N90 X=AC(50) Y=AC(0) F=300 ;Linienbewegung mit 300mm/min
N100 X=AC(70) Y=AC(20) RNDM=5 ;Linienbewegung mit 5mm Rundungsradius
N110 X=AC(100) Y=AC(20) ;Linienbewegung zum nächsten Punkt
N120 X=AC(120) Y=AC(40) RNDM=5 ;Linienbewegung mit 5mm Rundungsradius
N130 X=AC(100) Y=AC(60) RNDM=5 ;Linienbewegung mit 5mm Rundungsradius
N140 X=AC(50) Y=AC(80) RNDM=5 ;Linienbewegung mit 5mm Rundungsradius
N150 X=AC(0) Y=AC(60) RNDM=5 ;Linienbewegung mit 5mm Rundungsradius
N160 X=AC(-10) Y=AC(40) RNDM=5 ;Linienbewegung mit 5mm Rundungsradius
N170 X=AC(0) Y=AC(20) RNDM=5 ;Linienbewegung mit 5mm Rundungsradius
N180 X=AC(50) Y=AC(0) ;Linienbewegung zum Ausgangspunkt
N190 G0 Z=AC(100) ;Eilgang auf Sicherheitshöhe
N200 G0 X=AC(0) Y=AC(0) ;Eilgang zum Programmnullpunkt
N210 M30 ;Programmende
RET ;Ende der Prozedur

Heidenhain-Steuerungen

Heidenhain-Steuerungen verwenden eine stark dialogorientierte Programmiersprache, die sich von standardisiertem G-Code unterscheidet.

Beispiel für einen Heidenhain-Befehl (Klartext-Programmierung):

L X+100 Y+50 Z-10 F200

Besonderheiten bei Heidenhain:

  • Verwendung von “L” statt “G01” für lineare Bewegungen
  • Vorzeichen bei Koordinatenangaben (X+100)
  • Starke Integration von grafisch unterstützter Dialogprogrammierung

Ein komplexeres Beispielprogramm für eine Heidenhain-Steuerung:

BEGIN PGM KONTUR MM
; Programmbezeichnung und Maßeinheit
BLK FORM 0.1 Z X+0 Y+0 Z-20
BLK FORM 0.2 X+100 Y+100 Z+0
; Werkstückdefinition

TOOL CALL 5 Z S1200 F300
; Werkzeugruf Nr. 5, Spindeldrehzahl 1200, Vorschub 300mm/min

L Z+100 R0 FMAX M3
; Eilgang auf Sicherheitshöhe, Spindel ein

L X-10 Y-10 R0 FMAX
; Eilgang zur Startposition

L Z+5 R0 FMAX
; Eilgang auf 5mm über Werkstück

L Z-5 F150
; Eintauchen mit Vorschub 150mm/min

L X+50 Y+0 RL F300
; Linienbewegung mit Radiuskorrektur links

L X+70 Y+20
; Linienbewegung zum nächsten Punkt

L X+100 Y+20
; Linienbewegung zum nächsten Punkt

L X+120 Y+40
; Linienbewegung zum nächsten Punkt

L X+100 Y+60
; Linienbewegung zum nächsten Punkt

L X+50 Y+80
; Linienbewegung zum nächsten Punkt

L X+0 Y+60
; Linienbewegung zum nächsten Punkt

L X-10 Y+40
; Linienbewegung zum nächsten Punkt

L X+0 Y+20
; Linienbewegung zum nächsten Punkt

L X+50 Y+0
; Linienbewegung zum Ausgangspunkt

L Z+100 R0 FMAX
; Eilgang auf Sicherheitshöhe

L X+0 Y+0 R0 FMAX
; Eilgang zur Grundposition

L Z+0 R0 FMAX M30
; Programmende

END PGM KONTUR MM

Mazatrol-Steuerungen

Mazatrol von Mazak nutzt einen stark werkstattorientierten Programmieransatz, der sich deutlich von traditionellem G-Code unterscheidet. Die Programmierung erfolgt hauptsächlich über grafische Eingabemasken, unterstützt jedoch auch G-Code-basierte EIA/ISO-Programme.

In der Mazatrol-spezifischen Programmierung wird nicht direkt mit G01 programmiert, sondern über spezielle Eingabemasken für die jeweiligen Bearbeitungsoperationen. Im EIA/ISO-Modus (G-Code) funktioniert G01 jedoch ähnlich wie bei anderen Steuerungen.

Beispiel für einen Mazatrol G-Code (EIA/ISO-Modus):

G01 X100. Y50. Z-10. F200

Besonderheiten bei Mazatrol:

  • Parallele Unterstützung von Mazatrol- und G-Code-Programmierung
  • Bei Dezimalzahlen wird oft ein Punkt auch bei ganzen Zahlen verwendet (X100.)
  • Starke Ausrichtung auf Werkstattprogrammierung mit minimaler Codekenntnis

Ein Beispielprogramm im EIA/ISO-Modus für Mazatrol:

O1000 (KONTURBEARBEITUNG)
N10 G90 G54 G21 (ABSOLUTMASSE, WKS1, METRISCH)
N20 G28 X0 Y0 Z0 (REFERENZFAHRT)
N30 T1 M6 (WERKZEUGWECHSEL)
N40 G43 H1 Z100. (LAENGENKORREKTUR)
N50 S1200 M3 (SPINDEL AN)
N60 G0 X-10. Y-10. (EILGANG ZUR STARTPOSITION)
N70 Z5. (EILGANG AUF SICHERHEITSHOEHE)
N80 G1 Z-5. F150. (EINTAUCHEN)
N90 X50. Y0. F300. (LINIENBEWEGUNG)
N100 X70. Y20. (LINIENBEWEGUNG)
N110 X100. Y20. (LINIENBEWEGUNG)
N120 X120. Y40. (LINIENBEWEGUNG)
N130 X100. Y60. (LINIENBEWEGUNG)
N140 X50. Y80. (LINIENBEWEGUNG)
N150 X0. Y60. (LINIENBEWEGUNG)
N160 X-10. Y40. (LINIENBEWEGUNG)
N170 X0. Y20. (LINIENBEWEGUNG)
N180 X50. Y0. (LINIENBEWEGUNG)
N190 G0 Z100. (EILGANG AUF SICHERHEITSHOEHE)
N200 G28 X0. Y0. Z0. (RUECKKEHR ZUM REFERENZPUNKT)
N210 M30 (PROGRAMMENDE)

Mitsubishi-Steuerungen

Mitsubishi-Steuerungen folgen weitgehend dem Standard-G-Code-Format, bieten jedoch einige spezifische Erweiterungen.

Beispiel für einen Mitsubishi G01-Befehl:

G01 X100. Y50. Z-10. F200

Besonderheiten bei Mitsubishi:

  • Unterstützung für Nanometer-Präzision in neueren Steuerungen
  • Erweiterte High-Speed-Modi für G01-Bewegungen
  • Spezielle Parameter für Beschleunigungssteuerung

Ein komplexeres Beispielprogramm für eine Mitsubishi-Steuerung:

O1000 (KONTURBEARBEITUNG)
N10 G90 G54 G21 (ABSOLUTMASSE, WKS1, METRISCH)
N20 G28 X0. Y0. Z0. (REFERENZFAHRT)
N30 T1 M6 (WERKZEUGWECHSEL)
N40 G43 H1 Z100. (LAENGENKORREKTUR)
N50 S1200 M3 (SPINDEL AN)
N60 G0 X-10. Y-10. (EILGANG ZUR STARTPOSITION)
N70 Z5. (EILGANG AUF SICHERHEITSHOEHE)
N80 G1 Z-5. F150. (EINTAUCHEN)
N90 X50. Y0. F300. (LINIENBEWEGUNG)
N100 X70. Y20. ,R5 (LINIENBEWEGUNG MIT 5MM RADIUS AM ENDE)
N110 X100. Y20. (LINIENBEWEGUNG)
N120 X120. Y40. ,R5 (LINIENBEWEGUNG MIT 5MM RADIUS AM ENDE)
N130 X100. Y60. ,R5 (LINIENBEWEGUNG MIT 5MM RADIUS AM ENDE)
N140 X50. Y80. ,R5 (LINIENBEWEGUNG MIT 5MM RADIUS AM ENDE)
N150 X0. Y60. ,R5 (LINIENBEWEGUNG MIT 5MM RADIUS AM ENDE)
N160 X-10. Y40. ,R5 (LINIENBEWEGUNG MIT 5MM RADIUS AM ENDE)
N170 X0. Y20. ,R5 (LINIENBEWEGUNG MIT 5MM RADIUS AM ENDE)
N180 X50. Y0. (LINIENBEWEGUNG)
N190 G0 Z100. (EILGANG AUF SICHERHEITSHOEHE)
N200 G28 X0. Y0. Z0. (RUECKKEHR ZUM REFERENZPUNKT)
N210 M30 (PROGRAMMENDE)

Haas-Steuerungen

Haas-Steuerungen basieren auf dem Fanuc-Protokoll, haben aber einige spezifische Erweiterungen und Besonderheiten.

Beispiel für einen Haas G01-Befehl:

G01 X100 Y50 Z-10 F200

Besonderheiten bei Haas:

  • Stark an Fanuc angelehnte Syntax
  • Erweiterte Einstellungen über spezielle Parameternummern (Settings)
  • Spezifische Makros für häufige Aufgaben

Ein komplexeres Beispielprogramm für eine Haas-Steuerung:

O01000 (KONTURBEARBEITUNG)
N10 G90 G54 G21 (ABSOLUTMASSE, WKS1, METRISCH)
N20 G28 X0 Y0 Z0 (REFERENZFAHRT)
N30 T1 M6 (WERKZEUGWECHSEL)
N40 G43 H1 Z100. (LAENGENKORREKTUR)
N50 S1200 M3 (SPINDEL AN)
N60 G0 X-10. Y-10. (EILGANG ZUR STARTPOSITION)
N70 Z5. (EILGANG AUF SICHERHEITSHOEHE)
N80 G1 Z-5. F150. (EINTAUCHEN)
N90 X50. Y0. F300. (LINIENBEWEGUNG)
N100 G1 X70. Y20. (LINIENBEWEGUNG)
N110 G1 X100. Y20. (LINIENBEWEGUNG)
N120 G1 X120. Y40. (LINIENBEWEGUNG)
N130 G1 X100. Y60. (LINIENBEWEGUNG)
N140 G1 X50. Y80. (LINIENBEWEGUNG)
N150 G1 X0. Y60. (LINIENBEWEGUNG)
N160 G1 X-10. Y40. (LINIENBEWEGUNG)
N170 G1 X0. Y20. (LINIENBEWEGUNG)
N180 G1 X50. Y0. (LINIENBEWEGUNG)
N190 G0 Z100. (EILGANG AUF SICHERHEITSHOEHE)
N200 G28 X0. Y0. Z0. (RUECKKEHR ZUM REFERENZPUNKT)
N210 M30 (PROGRAMMENDE)

:hammer_and_wrench: Fortgeschrittene G01-Anwendungen

Lineare Interpolation mit Werkzeugkompensation

Die meisten Steuerungen unterstützen Werkzeugkompensation in Verbindung mit G01, beispielsweise:

  • G41: Werkzeugkompensation links
  • G42: Werkzeugkompensation rechts
  • G40: Werkzeugkompensation aufheben

Ein Beispiel mit Werkzeugkompensation:

N10 G90 G54 G21
N20 T1 M6
N30 G43 H1 Z100
N40 S1200 M3
N50 G00 X-20 Y-20
N60 Z5
N70 G01 Z-5 F150
N80 G41 D1 X0 Y0 F300 (Startpunkt mit Werkzeugkompensation links)
N90 G01 X100 Y0
N100 G01 X100 Y100
N110 G01 X0 Y100
N120 G01 X0 Y0
N130 G40 G01 X-20 Y-20 (Werkzeugkompensation aufheben)
N140 G00 Z100
N150 G28 X0 Y0 Z0
N160 M30

Präzise Eckenbearbeitung

Verschiedene Steuerungen bieten unterschiedliche Methoden zur Kontrolle des Verhaltens an Ecken:

  • Fanuc: G61 (Exakter Stopp-Modus), G64 (Kontinuierlicher Modus)
  • Siemens: SOFT, BRISK, COMPCAD
  • Heidenhain: M120 (Look-ahead)

Ein Beispiel mit Eckensteuerung für Fanuc:

N10 G90 G54 G21
N20 T1 M6
N30 G43 H1 Z100
N40 S1200 M3
N50 G61 (Exakter Stopp-Modus aktivieren)
N60 G00 X-10 Y-10
N70 Z5
N80 G01 Z-5 F150
N90 G01 X50 Y0 F300
N100 G01 X100 Y50
N110 G01 X50 Y100
N120 G01 X0 Y50
N130 G01 X50 Y0
N140 G00 Z100
N150 G64 (Zurück zum kontinuierlichen Modus)
N160 G28 X0 Y0 Z0
N170 M30

:light_bulb: Tipps und Tricks für effektive G01-Programmierung

Optimierte Vorschubgeschwindigkeiten

Die richtige Auswahl der Vorschubgeschwindigkeit ist entscheidend für die Bearbeitungsqualität und Werkzeugstandzeit:

  • Für Rohbearbeitung: Höhere Vorschübe (abhängig vom Material und Werkzeug)
  • Für Schlichtbearbeitung: Niedrigere Vorschübe für bessere Oberflächenqualität
  • Bei Richtungsänderungen: Anpassung des Vorschubs für gleichmäßige Bearbeitung

Parametrische Programmierung mit G01

Viele moderne Steuerungen unterstützen parametrische Programmierung, die besonders nützlich für G01-Bewegungen sein kann:

Fanuc-Beispiel mit Parametern:

#100 = 50 (Länge X)
#101 = 30 (Länge Y)
#102 = 300 (Vorschub)

G01 X#100 Y#101 F#102

Siemens-Beispiel mit Parametern:

R10 = 50 (Länge X)
R11 = 30 (Länge Y)
R12 = 300 (Vorschub)

G01 X=R10 Y=R11 F=R12

G01 vs. Kreisinterpolation (G02/G03)

Während G01 für gerade Linien verwendet wird, werden gekrümmte Konturen oft mit G02 (Kreisinterpolation im Uhrzeigersinn) oder G03 (Kreisinterpolation gegen den Uhrzeigersinn) programmiert. Bei komplexen Konturen kann es sinnvoll sein, zwischen diesen Befehlen zu wechseln:

N10 G90 G54 G21
N20 G01 X0 Y0 Z-5 F300
N30 G01 X50 Y0
N40 G03 X100 Y50 R50 (Kreisbogen gegen den Uhrzeigersinn)
N50 G01 X100 Y100
N60 G02 X50 Y150 R50 (Kreisbogen im Uhrzeigersinn)
N70 G01 X0 Y100
N80 G01 X0 Y0
N90 G00 Z100
N100 M30

:chart_increasing: G01 und die moderne CNC-Fertigung

Die lineare Interpolation mit G01 bleibt auch in modernen CNC-Anwendungen grundlegend, wird jedoch durch neue Technologien ergänzt:

High-Speed-Machining (HSM)

Bei HSM werden spezielle Algorithmen verwendet, um die Bewegungsbahnen zu optimieren und abrupte Richtungsänderungen zu vermeiden. Dies ermöglicht höhere Vorschubgeschwindigkeiten und bessere Oberflächenqualität.

5-Achsen-Bearbeitung

In 5-Achsen-Anwendungen wird G01 mit Rotationsachsen kombiniert:

G01 X100 Y50 Z-10 A30 B45 F200

Hierbei positionieren sich die Rotationsachsen A und B zusätzlich zu den linearen Achsen.

CAM-Integration

Moderne CAM-Systeme erzeugen automatisch optimierte G01-Pfade, wobei der Programmierer selten direkt mit dem G-Code interagiert. Dennoch ist das Verständnis der G01-Funktion wichtig für die Optimierung und Fehlersuche.

:magnifying_glass_tilted_left: Fazit

Die G01-Funktion für lineare Interpolation ist ein unentbehrlicher Bestandteil der CNC-Programmierung. Obwohl die grundlegende Funktion über alle Steuerungssysteme hinweg ähnlich ist, bieten die verschiedenen Hersteller zusätzliche Funktionen und Syntaxvarianten, die es zu beherrschen gilt.

Das Verständnis der steuerungsspezifischen Besonderheiten von G01 ermöglicht es CNC-Programmierern und Bedienern, effizientere und präzisere Programme zu erstellen, unabhängig davon, ob sie an Drehmaschinen oder Bearbeitungszentren arbeiten.

Mit der zunehmenden Automatisierung und Integration von CAD/CAM-Systemen bleibt die lineare Interpolation mit G01 ein Grundpfeiler der CNC-Bearbeitung, auf dem fortschrittlichere Funktionen und Technologien aufbauen.