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.
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]. |
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. |
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). |
Programming Example
Circular interpolation with partial and full circle
Programming Example
Circular interpolation with programmed tracking axis
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.
Programming Example
Indexed radius programming (R1=..)
Programming Example
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.
Programming Example
Circle radius programming with G163
;of the circle radius by G163 (radius specified is modal)
;that was defined in N20 and is modal
Notice | |
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. |
Programming Example
Circular interpolation with centre point and angle