Circular interpolation (G02/G03)
Syntax: | ||
G02 | Helical interpolation clockwise (CW) | modal |
G03 | Helical interpolation counter-clockwise (CCW) | modal |
When G02 or G03 is selected, the programmed path is travelled to the target point in circular motion at the feedrate specified in the F word (e.g. mm/min) Circular motion can be travelled in the three main planes of the spatial coordinate system (X-Y, Z-X, Y-Z). The main plane is selected using the functions G17, G18, G19 (see Plane selection).
All programmed tracking axes move at linear velocity in such a way that the start and end of their motion take place simultaneously with the main axes.
The circle is defined by taking the starting point of the circle "Ka" (determined in the preceding block), the target point of the circle "Ke" and the centre point of the circle "Km". The centre point of the circle is specified by the interpolation parameters I, J, K relative to the starting point of the circle when G162 is active or absolute when G161 is active.
| G162: | (Basic settings) |
| I | relative position of Km in the X direction |
| J | relative position of Km in the Y direction |
| K | relative position of Km in the Z direction |
| G161: |
|
| I | absolute position of Km in the X direction |
| J | absolute position of Km in the Y direction |
| K | absolute position of Km in the Z direction |
If the circle centre point is incorrectly defined, an error message is output if no centre point compensation is switched on (G165). When G165 is active, a centre point is defined so that a circle can be travelled. It also means that if the interpolation parameters are not programmed, circle centre point compensation originates at I, J, K = 0. In addition, the circle centre point coordinates are "non-modal”.
Notice
The maximum permissible circle radius is 109 mm. The target point of the arc may not exceed the maximum motion path of the axes of +- 2.14*105 mm.
If G02/G03 is active and if the interpolation parameters I, J, K are programmed with no circle end point, a full circle is travelled. Alternatively to I, J, K, the circle radius may also be defined with R (see Radius programming (R, G163)). However, it is not possible to program a full circle with R.
Syntax example for G17 plane: |
G02 | G03 [X.. Y..] I.. J.. | R.. |
G02 | G03 | Circular interpolation CW / CCW |
X.. Y.. | Target point in XY plane in [mm, inch] |
I..J.. | Position of circle centre point of interpolation in XY plane (I in X, J in Y) in [mm, inch], according to G161/G162 |
R.. | Radius of an interpolated partial circle (alternative to I, J) in connection with specification of a target point in [mm, inch]. |
Syntax according to selected interpolation plane: | |||
Plane | Interpolation type | Target point in plane | Centre point/radius |
G17 | G02/G03 | X..Y.. | I..J../R |
G18 | G02/G03 | Z..X.. | K..I../R |
G19 | G02/G03 | Y..Z.. | J..K../R |
Programing Example
Circular interpolation
N05 G0 X0 Y0
N10 G01 X10 Y10 F1000
N20 G02 X30 Y30 I10 J10 ;Semicircle about M1 circle end point X30 Y30
;Alternative N20:
N20 G02 X30 Y30 R[10*SQRT[2]] ;Semicircle about M1 circle end point X30 Y30
N30 G02 I10 J10 ;Full circle about M2
Alternatively, circles can also be programmed by specifying the radius. This is possible using G163="radius value" or using the address letter R="radius value". It is also possible to define using R1="radius value” (see sections Specifying centre point for circle definition (G161/G162) - Controlling centre point offset in circle (G164/G165)).
Programing Example
Circular interpolation
;Absolute dimensional input:
N05 G90 G00 X40 Y30 U40 ;Circle starting point (Ka), starting position
N10, G90 F1000 ;Absolute dimension, feedrate
N20 G17 ;Select X-Y plane
N30 G03 G161 X60 Y50 I60 J30 U90 ;Circle: Ka -> Ke and straight line: P1 -> P2
;Incremental dimensional input:
N05 G90 G00 X40 Y30 U40 ;Circle starting point (Ka), starting position
N10 G91 F1000 ;Incremental dimension, feedrate
N20 G17 ;Select X-Y plane
N30 G03 G162 X20 Y20 I20 U50 ;Circle: Ka -> Ke and straight line: P1 -> P2