1. Konventionen

In diesem Abschnitt verwendete Konventionen

In den G-Code-Prototypen steht der Bindestrich (-) für einen realen Wert und (<>) für ein optionales Element.

Wenn "L-" in einem Prototyp geschrieben wird, so wird das "-" oft als "L-Nummer" bezeichnet, und so weiter für jeden anderen Buchstaben.

In den G-Code-Prototypen steht das Wort "Achsen" (oder noch englisch "axes") für jede Achse, die in Ihrer Konfiguration definiert ist.

Ein optionaler Wert wird wie folgt geschrieben: <L- >.

Ein echter Wert kann sein:

  • Eine explizite Zahl, 4

  • Ein Ausdruck, [2+2]

  • Ein Parameterwert, #88

  • Ein unärer Funktionswert, acos[0]

In den meisten Fällen, wenn "Achsen"-Wörter angegeben werden (einige oder alle von "X Y Z A B C U V W"), geben sie einen Zielpunkt an.

Die Achsennummern beziehen sich auf das derzeit aktive Koordinatensystem, es sei denn, es wird ausdrücklich als absolutes Koordinatensystem bezeichnet.

Wenn Achsenwörter optional sind, behalten ausgelassene Achsen ihren ursprünglichen Wert.

Alle Elemente in den G-Code-Prototypen, die nicht ausdrücklich als optional beschrieben werden, sind obligatorisch.

Die Werte, die auf Buchstaben folgen, werden oft als explizite Zahlen angegeben. Sofern nicht anders angegeben, können die expliziten Zahlen reelle Werte sein. Zum Beispiel könnte "G10 L2" genauso gut als "G[2*5] L[1+1]" geschrieben werden. Wäre der Wert des Parameters 100 gleich 2, würde "G10 L#100" dasselbe bedeuten.

Wenn "L-" in einem Prototyp geschrieben wird, so wird das "-" oft als "L-Nummer" bezeichnet, und so weiter für jeden anderen Buchstaben.

2. G-Code Quick Reference Table

Code Beschreibung

G0

Koordinierte Bewegung im Eiltempo

G1

Koordinierte Bewegung mit Vorschubgeschwindigkeit

G2 G3

Koordinierte schraubenförmige (helikale) Bewegung mit Vorschubgeschwindigkeit

G4

Verweilen (engl. dwell)

G5

Kubischer Spline

G5.1

Quadratischer B-Spline

G5.2

NURBS, Kontrollpunkt hinzufügen

G7

Durchmesser-Modus (Drehmaschine)

G8

Radius-Modus (Drehmaschine)

G10 L0

Werkzeug-Tabellendaten neu laden

G10 L1

Werkzeugtabelleneintrag festlegen

G10 L10

Bestimme Werkzeugtabelle, Berechnet, Werkstück

G10 L11

Bestimme Werkzeugtabelle, Berechnet, Spannmittel

G10 L2

Festlegung des Koordinatensystem-Ursprungs

G10 L20

Ursprungseinstellung des Koordinatensystems berechnet

G17 - G19.1

Ebene auswählen

G20 G21

Maßeinheiten festlegen

G28 - G28.1

Zur vordefinierten Position gehen

G30 - G30.1

Zur vordefinierten Position gehen

G33

Spindelsynchronisierte Bewegung

G33.1

Starres Gewindeschneiden

G38.2 - G38.5

Sondieren

G40

Fräserkompensation abbrechen

G41 G42

Fräserkompensation

G41.1 G42.1

Dynamische Fräserkompensation

G43

Werkzeuglängenversatz aus der Werkzeugtabelle verwenden

G43.1

Dynamischer Werkzeuglängenversatz

G43.2

Zusätzlichen Werkzeuglängenversatz anwenden

G49

Werkzeuglängenversatz abbrechen

G52

Versatz des lokalen Koordinatensystems

G53

Bewegen in Maschinenkoordinaten

G54-G59.3

Koordinatensystem auswählen (1 - 9)

G61

Exakter Pfad Modus

G61.1

Exakter Stopp-Modus

G64

Bahnsteuerungsmodus mit optionaler Toleranz

G70

Endbearbeitungszyklus der Drehmaschine

G71-G72

Schruppzyklus der Drehmaschine

G73

Bohrzyklus mit Spanbruch

G74

Linkshändiger Gewindeschneidzyklus mit Verweilzeit

G76

Gewindeschneidzyklus mit mehreren Durchgängen (Drehmaschine)

G80

Bewegungsmodi abbrechen

G81

Bohrzyklus

G82

Bohrzyklus mit Verweilzeit (engl. dwell)

G83

Bohrzyklus mit Peck

G84

Rechtsgewinde-Bohrzyklus mit Verweilzeit (engl. dwell)

G85

Bohrzyklus, keine Verweilzeit, Vorschub

G86

Bohrzyklus, Stopp, Eilgang raus

G87

Back-boring Cycle (noch nicht implementiert)

G88

Boring Cycle, Stop, Manual Out (noch nicht implementiert)

G89

Bohrzyklus, Verweilen, Vorschub Raus

G90 G91

Distanz-Modus

G90.1 G91.1

Bogenabstandsmodus (engl. Arc Distance Mode)

G92

Koordinatensystem-Versatz

G92.1 G92.2

G92-Offsets abbrechen

G92.3

G92 Offsets wiederherstellen

G93 G94 G95

Vorschub-Modi (engl. feed modes)

G96 G97

Spindelsteuerungsmodus, konstante Oberfläche vs. Drehzahl (IPM oder m/min vs. U/min)

G98 G99

Canned Cycle Z Rückzugsmodus

3. G0 Rapid Move

G0 <Achsen>

Für den Eilgang programmieren Sie G0-Achsen, wobei alle Achsenwörter optional sind. Das G0 ist optional, wenn der aktuelle Bewegungsmodus G0 ist. Dies führt zu einer koordinierten Bewegung zum Zielpunkt mit der maximalen Eilgeschwindigkeit (oder langsamer). G0 wird typischerweise als Positionierbewegung verwendet.

3.1. Eilgangs-Geschwindigkeitsrate

Die Einstellung MAX_VELOCITY im Abschnitt [TRAJ] der INI-Datei definiert die maximale Eilganggeschwindigkeit. Die maximale Eilganggeschwindigkeit kann bei einer koordinierten Bewegung höher sein als die MAX_VELOCITY-Einstellung der einzelnen Achsen. Der maximale Eilgang kann langsamer sein als die MAX_VELOCITY-Einstellung in der Sektion [TRAJ], wenn eine Achsen-MAX_VELOCITY oder Trajektorienbeschränkungen ihn begrenzen.

G0 Beispiel
G90 (Einstellung des absoluten Abstandsmodus)
G0 X1 Y-2.3 (Schnelle lineare Bewegung von der aktuellen Position zu X1 Y-2.3)
M2 (Programm beenden)
  • Siehe G90 & M2 für weitere Informationen.

Wenn die Fräserkompensation aktiv ist, weicht die Bewegung von der obigen ab; siehe Abschnitt Fräser-Kompensation.

Wenn G53 in der gleichen Zeile programmiert wird, unterscheidet sich auch die Bewegung; siehe den Abschnitt G53 für weitere Informationen.

Die Bahn einer G0-Eilgangbewegung kann bei Richtungsänderungen abgerundet werden und hängt von den Trajektions-Steuerung (engl. trajectory control)-Einstellungen und der maximalen Beschleunigung der Achsen ab.

Es ist ein Fehler, wenn:

  • Ein Achsenbuchstabe ohne reellen (Gleitkommazahl) Wert angegeben wird.

  • Ein Achsenbuchstabe verwendet wird, der nicht konfiguriert ist.

4. G1 Linear Move

G1-Achsen

Für eine lineare (geradlinige) Bewegung mit der programmierten Vorschubgeschwindigkeit (zum Schneiden oder nicht), programmieren Sie G1 'Achsen', wobei alle Achsenwörter optional sind. Das G1 ist optional, wenn der aktuelle Bewegungsmodus G1 ist. Dies führt zu einer koordinierten Bewegung zum Zielpunkt mit der aktuellen Vorschubgeschwindigkeit (oder langsamer).

G1 Beispiel
G90 (absoluter Abstandsmodus einstellen)
G1 X1.2 Y-3 F10 (lineare Bewegung mit einem Vorschub von 10 von der aktuellen Position nach X1.2 Y-3)
Z-2.3 (lineare Bewegung mit gleichem Vorschub von der aktuellen Position nach Z-2.3)
Z1 F25 (lineare Bewegung mit einem Vorschub von 25 von der aktuellen Position nach Z1)
M2 (Programm beenden)
  • Siehe die Abschnitte G90 & F & M2 für weitere Informationen.

Wenn die Fräserkompensation aktiv ist, weicht die Bewegung von der obigen ab; siehe Abschnitt Fräser-Kompensation.

Wenn G53 in der gleichen Zeile programmiert wird, unterscheidet sich auch die Bewegung; siehe den Abschnitt G53 für weitere Informationen.

Es ist ein Fehler, wenn:

  • Es wurde keine Vorschubgeschwindigkeit eingestellt.

  • Ein Achsenbuchstabe ohne reellen (Gleitkommazahl) Wert angegeben wird.

  • Ein Achsenbuchstabe verwendet wird, der nicht konfiguriert ist.

5. G2, G3 Arc Move

G2 oder G3 Achsen Offsets (Zentrum-Format)
G2 oder G3 Achsen R- (Radius-Format)
G2 oder G3 Offsets|R- <P-> (Vollkreise)

Ein kreisförmiger oder spiralförmiger ("helikaler") Bogen wird entweder mit G2 (Bogen im Uhrzeigersinn) oder G3 (Bogen gegen den Uhrzeigersinn) mit dem aktuellen Vorschub angegeben. Die Richtung (im oder gegen den Uhrzeigersinn, engl. kurz CW oder CCW) ist vom positiven Ende der Achse aus gesehen, um welche die Kreisbewegung erfolgt.

Die Achse des Kreises oder der Spirale/Helix muss parallel zur X-, Y- oder Z-Achse des Maschinenkoordinatensystems liegen. Die Achse (bzw. die Ebene senkrecht zur Achse) wird mit G17 (Z-Achse, XY-Ebene), G18 (Y-Achse, XZ-Ebene) oder G19 (X-Achse, YZ-Ebene) ausgewählt. Die Ebenen 17.1, 18.1 und 19.1 werden derzeit nicht unterstützt. Wenn der Bogen kreisförmig ist, liegt er in einer Ebene parallel zur ausgewählten Ebene.

Um eine Helix zu programmieren, fügen Sie das Achsenwort senkrecht zur Bogenebene ein, z.B. wenn Sie in der Ebene G17 sind, fügen Sie ein Z-Wort ein. Dies bewirkt, dass sich die Z-Achse während der kreisförmigen XY-Bewegung auf den programmierten Wert bewegt.

Um einen Bogen zu programmieren, der mehr als eine volle Umdrehung ergibt, verwenden Sie das Wort "P", das die Anzahl der vollen Umdrehungen plus des programmierten Bogens angibt. Das P-Wort muss eine ganze Zahl sein. Wird P nicht angegeben, verhält es sich so, als ob P1 eingegeben wurde, d.h. es wird nur eine volle oder teilweise Umdrehung ausgeführt. Wird z. B. ein Bogen von 180 Grad mit P2 programmiert, beträgt die resultierende Bewegung 1 1/2 Umdrehungen. Für jedes P-Inkrement über 1 wird dem programmierten Bogen ein zusätzlicher Vollkreis hinzugefügt. Spiralförmige/helikale Bewegungen mit mehreren Umdrehungen werden unterstützt und ermöglichen Bewegungen, die zum Fräsen von Löchern oder Gewinden nützlich sind.

Warnung
Wenn die Steigung der Helix sehr klein ist (kleiner als die naive CAM tolerance), wird die Helix möglicherweise in eine gerade Linie umgewandelt. Bug #222

Wenn eine Codezeile einen Bogen macht und eine Drehachsenbewegung enthält, drehen sich die Drehachsen mit einer konstanten Geschwindigkeit, so dass die Drehbewegung beginnt und endet, wenn die XYZ-Bewegung beginnt und endet. Zeilen dieser Art werden fast nie programmiert.

Wenn die Fräserkompensation aktiv ist, weicht die Bewegung von der obigen ab; siehe Abschnitt Fräser-Kompensation.

Der Bogenmittelpunkt ist absolut oder relativ, wie mit G90.1 oder G91.1 festgelegt.

Für die Angabe eines Bogens sind zwei Formate zulässig: Zentrumsformat und Radiusformat.

Es ist ein Fehler, wenn:

  • Es wurde keine Vorschubgeschwindigkeit eingestellt.

  • Das P-Wort ist keine ganze Zahl.

5.1. Bögen durch ihr Zentrum beschrieben

Bögen mit bekannter Mitte sind genauer als Bögen im Radiusformat und werden daher bevorzugt verwendet.

Der Endpunkt des Bogens und der Abstand zum Mittelpunkt des Bogens von der aktuellen Position werden verwendet, um Bögen zu programmieren, die weniger als ein Vollkreis sind. Es ist in Ordnung, wenn der Endpunkt des Bogens mit der aktuellen Position identisch ist.

Zur Programmierung von Vollkreisen werden der Abstand zum Mittelpunkt des Bogens von der aktuellen Position und optional die Anzahl der Wiederholungen verwendet.

Bei der Programmierung von Bögen kann es zu Rundungsfehlern kommen, wenn eine Genauigkeit von weniger als 4 Dezimalstellen (0.0000) bei Zoll und weniger als 3 Dezimalstellen (0.000) bei Millimetern verwendet wird. Es wird ein Dezimalpunkt erwartet.

Inkrementeller Bogenabstands-Modus (engl. Incremental Arc Distance Mode)

Der Bogenmittelpunktsabstand ist ein relativer Abstand von der Startposition des Bogens. Standardmäßig ist der Modus Inkrementelle Bogenentfernung (engl. incremental arc distance) eingestellt.

Für einen Bogen, der weniger als 360 Grad beträgt, müssen ein oder mehrere Achsenwörter und ein oder mehrere Offsets programmiert werden.

Für Vollkreise müssen keine Achsenwörter und ein oder mehrere Offsets programmiert werden. Das P-Wort ist standardmäßig auf 1 eingestellt und ist optional.

Weitere Informationen zum Modus "Inkrementeller Bogenabstand" finden Sie im Abschnitt G91.1.

Absoluter Bogenabstands-Modus

Bogenmittelpunktsverschiebungen sind der absolute Abstand von der aktuellen 0-Position der Achse.

Für Bögen unter 360 Grad müssen ein oder mehrere Achsenwörter und beide Offsets programmiert werden.

Für Vollkreise müssen keine Achsenwörter und ein oder mehrere Offsets programmiert werden. Das P-Wort ist standardmäßig auf 1 eingestellt und ist optional.

Weitere Informationen zum Modus Absoluter Bogenabstand finden Sie im Abschnitt G90.1.

XY-Ebene (G17)
G2 or G3 <X- Y- Z- I- J- P->
  • Z - Helix

  • I - X offset

  • J - Y offset

  • P - Anzahl der Umdrehungen

XZ-Ebene (G18)
G2 or G3 <X- Z- Y- I- K- P->
  • Y - Helix

  • I - X offset

  • K - Z-Offset

  • P - Anzahl der Umdrehungen

YZ-Ebene (G19)
G2 or G3 <Y- Z- X- J- K- P->
  • X - Helix

  • J - Y offset

  • K - Z-Offset

  • P - Anzahl der Umdrehungen

Es ist ein Fehler, wenn:

  • Mit dem Wort F wird keine Vorschubgeschwindigkeit eingestellt.

  • Es werden keine Offsets programmiert.

  • Wenn der Bogen auf die ausgewählte Ebene projiziert wird, weicht der Abstand zwischen dem aktuellen Punkt und dem Mittelpunkt um mehr als (.05 inch/.5 mm) ODER ((.0005 inch/.005mm) AND .1% des Radius) von dem Abstand zwischen dem Endpunkt und dem Mittelpunkt ab.

Entschlüsselung der Fehlermeldung Radius am Ende des Bogens unterscheidet sich vom Radius am Anfang:

  • start - die aktuelle Position

  • center - die Mittelposition, wie sie unter Verwendung der Wörter i, j oder k berechnet wird

  • end - der programmierte Endpunkt

  • r1 - Radius von der Startposition zum Zentrum

  • r2 - Radius von der Endposition zur Mitte

5.2. Beispiele für Center-Formate

Das Berechnen von Bögen von Hand kann manchmal schwierig sein. Eine Möglichkeit besteht darin, den Bogen mit einem CAD-Programm zu zeichnen, um die Koordinaten und Offsets zu erhalten. Denken Sie an die oben erwähnte Toleranz, Sie müssen möglicherweise die Präzision Ihres CAD-Programms ändern, um die gewünschten Ergebnisse zu erzielen. Eine weitere Möglichkeit besteht darin, die Koordinaten und den Versatz mithilfe von Formeln zu berechnen. Wie Sie in den folgenden Abbildungen sehen können, kann aus der aktuellen Position, der Endposition und dem Bogenmittelpunkt ein Dreieck gebildet werden.

In der folgenden Abbildung sehen Sie, dass die Startposition X0 Y0 und die Endposition X1 Y1 ist. Der Mittelpunkt des Bogens befindet sich bei X1 Y0. Damit ergibt sich ein Offset von der Startposition von 1 in der X-Achse und 0 in der Y-Achse. In diesem Fall ist nur ein I-Offset erforderlich.

G2-Beispielzeile
G0 X0 Y0
G2 X1 Y1 I1 F10 (Bogen im Uhrzeigersinn in der XY-Ebene)
G2-Beispiel
Abbildung 1. G2-Beispiel

Im nächsten Beispiel sehen wir den Unterschied zwischen den Offsets für Y, wenn wir eine G2 oder eine G3 Bewegung ausführen. Bei der G2-Bewegung ist die Startposition X0 Y0, bei der G3-Bewegung ist sie X0 Y1. Der Mittelpunkt des Bogens liegt für beide Bewegungen bei X1 Y0,5. Bei der G2-Bewegung beträgt der J-Versatz 0,5 und bei der G3-Bewegung -0,5.

G2-G3 Beispielzeile
G0 X0 Y0
G2 X0 Y1 I1 J0.5 F25 (Bogen im Uhrzeigersinn in der XY-Ebene)
G3 X0 Y0 I1 J-0.5 F25 (Bogen im Gegenuhrzeigersinn in der XY-Ebene)
G2-G3 Beispiel
Abbildung 2. G2-G3 Beispiel

Im nächsten Beispiel zeigen wir, wie der Bogen eine Helix in der Z-Achse bilden kann, indem wir das Z-Wort hinzufügen.

G2 Beispiel Helix
G0 X0 Y0 Z0
G17 G2 X10 Y16 I3 J4 Z-1 (Helixbogen mit Z hinzugefügt)

Im nächsten Beispiel zeigen wir, wie man mit dem Wort P mehr als einen Zug machen kann.

P-Wort-Beispiel
G0 X0 Y0 Z0
G2 X0 Y1 Z-1 I1 J0.5 P2 F25

Im Mittelpunktsformat wird der Radius des Bogens nicht angegeben, aber er kann leicht als Abstand vom Mittelpunkt des Kreises zum aktuellen Punkt oder zum Endpunkt des Bogens ermittelt werden.

5.3. Bögen im Radiusformat

G2 oder G3 Achsen R- <P->
  • R - Radius von der aktuellen Position

Es ist nicht ratsam, Radiusformatbögen zu programmieren, die fast Vollkreise oder fast Halbkreise sind, da eine kleine Änderung der Position des Endpunkts eine viel größere Änderung der Position des Kreismittelpunkts (und damit der Mitte des Bogens) bewirkt. Der Vergrößerungseffekt ist so groß, dass Rundungsfehler in einer Zahl zu Schnitten führen können, die außerhalb der Toleranzen liegen. So führt beispielsweise eine Verschiebung des Endpunkts eines 180-Grad-Bogens um 1 % zu einer Verschiebung des Punkts um 90 Grad entlang des Bogens um 7 %. Nahezu vollständige Kreise sind noch schlimmer. Bögen anderer Größe (im Bereich von winzig bis 165 Grad oder 195 bis 345 Grad) sind in Ordnung.

Im Radiusformat werden die Koordinaten des Endpunktes des Bogens in der ausgewählten Ebene zusammen mit dem Radius des Bogens angegeben. Programm G2 Achsen R- (oder verwenden Sie G3 anstelle von G2 ). R ist der Radius. Die Achsenwörter sind alle optional, außer dass mindestens eines der beiden Wörter für die Achsen in der ausgewählten Ebene verwendet werden muss. Die Zahl R ist der Radius. Ein positiver Radius bedeutet, dass der Bogen um weniger als 180 Grad gedreht wird, während ein negativer Radius eine Drehung von mehr als 180 Grad bedeutet. Wenn der Bogen schraubenförmig ist, wird auch der Wert des Endpunkts des Bogens auf der Koordinatenachse parallel zur Achse der Schraubenlinie angegeben.

Es ist ein Fehler, wenn:

  • die beiden Achsenwörter für die Achsen der ausgewählten Ebene werden weggelassen

  • der Endpunkt des Bogens ist derselbe wie der aktuelle Punkt.

G2-Beispielzeile
G17 G2 X10 Y15 R20 Z5 (Radiusformat mit Bogen)

Das obige Beispiel ergibt einen (von der positiven Z-Achse aus gesehen) im Uhrzeigersinn verlaufenden Kreis- oder Helix-/Spiralbogen, dessen Achse parallel zur Z-Achse verläuft und an den Stellen X=10, Y=15 und Z=5 endet, mit einem Radius von 20. Wenn der Startwert von Z gleich 5 ist, handelt es sich um einen Kreisbogen parallel zur XY-Ebene; andernfalls handelt es sich um einen Helixbogen.

6. G4 Dwell

G4 P-
  • P - Sekunden zum Verweilen (Gleitkomma)

Die P-Zahl ist die Zeit in Sekunden, die alle Achsen unbewegt bleiben. Die P-Zahl ist eine Fließkommazahl, so dass auch Sekundenbruchteile verwendet werden können. G4 hat keinen Einfluss auf Spindel, Kühlmittel und E/A.

G4 Beispielzeile
G4 P0.5 (wartet 0,5 Sekunden bevor Bewegungen fortfahren)

Es ist ein Fehler, wenn:

  • die P-Nummer ist negativ oder nicht angegeben.

7. G5 Cubic Spline

G5 X- Y- <I- J-> P- Q-
  • I - X inkrementeller Offset vom Startpunkt zum ersten Kontrollpunkt

  • J - Y inkrementeller Versatz vom Startpunkt zum ersten Kontrollpunkt

  • P - X inkrementeller Offset vom Endpunkt zum zweiten Kontrollpunkt

  • Q - Y inkrementeller Offset vom Endpunkt zum zweiten Kontrollpunkt

G5 erstellt einen kubischen B-Spline in der XY-Ebene nur mit den Achsen X und Y. P und Q müssen für jeden G5-Befehl angegeben werden.

Für den ersten G5-Befehl in einer Reihe von G5-Befehlen müssen sowohl I als auch J angegeben werden. Für nachfolgende G5-Befehle müssen entweder beide I und J angegeben werden oder keiner von beiden. Wenn I und J nicht angegeben sind, entspricht die Anfangsrichtung dieses Kubiks automatisch der Endrichtung des vorherigen Kubiks (als ob I und J die Negation der vorherigen P und Q wären).

Zum Beispiel, um eine geschwungene N-Form zu programmieren:

G5 Beispiel für einen kubischen Spline
G90 G17
G0 X0 Y0
G5 I0 J3 P0 Q-3 X1 Y1

Ein zweites gekrümmtes N, das sich nahtlos an dieses anschließt, kann nun ohne Angabe von I und J erstellt werden:

G5 Beispiel eines nachfolgenden kubischen Splines
G5 P0 Q-3 X2 Y2

Es ist ein Fehler, wenn:

  • P und Q sind nicht beide angegeben.

  • Es wird nur eines von I oder J angegeben.

  • I oder J sind im ersten einer Reihe von G5-Befehlen nicht angegeben.

  • Eine andere Achse als X oder Y wird angegeben.

  • Die aktive Ebene ist nicht G17.

8. G5.1 Quadratic Spline

G5.1 X- Y- I- J-
  • I" - X inkrementeller Offset vom Startpunkt zum Kontrollpunkt

  • J - Inkrementeller Y-Offset vom Startpunkt zum Kontrollpunkt

G5.1 erzeugt einen quadratischen B-Spline in der XY-Ebene nur mit der X- und Y-Achse. Wenn I oder J nicht angegeben werden, ergibt sich für die nicht angegebene Achse ein Null-Offset, so dass eine oder beide angegeben werden müssen.

Um zum Beispiel eine Parabel durch den Ursprung von X-2 Y4 nach X2 Y4 zu programmieren:

G5.1 Beispiel eines quadratischen Splines
G90 G17
G0 X-2 Y4
G5.1 X2 I2 J-8

Es ist ein Fehler, wenn:

  • sowohl der I- als auch der J-Offset sind nicht spezifiziert oder Null

  • Eine andere Achse als X oder Y wird angegeben.

  • Die aktive Ebene ist nicht G17.

9. G5.2 G5.3 NURBS Block

G5.2 <P-> <X- Y-> <L->
X- Y- <P->
...
G5.3
Warnung
G5.2, G5.3 ist experimentell und nicht vollständig getestet.

G5.2 dient zum Öffnen des Datenblocks, der ein NURBS definiert, und G5.3 zum Schließen des Datenblocks. In den Zeilen zwischen diesen beiden Codes werden die Kurvenkontrollpunkte mit ihren zugehörigen "Gewichten" (P) und dem Parameter (L), der die Reihenfolge der Kurve bestimmt, definiert.

Die aktuelle Koordinate vor dem ersten G5.2-Befehl wird immer als erster NURBS-Kontrollpunkt verwendet. Um das Gewicht für diesen ersten Kontrollpunkt festzulegen, programmieren Sie zunächst G5.2 P- ohne Angabe von X Y.

Ist P nicht angegeben, dann ist das Standardgewicht 1. Ist L nicht angegeben, dann ist die Standardreihenfolge 3.

G5.2 Beispiel
G0 X0 Y0 (Eilgang)
F10 (Vorschubgeschwindigkeit einstellen)
G5.2 P1 L3
     X0 Y1 P1
     X2 Y2 P1
     X2 Y0 P1
     X0 Y0 P2
G5.3
; Die schnellen Bewegungen zeigen denselben Weg ohne den NURBS-Block
G0 X0 Y1
   X2 Y2
   X2 Y0
   X0 Y0
M2
Beispiel einer NURBS-Ausgabe

Beispiel NURBS Ausgabe

Weitere Informationen über NURBS finden Sie hier:

10. G7 Lathe Diameter Mode

G7

Programmieren Sie G7, um den Durchmessermodus für die Achse X auf einer Drehmaschine aufzurufen. Im Durchmessermodus entspricht die Bewegung der X-Achse auf einer Drehmaschine der Hälfte des Abstands zur Mitte der Drehmaschine. Zum Beispiel würde X1 den Fräser auf 0.500 Zoll von der Mitte der Drehmaschine bewegen, was einen Teil mit 1 Zoll Durchmesser ergibt.

11. G8 Lathe Radius Mode

G8

Programmieren Sie G8, um den Radiusmodus für die Achse X auf einer Drehmaschine aufzurufen. Im Radiusmodus entspricht die Bewegung der X-Achse auf einer Drehmaschine dem Abstand von der Mitte. Ein Schnitt bei X1 würde also ein Teil mit einem Durchmesser von 2 Zoll ergeben. G8 ist die Standardeinstellung beim Einschalten.

12. G10 L0 Reload Tool Table Data

G10 L0

G10 L0 Alle Daten der Werkzeugtabelle neu laden. Erfordert, dass kein aktuelles Werkzeug in der Spindel geladen ist.

Anmerkung
Bei Verwendung von G10 L0 werden die Werkzeugparameter (#5401-#5413) sofort aktualisiert und alle geänderten Werkzeugdurchmesser werden für nachfolgende G41,42 Fräserradiuskompensationsbefehle verwendet. Bestehende G43-Werte für die Werkzeuglängenkorrektur bleiben so lange gültig, bis sie durch neue G43-Befehle aktualisiert werden.

13. G10 L1 Set Tool Table

G10 L1 P- axes <R- I- J- Q->
  • P" - Werkzeugnummer

  • R" - Radius des Werkzeugs

  • I - vorderer Winkel (Drehmaschine)

  • J – Rückenwinkel (Drehmaschine)

  • Q - Ausrichtung (Drehmaschine)

G10 L1 setzt die Werkzeugtabelle für die Werkzeugnummer P auf die Werte der Wörter.

Ein gültiges G10 L1 schreibt die Werkzeugtabelle für das angegebene Werkzeug neu und lädt sie neu.

G10 L1 Beispielzeile
G10 L1 P1 Z1.5 (Werkzeug 1 Z-Versatz vom Maschinenursprung auf 1.5 setzen)
G10 L1 P2 R0.015 Q3 (Drehbankbeispiel, das den Radius von Werkzeug 2 auf 0.015 und die Orientierung auf 3 setzt)

Es ist ein Fehler, wenn:

  • Fräserkompensation ist aktiviert

  • Die P-Nummer ist nicht spezifiziert

  • Die P-Nummer ist keine gültige Werkzeugnummer aus der Werkzeugtabelle

  • Die P-Nummer ist 0

Weitere Informationen über die Werkzeugausrichtung, die durch das Q-Wort beschrieben wird, finden Sie im Diagramm Drehmaschinen Werkzeug-Ausrichtung.

14. G10 L2 Set Coordinate System

G10 L2 P- <Achsen R->
  • P - Koordinatensystem (0-9)

  • R - Rotation um die Z-Achse

G10 L2 verschiebt den Ursprung der Achsen im angegebenen Koordinatensystem auf den Wert des Achsenwortes. Der Versatz bezieht sich auf den während der Referenzfahrt ermittelten Maschinenursprung. Der Offset-Wert ersetzt alle aktuellen Offsets, die für das angegebene Koordinatensystem gelten. Nicht verwendete Achsenwörter werden nicht geändert.

Programmieren Sie P0 bis P9, um das zu ändernde Koordinatensystem anzugeben.

Tabelle 1. Koordinatensystem
P-Wert Koordinatensystem G-Code

0

Aktiv

k.A.

1

1

G54

2

2

G55

3

3

G56

4

4

G57

5

5

G58

6

6

G59

7

7

G59.1

8

8

G59.2

9

9

G59.3

Optional können Sie R programmieren, um die Drehung der XY-Achse um die Z-Achse anzugeben. Die Drehrichtung ist gegen den Uhrzeigersinn, vom positiven Ende der Z-Achse aus gesehen.

Alle Achsenwörter sind optional.

Der inkrementelle Entfernungsmodus (G91) hat keine Auswirkungen auf G10 L2.

Wichtige Konzepte:

  • G10 L2 Pn wechselt nicht vom aktuellen Koordinatensystem zu dem durch P angegebenen, Sie müssen mit G54-59.3 ein Koordinatensystem auswählen.

  • Wenn eine Drehung in Kraft ist, wird eine Achse nur in positiver oder negativer Richtung bewegt, nicht aber entlang der gedrehten Achse.

  • Wenn ein G52 lokaler Offset oder ein G92-offset zum Ursprung vor "G10 L2" in Kraft war, bleibt er auch danach in Kraft.

  • Bei der Programmierung eines Koordinatensystems mit R wird jedes G52 oder G92 nach der Drehung angewendet.

  • Das Koordinatensystem, dessen Ursprung durch einen "G10"-Befehl gesetzt wird, kann zum Zeitpunkt der Ausführung des "G10"-Befehls aktiv oder inaktiv sein. Wenn es gerade aktiv ist, werden die neuen Koordinaten sofort wirksam.

Es ist ein Fehler, wenn:

  • Die P-Nummer ergibt keine ganze Zahl im Bereich von 0 bis 9.

  • Es wird eine Achse programmiert, die nicht in der Konfiguration definiert ist.

G10 L2 Beispielzeile
G10 L2 P1 X3.5 Y17.2

Im obigen Beispiel wird der Ursprung des ersten Koordinatensystems (das mit G54 ausgewählte) auf X=3,5 und Y=17,2 gesetzt. Da nur X und Y angegeben sind, wird der Ursprungspunkt nur in X und Y verschoben; die anderen Koordinaten werden nicht verändert.

G10 L2 Beispielzeile
G10 L2 P1 X0 Y0 Z0 (Offsets für X-, Y- & Z-Achsen im Koordinatensystem 1 löschen)

Im obigen Beispiel werden die XYZ-Koordinaten des Koordinatensystems 1 auf den Maschinenursprung gesetzt.

Das Koordinatensystem wird im Abschnitt Koordinatensystem beschrieben.

15. G10 L10 Set Tool Table

G10 L10 P- axes <R- I- J- Q->
  • P" - Werkzeugnummer

  • R" - Radius des Werkzeugs

  • I - vorderer Winkel (Drehmaschine)

  • J – Rückenwinkel (Drehmaschine)

  • Q - Ausrichtung (Drehmaschine)

G10 L10 ändert den Eintrag in der Werkzeugtabelle für das Werkzeug P so, dass die aktuellen Koordinaten für die angegebenen Achsen zu den angegebenen Werten werden, wenn die Werkzeugkorrektur neu geladen wird, während sich die Maschine in ihrer aktuellen Position befindet und die aktuellen G5x- und G52/G92-Korrekturen aktiv sind. Die Achsen, die nicht im Befehl G10 L10 angegeben sind, werden nicht geändert. Dies könnte bei einer Messtasterbewegung nützlich sein, wie im Abschnitt <gcode:g38,G38>> beschrieben.

G10 L10 Beispiel
T1 M6 G43 (Werkzeug 1 und Werkzeuglängenkorrekturen laden)
G10 L10 P1 Z1.5 (setzt die aktuelle Position für Z auf 1.5)
G43 (Nachladen der Werkzeuglängenkorrekturen aus der geänderten Werkzeugtabelle)
M2 (Programm beenden)
  • Weitere Informationen finden Sie in den Abschnitten T & M6, und G43/G43.1.

Es ist ein Fehler, wenn:

  • Fräserkompensation ist aktiviert

  • Die P-Nummer ist nicht spezifiziert

  • Die P-Nummer ist keine gültige Werkzeugnummer aus der Werkzeugtabelle

  • Die P-Nummer ist 0

16. G10 L11 Set Tool Table

G10 L11 P- axes <R- I- J- Q->
  • P" - Werkzeugnummer

  • R" - Radius des Werkzeugs

  • I - vorderer Winkel (Drehmaschine)

  • J – Rückenwinkel (Drehmaschine)

  • Q - Ausrichtung (Drehmaschine)

G10 L11 entspricht G10 L10 mit dem Unterschied, dass der Eintrag nicht nach den aktuellen Versätzen eingestellt wird, sondern so, dass die aktuellen Koordinaten zum angegebenen Wert werden, wenn der neue Werkzeugversatz neu geladen wird und die Maschine im G59.3-Koordinatensystem ohne aktiven G52/G92-Versatz platziert wird.

Dadurch kann der Benutzer das G59.3-Koordinatensystem auf einen festen Punkt auf der Maschine einstellen und diese Vorrichtung dann zum Messen von Werkzeugen ohne Rücksicht auf andere derzeit aktive Versätze verwenden.

Es ist ein Fehler, wenn:

  • Fräserkompensation ist aktiviert

  • Die P-Nummer ist nicht spezifiziert

  • Die P-Nummer ist keine gültige Werkzeugnummer aus der Werkzeugtabelle

  • Die P-Nummer ist 0

17. G10 L20 Set Coordinate System

G10 L20 P- axes
  • P - Koordinatensystem (0-9)

G10 L20 ist ähnlich wie G10 L2, mit dem Unterschied, dass der Offset/Eintrag nicht auf den angegebenen Wert gesetzt wird, sondern auf einen berechneten Wert, der die aktuellen Koordinaten zu dem angegebenen Wert macht.

G10 L20 Beispiel Zeile
G10 L20 P1 X1.5 (setzt die aktuelle Position der X-Achse im Koordinatensystem 1 auf 1,5)

Es ist ein Fehler, wenn:

  • Die P-Nummer ergibt keine ganze Zahl im Bereich von 0 bis 9.

  • Es wird eine Achse programmiert, die nicht in der Konfiguration definiert ist.

18. G17 - G19.1 Plane Select

Diese Codes stellen die aktuelle Ebene wie folgt ein:

  • G17 - XY (Standard)

  • G18 - ZX

  • G19 - YZ

  • G17.1 - UV

  • G18.1 - WU

  • G19.1 - VW

Die UV-, WU- und VW-Ebenen unterstützen keine Bögen.

Es ist eine gute Idee, eine Ebenenauswahl in die Präambel jeder G-Code-Datei aufzunehmen.

Die Auswirkungen der Auswahl einer Ebene werden in den Abschnitten G2 G3 Bögen und G81 G89 behandelt.

19. G20, G21 Units

  • G20 - um Zoll als Längeneinheit zu verwenden.

  • G21 - um Millimeter als Längeneinheiten zu verwenden.

Es ist eine gute Idee, Einheiten in die Präambel jeder G-Code-Datei aufzunehmen.

20. G28, G28.1 Go/Set Predefined Position

Warnung
Verwenden Sie G28 nur, wenn Ihre Maschine auf eine wiederholbare Position referenziert ist und die gewünschte G28-Position mit G28.1 gespeichert wurde.

G28 verwendet die in <sub:numbered-parameters,Parameter 5161-5169>> gespeicherten Werte als X Y Z A B C U V W Endpunkt zum Anfahren. Die Parameterwerte sind absolute Maschinenkoordinaten in den maschineneigenen Einheiten wie in der INI-Datei angegeben. Alle in der INI-Datei definierten Achsen werden bewegt, wenn ein G28 ausgegeben wird. Wenn keine Positionen mit G28.1 gespeichert werden, dann werden alle Achsen auf den Maschinenursprung gehen.

  • G28 - bewegt sich im gcode:g0,Schnellauf>> durch von der aktuellen Position zur 'absoluten Position der Werte in den Parametern 5161-5166.

  • G28 Achsen - bewegt sich im Schnellauf zu der durch Achsen angegebenen Position, einschließlich aller Offsets, und dann weiter im Schnellauf zu der absoluten Position der Werte in den Parametern 5161-5166 für solche Achsen, für die der G28-Aufruf Positionsparameter erhalten hat. Jede Achse, die durch G28 nicht beschrieben ist, wird nicht bewegt.

  • G28.1 - speichert die aktuelle absolute Position in den Parametern 5161-5166.

G28 Beispielzeile
G28 Z2.5 (schnell auf Z2.5 und dann auf die in #5163 angegebene Z-Position)

Es ist ein Fehler, wenn :

  • Fräserausgleich (engl. cutter compensation) aktiviert ist

21. G30, G30.1 Go/Set Predefined Position

Warnung
Verwenden Sie G30 nur, wenn Ihre Maschine auf eine wiederholbare Position ausgerichtet ist und die gewünschte G30-Position mit G30.1 gespeichert wurde.

G30 funktioniert wie G28, verwendet aber die in <sub:numbered-parameters,Parameter 5181-5189>> gespeicherten Werte als X Y Z A B C U V W Endpunkt zum Anfahren. Die Parameterwerte sind absolute Maschinenkoordinaten in den maschineneigenen Einheiten wie in der INI-Datei angegeben. Alle in der INI-Datei definierten Achsen werden bewegt, wenn ein G30 ausgegeben wird. Wenn keine Positionen mit G30.1 gespeichert werden, dann gehen alle Achsen zum Maschinenursprung.

Anmerkung
G30-Parameter werden verwendet, um das Werkzeug zu bewegen, wenn ein M6 programmiert wird, sofern TOOL_CHANGE_AT_G30=1 in der [EMCIO]-Sektion der INI-Datei steht.
  • G30 - führt einen gcode:g0,Eilgang>> von der aktuellen Position zur 'absoluten Position der Werte in den Parametern 5181-5189 durch.

  • G30 Achsen - führt eine Eilbewegung zu der durch Achsen angegebenen Position aus, einschließlich aller Offsets, und führt dann eine Eilbewegung zu der absoluten Position der Werte in den Parametern 5181-5189 für alle Achsen angegebenen aus. Jede Achse, die nicht angegeben ist, wird nicht bewegt.

  • G30.1 - speichert die aktuelle absolute Position in den Parametern 5181-5186.

G30 Beispielzeile
G30 Z2.5 (schnell zu Z2.5 und dann zu der in #5183 angegebenen Z-Position)

Es ist ein Fehler, wenn :

  • Fräserausgleich (engl. cutter compensation) aktiviert ist

22. G33 Spindle Synchronized Motion

G33 X- Y- Z- K- $-
  • K - Weg pro Umdrehung

Für eine spindelsynchrone Bewegung in einer Richtung codieren Sie G33 X- Y- Z- K-, wobei K die in XYZ zurückgelegte Strecke pro Spindelumdrehung angibt. Wenn Sie zum Beispiel bei Z=0 beginnen, erzeugt G33 Z-1 K.0625 eine Bewegung von 1 Zoll in Z über 16 Umdrehungen der Spindel. Dieser Befehl könnte Teil eines Programms zur Herstellung eines 16TPI-Gewindes sein. Ein weiteres Beispiel im metrischen System: G33 Z-15 K1.5 erzeugt eine Bewegung von 15 mm, während sich die Spindel 10 Mal dreht, um ein Gewinde von 1,5 mm herzustellen.

Das (optionale) Argument $ legt fest, mit welcher Spindel die Bewegung synchronisiert wird (Standard ist Null). Zum Beispiel bewegt G33 Z10 K1 $1 die Spindel synchron mit dem Wert des Pins spindle.N.revs HAL.

Die spindelsynchronisierte Bewegung wartet auf den Spindelindex und die Spindel an den Drehzahlstiften, so dass mehrere Durchgänge aneinandergereiht werden. G33 bewegt das Ende am programmierten Endpunkt. G33 kann zum Schneiden von kegelförmigen Gewinden oder einem Konus verwendet werden.

Alle Achsenwörter sind optional, außer dass mindestens eines verwendet werden muss.

Anmerkung
K folgt der durch "X- Y- Z-" beschriebenen Antriebslinie. K ist nicht parallel zur Z-Achse, wenn X- oder Y-Endpunkte verwendet werden, z. B. beim Schneiden von kegelförmigen Gewinden.
Technische Informationen

Zu Beginn eines jeden G33-Durchlaufs nutzt LinuxCNC die Spindeldrehzahl- und die Maschinen-Beschleunigungs-Begrenzungen, um zu berechnen, wie lange es dauern wird Z nach dem die Index-Impuls zu beschleunigen, und bestimmt, wieviel Grad die Spindel sich während dieser Zeit zu drehen wird. Dann addiert es diesen Winkel zur Indexposition und berechnet die Z-Position unter Verwendung des korrigierten Spindelwinkels. Das bedeutet, dass Z die korrekte Position erreicht, sobald es die Beschleunigung auf die richtige Geschwindigkeit beendet hat, und sofort mit dem Schneiden eines guten Gewindes beginnen kann.

HAL-Verbindungen

Der Pin spindle.N.at-speed muss gesetzt oder auf true gesetzt werden, damit die Bewegung beginnt. Außerdem muss spindle.N.revs bei jeder Umdrehung der Spindel um 1 erhöht werden und der Pin spindle.N.index-enable muss mit einem Encoder- (oder Resolver-) Zähler verbunden sein, der index-enable einmal pro Umdrehung zurücksetzt.

Weitere Informationen zur spindelsynchronisierten Bewegung finden Sie im Integrators Manual.

G33 Beispiel
G90 (absoluter Abstandsmodus)
G0 X1 Z0.1 (Eilgang auf Position)
S100 M3 (Spindeldrehung starten)
G33 Z-2 K0.125 (Z-Achse mit einer Geschwindigkeit von 0,125 pro Umdrehung auf -2 fahren)
G0 X1.25 (Werkzeug im Eilgang vom Werkstück wegfahren)
Z0.1 (Eilgang auf Z-Startposition)
M2 (Programm beenden)
  • Siehe G90 & G0 & M2 für weitere Informationen.

Es ist ein Fehler, wenn:

  • Alle Achsenwörter werden weggelassen.

  • Die Spindel dreht sich nicht, wenn dieser Befehl ausgeführt wird.

  • Die angeforderte lineare Bewegung überschreitet die Geschwindigkeitsgrenzen der Maschine aufgrund der Spindeldrehzahl.

23. G33.1 Rigid Tapping

G33.1 X- Y- Z- K- I- $-
  • K - Weg pro Umdrehung

  • I" - optionaler Multiplikator der Spindeldrehzahl für schnelleren Rücklauf

  • $ - optionaler Spindelselektor

Warnung
Für reines Z-Gewindeschneiden positionieren Sie die XY-Position vor dem Aufruf von G33.1 und verwenden nur ein Z-Wort in G33.1. Wenn die angegebenen Koordinaten nicht die aktuellen Koordinaten beim Aufruf von G33.1 für das Gewindeschneiden sind, erfolgt die Bewegung nicht entlang der Z-Achse, sondern ist eine koordinierte, spindelsynchrone Bewegung von der aktuellen Position zur angegebenen Position und zurück.

Für starres Gewindebohren (Spindel synchronisierte Bewegung mit Rückkehr), Code G33.1 X- Y- Z- K-, wobei K- die Strecke angibt, die für jede Umdrehung der Spindel zurückgelegt wird.

Eine starres Gewindeschneiden besteht aus der folgenden Sequenz:

  • Eine Bewegung von der aktuellen Koordinate zur angegebenen Koordinate, synchronisiert mit der gewählten Spindel im angegebenen Verhältnis und ausgehend von der aktuellen Koordinate mit einem Spindelindeximpuls.

  • Bei Erreichen des Endpunkts ein Befehl zur Umkehrung der Spindel und zur Erhöhung der Geschwindigkeit um einen durch den Multiplikator festgelegten Faktor (z. B. von Rechts- auf Linkslauf).

  • Fortgesetzte synchronisierte Bewegung über die angegebene Endkoordinate hinaus, bis die Spindel tatsächlich anhält und reversiert.

  • Fortsetzung der synchronisierten Bewegung zurück zur ursprünglichen Koordinate.

  • Bei Erreichen der Originalkoordinate wird der Befehl gegeben, die Spindel ein zweites Mal umzudrehen (z. B. von Links- auf Rechtslauf).

  • Fortgesetzte synchronisierte Bewegung über die ursprüngliche Koordinate hinaus, bis die Spindel tatsächlich anhält und reversiert.

  • Eine unsynchronisierte Bewegung zurück zur ursprünglichen Koordinate.

Spindelsynchronisierte Bewegungen warten auf den Spindelindex, so dass mehrere Durchgänge aneinandergereiht werden.G33.1-Bewegungen enden an der ursprünglichen Koordinate.

Alle Achsenwörter sind optional, außer dass mindestens eines verwendet werden muss.

G33.1 Beispiel
G90 (Absolutmodus einstellen)
G0 X1.000 Y1.000 Z0.100 (Eilgang auf Startposition)
S100 M3 (Spindel einschalten, 100 RPM)
G33.1 Z-0.750 K0.05 (Gewindebohrer 20 TPI, 0,750 tief)
M2 (Endprogramm)
  • Siehe G90 & G0 & M2 für weitere Informationen.

Es ist ein Fehler, wenn:

  • Alle Achsenwörter werden weggelassen.

  • Die Spindel dreht sich nicht, wenn dieser Befehl ausgeführt wird.

  • Die angeforderte lineare Bewegung überschreitet die Geschwindigkeitsgrenzen der Maschine aufgrund der Spindeldrehzahl.

24. G38.n Straight Probe

G38.n Achsen
  • G38.2" - Messtaster zum Werkstück, Stopp bei Berührung, Signalfehler bei Ausfall

  • G38.3 - Sonde in Richtung Werkstück, Stopp bei Kontakt

  • G38.4 - Messtaster vom Werkstück weg, Stopp bei Kontaktverlust, Fehlersignal bei Ausfall

  • G38.5 - Sonde weg vom Werkstück, Stopp bei Kontaktverlust

Wichtig
Sie können eine Tasterbewegung erst dann verwenden, wenn Ihre Maschine so eingerichtet ist, dass sie ein Taster-Eingangssignal liefert. Das Taster-Eingangssignal muss mit motion.probe-input in einer .hal-Datei verbunden sein. G38.n verwendet motion.probe-input, um festzustellen, wann der Messtaster den Kontakt hergestellt (oder verloren) hat. TRUE für einen geschlossenen (sich berührenden) Tasterkontakt, FALSE für einen offenen Tasterkontakt.

Programmieren Sie G38.n Achsen, um einen geraden Messtasterbetrieb durchzuführen. Die Achsenwörter sind optional, außer dass mindestens eines von ihnen verwendet werden muss. Die Achsenwörter definieren zusammen den Zielpunkt, den der Messtaster ausgehend von der aktuellen Position anfahren wird. Wird der Messtaster nicht ausgelöst, bevor der Zielpunkt erreicht ist, melden G38.2 und G38.4 einen Fehler.

Das Werkzeug in der Spindel muss ein Taster sein oder einen Tasterschalter berühren.

Als Reaktion auf diesen Befehl bewegt die Maschine den kontrollierten Punkt (der sich in der Mitte der Tastkugel befinden sollte) in einer geraden Linie mit dem aktuellen Vorschub zum programmierten Punkt. Im Modus Inverser Zeitvorschub (engl. inverse time feed mode) ist die Vorschubgeschwindigkeit so gewählt, dass die gesamte Bewegung vom aktuellen Punkt zum programmierten Punkt die angegebene Zeit dauern würde. Die Bewegung stoppt (innerhalb der Maschinenbeschleunigungsgrenzen), wenn der programmierte Punkt erreicht ist oder wenn die geforderte Änderung des Tastereingangs erfolgt, je nachdem, was zuerst eintritt.

Tabelle 2. Sondieren mit G-Codes
Code Zielzustand Orientierung der Bewegung Fehlersignal

G38.2

Berührt (engl. touched)

Zum Stück hin

Ja

G38.3

Berührt (engl. touched)

Zum Stück hin

Nein

G38.4

Unberührt (engl. untouched)

Vom Stück weg

Ja

G38.5

Unberührt (engl. untouched)

Vom Stück weg

Nein

Nach erfolgreicher Antastung werden die Parameter #5061 bis #5069 auf die X-, Y-, Z-, A-, B-, C-, U-, V-, W-Koordinaten der Position des kontrollierten Punktes zum Zeitpunkt der Zustandsänderung des Messtasters (im aktuellen Arbeitskoordinatensystem) gesetzt. Nach erfolgloser Antastung werden sie auf die Koordinaten des programmierten Punktes gesetzt. Der Parameter 5070 wird auf 1 gesetzt, wenn die Antastung erfolgreich war, und auf 0, wenn die Antastung fehlgeschlagen ist. Wenn der Antastvorgang fehlgeschlagen ist, signalisieren G38.2 und G38.4 einen Fehler, indem sie eine Meldung auf dem Bildschirm ausgeben, sofern die gewählte GUI dies unterstützt. Und durch Anhalten der Programmausführung.

Hier ist ein Beispiel für eine Formel zur Sondierung der Werkzeughöhe mit Umwandlung von einem lokalen Koordinatensystem Z versetzt zu in dem Werkzeugtisch gespeicherten Maschinenkoordinaten. Die bestehende Werkzeughöhenkompensation wird zunächst mit G49 aufgehoben, um die Aufnahme in die Berechnung der Höhe zu vermeiden, und die neue Höhe wird aus der Werkzeug-Tabelle geladen. Die Startposition muss hoch genug über der Werkzeughöhensonde sein, um die Verwendung von G49 zu kompensieren.

G38.2 Beispiel
G49
G38.2 Z-100 F100
#<zworkoffset> = [#[5203 + #5220 * 20] + #5213 * #5210]
G10 L1 P#5400 Z#<zworkoffset> (set new tool offset)
G43

Ein Kommentar der Form (PROBEOPEN dateiname.txt) öffnet dateiname.txt und speichert darin die 9-stellige Koordinate, bestehend aus XYZABCUVW, jeder erfolgreichen geraden Sonde. Die Datei muss mit (PROBECLOSE) geschlossen werden. Weitere Informationen finden Sie im Abschnitt Kommentare.

Eine Beispieldatei smartprobe.ngc ist enthalten (im Verzeichnis examples), um zu demonstrieren, wie die Koordinaten eines Werkstücks mit Hilfe von Tasterbewegungen in eine Datei geschrieben werden. Das Programm smartprobe.ngc kann mit minimalen Änderungen mit ngcgui verwendet werden.

Es ist ein Fehler, wenn:

  • der aktuelle Punkt ist derselbe wie der programmierte Punkt.

  • es wird kein Achswort verwendet

  • Fräserkompensation ist aktiviert

  • der Vorschub ist null

  • die Sonde befindet sich bereits im Zielzustand

25. G40 Compensation Off

  • G40 -schaltet Fräserkompensation aus. Wenn die Werkzeugkompensation eingeschaltet war, muss die nächste Bewegung eine lineare Bewegung und länger als der Werkzeugdurchmesser sein. Es ist in Ordnung, die Kompensation auszuschalten, wenn sie bereits ausgeschaltet ist.

G40 Beispiel
; Aktuelle Position ist X1 nach Beendigung der kompensierten Fräserbewegung
G40 (Kompensation ausschalten)
G0 X1.6 (lineare Bewegung länger als der aktuelle Fräserdurchmesser)
M2 (Programm beenden)

Siehe die Abschnitte G0 und M2 für weitere Informationen.

Es ist ein Fehler, wenn:

  • Ein G2/G3-Bogenzug folgt direkt nach einem G40.

  • Die lineare Bewegung nach Ausschalten der Kompensation ist kleiner als der Werkzeugdurchmesser.

26. G41, G42 Cutter Compensation

G41 <D-> (links vom programmierten Pfad)
G42 <D-> (rechts vom programmierten Pfad)
  • D - Werkzeugnummer

Das D-Wort ist optional; ist kein D-Wort vorhanden, wird der Radius des aktuell geladenen Werkzeugs verwendet (ist kein Werkzeug geladen und kein D-Wort angegeben, wird ein Radius von 0 verwendet).

Falls angegeben, ist das D-Wort die zu verwendende Werkzeugnummer. Normalerweise ist dies die Nummer des Werkzeugs in der Spindel (in diesem Fall ist das D-Wort überflüssig und muss nicht angegeben werden), aber es kann jede gültige Werkzeugnummer sein.

Anmerkung
G41/G42 D0' ist ein wenig speziell. Er verhält sich auf Maschinen mit zufälligem Werkzeugwechsler anders als auf Maschinen mit nicht zufälligem Werkzeugwechsler (siehe Abschnitt Tool Change). Auf Maschinen mit nicht-zufälligem Werkzeugwechsler wendet G41/G42 D0 den Werkzeuglängenversatz (engl. tool length offset, kurz TLO) des Werkzeugs an, das sich gerade in der Spindel befindet, oder eine TLO von 0, wenn sich kein Werkzeug in der Spindel befindet. Auf Maschinen mit wahlfreiem Werkzeugwechsel wendet G41/G42 D0 die TLO des in der Werkzeugtabelle definierten Werkzeugs T0 an (oder verursacht einen Fehler, wenn T0 nicht in der Werkzeugtabelle definiert ist).

Um die Fräskompensation links vom Werkstückprofil zu starten, verwenden Sie G41. G41 startet die Fräskompensation links von der programmierten Linie, vom positiven Ende der Achse aus gesehen, die senkrecht zur Ebene steht.

Um die Fräskompensation rechts vom Werkstückprofil zu starten, verwenden Sie G42. G42 startet die Fräskompensation rechts von der programmierten Linie, vom positiven Ende der Achse aus gesehen, die senkrecht zur Ebene steht.

Die Anfahrbewegung muss mindestens so lang wie der Werkzeugradius sein. Die Anfahrbewegung kann eine Eilfahrt sein.

Bei aktiver XY-Ebene oder XZ-Ebene kann eine Fräserkompensation durchgeführt werden.

Benutzerbefehle M100-M199 sind zulässig, wenn die Fräserkompensation aktiviert ist.

Das Verhalten des Bearbeitungszentrums bei eingeschalteter Schneidradius-Kompensation wird im Abschnitt Schneidradius-Kompensation zusammen mit Codebeispielen beschrieben.

Es ist ein Fehler, wenn:

  • Die D-Nummer ist eine ungültige Werkzeugnummer oder 0.

  • Die YZ-Ebene ist aktiv.

  • Die Fräserkompensation wird angewiesen, sich einzuschalten, wenn sie bereits eingeschaltet ist.

27. G41.1, G42.1 Dynamic Cutter Compensation

G41.1 D- <L-> (links vom programmierten Pfad)
G42.1 D- <L-> (rechts vom programmierten Pfad)

G41.1 & G42.1 funktionieren genauso wie G41 & G42 mit der zusätzlichen Möglichkeit, den Werkzeugdurchmesser zu programmieren. Das L-Wort ist standardmäßig 0, wenn es nicht spezifiziert ist.

Es ist ein Fehler, wenn:

  • Die YZ-Ebene ist aktiv.

  • Die L-Nummer liegt nicht im Bereich von 0 bis einschließlich 9.

  • Die L-Nummer wird verwendet, wenn die XZ-Ebene nicht aktiv ist.

  • Die Fräserkompensation wird angewiesen, sich einzuschalten, wenn sie bereits eingeschaltet ist.

28. G43 Tool Length Offset

G43 <H->
  • H - Werkzeugnummer (optional)

  • G43' - aktiviert die Werkzeuglängenkompensation. G43 ändert die nachfolgenden Bewegungen, indem die Achsenkoordinaten um die Länge des Versatzes verschoben werden. G43 verursacht keine Bewegung. Wenn eine kompensierte Achse das nächste Mal bewegt wird, ist der Endpunkt dieser Achse die kompensierte Position.

G43 ohne H-Wort verwendet das aktuell geladene Tool aus dem letzten Tn M6.

G43 Hn verwendet den Offset für Werkzeug n.

The active tool length compensation values are stored in the numbered parameters 5401-5409.

Anmerkung
G43 H0 ist ein wenig speziell. Sein Verhalten unterscheidet sich auf Maschinen mit zufälligem Werkzeugwechsler und Maschinen ohne zufälligen Werkzeugwechsler (siehe Abschnitt Werkzeugwechsler). Bei Maschinen mit nicht zufälligem Werkzeugwechsler wendet G43 H0 den Werkzeuglängenversatz (kurz TLO für engl. tool length offset) des Werkzeugs an, das sich derzeit in der Spindel befindet, oder einen TLO von 0, wenn sich kein Werkzeug in der Spindel befindet. Auf Werkzeugwechselmaschinen wendet G43 H0 die TLO des Werkzeugs T0 an, die in der Werkzeugtabellendatei definiert ist (oder verursacht einen Fehler, wenn T0 nicht in der Werkzeugtabelle definiert ist).
G43 H- Beispiel Zeile
G43 H1 (Werkzeugkorrekturen mit den Werten von Werkzeug 1 in der Werkzeugtabelle einstellen)

Es ist ein Fehler, wenn:

  • die H-Nummer ist keine ganze Zahl, oder

  • die H-Zahl ist negativ, oder

  • die H-Nummer ist keine gültige Werkzeugnummer (beachten Sie jedoch, dass 0 eine gültige Werkzeugnummer auf Maschinen mit nicht-zufälligem Werkzeugwechsler ist, sie bedeutet "das aktuell in der Spindel befindliche Werkzeug")

29. G43.1 Dynamic Tool Length Offset

G43.1-Achsen
  • G43.1-Achsen - Ändern Sie nachfolgende Bewegungen, indem Sie den/die aktuellen Offset(s) der Achsen ersetzen. G43.1 verursacht keine Bewegung. Wenn eine kompensierte Achse das nächste Mal bewegt wird, ist der Endpunkt dieser Achse die kompensierte Position.

G43.1 Beispiel
G90 (Absolut-Modus einstellen)
T1 M6 G43 (Werkzeug 1 und Werkzeuglängenkorrekturen laden, Z ist auf Maschine 0 und DRO zeigt Z1.500)
G43.1 Z0.250 (aktuelle Werkzeugkorrektur um 0.250 korrigieren, DRO zeigt jetzt Z1.250 an)
M2 (Programm beenden)
  • Siehe Abschnitte G90, T und M6 weitere Informationen.

Es ist ein Fehler, wenn:

  • Bewegung wird in der gleichen Zeile wie G43.1 befohlen

Anmerkung
G43.1 schreibt nicht in die Werkzeugtabelle.

30. G43.2 Apply additional Tool Length Offset

G43.2 H- Achsen-
  • H - Werkzeugnummer

  • G43.2 - wendet einen zusätzlichen simultanen Werkzeug-Offset an.

G43.2 Beispiel
G90 (Absolutmodus einstellen)
T1 M6 (Werkzeug 1 laden)
G43 (oder G43 H1 - alle Werkzeugkorrekturen durch die Offsets/Korrekturen von T1 ersetzen)
G43.2 H10 (fügen Sie auch die Werkzeugkorrektur von T10 ein)
M2 (Programm beenden)

Sie können eine beliebige Anzahl von Offsets zusammenzählen, indem Sie G43.2 mehrmals aufrufen. Es gibt keine eingebauten Annahmen darüber, welche Zahlen Geometrie-Offsets und welche Verschleiß-Offsets sind, oder dass Sie nur eine von beiden haben sollten.

Wie die anderen G43-Befehle führt auch G43.2 zu keiner Bewegung. Wenn eine kompensierte Achse das nächste Mal bewegt wird, ist der Endpunkt dieser Achse die kompensierte Position.

Es ist ein Fehler, wenn:

  • H ist nicht angegeben und es sind keine Achsen-Offsets angegeben.

  • H ist angegeben doch die angegebene Werkzeugnummer existiert nicht in der Werkzeugtabelle.

  • H wird angegeben und Achsen werden ebenfalls angegeben.

Anmerkung
G43.2 schreibt nicht in die Werkzeugtabelle.

31. G49 Cancel Tool Length Compensation

  • G49 - hebt die Werkzeuglängenkompensation auf

Es ist in Ordnung, mit demselben bereits verwendeten Versatz zu programmieren. Es ist auch in Ordnung, ohne Werkzeuglängenkorrektur zu programmieren, wenn gerade keine verwendet wird.

32. G52 Local Coordinate System Offset

G52-Achsen

G52 wird in einem Werkstüc-Programm als temporärer "lokaler Koordinatensystem-Offset" innerhalb des Werkstückkoordinatensystems verwendet. Weitere Informationen zu G52 finden Sie im Abschnitt Lokale und globale Offsets.

33. G53 Move in Machine Coordinates

G53 Achsen

Um im Maschinenkoordinatensystem zu verfahren, programmieren Sie G53 auf der gleichen Zeile wie eine lineare Bewegung. G53 ist nicht modal und muss auf jeder Zeile programmiert werden. G0 oder G1 muss nicht auf der gleichen Zeile programmiert werden, wenn eine gerade aktiv ist.

Zum Beispiel G53 G0 X0 Y0 Z0 bewegt die Achsen zu ihrem Referenzpunkt (die Ausgangsposition), auch wenn das aktuell gewählte Koordinatensystem gültige Offsets hat.

G53-Beispiel
G53 G0 X0 Y0 Z0 (Eilgangbewegung zum Maschinenursprung)
G53 X2 (Eilgangbewegung zur absoluten Koordinate X2)

Siehe Abschnitt G0 für weitere Informationen.

Es ist ein Fehler, wenn:

  • G53 wird verwendet, ohne dass G0 oder G1 aktiv sind,

  • oder G53 verwendet wird, während die Fräserkompensation eingeschaltet ist.

34. G54-G59.3 Select Coordinate System

  • G54 - select coordinate system 1

  • G55 - select coordinate system 2

  • G56 - select coordinate system 3

  • G57 - select coordinate system 4

  • G58 - select coordinate system 5

  • G59 - select coordinate system 6

  • G59.1 - select coordinate system 7

  • G59.2 - select coordinate system 8

  • G59.3 - select coordinate system 9

Die Koordinatensysteme speichern die Achsenwerte und den XY-Drehwinkel um die Z-Achse in den in der folgenden Tabelle aufgeführten Parametern.

Tabelle 3. Koordinatensystem-Parameter
Wählen Sie CS X Y Z A B C U V W R

G54

1

5221

5222

5223

5224

5225

5226

5227

5228

5229

5230

G55

2

5241

5242

5243

5244

5245

5246

5247

5248

5249

5250

G56

3

5261

5262

5263

5264

5265

5266

5267

5268

5269

5270

G57

4

5281

5282

5283

5284

5285

5286

5287

5288

5289

5290

G58

5

5301

5302

5303

5304

5305

5306

5307

5308

5309

5310

G59

6

5321

5322

5323

5324

5325

5326

5327

5328

5329

5330

G59.1

7

5341

5342

5343

5344

5345

5346

5347

5348

5349

5350

G59.2

8

5361

5362

5363

5364

5365

5366

5367

5368

5369

5370

G59.3

9

5381

5382

5383

5384

5385

5386

5387

5388

5389

5390

Es ist ein Fehler, wenn:

  • Die Auswahl eines Koordinatensystems wird verwendet, wenn die Fräskompensation eingeschaltet ist.

Einen Überblick über Koordinatensysteme finden Sie im Abschnitt Koordinatensystem.

35. G61 Exact Path Mode

  • G61' - Exakter Pfadmodus, Bewegung genau wie programmiert. Die Bewegungen werden nach Bedarf verlangsamt oder gestoppt, um jeden programmierten Punkt zu erreichen. Wenn zwei aufeinanderfolgende Bewegungen exakt kolinear sind, wird die Bewegung nicht angehalten.

36. G61.1 Exact Stop Mode

  • G61.1' - Exakter Stoppmodus, die Bewegung wird am Ende jedes programmierten Segments angehalten.

37. G64 Path Blending

G64 <P- <Q->>
  • P - Toleranz für Bewegungs-Übergänge

  • Q - naive Nockentoleranz

  • G64 - bestmögliche Geschwindigkeit. Ohne P bedeutet es, die bestmögliche Geschwindigkeit zu halten, egal wie weit man vom programmierten Punkt entfernt ist.

  • G64 P-' - Abwägung zwischen bester Geschwindigkeit und Abweichungstoleranz

  • G64 P- <Q- > Überlagerung mit Toleranz. Es ist eine Möglichkeit, Ihr System fein abzustimmen, um den besten Kompromiss zwischen Geschwindigkeit und Genauigkeit zu erzielen. Die P-Toleranz bedeutet, dass der tatsächliche Pfad nicht mehr als P- vom programmierten Endpunkt entfernt ist. Die Geschwindigkeit wird bei Bedarf reduziert, um den Pfad beizubehalten. Wenn Sie Q auf einen Wert ungleich Null setzen, wird der Naive CAM Detector aktiviert: Wenn es eine Reihe von linearen XYZ-Vorschubbewegungen mit demselben feed rate gibt, die weniger als Q- von der Kollinearität entfernt sind, werden sie zu einer einzigen linearen Bewegung zusammengebrochen. Auf G2/G3 bewegt sich in der G17 (XY) Ebene, wenn die maximale Abweichung eines Bogens von einer geraden Linie kleiner als die G64 P-Toleranz ist, wird der Bogen in zwei Linien aufgeteilt (vom Bogenanfang zum Mittelpunkt und vom Mittelpunkt zum Ende). Diese Zeilen unterliegen dann dem naiven CAM-Algorithmus für Linien. So profitieren Line-Arc-, Arc-Arc- und Arc-Line-Gehäuse sowie Line-Line vom "Naive CAM Detector". Dies verbessert die Konturierungsleistung, indem der Pfad vereinfacht wird. Es ist in Ordnung, für den Modus zu programmieren, der bereits aktiv ist. Weitere Informationen zu diesen Modi finden Sie auch im Abschnitt Trajectory Control. Wenn Q nicht angegeben ist, hat es das gleiche Verhalten wie zuvor und verwendet den Wert von P-. Setzen Sie Q auf Null, um den Naive CAM Detector zu deaktivieren.

G64 P- Beispielzeile
G64 P0.015 (stellt die Bahnverfolgung so ein, dass sie innerhalb von 0,015 der tatsächlichen Bahn liegt)

Es empfiehlt sich, in die Präambel jeder G-Code-Datei eine Pfadsteuerungsangabe aufzunehmen.

38. G70 Lathe finishing cycle

G70 Q- <X-> <Z-> <D-> <E-> <P->
  • Q - Die Unterroutinenummer.

  • X - Die Anfangsposition X, standardmäßig die Ausgangsposition.

  • Z - Die Startposition Z ist standardmäßig auf die Ausgangsposition eingestellt.

  • D - Der Startabstand des Profils ist standardmäßig auf 0 eingestellt.

  • E - Der Endabstand des Profils ist standardmäßig auf 0 eingestellt.

  • P - Die Anzahl der zu verwendenden Durchläufe ist standardmäßig 1.

Der Zyklus G70 soll verwendet werden, nachdem die im Unterprogramm mit der Nummer Q angegebene Form des Profils mit G71 oder G72 geschnitten wurde.

  • Vorbereitende Bewegungen (engl. preliminary motion).

    • Wenn Z oder X verwendet werden, wird ein Eilgang zu dieser Position ausgeführt. Diese Position wird auch zwischen den einzelnen Finishing-Durchgängen verwendet.

    • Dann wird ein Eilgang an den Anfang des Profils ausgeführt.

    • Der in Q- angegebene Pfad wird mit den Befehlen G1 und [gcode:g2-g3] verfolgt.

    • Wenn ein weiterer Durchgang erforderlich ist, erfolgt ein weiterer Eilgang zur Zwischenposition, bevor ein Eilgang zum Anfang des Profils durchgeführt wird.

    • Nach dem letzten Durchgang bleibt das Werkzeug am Ende des Profils einschließlich E- stehen.

  • Mehrere Durchgänge. Der Abstand zwischen dem Durchgang und dem endgültigen Profil ist (Durchgang-1)*(D-E)/P+E. Dabei ist pass die Nummer des Durchgangs und D, E und P sind die Nummern D/E/P.

  • Der Abstand wird anhand der Startposition des Zyklus berechnet, wobei der Abstand zu diesem Punkt positiv ist.

  • Verrundungen und Fasen im Profil. Es ist möglich, Verrundungen oder Fasen in das Profil einzufügen, siehe [gcode:g71-g72] für weitere Details.

Es ist ein Fehler, wenn:

  • Es ist kein Unterprogramm mit der in Q angegebenen Nummer definiert.

  • Der im Profil angegebene Weg ist nicht monoton in Z oder X.

  • [gcode:g17-g19.1] wurde nicht zur Auswahl der ZX-Ebene verwendet.

39. G71 G72 Lathe roughing cycles

Anmerkung
Die G71 und G72 Zyklen sind derzeit etwas fragil. Siehe zum Beispiel Problem-Meldung (engl. issue) #2939.
G71   Q- <X-> <Z-> <D-> <I-> <R->
G71.1 Q- <X-> <Z-> <D-> <I-> <R->
G71.2 Q- <X-> <Z-> <D-> <I-> <R->
G72   Q- <X-> <Z-> <D-> <I-> <R->
G72.1 Q- <X-> <Z-> <D-> <I-> <R->
G72.2 Q- <X-> <Z-> <D-> <I-> <R->
  • Q - Die Unterroutinenummer.

  • X - Die Anfangsposition X, standardmäßig die Ausgangsposition.

  • Z - Die Startposition Z ist standardmäßig auf die Ausgangsposition eingestellt.

  • D - Der verbleibende Abstand zum Profil ist standardmäßig auf 0 eingestellt.

  • I - Das Schnittinkrement, standardmäßig 1.

  • R - Der Rückzugsabstand, standardmäßig 0,5.

Der Zyklus G71/G72 ist für das Schruppen eines Profils auf einer Drehmaschine vorgesehen. Die G71-Zyklen entfernen Schichten des Materials, während sie in Z-Richtung verfahren. Die G72-Zyklen tragen Material ab, während sie in der X-Achse verfahren, der so genannte Plandrehzyklus. Die Verfahrrichtung ist die gleiche wie bei dem im Unterprogramm angegebenen Weg. Für den Zyklus G71 muss sich die Z-Koordinate monoton ändern, für den Zyklus G72 ist dies für die X-Achse erforderlich.

Das Profil wird in einer Unterroutine mit der Nummer Q- angegeben. Dieses Unterprogramm kann die Bewegungsbefehle G0, G1, G2 und G3 enthalten. Alle anderen Befehle werden ignoriert, einschließlich Vorschub- und Geschwindigkeitseinstellungen. Die [gcode:g0] Befehle werden als G1 Befehle interpretiert. Jeder Bewegungsbefehl kann auch eine optionale A- oder C- Nummer enthalten. Wird die Zahl A- hinzugefügt, so wird am Endpunkt der Bewegung eine Verrundung mit dem durch A angegebenen Radius eingefügt; wenn dieser Radius zu groß ist, schlägt der Algorithmus mit einem nicht monotonen Pfadfehler fehl. Es ist auch möglich, die C-Nummer zu verwenden, wodurch eine Fase eingefügt werden kann. Diese Fase hat die gleichen Endpunkte wie eine Verrundung mit den gleichen Abmessungen, aber es wird eine gerade Linie anstelle eines Bogens eingefügt.

Im absoluten Modus können U (für X) und W (für Z) als inkrementelle Verschiebungen verwendet werden.

Die G7x.1-Zyklen schneiden keine Taschen. Die G7x.2-Zyklen schneiden nur nach der ersten Tasche und machen dort weiter, wo G7x.1 aufgehört hat. Es ist ratsam, vor dem G7x.2-Zyklus etwas zusätzliches Material zum Schneiden übrig zu lassen. Wenn also G7x.1 einen D1.0-Zyklus verwendet hat, kann G7x.2 einen D0.5-Zyklus verwenden und 0,5 mm werden beim Übergang von einer Tasche zur nächsten entfernt.

Die normalen G7x-Zyklen schneiden das gesamte Profil in einem Zyklus.

  1. Vorbereitende Bewegungen (engl. preliminary motion).

    • Wenn Z oder X verwendet werden, wird ein rapid move zu dieser Position ausgeführt.

    • Nach dem Schneiden des Profils hält das Werkzeug am Ende des Profils an, einschließlich des in D angegebenen Abstands.

  2. Die D-Nummer wird verwendet, um einen Abstand zum endgültigen Profil einzuhalten, damit Material für die Nachbearbeitung übrig bleibt.

Es ist ein Fehler, wenn:

  • Es ist kein Unterprogramm mit der in Q angegebenen Nummer definiert.

  • Der im Profil angegebene Weg ist nicht monoton in Z oder X.

  • [gcode:g17-g19.1] wurde nicht zur Auswahl der ZX-Ebene verwendet.

  • [gcode:g41-g42] ist aktiv.

40. G73 Drilling Cycle with Chip Breaking

G73 X- Y- Z- R- Q- P- <L->
  • R - Rückzugsposition entlang der Z-Achse.

  • Q - Delta-Inkrement entlang der Z-Achse.

  • L - wiederholen

The G73 cycle is drilling or milling with chip breaking. This cycle takes a Q number which represents a delta increment along the Z axis. Peck clearance can be specified by optional P number.

  • Vorbereitende Bewegungen (engl. preliminary motion).

    • Wenn die aktuelle Z-Position unter der R-Position liegt, führt die Z-Achse eine schnelle Bewegung in die R-Position aus.

    • Bewegen zu den X-Y-Koordinaten

  • Bewege die Z-Achse nur mit dem aktuellen Vorschub nach unten um Delta oder auf die Z-Position, je nachdem, was weniger tief ist.

  • Schnelles Aufsteigen (engl. rapid up) um 0,010 Zoll oder 0,254 mm.

  • Wiederholen der Schritte 2 und 3, bis die Z-Position bei Schritt 2 erreicht ist.

  • Die Z-Achse fährt im Eilgang in die R-Position.

Es ist ein Fehler, wenn:

  • Die Q-Zahl ist negativ oder null.

  • die R-Nummer ist nicht angegeben

41. G74 Left-hand Tapping Cycle with Dwell

G74 (X- Y- Z-) oder (U- V- W-) R- L- P- $- F-
  • R- - Zurückziehen der Position entlang der Z-Achse.

  • L-' - Wird im inkrementellen Modus verwendet; Anzahl der Wiederholungen des Zyklus. Siehe G81 für Beispiele.

  • P-' - Verweilzeit (Sekunden).

  • $- - Ausgewählte Spindel.

  • F- - Vorschubgeschwindigkeit (Spindeldrehzahl multipliziert mit der pro Umdrehung zurückgelegten Strecke (Gewindesteigung)).

Warnung
G74 verwendet keine synchronisierte Bewegung.

Der G74 Zyklus ist für das Gewindeschneiden mit schwimmendem Spannfutter und Verweilzeit am Bohrungsgrund vorgesehen.

  1. Vorläufige Bewegung, wie im Abschnitt Preliminary and In-Between Motion beschrieben.

  2. Deaktivieren von Vorschub- und Geschwindigkeits-Neufestsetzungen (engl. overrides).

  3. Fahren Sie die Z-Achse mit der aktuellen Vorschubgeschwindigkeit in die Z-Position.

  4. Anhalten der ausgewählten Spindel (ausgewählt durch den Parameter $)

  5. Drehen der Spindel im Uhrzeigersinn.

  6. Verweilen für die Anzahl von P Sekunden.

  7. Bewegen Sie der Z-Achse mit der aktuellen Vorschubgeschwindigkeit, um Z zu löschen

  8. Wiederherstellung der Vorschub- und Geschwindigkeitsneufestsetzung-Aktivierung in den vorherigen Zustand

Die Länge der Verweilzeit wird durch ein P--Wort im G74-Satz angegeben. Die Vorschubgeschwindigkeit F- ist die Spindeldrehzahl multipliziert mit dem Abstand pro Umdrehung (Gewindesteigung). Im Beispiel S100 mit 1,25mm pro Umdrehung Gewindesteigung ergibt einen Vorschub von F125.

42. G76 Threading Cycle

G76 P- Z- I- J- R- K- Q- H- E- L- $-
G76 Gewindeschneiden
Abbildung 3. G76 Gewindeschneiden
  • Drive Line - Eine Linie durch die anfängliche X-Position parallel zum Z.

  • P- - Die Gewindesteigung in Abstand pro Umdrehung.

  • Z- - Die endgültige Position von Windungen. Am Ende des Zyklus befindet sich das Werkzeug an dieser Z-Position.

Anmerkung
Wenn G7 Drehmaschinen Durchmesser Modus (engl. Lathe Diameter Mode') aktiv ist, sind die Werte für I, J und K Durchmessermessungen. Wenn G8 Drehradiusmodus in Kraft ist, sind die Werte für I, J und K Radiusmessungen.
  • I- - Die Gewindespitze (engl. thread peak), die von der Antriebslinie (engl. drive line) versetzt ist. Negative I-Werte sind Außengewinde und positive I-Werte sind Innengewinde. Im Allgemeinen wurde das Material vor dem G76-Zyklus auf diese Größe gedreht.

  • J- - Ein positiver Wert, der die "anfängliche Schnitttiefe" angibt. Der erste Gewindeschnitt liegt J hinter der Gewindespitzen-Position.

  • ' K-' - Ein positiver Wert, der die volle Gewindetiefe angibt. Der endgültige Gewindeschnitt liegt K über der Gewindespitzenposition.

Optionale Einstellungen

  • $- - Die Spindelnummer, mit der die Bewegung synchronisiert werden soll (Standardwert 0). Wird z.B. $1 programmiert, beginnt die Bewegung mit dem Reset von spindle.1.index-enable und verläuft synchron mit dem Wert von spindle.1.revs.

  • R- - Die Tiefendegression. R1.0 wählt eine konstante Tiefe bei aufeinanderfolgenden Einfädelgängen. R2.0 wählt eine konstante Fläche. Werte zwischen 1,0 und 2,0 wählen eine abnehmende Tiefe bei zunehmender Fläche. Werte über 2,0 wählen eine abnehmende Fläche. Beachten Sie, dass unnötig hohe Degressionswerte dazu führen, dass eine große Anzahl von Durchgängen verwendet wird. (Degression = ein stufenweiser Abstieg)

Warnung
Unnötig hohe Degressionswerte führen zu einer unnötig hohen Anzahl von Durchgängen. (Degression = Tauchen in Stufen)
  • Q- - Der zusammengesetzte Gleitwinkel ist der Winkel (in Grad), der beschreibt, inwieweit aufeinanderfolgende Durchgänge entlang der Antriebslinie versetzt sein sollten. Dies wird verwendet, um eine Seite des Werkzeugs zu veranlassen, mehr Material als die andere zu entfernen. Ein positiver Q-Wert bewirkt, dass die Vorderkante des Werkzeugs stärker schneidet. Typische Werte sind 29, 29,5 oder 30.

  • ' H-' - Die Anzahl der "Frühjahrsdurchgänge" (engl. spring/finishing passes). Solche abschließenden Durchgänge sind zusätzliche Durchgänge bei voller Gewindetiefe. Wenn keine zusätzlichen Durchgänge gewünscht sind, programmieren Sie H0.

Die Gewindeein- und -ausgänge können mit den Werten "E" und "L" konisch programmiert werden.

  • E- - Gibt den Abstand entlang der Antriebslinie an, der für die Verjüngung verwendet wird. Der Winkel der Verjüngung ist so, dass sich der letzte Durchgang über die mit E angegebene Strecke zum Gewindescheitel verjüngt. E0.2 ergibt eine Verjüngung für die ersten/letzten 0,2 Längeneinheiten entlang des Gewindes. Für eine 45 Grad Verjüngung programmieren Sie E wie K.

  • L-' - Gibt an, welche Enden des Gewindes die Verjüngung erhalten. Programmieren Sie L0 für keine Verjüngung (der Ausgangswert), L1 für Eingangsverjüngung, L2 für Ausgangsverjüngung oder L3 für Eingangs- und Ausgangsverjüngung. Einlaufkegel halten an der Antriebslinie an, um sich mit dem Indeximpuls zu synchronisieren, und bewegen sich dann mit feed rate zum Anfang des Kegels. Ohne Einfahrkegel fährt das Werkzeug im Eilgang auf die Schnitttiefe, synchronisiert sich und beginnt den Schnitt.

    Das Werkzeug wird vor der Ausgabe des G76 in die X- und Z-Ausgangsposition gefahren. Die X-Position ist die "Antriebslinie" und die Z-Position ist der Beginn des Gewindes.

Das Werkzeug macht vor jedem Gewindedurchgang eine kurze Synchronisationspause, so dass eine Entlastungsnut am Einlauf erforderlich ist, es sei denn, der Gewindeanfang liegt hinter dem Ende des Materials oder es wird ein Einlaufkegel verwendet.

Wird kein Ausgangskegel verwendet, ist die Ausgangsbewegung nicht mit der Spindeldrehzahl synchronisiert und wird ein Eilgang sein. Bei einer langsamen Spindel kann die Ausfahrbewegung nur einen kleinen Bruchteil einer Umdrehung dauern. Wenn die Spindeldrehzahl nach mehreren Durchgängen erhöht wird, benötigen die nachfolgenden Ausfahrbewegungen einen größeren Teil einer Umdrehung, was zu einem sehr starken Schnitt während der Ausfahrbewegung führt. Dies kann vermieden werden, indem eine Entlastungsnut am Ausgang vorgesehen wird oder indem die Spindeldrehzahl während des Gewindeschneidens nicht verändert wird.

Die endgültige Position des Werkzeugs befindet sich am Ende der "Antriebslinie". Um das Werkzeug aus der Bohrung zu entfernen, ist eine sichere Z-Bewegung mit einem Innengewinde erforderlich.

Es ist ein Fehler, wenn:

  • Die aktive Ebene ist nicht die ZX-Ebene.

  • Andere Achsenbezeichnungen wie X- oder Y- werden angegeben.

  • Der R- Degressionswert ist kleiner als 1,0.

  • Es sind nicht alle erforderlichen Angaben enthalten.

  • "P-", "J-", "K-" oder "H-" ist negativ.

  • "E-" ist größer als die halbe Länge der Antriebslinie.

HAL-Verbindungen

Die Pins spindle.N.at-speed und encoder.n.phase-Z für die Spindel müssen in Ihrer HAL-Datei angeschlossen sein, damit G76 funktioniert. Siehe die Spindel-Pins im Abschnitt Bewegung für weitere Informationen.

Technische Informationen

Der G76 Festzyklus basiert auf der G33 Spindel-Synchronbewegung. Weitere Informationen finden Sie in der G33 Technical Info.

Das Beispielprogramm g76.ngc zeigt die Verwendung des G76-Festzyklus und kann auf jeder Maschine mit der Konfiguration sim/lathe.ini angezeigt und ausgeführt werden.

G76 Beispielcode
G0 Z-0.5 X0.2
G76 P0.05 Z-1 I-.075 J0.008 K0.045 Q29.5 L2 E0.045

In der Abbildung befindet sich das Werkzeug in der Endposition, nachdem der G76-Zyklus abgeschlossen ist. Sie sehen rechts den Einfahrweg vom Q29.5 und links den Ausfahrweg vom L2 E0.045. Die weißen Linien sind die Schnittbewegungen.

G76 Beispiel
Abbildung 4. G76 Beispiel

43. G80-G89 Canned Cycles

In diesem Abschnitt werden die Festzyklen G81 bis G89 und der Festzyklusstopp G80 beschrieben.

Alle Festzyklen werden in Bezug auf die aktuell gewählte Ebene ausgeführt. Jede der neun Ebenen kann ausgewählt werden. In diesem Abschnitt wird bei den meisten Beschreibungen davon ausgegangen, dass die XY-Ebene ausgewählt wurde. Das Verhalten ist analog, wenn eine andere Ebene gewählt wird, und es müssen die richtigen Worte verwendet werden. In der Ebene "G17.1" zum Beispiel verläuft die Wirkung des Festzyklus entlang W, und die Positionen oder Inkremente werden mit U und V angegeben.

Drehachsenbegriffe sind in Festzyklen nicht erlaubt. Wenn die aktive Ebene zur XYZ-Familie gehört, sind die UVW-Achsenwörter nicht erlaubt. Wenn die aktive Ebene zur UVW-Familie gehört, sind die XYZ-Achsenwörter ebenfalls nicht erlaubt.

43.1. Geläufige Begriffe

Alle Festzyklen verwenden X-, Y-, Z- oder U-, V-, W-Gruppen, je nach gewählter Ebene und R-Wort. Die R-Position (in der Regel bedeutet sie Rückzug) befindet sich entlang der Achse, die senkrecht zur aktuell gewählten Ebene steht (Z-Achse für XY-Ebene usw.) Einige Festzyklen verwenden zusätzliche Argumente.

43.2. Anhaftende Begriffe

Bei Festzyklen bezeichnen wir eine Zahl als "haftend" (engl. sticky), wenn derselbe Zyklus in mehreren aufeinanderfolgenden Codezeilen verwendet wird und die Zahl beim ersten Mal verwendet werden muss, aber in den übrigen Zeilen optional ist. Sticky-Zahlen behalten ihren Wert in den übrigen Zeilen bei, wenn sie nicht ausdrücklich anders programmiert sind. Die R-Nummer ist immer "sticky".

Im inkrementellen Abstandsmodus werden die X-, Y- und R-Zahlen als Inkremente von der aktuellen Position und Z als Inkrement von der Position der Z-Achse behandelt, bevor die Bewegung mit Z stattfindet. Im absoluten Abstandsmodus sind die X-, Y-, R- und Z-Zahlen absolute Positionen im aktuellen Koordinatensystem.

43.3. Zyklus wiederholen

Die Angabe L ist optional und gibt die Anzahl der Wiederholungen an. L=0 ist nicht erlaubt. Wird die Wiederholungsfunktion verwendet, dann wird sie normalerweise im inkrementellen Abstandsmodus eingesetzt, so dass dieselbe Bewegungssequenz an mehreren gleichmäßig verteilten Stellen entlang einer geraden Linie wiederholt wird. Wenn L- im inkrementellen Modus bei ausgewählter XY-Ebene größer als 1 ist, werden die X- und Y-Positionen durch Addition der angegebenen X- und Y-Zahlen entweder zu den aktuellen X- und Y-Positionen (beim ersten Durchgang) oder zu den X- und Y-Positionen am Ende des vorherigen Durchgangs (bei den Wiederholungen) bestimmt. Wenn Sie also L10 programmieren, erhalten Sie 10 Zyklen. Der erste Zyklus ist die Entfernung X,Y von der ursprünglichen Position. Die Positionen R und Z ändern sich während der Wiederholungen nicht. Die L-Nummer ist nicht unveränderlich. Im absoluten Abstandsmodus bedeutet L>1, dass der gleiche Zyklus mehrmals an der gleichen Stelle durchgeführt wird. Das Weglassen des L-Werts ist gleichbedeutend mit der Angabe von L=1.

43.4. Rückzugsmodus

Die Höhe der Rückzugsbewegung am Ende jeder Wiederholung (in den folgenden Beschreibungen als clear Z bezeichnet) wird durch die Einstellung des Rückzugsmodus bestimmt, entweder auf die ursprüngliche Z-Position (wenn diese über der R-Position liegt und der Rückzugsmodus G98, OLD_Z, ist), oder andernfalls auf die R-Position. Siehe den Abschnitt G98 G99.

43.5. Canned Cycle Errors

Es ist ein Fehler, wenn:

  • alle Achsenwörter während eines Festzyklus fehlen,

  • Achsenwörter aus verschiedenen Gruppen (XYZ) (UVW) zusammen verwendet werden,

  • eine P-Nummer erforderlich ist und eine negative P-Nummer verwendet wird,

  • eine L-Zahl verwendet wird, die nicht als positive ganze Zahl ausgewertet werden kann,

  • die Bewegung der Drehachse während eines Festzyklus verwendet wird,

  • während eines Festzyklus ist die inverse Zeitvorschubgeschwindigkeit aktiv ist,

  • oder Fräserkompensation während eines Festzyklus aktiv ist.

Bei aktiver XY-Ebene aktiv ist die Z-Nummer nicht veränderbar, und es ist ein Fehler, wenn:

  • die Z-Nummer fehlt und derselbe Festzyklus nicht bereits aktiv war,

  • oder die R-Zahl kleiner ist als die Z-Zahl.

Wenn andere Ebenen aktiv sind, gelten die Fehlerbedingungen analog zu den obigen XY-Bedingungen.

43.6. Vorläufige und zwischenzeitliche Bewegung

Die vorbereitende Bewegung ist eine Gruppe von Bewegungen, die allen vorprogrammierten Fräszyklen gemeinsam ist. Wenn die aktuelle Z-Position unterhalb der R-Position liegt, führt die Z-Achse einen Eilgang zur R-Position aus. Dies geschieht nur einmal, unabhängig vom Wert von L.

Darüber hinaus werden zu Beginn des ersten Zyklus und bei jeder Wiederholung die folgenden ein oder zwei Schritte ausgeführt:

  • Ein Eilgang parallel zur XY-Ebene zur angegebenen XY-Position.

  • Die Z-Achse fährt im Eiltempo in die R-Position, wenn sie sich nicht bereits in der R-Position befindet.

Wenn eine andere Ebene aktiv ist, sind die vorbereitenden und die dazwischen liegenden Bewegungen analog.

43.7. Warum ein Canned Cycle (Zyklus aus der Konserve)?

Es gibt mindestens zwei Gründe für die Verwendung von Zyklen aus der Konserve. Der erste ist die Einsparung von Code. Eine einzige Bohrung würde mehrere Codezeilen benötigen, um ausgeführt zu werden.

Die G81 Example 1 demonstriert, wie ein Festzyklus verwendet werden kann, um 8 Löcher mit zehn Zeilen G-Code im Festzyklusmodus zu erzeugen. Das folgende Programm erzeugt den gleichen Satz von 8 Löchern mit fünf Zeilen für den Festzyklus. Es folgt nicht genau dem gleichen Pfad und bohrt auch nicht in der gleichen Reihenfolge wie das frühere Beispiel. Aber die Wirtschaftlichkeit eines guten Festzyklus beim Programmieren sollte offensichtlich sein.

Anmerkung
Zeilennummern sind nicht erforderlich, dienen aber der Verdeutlichung dieser Beispiele.
Acht Löcher
N100 G90 G0 X0 Y0 Z0 (Koordinate zum Referenzpunkt setzen)
N110 G1 F10 X0 G4 P0.1
N120 G91 G81 X1 Y0 Z-1 R1 L4 (Festbohrzyklus)
N130 G90 G0 X0 Y1
N140 Z0
N150 G91 G81 X1 Y0 Z-0,5 R1 L4(Festbohrzyklus)
N160 G80 (Ausschalten des Festzyklus)
N170 M2 (Programmende)

Das G98 in der zweiten Zeile oben bedeutet, dass der Rücklauf auf den Z-Wert in der ersten Zeile erfolgt, da dieser höher ist als der angegebene R-Wert.

images/eight-holes_en.svg
Zwölf Löcher im Viereck

Dieses Beispiel demonstriert die Verwendung des L Werts, um eine Reihe von inkrementellen Bohrzyklen für aufeinanderfolgende Codeblöcke innerhalb desselben G81 Bewegungsmodus zu wiederholen. In diesem Beispiel werden 12 Bohrungen mit fünf Codezeilen im Modus "Festgelegte Bewegung" erzeugt.

N1000 G90 G0 X0 Y0 Z0 (Koordinate zum Referenzpunkt verschieben)
N1010 G1 F50 X0 G4 P0.1
N1020 G91 G81 X1 Y0 Z-0.5 R1 L4 (Festbohrzyklus)
N1030 X0 Y1 R0 L3 (Wiederholung)
N1040 X-1 Y0 L3 (Wiederholung)
N1050 X0 Y-1 L2 (Wiederholung)
N1060 G80 (Ausschalten des Festzyklus)
N1070 G90 G0 X0 (Eilgang nach Hause)
N1080 Y0
N1090 Z0
N1100 M2 (Programmende)
images/twelve-holes_en.svg

Der zweite Grund für die Verwendung eines festen Zyklus ist, dass alle diese Zyklen vorläufige Bewegungen und Erträge erzeugen, die Sie unabhängig vom Startpunkt des festen Zyklus vorhersehen und kontrollieren können.

44. G80 Cancel Canned Cycle

  • G80 - Aufhebung der modalen Bewegung des Festzyklus. G80 ist Teil der Modalgruppe 1, so dass die Programmierung eines anderen G-Codes aus der Modalgruppe 1 auch den Festzyklus aufhebt.

Es ist ein Fehler, wenn:

  • Achs-Worte werden bei aktivem G80 programmiert.

G80 Beispiel
G90 G81 X1 Y1 Z1.5 R2.8 (Festzyklus mit absolutem Abstand)
G80 (Ausschalten der Festzyklusbewegung)
G0 X0 Y0 Z0 (Eilgang zum Koordinatenursprung)

Der folgende Code ergibt dieselbe Endposition und denselben Maschinenzustand wie der vorherige Code.

G0 Beispiel
G90 G81 X1 Y1 Z1.5 R2.8 (absoluter Abstand im Festzyklus)
G0 X0 Y0 Z0 (Eilgang zum Koordinatenursprung)

Der Vorteil des ersten Satzes ist, dass die G80-Zeile den G81-Festzyklus eindeutig ausschaltet. Mit dem ersten Satz von Sätzen muss der Programmierer die Bewegung mit G0 wieder einschalten, wie es in der nächsten Zeile geschieht, oder mit einem anderen Bewegungsmodus-G-Wort.

Wenn ein Festzyklus nicht mit G80 oder einem anderen Bewegungswort ausgeschaltet wird, versucht der Festzyklus, sich mit dem nächsten Codesatz zu wiederholen, der ein X-, Y- oder Z-Wort enthält. Die folgende Datei bohrt (G81) einen Satz von acht Löchern, wie in der folgenden Beschriftung gezeigt.

G80 Beispiel 1
N100 G90 G0 X0 Y0 Z0 (Koordinatenheimat)
N110 G1 X0 G4 P0.1
N120 G81 X1 Y0 Z0 R1 (Festbohrzyklus)
N130 X2
N140 X3
N150 X4
N160 Y1 Z0.5
N170 X3
N180 X2
N190 X1
N200 G80 (Ausschalten des Festzyklus)
N210 G0 X0 (Eilgang nach Hause)
N220 Y0
N230 Z0
N240 M2 (Programmende)
Anmerkung
Beachten Sie die Änderung der Z-Position nach den ersten vier Löchern. Außerdem ist dies eine der wenigen Stellen, an denen Zeilennummern einen gewissen Wert haben, da sie den Leser auf eine bestimmte Codezeile verweisen können.

Die Verwendung von G80 in Zeile N200 ist optional, da das G0 in der nächsten Zeile den G81-Zyklus ausschaltet. Aber die Verwendung von G80, wie in Beispiel 1 gezeigt, macht den Festzyklus leichter lesbar. Ohne G80 ist es nicht so offensichtlich, dass alle Blöcke zwischen N120 und N200 zum Festzyklus gehören.

45. G81 Drilling Cycle

G81 (X- Y- Z-) oder (U- V- W-) R- L-

Der G81-Zyklus ist für Bohrungen bestimmt.

Der Zyklus funktioniert wie folgt:

G81 Zyklus
Abbildung 5. G81 Zyklus
Beispiel 1 – Absolute Position G81
G90 G98 G81 X4 Y5 Z1.5 R2.8

Angenommen, die aktuelle Position ist (X1, Y2, Z3) und die vorangehende Zeile des NC-Codes wird interpretiert.

Dies erfordert den absoluten Abstandsmodus (G90) und den OLD_Z-Rückzugsmodus (G98) sowie die einmalige Ausführung des Bohrzyklus G81.

  • Der X-Wert und die X-Position sind 4.

  • Der Y-Wert und die Y-Position sind 5.

  • Der Z-Wert und die Z-Position sind 1,5.

  • Der R-Wert und der klare (engl. clear) Z-Wert sind 2,8. OLD_Z ist 3.

Die folgenden Bewegungen finden statt:

  • Im Eilgang parallel zur XY-Ebene nach (X4, Y5)

  • Im Eilgang parallel zur Z-Achse nach (Z2.8).

  • Fahrt parallel zur Z-Achse mit normalem Vorschub zu (Z1.5)

  • Im Eilgang parallel zur Z-Achse nach (Z3)

images/g81ex1_en.svg
Beispiel 2 – Relative Position G81
G91 G98 G81 X4 Y5 Z-0.6 R1.8 L3

Angenommen, die aktuelle Position ist (X1, Y2, Z3) und die vorangehende Zeile des NC-Codes wird interpretiert.

Dies erfordert den inkrementellen Abstandsmodus (G91) und den OLD_Z-Rückzugsmodus (G98). Außerdem muss der Bohrzyklus G81 dreimal wiederholt werden. Der X-Wert ist 4, der Y-Wert ist 5, der Z-Wert ist -0,6 und der R-Wert ist 1,8. Die anfängliche X-Position ist 5 (=1+4), die anfängliche Y-Position ist 7 (=2+5), die freie Z-Position ist 4,8 (=1,8+3) und die Z-Position ist 4,2 (=4,8-0,6). OLD_Z ist 3.

Die erste vorläufige Bewegung ist eine maximal schnelle Bewegung entlang der Z-Achse nach (X1,Y2,Z4.8), da OLD_Z < clear Z.

Die erste Wiederholung besteht aus 3 Zügen.

  • Im Eilgang parallel zur XY-Ebene nach (X5, Y7)

  • Fahrt parallel zur Z-Achse mit Vorschub-Geschwindigkeit nach (Z4.2)

  • Im Eilgang parallel zur Z-Achse nach (X5, Y7, Z4.8)

Die zweite Wiederholung besteht aus 3 Zügen. Die X-Position wird auf 9 (=5+4) und die Y-Position auf 12 (=7+5) zurückgesetzt.

  • Im Eilgang parallel zur XY-Ebene zu (X9, Y12, Z4.8)

  • Fahrt parallel zur Z-Achse mit Vorschub-Geschwindigkeit auf (X9, Y12, Z4.2)

  • Eine schnelle Bewegung parallel zur Z-Achse zu (X9, Y12, Z4.8)

Die dritte Wiederholung besteht aus 3 Zügen. Die X-Position wird auf 13 (=9+4) und die Y-Position auf 17 (=12+5) zurückgesetzt.

  • Im Eilgang parallel zur XY-Ebene nach (X13, Y17, Z4.8)

  • Verfahren parallel zur Z-Achse im Vorschub bis (X13, Y17, Z4.2)

  • Im Eilgang parallel zur Z-Achse nach (X13, Y17, Z4.8)

images/g81ex2_en.svg
Beispiel 3 - Relative Position G81
G90 G98 G81 X4 Y5 Z1.5 R2.8

Nehmen wir nun an, dass Sie den ersten G81-Codeblock ausführen, aber nicht von (X1, Y2, Z3), sondern von (X0, Y0, Z0) aus.

Da OLD_Z unter dem R-Wert liegt, fügt es der Bewegung nichts hinzu, aber da der Anfangswert von Z kleiner als der in R angegebene Wert ist, wird es während der vorbereitenden Bewegungen eine anfängliche Z-Bewegung geben.

images/g81_en.svg
Beispiel 4 - Absolute G81 R > Z

Dies ist eine Darstellung des Bewegungspfads für den zweiten g81-Codeblock.

G91 G98 G81 X4 Y5 Z-0.6 R1.8 L3

Da diese Darstellung mit (X0, Y0, Z0) beginnt, fügt der Interpreter die anfängliche Z0 und R1.8 hinzu und bewegt sich schnell zu dieser Position. Nach dieser anfänglichen Z-Bewegung funktioniert die Wiederholungsfunktion genauso wie in Beispiel 3, wobei die endgültige Z-Tiefe 0,6 unter dem R-Wert liegt.

images/g81a_en.svg
Beispiel 5 - Relative Position R > Z
G90 G98 G81 X4 Y5 Z-0.6 R1.8

Da diese Zeichnung mit (X0, Y0, Z0) beginnt, fügt der Interpreter die anfänglichen Z0 und R1.8 hinzu und bewegt sich schnell zu dieser Position wie in "Beispiel 4". Nach dieser anfänglichen Z-Bewegung wird die Eilgang-Bewegung nach X4 Y5 durchgeführt. Die endgültige Z-Tiefe liegt dann 0,6 unter dem R-Wert. Die Wiederholungsfunktion würde die Z-Bewegung an der gleichen Stelle wiederholen.

46. G82 Drilling Cycle, Dwell

G82 (X- Y- Z-) or (U- V- W-) R- L- P-

Der Zyklus G82 ist für das Bohren mit einer Verweilzeit am Bohrungsgrund vorgesehen.

  • Vorläufige Bewegung, wie im Abschnitt Preliminary and In-Between Motion beschrieben.

  • Fahren Sie die Z-Achse mit dem aktuellen Vorschub auf die Z-Position.

  • Verweilen für die Anzahl von P Sekunden.

  • Die Z-Achse führt einen Eilgang aus, um über Z den Weg freizumachen.

Die Bewegung eines G82-Bohrzyklus (engl. canned cycle) sieht genauso aus wie G81 mit dem Zusatz einer Verweilzeit am Ende der Z-Bewegung. Die Länge der Verweilzeit wird durch ein 'P-'Wort im G82-Satz festgelegt.

G90 G82 G98 X4 Y5 Z1.5 R2.8 P2

Dies entspricht dem obigen Beispiel 3, nur mit einer zusätzlichen Verweilzeit von 2 Sekunden am Boden des Lochs.

47. G83 Peck Drilling Cycle

G83 (X- Y- Z-) or (U- V- W-) R- L- Q- P-

The G83 cycle (often called peck drilling) is intended for deep drilling ormilling with chip breaking. The retracts in this cycle clear the hole of chips and cut off any long stringers (which are common when drilling in aluminum). This cycle takes a Q number which represents a delta increment along the Z-axis. The retract before final depth will always be to the retract plane even if G98 is in effect. The final retract will honor the G98/99 in effect. G83 functions the same as G81 with the addition of retracts during the drilling operation. Peck clearance can be specified by optional P number.

  • Vorläufige Bewegung, wie im Abschnitt Preliminary and In-Between Motion beschrieben.

  • Die Z-Achse mit dem aktuellen Vorschub um Delta nach unten oder auf die Z-Position fahren, je nachdem, was weniger tief ist.

  • Schnelles Zurückfahren auf die durch das R-Wort angegebene Rückzugsebene.

  • Bewegen Sie sich im Eiltempo zurück zum aktuellen Bohrungsgrund, abzüglich 0,254 mm oder 0,010 Zoll.

  • Wiederholen der Schritte 2, 3 und 4, bis die Z-Position bei Schritt 2 erreicht ist.

  • Die Z-Achse führt einen Eilgang aus, um über Z den Weg freizumachen.

Es ist ein Fehler, wenn:

  • Die Q-Zahl ist negativ oder null.

48. G84 Right-hand Tapping Cycle, Dwell

G84 (X- Y- Z-) or (U- V- W-) R- L- P- $- F-
  • R- - Zurückziehen der Position entlang der Z-Achse.

  • L-' - Wird im inkrementellen Modus verwendet; Anzahl der Wiederholungen des Zyklus. Siehe G81 für Beispiele.

  • P-' - Verweilzeit (Sekunden).

  • $- - Ausgewählte Spindel.

  • F- - Vorschubgeschwindigkeit (Spindeldrehzahl multipliziert mit der pro Umdrehung zurückgelegten Strecke (Gewindesteigung)).

Warnung
G84 verwendet keine synchronisierte Bewegung.

Der Zyklus G84 ist für das Gewindeschneiden mit schwimmendem Spannfutter und Verweilzeit am Bohrungsgrund vorgesehen.

  • Vorläufige Bewegung, wie im Abschnitt Preliminary and In-Between Motion beschrieben.

  • Deaktivieren von Vorschub- und Geschwindigkeits-Neufestsetzungen (engl. overrides).

  • Fahren Sie die Z-Achse mit der aktuellen Vorschubgeschwindigkeit in die Z-Position.

  • Anhalten der ausgewählten Spindel (ausgewählt durch den Parameter $)

  • Starten Sie die Spindeldrehung gegen den Uhrzeigersinn.

  • Verweilen für die Anzahl von P Sekunden.

  • Bewegen Sie der Z-Achse mit der aktuellen Vorschubgeschwindigkeit, um Z zu löschen

  • Wiederherstellung der Vorschub- und Geschwindigkeitsneufestsetzung-Aktivierung in den vorherigen Zustand

Die Länge der Verweilzeit wird durch ein P--Wort im G84-Satz angegeben. Die Vorschubgeschwindigkeit F- ist die Spindeldrehzahl multipliziert mit dem Abstand pro Umdrehung (Gewindesteigung). Im Beispiel S100 mit 1,25MM pro Umdrehung Gewindesteigung ergibt einen Vorschub von F125.

49. G85 Boring Cycle, Feed Out

G85 (X- Y- Z-) or (U- V- W-) R- L-

Der Zyklus "G85" ist zum Bohren oder Reiben vorgesehen, kann aber auch zum Bohren oder Fräsen verwendet werden.

  • Vorläufige Bewegung, wie im Abschnitt Preliminary and In-Between Motion beschrieben.

  • Bewege die Z-Achse nur mit dem aktuellen Vorschub zur Z-Position.

  • Rückzug der Z-Achse mit dem aktuellen Vorschub in die R-Ebene, wenn dieser niedriger ist als der ursprüngliche Z-Wert.

  • Mit der Verfahrgeschwindigkeit einfahren, um Z zu löschen.

50. G86 Boring Cycle, Spindle Stop, Rapid Move Out

G86 (X- Y- Z-) oder (U- V- W-) R- L- P- $-

Der Zyklus "G86" ist für das Bohren vorgesehen. Dieser Zyklus verwendet eine P-Zahl für die Anzahl der Verweilsekunden.

  • Vorläufige Bewegung, wie im Abschnitt Preliminary and In-Between Motion beschrieben.

  • Bewege die Z-Achse nur mit dem aktuellen Vorschub zur Z-Position.

  • Verweilen für die Anzahl von P Sekunden.

  • Stoppt die Drehung der ausgewählten Spindel. (Wird durch den Parameter $ ausgewählt)

  • Die Z-Achse führt einen Eilgang aus, um über Z den Weg freizumachen.

  • Starten Sie die Spindel wieder in der ursprünglichen Richtung.

Es ist ein Fehler, wenn:

  • die Spindel sich nicht dreht, bevor dieser Zyklus ausgeführt wird.

51. G87 Back Boring Cycle

Dieser Code ist derzeit nicht in LinuxCNC implementiert. Es wird akzeptiert, aber das Verhalten ist undefiniert.

52. G88 Boring Cycle, Spindle Stop, Manual Out

Dieser Code ist derzeit nicht in LinuxCNC implementiert. Es wird akzeptiert, aber das Verhalten ist undefiniert.

53. G89 Boring Cycle, Dwell, Feed Out

G89 (X- Y- Z-) or (U- V- W-) R- L- P-

Der Zyklus G89 ist für das Bohren vorgesehen. Dieser Zyklus verwendet eine P-Zahl, wobei P die Anzahl der zu verweilenden Sekunden angibt.

  • Vorläufige Bewegung, wie im Abschnitt Preliminary and In-Between Motion beschrieben.

  • Bewege die Z-Achse nur mit dem aktuellen Vorschub zur Z-Position.

  • Verweilen für die Anzahl von P Sekunden.

  • Zurückfahren der Z-Achse mit der aktuellen Vorschubgeschwindigkeit, um Z zu löschen.

54. G90, G91 Distance Mode

  • G90 - absoluter Abstandsmodus Im absoluten Abstandsmodus stellen die Achsennummern (X, Y, Z, A, B, C, U, V, W) normalerweise Positionen in Bezug auf das gerade aktive Koordinatensystem dar. Alle Ausnahmen von dieser Regel werden im Abschnitt G80 G89 ausdrücklich beschrieben.

  • "G91' - inkrementeller Abstandsmodus. Im inkrementellen Abstandsmodus stellen die Achsennummern normalerweise Zuwächse (engl. increments) ausgehend von der aktuellen Koordinate dar.

G90 Beispiel
G90 (Einstellung des absoluten Abstandsmodus)
G0 X2.5 (Schnellverschiebung zur Koordinate X2.5, einschließlich eventueller Offsets)
G91 Beispiel
G91 (Inkrementellen Abstandsmodus einstellen)
G0 X2.5 (Eilgang 2,5 von der aktuellen Position entlang der X-Achse)
  • Siehe Abschnitt G0 für weitere Informationen.

55. G90.1, G91.1 Arc Distance Mode

  • G90.1 - absoluter Abstandsmodus für I, J und K Versatz. Wenn G90.1 in Kraft ist, müssen I und J beide mit G2/3 für die XY-Ebene oder J und K für die XZ-Ebene angegeben werden, sonst ist es ein Fehler.

  • G91.1 - inkrementeller Abstandsmodus für I, J und K Offsets. G91.1 Setzt I, J und K auf ihren Standardwert zurück.

56. G92 Coordinate System Offset

G92 Achsen
Warnung
Verwenden Sie G92 erst, nachdem Ihre Maschine am gewünschten Punkt positioniert wurde.

G92 bewirkt, dass der aktuelle Punkt die gewünschten Koordinaten hat (ohne Bewegung), wobei die Achsenwörter die gewünschten Achsennummern enthalten. Alle Achswörter sind optional, außer dass mindestens eines verwendet werden muss. Wenn für eine bestimmte Achse kein Achsenwort verwendet wird, ist der Offset für diese Achse null.

Wenn G92 ausgeführt wird, verschieben sich die Ursrpünge (engl. origins) aller Koordinatensysteme. Sie verschieben sich so, dass der Wert des aktuell kontrollierten Punktes im aktuell aktiven Koordinatensystem den angegebenen Wert annimmt. Alle Ursprünge des Koordinatensystems (G53-G59.3) werden um denselben Abstand verschoben.

G92' verwendet die in parameters 5211-5219 gespeicherten Werte als X Y Z A B C U V W Offsetwerte für jede Achse. Die Parameterwerte sind "absolute" Maschinenkoordinaten in den nativen Maschineneinheiten, wie in der INI-Datei angegeben. Alle in der INI-Datei definierten Achsen werden versetzt, wenn G92 aktiv ist. Wenn eine Achse nach G92 nicht eingegeben wurde, ist der Offset dieser Achse Null.

Angenommen, der aktuelle Punkt befindet sich bei X=4 und es ist derzeit kein G92-Offset aktiv. Dann wird G92 X7 programmiert. Dadurch werden alle Ursprünge um -3 in X verschoben, wodurch der aktuelle Punkt zu X=7 wird. Diese -3 wird in Parameter 5211 gespeichert.

Der inkrementelle Entfernungsmodus (G91 statt G90) hat keinen Einfluss auf die Wirkung von G92.

Die G92-Versätze können bereits in Kraft sein, wenn G92 aufgerufen wird. Ist dies der Fall, wird der Offset durch einen neuen Offset ersetzt, der den aktuellen Punkt zu dem angegebenen Wert macht.

Es ist ein Fehler, wenn alle Achsworte weggelassen werden.

LinuxCNC speichert die G92 Offsets und wiederverwendet sie auf den nächsten Lauf eines Programms. Um dies zu verhindern, kann man ein G92.1 programmieren (um sie zu löschen), oder ein G92.2 programmieren (um sie zu entfernen - sie sind immer noch gespeichert).

Anmerkung
Der Befehl G52 kann auch verwendet werden, um diesen Offset zu ändern; siehe den Abschnitt Offsets für weitere Einzelheiten über G92 und G52 und wie sie zusammenwirken.

Einen Überblick über Koordinatensysteme finden Sie im Abschnitt Koordinatensystem.

Siehe den Abschnitt zu Parametern für weitere Informationen.

57. G92.1, G92.2 Reset G92 Offsets

  • G92.1 - Schalten Sie G92-Offsets aus und setzt Parameter 5211 - 5219 auf Null zurück.

  • G92.2 - G92-Offsets ausschalten, aber Parameter 5211 - 5219 verfügbar lassen.

Anmerkung
G92.1 löscht nur G92-Offsets, um G53-G59.3-Koordinatensystem-Offsets im G-Code zu ändern, verwenden Sie entweder G10 L2 oder G10 L20.

58. G92.3 Restore G92 Offsets

  • G92.3 - setzt den G92-Offset auf die in den Parametern 5211 bis 5219 gespeicherten Werte

Sie können Achsversätze in einem Programm einstellen und die gleichen Versätze in einem anderen Programm verwenden. Programmieren Sie G92 im ersten Programm. Dadurch werden die Parameter 5211 bis 5219 eingestellt. Verwenden Sie im weiteren Verlauf des ersten Programms nicht G92.1. Die Parameterwerte werden beim Verlassen des ersten Programms gespeichert und beim Starten des zweiten Programms wiederhergestellt. Verwenden Sie G92.3 zu Beginn des zweiten Programms. Dadurch werden die im ersten Programm gespeicherten Offsets wiederhergestellt.

59. G93, G94, G95 Feed Rate Mode

  • G93 - ist der Modus "Inverse Zeit". Im Modus für inverse Zeitvorschübe bedeutet ein F-Wert, dass die Bewegung in [eins geteilt durch die F-Zahl] Minuten abgeschlossen sein sollte. Wenn die F-Zahl beispielsweise 2.0 beträgt, sollte die Bewegung in einer halben Minute abgeschlossen sein.

    Wenn der Modus für den inversen Zeitvorschub aktiv ist, muss ein F-Wort in jeder Zeile erscheinen, die eine G1-, G2- oder G3-Bewegung hat, und ein F-Wort in einer Zeile, die keine G1-, G2- oder G3-Bewegung hat, wird ignoriert. Der Modus "Inverser Zeitvorschub" wirkt sich nicht auf G0-Bewegungen (rapid move) aus.

  • "G94" - ist der Modus Einheiten pro Minute. Im Vorschubmodus Einheiten pro Minute wird ein F-Wert so interpretiert, dass der gesteuerte Punkt mit einer bestimmten Anzahl von Zoll pro Minute, Millimeter pro Minute oder Grad pro Minute verfahren werden soll, je nachdem, welche Längeneinheiten verwendet werden und welche Achse oder Achsen sich bewegen.

  • G95 - ist der Einheiten-pro-Umdrehungs-Modus Im Einheiten-pro-Umdrehungs-Modus wird ein F-Wort dahingehend interpretiert, dass sich der gesteuerte Punkt um eine bestimmte Anzahl von Zoll pro Spindelumdrehung bewegen soll, je nachdem, welche Längeneinheiten verwendet werden und welche Achse oder Achsen bewegen sich. G95 ist nicht zum Gewindeschneiden geeignet, zum Gewindeschneiden G33 oder G76 verwenden. G95 erfordert, dass spindle.N.speed-in verbunden ist. Durch den $-Parameter wird die tatsächliche Spindel ausgewählt, auf die der Vorschub synchronisiert wird.

Es ist ein Fehler, wenn:

  • Der inverse Zeitvorschubmodus ist aktiv und eine Zeile mit G1, G2 oder G3 (explizit oder implizit) hat kein F-Wert.

  • Nach dem Umschalten auf G94 oder G95 keine neue Vorschubgeschwindigkeit angegeben wird.

60. G96, G97 Spindle Control Mode

G96 <D-> S- <$-> (Modus konstante Oberflächengeschwindigkeit)
G97 S- <$-> (Drehzahlmodus)
  1. D - maximale Drehzahl (RPM), optional

  2. S - Spindeldrehzahl

  3. $' - die Spindel, deren Geschwindigkeit variiert werden soll, optional.

    • G96 S- <D->' - wählt eine konstante Oberflächengeschwindigkeit von S:

      • In Fuß pro Minute, wenn G20 aktiviert ist,

      • oder Meter pro Minute, wenn G21 aktiv ist.

Stellen Sie bei Verwendung von G96 sicher, dass X0 im aktuellen Koordinatensystem (einschließlich Offsets und Werkzeuglängen) das Rotationszentrum ist, da LinuxCNC sonst nicht die gewünschte Oberflächengeschwindigkeit liefert. G96 wird vom Radius- oder Durchmessermodus nicht beeinflusst.

Um den CSS-Modus für ausgewählte Spindeln zu erreichen, programmieren Sie vor der Ausgabe von M3 aufeinanderfolgende G96-Befehle für jede Spindel.

  • G97 wählt den Drehzahlmodus aus.

G96 Beispielzeile
G96 D2500 S250 (CSS mit einer maximalen Drehzahl von 2500 und einer Oberflächengeschwindigkeit von 250)

Es ist ein Fehler, wenn:

  • S ist bei G96 nicht festgelegt

  • Eine Vorschubbewegung wird im G96-Modus festgelegt, während sich die Spindel nicht dreht

61. G98, G99 Canned Cycle Return Level

Wenn die Spindel während der Festzyklen zurückfährt, gibt es zwei Möglichkeiten, wie dies geschehen kann:

  • G98 - Rückzug auf die Position, in der sich die Achse befand, kurz bevor diese Serie von einem oder mehreren zusammenhängenden Festzyklen gestartet wurde.

  • G99 - Rückzug bis zu der durch den R-Wert festgelegten Position des Festzyklus.

Programmieren Sie ein G98 Kommando und der Festzyklus verwendet die Z-Position vor dem Festzyklus als Z-Rückkehrposition, wenn sie höher ist als der im Zyklus angegebene R-Wert. Wenn sie niedriger ist, wird der R-Wert verwendet. Das R-Wort hat im absoluten Abstandsmodus und im inkrementellen Abstandsmodus unterschiedliche Bedeutungen.

G98 Zurückfahren zum Ausgangspunkt
G0 X1 Y2 Z3
G90 G98 G81 X4 Y5 Z-0.6 R1.8 F10

Das G98 in der zweiten Zeile im obigen Beispiel bedeutet, dass der Rücksprung auf den Wert von Z in der ersten Zeile erfolgt, da dieser höher ist als der angegebene R-Wert.

Die Ausgangsebene (G98) wird jedes Mal zurückgesetzt, wenn der Zyklusmodus verlassen wird, sei es explizit (G80) oder implizit (jeder Bewegungscode, der kein Zyklus ist). Ein Wechsel zwischen den Zyklusmodi (z. B. G81 zu G83) setzt die "Ausgangsebene" NICHT zurück. Es ist möglich, während einer Reihe von Zyklen zwischen G98 und G99 zu wechseln.