Kreisinterpolation

Die Programmierung von Kreisen kann auf unterschiedliche Weise erfolgen. Dabei muss zwischen zwei Arten unterschieden werden. Dies ist zum einen ein Kreis in der Arbeitsebene (z.B. XY-Ebene) und zum anderen ein Kreis, der frei im Raum liegen kann (CIP-Kreis).

Kreisinterpolation im Uhrzeigersinn

Befehl

G2 bzw. G02

Aufhebung

G0, G1 oder G3

Mit der Funktion G2 wird eine Kreisbahn im Uhrzeigersinn beschrieben. Hierfür ist es allerdings erforderlich, dass die Arbeitsebene zuvor bestimmt wird (standardmäßig G17).

Um den Kreis eindeutig zu beschreiben sind neben dem Endpunkt noch weitere Parameter notwendig. Dabei kann zwischen einer Mittelpunktprogrammierung und einer Radiusprogrammierung gewählt werden.

Radiusprogrammierung

Bei der Radiusprogrammierung wird neben dem Endpunkt noch der Radius des Kreises programmiert. Für den Radius können wahlweise die Buchstaben 'B' bzw. 'U' verwendet werden.

Da mit G2 die Richtung vorgegeben ist, ist auch der Kreis eindeutig bestimmt. Die Anfangskoordinaten ergeben sich aus der vorangegangenen Geometrie.

Beispiel 1:

N10 G01 G17 X100 Y100 F6000
N20 G02 X200 B200
Kreisinterpolation 1:

Winkelprogrammierung für Winkel >180°

Wenn ein Winkel größer als 180° gefahren werden soll, so muss der Radius negativ angegeben werden.

Kreisinterpolation 2:

Vollkreisprogrammierung

Start- und Endpunkt müssen sich voneinander unterscheiden, damit der Mittelpunkt berechenbar ist. Somit ist mit der Radiusprogrammierung kein Vollkreis programmierbar. Hierfür kann die Mittelpunktprogrammierung verwendet werden.

Mittelpunktprogrammierung

Die Mittelpunktprogrammierung stellt eine Alternative zu der gerade beschriebenen Methode dar. Der Vorteil der Mittelpunktprogrammierung ist, dass hier auch Vollkreise beschrieben werden können.

In der Standardeinstellung wird der Mittelpunkt immer relativ zum Anfangspunkt des Kreises angegeben. Hierfür werden die Parameter I, J und K verwendet. Dabei steht

Mindestens einer dieser Parameter ist 0 und es ist deshalb nicht erforderlich diese mitzuprogrammieren.

Beispiel 2:

N10 G01 G17 X100 Y100 F6000
N20 G02 I50 J0 (J is optional) X200
N30 M30 (program end)

Beispiel 3:

N10 G01 G18 X100 Y100 Z100 F6000
N20 G02 I0 K50 X150 Z150 (quarter circle in ZX plane)
N30 M30

Über die Programmierung eines Maschinendatums ist es aber auch möglich, den Mittelpunkt absolut einzugeben. Um auf ein Maschinendatenbit schreibend zuzugreifen wird der Befehl @402 benötigt.

Im folgenden Beispiel wird der Kreis aus dem 1. Beispiel mit dem absoluten Kreismittelpunkt programmiert.

Beispiel 4:

N10 G01 G17 X100 Y100 F6000
N20 @402 K5003 K5 K1 (center point programming absolute)
N30 G02 I150 J100 X200
N40 @402 K5003 K5 K0 (center point programming relative)
N50 M30

Kreisinterpolation gegen Uhrzeigersinn

Befehl

G3 bzw. G03

Aufhebung

G0, G1 oder G2

Mit der Funktion G3 wird eine Kreisbahn gegen Uhrzeigersinn gefahren. Die Parameter und auch die Eingabemöglichkeiten sind die gleichen, wie unter G2.

Kreisgenauigkeit

ab TwinCAT V2.9 Build 1022

Befehl

#set paramRadiusPrec(<param>)#

Parameter

param: maximal erlaubte Radiustoleranz
0.001 < param < 1.0 (default 0.1)

Mit der Funktion 'set paramRadiusPrec' wird die erforderliche Kreisgenauigkeit parametriert. Dieser Parameter wirkt auf Kreise, die mit G02 bzw. G03 programmiert werden.

Ist bei der Mittelpunkprogrammierung die Differenz der Radienlänge grösser als <param>, so wird ein Fehler generiert.

Mittelpunktskorrektur

ab TwinCAT V2.10 Build 1243

Befehl

CPCON (Standardeinstellung)

Aufhebung

CPCOF

Bei der Mittelpunktsprogrammierung ist der Kreis überbestimmt. Damit die Daten konsistent sind, wird im Standardfall der Mittelpunkt korrigiert. In der Regel ist dafür nur eine marginale Änderung des Mittelpunkts notwendig. Nach der Mittelpunktskorrektur ist der Betrag des Eingangsradius gleich dem Ausgangsradius.

Liegen Start- und Endpunkt sehr dicht beieinander, so kann der Mittelpunkt massiv verschoben werden. Dies kann bei automatisch generierten G-Code (Postprozessor) zu Problemen führen. Für manuell geschriebenen G-Code wird die Einstellung CPCON (center point correction on) empfohlen.

CIP-Kreis

Befehl

CIP

Aufhebung

Satzende

Die bislang besprochenen Kreise können nur in den Hauptebenen verfahren. Mit dem CIP-Kreis ist es auch möglich einen Kreis frei im Raum zu programmieren. Hierfür muss neben dem Endpunkt auch noch ein Punkt auf der Bahn programmiert werden.

Damit der Kreis eindeutig beschrieben werden kann, dürfen alle 3 Punkte (Anfangspunkt ist implizit vorgegeben) nicht kollinear sein. Es lässt sich also auf diese Weise kein Vollkreis programmieren.

Als Parameter für den Bahnpunkt stehen I, J und K zur Verfügung, die standardmäßig relativ zum Kreisanfangspunkt beschrieben werden.

Beispiel 5:

N10 G01 X100 Y100 F6000
N20 CIP X200 Y200 I50 J50 K50
Kreisinterpolation 3:

Um den CIP-Kreis verfahren zu können, darf die Fräserradiuskorrektur nicht aktiv sein.