Kreisinterpolation (G02/G03)
Syntax: | ||
G02 | Kreisinterpolation im Uhrzeigersinn (CW) | modal |
G03 | Kreisinterpolation im Gegenuhrzeigersinn (CCW) | modal |
Bei angewähltem G02 oder G03 wird der programmierte Weg mit der unter dem F-Wort (z.B. mm/min) angegebenen Vorschubgeschwindigkeit auf einem Kreis zur Zielposition verfahren. Es können Kreise in den drei Hauptebenen des Raumkoordinatensystems (X-Y, Z-X, Y-Z) gefahren werden. Die Auswahl der Hauptebene erfolgt mit den Funktionen G17, G18, G19 (siehe Ebenenauswahl).
Alle programmierten Mitschleppachsen werden mit linearer Geschwindigkeit so bewegt, dass der Start und das Ende ihrer Bewegung zeitgleich mit den Hauptachsen erfolgen.
Kreisprogrammierung über Mittelpunkt und Kreisendpunkt
Zur Definition des Kreises wird der Kreisanfangspunkt (ist durch den vorhergehenden Satz bestimmt), der Kreisendpunkt und der Kreismittelpunkt "Km" herangezogen.
Syntaxbeispiel für Ebene G17: |
G02 | G03 [X.. Y..] I.. J.. |
G02 | G03 | Kreisinterpolation CW / CCW |
X.. Y.. | Kreisendpunkt in der Ebene XY in [mm, inch] |
I..J.. | Lage des Kreismittelpunktes der Interpolation in der Ebene XY (I in X, J in Y) in [mm, inch], entsprechend G161/G162 |
Syntax entsprechend der angewählten Interpolationsebene: | |||
Ebene | Interpolationsart | Endpunkt in Ebene | Mittelpunkt |
G17 | G02/G03 | X.. Y.. | I.. J.. |
G18 | G02/G03 | Z.. X.. | K.. I.. |
G19 | G02/G03 | Y.. Z.. | J.. K.. |
Die Angabe des Kreismittelpunktes erfolgt durch die Interpolationsparameter I, J und K relativ zum Kreisanfangspunkt bei wirksamem G162, absolut bei wirksamem G161 (siehe Mittelpunktsangabe bei Kreisdefinition (G161/G162)).
| G162: | (Grundeinstellung) |
| I | relative Lage von Km in X-Richtung |
| J | relative Lage von Km in Y-Richtung |
| K | relative Lage von Km in Z-Richtung |
| G161: |
|
| I | absolute Lage von Km in X-Richtung |
| J | absolute Lage von Km in Y-Richtung |
| K | absolute Lage von Km in Z-Richtung |
Bei einer falschen Definition des Kreismittelpunktes erfolgt eine Fehlermeldung, wenn keine Kreismittelpunktkorrektur eingeschaltet ist (G165). Bei wirksamem G165 wird ein Mittelpunkt so bestimmt, dass ein Kreis gefahren werden kann. Das bedeutet auch, dass bei nicht angegebenen Interpolationsparametern die Kreismittelpunktkorrektur von I, J, K = 0 ausgeht. (siehe Mittelpunktskorrektursteuerung im Kreis (G164/G165)).
Die Kreismittelpunktkoordinaten I, J, K sind "nicht-haltend" wirksam.
Sind bei aktivem G02/G03 die Interpolationsparameter I,J, K ohne Kreisendpunkt programmiert, so wird ein Vollkreis gefahren.
Kreisprogrammierung über Radius und Kreisendpunkt
Alternativ zu I, J, K können Kreise auch mittels Radiusangabe programmiert werden. Dies ist möglich über den Adressbuchstaben R"Radiuswert" oder über G163="Radiuswert". Jedoch kann mit R kein Vollkreis programmiert werden. Die Radiusangabe mit R oder G163= ist "haltend" wirksam und wird bei mehreren kreisförmigen Verfahrbewegungen ohne wiederholte Angabe erneut verwendet.
Syntaxbeispiel für Ebene G17: |
G02 | G03 X.. Y.. R.. |
G02 | G03 | Kreisinterpolation CW / CCW |
X.. Y.. | Kreisendpunkt in der Ebene XY in [mm, inch] |
R.. | Radiuswert des zu interpolierenden Teilkreises in [mm, inch]. |
Hinweis
Der maximal zulässige Kreisradius beträgt 109 mm. Der Endpunkt des Kreisbogens darf jedoch den maximal zulässigen Verfahrbereich der Achsen von +- 2,14*105 mm nicht überschreiten.
Hinweis
Bei positivem Radiuswert wird ein kürzestmöglicher Kreisbogen, bei negativem Radiuswert der größtmögliche Kreis bestimmt (siehe Bild unten).
Programmierbeispiel
Kreisinterpolation mit Teil- und Vollkreis
N05 G0 X0 Y0
N10 G01 X10 Y10 F1000
N20 G02 X30 Y30 I10 J10 ;Halbkreis um M1 Kreisendpunkt X30 Y30
;Alternativ N20:
N20 G02 X30 Y30 R[10*SQRT[2]] ;Halbkreis um M1 Kreisendpunkt X30 Y30
N30 G02 I10 J10 ;Vollkreis um M2
Programmierbeispiel
Kreisinterpolation mit programmierter Mitschleppachse
;Absolutmaßeingabe:
N05 G90 G00 X40 Y30 U40 ;Kreisanfang (Ka), Ausgangslage
N10 G90 F1000 ;Absolutmaß, Vorschub
N20 G17 ;Anwahl der X-Y-Ebene
N30 G03 G161 X60 Y50 I60 J30 U90 ;Kreis: Ka -> Ke u. Gerade: P1 -> P2
;Kettenmaßeingabe:
N05 G90 G00 X40 Y30 U40 ;Kreisanfang (Ka), Ausgangslage
N10 G91 F1000 ;Kettenmaß, Vorschub
N20 G17 ;Anwahl X-Y-Ebene
N30 G03 G162 X20 Y20 I20 U50 ;Kreis: Ka -> Ke u. Gerade: P1 -> P2
Bei der s.g. indizierten Radiusprogrammierung kann der Radius mit "R1=.." angegeben werden. Hierbei ist als Index nur der Wert 1 erlaubt. Wird "R1" auf der rechten Zuweisungsseite verwendet, so darf der Indexwert 1 nicht als mathematischer Ausdruck programmiert werden.
Programmierbeispiel
Indizierte Radiusprogrammierung (R1=..)
;Links- und Rechtsseite Verwendung direkt
N10 R1 = 5
N20 P2 = R1 ;erlaubt
;Linksseitige Verwendung indirekt
N10 P2 = 1
N20 RP2 = 5 ;erlaubt
;Rechtsseite Verwendung indirekt
N10 R1 = 5 P2 = 1
N20 P3 = RP2 ;nicht erlaubt
Programmierbeispiel
Diese Beispiele ergeben jeweils Halbkreise mit Radius 50.
:
N10 G90 G01 X0 Y0 F500
N20 G02 X100 R50 ;Halbkreis im Uhrzeigersinn
N30 G03 X200 R50 ;Halbkreis im Gegenuhrzeigersinn
:
N10 G90 G01 X0 Y0 F500
N20 G02 R=50 ;hier noch keine Bewegung
N30 X100 ;Halbkreis im Uhrzeigersinn
:
N10 G90 G01 X0 Y0 F500
N20 R1=50
N30 G02 X100 ;Halbkreis im Uhrzeigersinn
N40 G03 X200 ;Halbkreis im Gegenuhrzeigersinn
:
N10 G90 G01 X0 Y0 F500
N20 G02 X100 R1=50 ;Halbkreis im Uhrzeigersinn
N30 G03 X200 ;Halbkreis im Gegenuhrzeigersinn
Folgende Programmierung ergibt eine Fehlermeldung, da R1 als Radius mit dem Wert 1 interpretiert wird:
N10 G90 G01 X0 Y0 F500
N20 R1=50
N30 G02 X100 R1
Alternativ zur Kreisdefinition mit "R" oder "R1" kann eine Kreisradiusvorgabe auch mit G163 erfolgen.
Syntaxbeispiel für Ebene G17: |
G02 | G03 X.. Y.. G163=.. |
G02 | G03 | Kreisinterpolation CW / CCW |
X.. Y.. | Kreisendpunkt in der Ebene XY in [mm, inch] |
G163=.. | Radiuswert des zu interpolierenden Teilkreises in [mm, inch]. |
Die Kreisdefinition über G163 ist bei angewählter Kreisinterpolation bis zur Neudefinition oder bis zur Abwahl über eine I- und/oder J- und/oder K-Angabe gültig.
Programmierbeispiel
Kreisradiusprogrammierung mit G163
;N10: Bewegung zum Ursprung
;N20: Halbkreis im Uhrzeigersinn mit Zielwert X100 und unter Vorgabe
;des Kreisradius durch G163 (Radiusangabe wirkt selbsthaltend)
;N30: Halbkreis gegen den Uhrzeigersinn mit Zielwert X200 und Radius,
;der in N20 festgelegt wurde und haltend wirksam ist
%Radiusprogrammierung_G163
N10 G90 G01 X0 Y0 F1000
N20 G02 G163=50 X100 ;Halbkreis im Uhrzeigersinn
N30 G03 X200 ;Halbkreis im Gegenuhrzeigersinn
N40 M30
Achtung
Fallen Start- und Endpunkt des mit "R", "R1" oder "G163" programmierten Kreises zusammen, so wird eine Fehlermeldung ausgegeben. Soll also ein Vollkreis gefahren werden, so muss dieser mit I/J/K programmiert werden.
Kreisprogrammierung über Winkel und Mittelpunkt
Als weitere Möglichkeit kann ein Kreis auch über die Angabe eines Winkels und eines Mittelpunktes programmiert werden. Basierend auf diesen Werten wird der Endpunkt des Kreises berechnet und der Kreis interpoliert. Abhängig von der aktiven Ebene müssen hierbei die zugeordneten Mittelpunktkoordinaten verwendet werden.
Funktionalität ist verfügbar ab V3.01.3080.15 bzw. V3.1.3107.49.
Syntaxbeispiel für Ebene G17: |
G02 | G03 I.. J.. #CANG=.. |
G02 | G03 | Kreisinterpolation CW / CCW |
I.. J.. | Lage des Kreismittelpunktes der Interpolation in der Ebene XY (I in X, J in Y) in [mm, inch], entsprechend G161/G162 |
#CANG=.. | Kreisöffnungswinkel in Grad [°]. Der Endpunkt wird berechnet. |
Programmierbeispiel
Kreisinterpolation mit Mittelpunkt und Winkel
N05 G17 G161 ;Ebene G17, Mittelpunktangaben absolut
N07 G00 X0 Y0
N10 G01 G90 X10 Y10 F1000 ;Kreisstartpunkt
N20 G02 I40 J20 #CANG=135 ;Endpunkt P1 wird berechnet
N30 ..