Radius programming (R, G163)
Radius programming is expected if no circle centre point (with I, J and/or K) is specified. The value following the character R is interpreted as the radius in [mm, inch]. It is automatically used in lines with circular programming. As a result, the radius statement is modal and, in case of multiple circular path motions with the same radius, it is unnecessary to repeat the radius specification.
Notice
The maximum permissible circle radius is 10^{9} mm. However, the target point of the arc may not exceed the maximum permissible motion path of the axes of +- 2,14*10^{5} mm.
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).
With indexed radius programming, the radius can be specified as "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
Radius programming (R, G163)
1.)
N10 P2 = 1
N20 RP2 = 5 ;permissible
2.)
N10 R1 = 5
N20 P2 = R1 ;permissible
3.)
N10 R1 = 5 P2 = 1
N20 P3 = RP2 ;not permissible
Programing Example
These examples produce semicircles of radius 50.
1.)
N10 G90 G01 X0 Y0 F500
N20 G02 X100 R50 ;clockwise semicircle
N30 G03 X200 R50 ;counter-clockwise semicircle
2.)
N10 G90 G01 X0 Y0 F500
N20 G02 R=50 ;no motion as yet here
N30 X100 ;clockwise semicircle
3.)
N10 G90 G01 X0 Y0 F500
N20 R1=50
N30 G02 X100 ;clockwise semicircle
N40 G03 X200 ;counter-clockwise semicircle
4.)
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 = "radius" or R1 = "radius", the circle radius can be specified using the following G code:
G163 = <Radius> (modal) |
G163 | Circle radius specification |
<Radius> | Circle radius value in [mm, inch] |
The circle definition using radius 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
Circle radius programming with G163
(N10: Motion to origin)
(N20: Clockwise semicircle with target point X100 under preset)
(of circle radius by G163 (the radius specified is modal))
(N30: Counter-clockwise semicircle with target point X200 and a radius,)
(which 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
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.