Circular interpolation (G02/G03)

Syntax:

G02

Clockwise circular interpolation (CW)

modal

G03

Counter-clockwise circular interpolation (CCW)

modal

When G02 or G03 is selected, the programmed path is travelled to the target point in circular motion at the feed rate 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.

Description of circle functions G02 and G03
Description of circle functions G02 and G03

Circle programming using centre point and target point of the circle

The circle is defined by taking the starting point of the circle (determined in the preceding block), the target point of the circle and the centre point of the circle "Km".

Syntax example for G17 plane:

G02 | G03 [X.. Y..] I.. J..

G02 | G03

Circular interpolation CW / CCW

X.. Y..

Target point of the circle 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

Syntax according to selected interpolation plane:

Plane

Interpolation type

Target point in the plane

Centre point

G17

G02/G03

X.. Y..

I.. J..

G18

G02/G03

Z.. X..

K.. I..

G19

G02/G03

Y.. Z..

J.. K..

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 (see Specifying centre point for circle definition (G161/G162)).

 

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, centre point compensation is not 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 (see Controlling centre point offset in circle (G164/G165)).

The circle centre point coordinates I, J, K are “non-modal".

If the interpolation parameters I,J,K are programmed without circleendpoint when G02/G03 are active, a full circle is travelled.

Circle programming using radius and target point of the circle

As an alternative to I, J, K, circles can also be programmed by specifying the radius. This is possible by using the address letter R “radius value” or G163=”radius value”. However, it is not possible to program a full circle with R. Specifying the radius with R or G163= is “modal” and is re-used for several circular motions without repeat specification.

Syntax example for G17 plane:

G02 | G03 X.. Y.. R..

G02 | G03

Circular interpolation CW / CCW

X.. Y..

Target point of the circle in XY plane in [mm, inch]

R..

Radius value of an interpolated partial circle in [mm, inch].

Notice

notice

The maximum permissible circle radius is 109 mm. However, the target point of the arc may not exceed the maximum permissible motion path of the axes of +- 2,14*105 mm.

Notice

notice

If the radius value is possible, the shortest possible arc is defined; if the radius value is negative, the largest possible circle is defined (see figure below).

Programing Example

prg_example

Circular interpolation with partial and full circle

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

Programing Example

prg_example

Circular interpolation with programmed tracking axis

;Absolute dimensional input:

N05 G90 G00 X40 Y30 U40           ;Circle starting point (Ka), starting position

N10, G90 F1000                     ;Absolute dimension, feed rate

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, feed rate

N20 G17                           ;Select X-Y plane

N30 G03 G162 X20 Y20 I20 U50      ;Circle: Ka -> Ke and straight line: P1 -> P2

Examples of circular interpolation
Examples of circular interpolation

With indexed radius programming, the radius can be specified by “R1=..”. In this case, the index may only have the value 1. If "R1” is used on the right-hand assignment side, the index value 1 may not be programmed as a mathematical expression.

Programing Example

prg_example

Indexed radius programming (R1=..)

;Direct use on left- and right-hand sides

N10 R1 = 5

N20 P2 = R1        ;permitted

;Indirect use on left-hand side

N10 P2 = 1

N20 RP2 = 5        ;permitted

;Indirect use on right-hand side

N10 R1 = 5 P2 = 1

N20 P3 = RP2       ;not permitted

Programing Example

prg_example

These examples produce semicircles of radius 50.

:

N10  G90 G01 X0 Y0 F500

N20  G02 X100  R50 ;clockwise semicircle

N30  G03 X200  R50 ;counter-clockwise semicircle

:

N10  G90 G01 X0 Y0 F500

N20  G02 R=50 ;no motion as yet here

N30  X100 ;clockwise semicircle

:

N10  G90 G01 X0 Y0 F500

N20  R1=50

N30  G02 X100 ;clockwise semicircle

N40  G03 X200 ;counter-clockwise semicircle

:

N10  G90 G01 X0 Y0 F500

N20  G02  X100  R1=50 ;clockwise semicircle

N30  G03  X200 ;counter-clockwise semicircle

The programming below results in an error message since R1 is interpreted as a radius of value 1.

N10 G90 G01 X0 Y0 F500

N20 R1=50

N30 G02 X100 R1

As an alternative to circle definition with “R” or “R1”, the circle radius can be specified by G163.

Syntax example for G17 plane:

G02 | G03 X.. Y.. G163=..

G02 | G03

Circular interpolation CW / CCW

X.. Y..

Target point of the circle in XY plane in [mm, inch]

G163=..

Radius value of an interpolated partial circle in [mm, inch].

The circle definition using G163 is valid when circular interpolation is selected until it is redefined or until it is deselected by specifying an I and/or J and/or K.

Programing Example

prg_example

Circle radius programming with G163

;N10: Motion to origin

;N20: Clockwise semicircle with target value X100 and under preset
;of the circle radius by G163 (radius specified is modal)

;N30: Counter-clockwise semicircle with target value X200 and the radius
;that was defined in N20 and is modal

%Radiusprogramming_G163

N10 G90 G01 X0 Y0 F1000

N20 G02 G163=50 X100 ;clockwise semicircle

N30 G03 X200 ;counter-clockwise semicircle

N40 M30

Attention

attention

If the starting and end points of the circle programmed with "R", "R1" or "G163" are identical, an error message is output. If a full circle is travelled, it must be programmed with I/J/K.

Circular programming using angle and centre point

Another option is to program a circle by specifying an angle and a centre point. These values are used to calculate the end point of the circle and to interpolate the circle. Depending on the active plane, the assigned centre point coordinates must be used here.

This function is available as of V3.01.3080.15 or V3.1.3107.49.

Syntax example for G17 plane:

G02 | G03 I.. J.. #CANG=..

G02 | G03

Circular interpolation CW / CCW

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

#CANG=..

Circle opening angle in degrees [°]. The end point is calculated.

Programing Example

prg_example

Circular interpolation with centre point and angle

N05 G17 G161               ;G17 plane, absolute centre point specified

N07 G00 X0 Y0

N10 G01 G90 X10 Y10 F1000  ;Circle start point

N20 G02 I40 J20 #CANG=135  ;End point P1 is calculated

N30 ..

Circular interpolation with centre point and angle
Circular interpolation with centre point and angle