FANUC Series 0i-MODEL F. For Lathe System OPERATOR'S MANUAL (B-64604EN-1/01) - page 2

 

  Index      Manuals     FANUC Series 0i-MODEL F. For Lathe System OPERATOR'S MANUAL (B-64604EN-1/01)

 

Search            copyright infringement  

 

   

 

   

 

Content      ..      1      2      3      ..

 

 

 

FANUC Series 0i-MODEL F. For Lathe System OPERATOR'S MANUAL (B-64604EN-1/01) - page 2

 

 

1.GENERAL

 

GENERAL

 

 B-64604EN-1/01

 

- 6 - 

Decide the cutting method in every cutting process. 

1 2 

Cutting process 

Cutting procedure 

End face cutting 

Outer diameter cutting 

Grooving 

1. Cutting method : 
 Rough 
 Semi 
 Finish 

 

 

 

2. Cutting tools 

 

 

 

3. Cutting conditions : 
  Feedrate 
 Cutting 

depth 

 

 

 

4. Tool path 

 

 

 

 

Grooving

Outer 
diameter 
cutting 

End face cutting

Workpiece

 

Prepare the program of the tool path and cutting condition according to the workpiece figure, for each 
cutting. 
 

1.2 

NOTES ON READING THIS MANUAL 

 CAUTION 

1  The function of an CNC machine tool system depends not only on the CNC, but on 

the combination of the machine tool, its magnetic cabinet, the servo system, the 
CNC, the operator's panels, etc. It is too difficult to describe the function, 
programming, and operation relating to all combinations. This manual generally 
describes these from the stand-point of the CNC. So, for details on a particular 
CNC machine tool, refer to the manual issued by the machine tool builder, which 
should take precedence over this manual. 

2  In the header field of each page of this manual, a chapter title is indicated so that 

the reader can reference necessary information easily. 
By finding a desired title first, the reader can reference necessary parts only. 

3  This manual describes as many reasonable variations in equipment usage as 

possible. It cannot address every combination of features, options and commands 
that should not be attempted. 

 

If a particular combination of operations is not described, it should not be 
attempted. 

 

 B-64604EN-1/01

 GENERAL 

1.GENERAL

 

- 7 - 

1.3 

NOTES ON VARIOUS KINDS OF DATA 

 CAUTION 

1  Machining programs, parameters, offset data, etc. are stored in the CNC unit 

internal non-volatile memory. In general, these contents are not lost by the 
switching ON/OFF of the power. However, it is possible that a state can occur 
where precious data stored in the non-volatile memory has to be deleted, 
because of deletions from a maloperation, or by a failure restoration. In order to 
restore rapidly when this kind of mishap occurs, it is recommended that you 
create a copy of the various kinds of data beforehand. 

2  The number of times to write machining programs to the non-volatile memory is 

limited. 
You must use "High-speed program management" when registration and the 
deletion of the machining programs are frequently repeated in such case that the 
machining programs are automatically downloaded from a personal computer at 
each machining. 
In "High-speed program management", the program is not saved to the 
non-volatile memory at registration, modification, or deletion of programs. 

 

 B-64604EN-1/01

 PROGRAMMING 

1.GENERAL

 

- 11 - 

GENERAL 

Chapter 1, "GENERAL", consists of the following sections: 
 
1.1 OFFSET ..............................................................................................................................................11 
 

1.1 

OFFSET 

Explanation 

 -  Tool offset 

Usually, several tools are used for machining one workpiece. The tools have different tool length. It is 
very troublesome to change the program in accordance with the tools. 
Therefore, the length of each tool used should be measured in advance. By setting the difference between 
the length of the standard tool and the length of each tool in the CNC (see Chapter, “Setting and 
Displaying Data” in the OPERATOR’S MANUAL (Common to Lathe System/Machining Center 
System)), machining can be performed without altering the program even when the tool is changed. This 
function is called tool offset. 

Workpiece

Standard
tool

Rough
cutting
tool

Finishing
tool

Grooving
tool

Threading
tool

 

Fig. 1.1 (a) Tool offset 

 

 

PROGRAMMING

 

 B-64604EN-1/01

 

- 12 - 

2. PREPARATORY FUNCTION 

(G FUNCTION) 

PREPARATORY FUNCTION (G FUNCTION) 

A number following address G determines the meaning of the command for the concerned block. 
G codes are divided into the following two types. 
 

Type Meaning 

One-shot G code 

The G code is effective only in the block in which it is specified. 

Modal G code 

The G code is effective until another G code of the same group is specified. 

 

(Example)  
G01 and G00 are modal G codes in group 01. 
G01 X_ 

Z_ ; 

G01 is effective in this range. 

X_ ; 

G00 

Z_ ; 

G00 is effective in this range. 

X_ ; 

G01 X_ 

      : 

 

There are three G code systems in the lathe system : A,B, and C (Table 2 (a)). Select a G code system 
using bits 6 (GSB) and 7 (GSC) parameter No. 3401. Generally, OPERATOR’S MANUAL describes the 
use of G code system A, except when the described item can use only G code system B or C. In such 
cases, the use of G code system B or C is described. 
 

Explanation 

1. 

When the clear state (bit 6 (CLR) of parameter No. 3402) is set at power-up or reset, the modal G 
codes are placed in the states described below. 
(1)  The modal G codes are placed in the states marked with 

  as indicated in Table. 

(2)  G20 and G21 remain unchanged when the clear state is set at power-up or reset. 
(3)  Which status G22 or G23 at power on is set by bit 7 (G23) of parameter No. 3402. However, 

G22 and G23 remain unchanged when the clear state is set at reset. 

(4)  The user can select G00 or G01 by setting bit 0 (G01) of parameter No. 3402. 
(5)  The user can select G90 or G91 by setting bit 3 (G91) of parameter No. 3402. 
 

When G code system B or C is used in the lathe system, setting bit 3 (G91) of parameter No. 
3402 determines which code, either G90 or G91, is effective. 

2. 

G codes other than G10 and G11 are one-shot G codes. 

3. 

When a G code not listed in the G code list is specified, or a G code that has no corresponding 
option is specified, alarm PS0010, “IMPROPER G-CODE” occurs. 

4. 

Multiple G codes can be specified in the same block if each G code belongs to a different group. If 
multiple G codes that belong to the same group are specified in the same block, only the last G code 
specified is valid. 

5.  If a G code belonging to group 01 is specified in a for drilling, the canned cycle for drilling is 

cancelled. This means that the same state set by specifying G80 is set. Note that the G codes in 
group 01 are not affected by a G code specifying a canned cycle. 

6. 

When G code system A is used, absolute or incremental programming is specified not by a G code 
(G90/G91) but by an address word (X/U, Z/W, C/H, Y/V). Only the initial level is provided at the 
return point of the canned cycle for drilling.. 

7. 

G codes are indicated by group. 

 

 B-64604EN-1/01

 PROGRAMMING 

 

- 13 - 

2.PREPARATORY FUNCTION

(G FUNCTION)

Table 2 (a) G code list 

G code system 

A B C 

Group Function 

G00 G00 G00 

Positioning 

(Rapid 

traverse) 

G01 G01 G01 

Linear 

interpolation (Cutting feed) 

G02 G02 G02 

Circular 

interpolation 

CW or helical interpolation CW 

G03 G03 G03 

01 

Circular interpolation CCW or helical interpolation CCW 

G04  

G04  

G04  

Dwell 

G04.1 G04.1 G04.1 

code preventing buffering 

G05.1 G05.1 G05.1 

AI contour control 

G05.4 G05.4 G05.4 HRV3 

on/off 

G07.1 

(G107) 

G07.1 

(G107) 

G07.1 

(G107) 

Cylindrical interpolation 

G08 G08 G08 

AI contour control (advanced preview control compatible 
command) 

G09 G09 G09 

Exact 

stop 

G10 G10 G10 

Programmable data input 

G10.6 G10.6 G10.6 

Tool retract and recover 

G11 G11 G11 

00 

Programmable data input mode cancel 

G12.1 

(G112) 

G12.1 

(G112) 

G12.1 

(G112) 

Polar coordinate interpolation mode 

G13.1 

(G113) 

G13.1 

(G113) 

G13.1 

(G113) 

21 

Polar coordinate interpolation cancel mode 

G17 G17 G17 

XpYp 

plane 

selection 

G18 G18 G18 

ZpXp 

plane 

selection 

G19 G19 G19 

16 

YpZp plane selection 

G20 G20 G70 

Input 

in 

inch 

G21 G21 G71 

06 

Input in mm 

G22 G22 G22 

Stored 

stroke check function on 

G23 G23 G23 

09 

Stored stroke check function off 

G25 G25 G25 

Spindle 

speed 

fluctuation detection off 

G26 G26 G26 

08 

Spindle speed fluctuation detection on 

G27 G27 G27 

Reference 

position return check 

G28 

G28 

G28 

Return to reference position 

G28.2 G28.2 G28.2 

In-position check disable reference position return 

G29 G29 G29 

Movement 

from reference position 

G30 G30 G30 

2nd, 

3rd and 4th reference position return 

G30.2 G30.2 G30.2 

In-position check disable 2nd, 3rd, or 4th reference position 
return  

G31 G31 G31 

00 

Skip function 

G32 G33 G33 

Threading 

G34 G34 G34 

Variable 

lead 

threading 

G35 G35 G35 

Circular 

threading 

CW 

G36 G36 G36 

Circular threading CCW (When bit 3 (G36) of parameter No. 
3405 is set to 1) or Automatic tool offset (X axis) (When bit 3 
(G36) of parameter No. 3405 is set to 0) 

G37 G37 G37 

Automatic tool offset (Z axis) (When bit 3 (G36) of parameter 
No. 3405 is set to 0) 

G37.1 G37.1 G37.1 

Automatic tool offset (X axis) (When bit 3 (G36) of parameter 
No. 3405 is set to 1) 

G37.2 G37.2 G37.2 

Automatic tool offset (Z axis) (When bit 3 (G36) of parameter 
No. 3405 is set to 1) 

G38 G38 G38 

Tool 

radius/tool nose radius compensation: with vector held 

G39 G39 G39 

01 

Tool radius/tool nose radius compensation: corner rounding 
interpolation 

 

PROGRAMMING

 

 B-64604EN-1/01

 

- 14 - 

2. PREPARATORY FUNCTION 

(G FUNCTION) 

Table 2 (a) G code list 

G code system 

A B C 

Group Function 

G40 G40 G40 

Tool 

radius/tool 

nose radius compensation : cancel 

G41 G41 G41 

Tool 

radius/tool 

nose radius compensation : left 

G42  

G42  

G42  

Tool radius/tool nose radius compensation : right 

G43.7 

(G44.7) 

G43.7 

(G44.7) 

G43.7 

(G44.7) 

Tool offset   
(Bit 3 (TCT) of parameter No. 5040 must be "1".) 

G49 

(G49.1) 

G49 

(G49.1) 

G49 

(G49.1) 

07 

Tool length compensation cancel   
(Bit 3 (TCT) of parameter No. 5040 must be "1".) 

G50 G92 G92 

Coordinate 

system 

setting or max spindle speed clamp 

G50.3 G92.1 G92.1 

00 

Workpiece coordinate system preset 

G50.1 G50.1 G50.1 

Programmable mirror image cancel 

G51.1 G51.1 G51.1 

22 

Programmable mirror image 

G50.2 

(G250) 

G50.2 

(G250) 

G50.2 

(G250) 

Polygon turning cancel 

G51.2 

(G251) 

G51.2 

(G251) 

G51.2 

(G251) 

20 

Polygon turning 

G50.4 G50.4 G50.4 

Cancel synchronous control 

G50.5 G50.5 G50.5 

Cancel composite control 

G50.6 G50.6 G50.6 

Cancel superimposed control 

G51.4 G51.4 G51.4 

Start synchronous control 

G51.5 G51.5 G51.5 

Start composite control 

G51.6 G51.6 G51.6 

Start superimposed control 

G52 G52 G52 

Local 

coordinate system setting 

G53 G53 G53 

00 

Machine coordinate system setting 

G54 

(G54.1) 

G54 

(G54.1) 

G54 

(G54.1) 

Workpiece coordinate system 1 selection 

G55  

G55  

G55  

Workpiece coordinate system 2 selection 

G56 G56 G56 

Workpiece 

coordinate system 3 selection 

G57 G57 G57 

Workpiece 

coordinate system 4 selection 

G58 G58 G58 

Workpiece 

coordinate system 5 selection 

G59 G59 G59 

14 

Workpiece coordinate system 6 selection 

G61 G61 G61 

Exact 

stop 

mode 

G62 

G62 

G62 

Automatic corner override mode 

G63 G63 G63 

Tapping 

mode 

G64 G64 G64 

15 

Cutting mode 

G65 G65 G65  00 

Macro 

call 

G66 

G66 

G66 

Macro modal call A 

G66.1 G66.1 G66.1 

Macro modal call B 

G67 G67 G67 

12 

Macro modal call A/B cancel 

G68 

G68 

G68 

04 

Mirror image on for double turret or balance cutting mode 

G68.1 G68.1 G68.1 

17 

Coordinate system rotation start or 3-dimensional coordinate 
system conversion mode on 

G69 G69 G69 

04 

Mirror image off for double turret or balance cutting mode 
cancel 

G69.1 G69.1 G69.1 

17 

Coordinate system rotation cancel or 3-dimensional 
coordinate system conversion mode off 

 B-64604EN-1/01

 PROGRAMMING 

 

- 15 - 

2.PREPARATORY FUNCTION

(G FUNCTION)

Table 2 (a) G code list 

G code system 

A B C 

Group Function 

G70 G70 G72 

Finishing 

cycle 

G71 

G71 

G73 

Stock removal in turning 

G72 

G72 

G74 

Stock removal in facing 

G73 G73 G75 

Pattern 

repeating 

cycle 

G74 

G74 

G76 

End face peck drilling cycle 

G75 G75 G77 

Outer 

diameter/internal diameter drilling cycle 

G76 G76 G78 

00 

Multiple-thread cutting cycle 

G71 G71 G72 

Traverse 

grinding 

cycle 

G72 G72 G73 

Traverse 

direct sizing/grinding cycle 

G73 G73 G74 

Oscillation 

grinding 

cycle 

G74 G74 G75 

01 

Oscillation direct sizing/grinding cycle 

G80 

G80 

G80 

10 

Canned cycle cancel for drilling 

G81.1 

G81.1 

G81.1 

00 

High precision oscillation function 

G81 G81 G81 

Spot 

drilling (FS10/11-T format) 

G82 G82 G82 

Counter 

boring (FS10/11-T format) 

G83 

G83 

G83 

Cycle for face drilling 

G83.1 G83.1 G83.1 

High-speed peck drilling cycle (FS10/11-T format) 

G83.5 G83.5 G83.5 

High-speed peck drilling cycle 

G83.6 G83.6 G83.6 

Peck drilling cycle 

G84 

G84 

G84 

Cycle for face tapping 

G84.2 G84.2 G84.2 

Rigid tapping cycle (FS10/11-T format) 

G85 

G85 

G85 

Cycle for face boring 

G87 

G87 

G87 

Cycle for side drilling 

G87.5 G87.5 G87.5 

High-speed peck drilling cycle 

G87.6 G87.6 G87.6 

Peck drilling cycle 

G88 

G88 

G88 

Cycle for side tapping 

G89 G89 G89 

10 

Cycle for side boring 

G90 G77 G20 

Outer 

diameter/internal diameter cutting cycle 

G92 G78 G21 

Threading 

cycle 

G94 G79 G24 

01 

End face turning cycle 

G91.1 G91.1 G91.1 

00 

Maximum specified incremental amount check 

G96 G96 G96 

Constant 

surface speed control 

G97 G97 G97 

02 

Constant surface speed control cancel 

G96.1 G96.1 G96.1 

Spindle indexing execution (waiting for completion) 

G96.2 G96.2 G96.2 

Spindle indexing execution (not waiting for completion) 

G96.3 G96.3 G96.3 

Spindle indexing completion check 

G96.4 G96.4 G96.4 

00 

SV speed control mode ON 

G98 G94 G94 

Feed 

per 

minute 

G99 G95 G95 

05 

Feed per revolution 

- G90 

G90 

Absolute 

programming 

- G91 

G91 

03 

Incremental programming 

G98 

G98 

Canned cycle : return to initial level 

- G99 

G99 

11 

Canned cycle : return to R point level 

 

3.INTERPOLATION FUNCTION

 PROGRAMMING 

 B-64604EN-1/01

 

- 16 - 

INTERPOLATION FUNCTION 

Chapter 3, "INTERPOLATION FUNCTION", consists of the following sections: 
 
3.1  POLAR COORDINATE INTERPOLATION (G12.1, G13.1)...........................................................16 
3.2  CONSTANT LEAD THREADING (G32) .........................................................................................24 
3.3  VARIABLE LEAD THREADING (G34) ..........................................................................................27 
3.4  CIRCULAR THREADING (G35, G36).............................................................................................28 
3.5 CONTINUOUS THREADING...........................................................................................................31 
3.6 MULTIPLE THREADING.................................................................................................................32 
 

3.1 

POLAR COORDINATE INTERPOLATION (G12.1, G13.1) 

Overview 

Polar coordinate interpolation is a function that exercises contour control in converting a command 
programmed in a Cartesian coordinate system to the movement of a linear axis (movement of a tool) and 
the movement of a rotary axis (rotation of a workpiece). This function is useful for grinding a cam shaft. 
 

NOTE 

 

When bit 5 (NPI) of parameter No.8137 is 0, this function can be used.   

 

Format 

G12.1; 

Starts polar coordinate interpolation mode (enables polar coordinate 
interpolation). 

 

Specify linear or circular interpolation using coordinates in a Cartesian 
coordinate system consisting of a linear axis and rotary axis (hypothetical 
axis).

 

G13.1; 

Polar coordinate interpolation mode is cancelled (for not performing polar 
coordinate interpolation).

 

Specify G12.1 and G13.1 in Separate Blocks. 

 

Explanation 

  -  Polar coordinate interpolation mode (G12.1) 

The axes of polar coordinate interpolation (linear axis and rotary axis) should be specified in advance, 
with corresponding parameters. Specifying G12.1 places the system in the polar coordinate interpolation 
mode, and selects a plane (called the polar coordinate interpolation plane) formed by one linear axis and a 
hypothetical axis intersecting the linear axis at right angles. The linear axis is called the first axis of the 
plane, and the hypothetical axis is called the second axis of the plane. Polar coordinate interpolation is 
performed in this plane. 
In the polar coordinate interpolation mode, both linear interpolation and circular interpolation can be 
specified by absolute or incremental programming. 
Tool radius compensation can also be performed. The polar coordinate interpolation is performed for a 
path obtained after tool radius compensation. 
The tangential velocity in the polar coordinate interpolation plane (Cartesian coordinate system) is 
specified as the feedrate, using F. 
 

  -  Polar coordinate interpolation cancel mode (G13.1) 

Specifying G13.1 cancels the polar coordinate interpolation mode. 

 B-64604EN-1/01

 PROGRAMMING 

3.INTERPOLATION FUNCTION

 

- 17 - 

 

  -  Polar coordinate interpolation plane 

G12.1 starts the polar coordinate interpolation mode and selects a polar coordinate interpolation plane 
(Fig. 3.1 (a)). Polar coordinate interpolation is performed on this plane. 

Rotary axis (hypothetical axis)

(unit: mm or inch) 

Linear axis 
(unit: mm or inch) 

Origin of the local coordinate system (G52 command) 
(Or origin of the workpiece coordinate system) 

 

Fig. 3.1 (a) Polar coordinate interpolation plane 

 
When the power is turned on or the system is reset, polar coordinate interpolation is canceled (G13.1). 
The linear and rotation axes for polar coordinate interpolation must be set in parameters Nos. 5460 and 
5461 beforehand. 
 

 CAUTION 

 

The plane used before G12.1 is specified (plane selected by G17, G18, or G19) 
is canceled. It is restored when G13.1 (canceling polar coordinate interpolation) 
is specified. 

 

When the system is reset, polar coordinate interpolation is canceled and the 
plane specified by G17, G18, or G19 is used. 

 

  -  Distance moved and feedrate for polar coordinate interpolation 

 

The unit for coordinates on the hypothetical axis is the same as the unit for the linear axis (mm/inch). 

 

In the polar coordinate interpolation mode, program commands are specified with Cartesian 
coordinates on the polar coordinate interpolation plane. The axis address for the rotary axis is used 
as the axis address for the second axis (hypothetical axis) in the plane. Whether a diameter or radius 
is specified for the first axis in the plane is the same as for the rotary axis regardless of the 
specification for the first axis in the plane. 

 

The hypothetical axis is at coordinate 0 immediately after G12.1 is specified. Polar interpolation is 
started assuming the rotation angle of 0 for the position of the tool when G12.1 is specified. 
Example) 
 

When a value on the X-axis (linear axis) is input in millimeters 

 G12.1; 
 

G01 X10.0 F1000. ; ......A 10.0-mm movement is made on the Cartesian coordinate system. 

 

C20.0 ;...........................A 20.0-mm movement is made on the Cartesian coordinate system. 

 G13.1; 
 
 

When a value on the X-axis (linear axis) is input in inches 

 G12.1; 
 

G01 X10.0 F1000. ;  ....A 10.0-inch movement is made on the Cartesian coordinate system. 

 

C20.0 ;...........................A 20.0-inch movement is made on the Cartesian coordinate system. 

 G13.1; 
 

 

The unit for the feedrate is mm/min or inch/min. 

3.INTERPOLATION FUNCTION

 PROGRAMMING 

 B-64604EN-1/01

 

- 18 - 

 

Specify the feedrate as a speed (relative speed between the workpiece and tool) tangential to the 
polar coordinate interpolation plane (Cartesian coordinate system) using F. 

 

  -  G codes which can be specified in the polar coordinate interpolation mode 

G01.......................Linear interpolation 
G02, G03..............Circular interpolation 
G04.......................Dwell, Exact stop 
G40, G41, G42 .....Tool  radius  compensation  (Polar  coordinate interpolation is applied to the path 

after tool radius compensation.) 

G65, G66, G67 .....Custom macro command 
G90, G91..............Absolute programming, incremental programming (For G code system B or C) 
G94, G95..............Feed per minute, feed per revolution 

 

  -  Circular interpolation in the polar coordinate plane 

The addresses for specifying the radius of an arc for circular interpolation (G02 or G03) in the polar 
coordinate interpolation plane depend on the first axis in the plane (linear axis). 

 

I and J in the Xp-Yp plane when the linear axis is the X-axis or an axis parallel to the X-axis. 

 

J and K in the Yp-Zp plane when the linear axis is the Y-axis or an axis parallel to the Y-axis. 

 

K and I in the Zp-Xp plane when the linear axis is the Z-axis or an axis parallel to the Z-axis. 

The radius of an arc can be specified also with an R command. 
 

NOTE 

 

The parallel axes U, V, and W can be used in the G code system B or C. 

 

  -  Movement along axes not in the polar coordinate interpolation plane in the 

polar coordinate interpolation mode 

The tool moves along such axes normally, independent of polar coordinate interpolation. 
 

  -  Current position display in the polar coordinate interpolation mode 

Actual coordinates are displayed. However, the remaining distance to move in a block is displayed based 
on the coordinates in the polar coordinate interpolation plane (Cartesian coordinates). 
 

  -  Coordinate system for the polar coordinate interpolation 

Basically, before G12.1 is specified, a local coordinate system (or workpiece coordinate system) where 
the center of the rotary axis is the origin of the coordinate system must be set. 
In the G12.1 mode, the coordinate system must not be changed (G50, G52, G53, relative coordinate reset, 
G54 through G59, etc.). 
 

  -  Compensation in the direction of the hypothetical axis in polar coordinate 

interpolation 

If the first axis of the plane has an error from the center of the rotary axis in the hypothetical axis 
direction, in other words, if the rotary axis center is not on the X-axis, the hypothetical axis direction 
compensation function in the polar coordinate interpolation mode is used. With the function, the error is 
considered in polar coordinate interpolation. The amount of error is specified in parameter No. 5464. 

 B-64604EN-1/01

 PROGRAMMING 

3.INTERPOLATION FUNCTION

 

- 19 - 

(X, C) 

Hypothetical axis (C-axis)

 

Error in the direction of 

hypothetical axis (P)

 

Center of rotary axis

X-axis

Rotary axis

 

(X, C)  :  Point in the X-C plane (The center of the rotary axis is considered to be the origin of 

the X-C plane.) 

:  X coordinate in the X-C plane 

:  Hypothetical axis coordinate in the X-C plane 

:  Error in the direction of the hypothetical axis (specified in parameter No. 5464) 

 

 

  -  Shifting the coordinate system in polar coordinate interpolation 

In the polar coordinate interpolation mode, the workpiece coordinate system can be shifted. The current 
position display function shows the position viewed from the workpiece coordinate system before the 
shift. The function to shift the coordinate system is enabled when bit 2 (PLS) of parameter No. 5450 is 
specified accordingly. 
The shift can be specified in the polar coordinate interpolation mode, by specifying the position of the 
center of the rotary axis C (A, B) in the X-C (Y-A, Z-B) interpolation plane with reference to the origin of 
the workpiece coordinate system, in the following format. 
 

G12.1 X_ C_ ;    (Polar coordinate interpolation for the X-axis and C-axis) 
G12.1 Y_ A_ ;  (Polar coordinate interpolation for the Y-axis and A-axis) 
G12.1 Z_ B_ ;  (Polar coordinate interpolation for the Z-axis and B-axis) 

 

X

C

x

c

Center of C-axis

G12.1 Xx Cc ;

Origin of workpiece

coordinate system

 

 

Limitation 

  -  Changing the coordinate system during polar coordinate interpolation 

In the G12.1 mode, the coordinate system must not be changed (G92, G52, G53, relative coordinate reset, 
G54 through G59, etc.). 
 

3.INTERPOLATION FUNCTION

 PROGRAMMING 

 B-64604EN-1/01

 

- 20 - 

  -  Tool radius/tool nose radius compensation 

The polar coordinate interpolation mode (G12.1 or G13.1) cannot be started or terminated in the tool 
radius/tool nose radius compensation mode (G41 or G42). G12.1 or G13.1 must be specified in the tool 
radius/tool nose radius compensation canceled mode (G40). 
For the tool radius/tool nose radius compensation canceled mode (G40) command, be sure to specify the 
polar coordinate axis to cancel the offset vector. 
If the polar coordinate interpolation mode (G12.1 or G13.1) is switched without canceling the offset 
vector, the alarm PS0037, “CAN NOT CHANGE PLANE IN G41/G42” is occurred. 
 

  -  Tool offset command 

A tool offset must be specified before the G12.1 mode is set. No offset can be changed in the G12.1 
mode. 
 

 -  Program restart 

For a block in the G12.1 mode, the program and the block cannot be restarted. 
 

  -  Cutting feedrate for the rotary axis 

Polar coordinate interpolation converts the tool movement for a figure programmed in a Cartesian 
coordinate system to the tool movement in the rotary axis (C-axis) and the linear axis (X-axis). When the 
tool comes close to the center of the workpiece, the C-axis velocity component increases. If the maximum 
cutting feedrate for the C-axis (parameter No. 1430) is exceeded, the automatic feedrate override function 
and automatic speed clamp function are enabled. 
If the maximum cutting feedrate for the X-axis is exceeded, the automatic feedrate override function and 
automatic speed clamp function are enabled. 
 

 B-64604EN-1/01

 PROGRAMMING 

3.INTERPOLATION FUNCTION

 

- 21 - 

 WARNING 

1  Consider lines L1, L2, and L3. 

Δ

X is the distance the tool moves per time unit at 

the feedrate specified with address F in the Cartesian coordinate system. As the 
tool moves from L1 to L2 to L3, the angle at which the tool moves per time unit 
corresponding to 

Δ

X in the Cartesian coordinate system increases from 

θ

1 to 

θ

to 

θ

3. In other words, the C-axis component of the feedrate becomes larger as 

the tool moves closer to the center of the workpiece. The C component of the 
feedrate may exceed the maximum cutting feedrate for the C-axis because the 
tool movement in the Cartesian coordinate system has been converted to the 
tool movement for the C-axis and the X-axis. 

L1

L2

L3

 

θ

3

 

θ

2

 

θ

1

Δ

X

 

L:  Distance (in mm) between the tool center and workpiece center when the 

tool center is the nearest to the workpiece center 

R:  Maximum cutting feedrate (deg/min) of the C axis 

 

Then, a speed specifiable with address F in polar coordinate interpolation can be 
given by the formula below. If the maximum cutting feedrate for the C-axis is 
exceeded, the automatic speed control function for polar coordinate interpolation 
automatically controls the feedrate. 

 

F < L 

×

 R 

×

 

180

π

 (mm/min) 

 

  -  Automatic speed control for polar coordinate interpolation 

If the velocity component of the rotary axis exceeds the maximum cutting feedrate in the polar coordinate 
interpolation mode, the speed is automatically controlled. 
 

 -  Automatic override 

If the velocity component of the rotary axis exceeds the permissible velocity (maximum cutting feedrate 
multiplied by the permission factor specified in parameter No. 5463), the feedrate is automatically 
overridden as indicated below. 
Override = (Permissible velocity) 

÷

 (Velocity component of rotary axis) 

×

 100(%) 

 

  -  Automatic speed clamp 

If the velocity component of the rotary axis after automatic override still exceeds the maximum cutting 
feedrate, the speed of the rotary axis is automatically clamped. As a result, the velocity component of the 
rotary axis will not exceed the maximum cutting feedrate. 
The automatic speed clamp function works only when the center of the tool is very close to the center of 
the rotary axis. 

3.INTERPOLATION FUNCTION

 PROGRAMMING 

 B-64604EN-1/01

 

- 22 - 

C-axis

A

B

C

D

X-axis 

-10.

+10. 

[Example] 

G90 G00 X10.0 C0. ; 
G12.1 ; 
G01 C0.1 F1000 ; 
X-10.0 : 
G13.1 ;

 

 

Automatic speed control for polar coordinate interpolation 

 
Suppose that the maximum cutting feedrate of the rotary axis is 360 (3600 deg/min) and that the 
permission factor of automatic override for polar coordinate interpolation (parameter No. 5463) is 0 
(90%). If the program indicated above is executed, the automatic override function starts working when 
the X coordinate becomes 2.273 (point A). The automatic speed clamp function starts working when the 
X coordinate becomes 0.524 (point B). 
The minimum value of automatic override for this example is 3%. The automatic speed clamp function 
continues working until the X coordinate becomes -0.524 (point C). Then, the automatic override 
function works until the X coordinate becomes -2.273 (point D). 
(The coordinates indicated above are the values in the Cartesian coordinate system.) 
 

NOTE 

1  While the automatic speed clamp function is working, the machine lock or 

interlock function may not be enabled immediately. 

2  If a feed hold stop is made while the automatic speed clamp function is working, 

the automatic operation halt signal *SP is output. However, the operation may 
not stop immediately. 

3  The clamped speed may exceed the clamp value by a few percent. 

 

 B-64604EN-1/01

 PROGRAMMING 

3.INTERPOLATION FUNCTION

 

- 23 - 

Example 

Sample program for polar coordinate interpolation in a Cartesian coordinate system consisting of the 
X-axis (a linear axis) and a hypothetical axis 
 

N204

N205

N206

N203

N202

N201

N208

N207

N200

Tool

C axis

Hypothetical axis 

Path after cutter compensation 

Path before cutter compensation 

X axis 

Z axis 

 

 
O0001; 
    . 
N010 T0101 
    . 
N0100 G90 G00 X60.0 C0 Z    ; 

Positioning to start point 

N0200 G12.1;   

Start of polar coordinate interpolation 

N0201 G42 G01 X20.0F    ; 
N0202 C10.0; 
N0203 G03 X10.0 C20.0 R10.0; 
N0204 G01 X-20.0; 

Geometry program 

N0205 C-10.0;  

(program based on cartesian coordinates on   

N0206 G03 X-10.0 C-20.0 I10.0 J0; 

X axis-hypothetical axis plane) 

N0207 G01 X20.0; 
N0208 C0; 
N0209 G40 X60.0; 
N0210 G13.1;   

Cancellation of polar coordinate interpolation 

N0300 Z    ; 
N0400 X    C  ; 
    . 
N0900M30; 
 
 

3.INTERPOLATION FUNCTION

 PROGRAMMING 

 B-64604EN-1/01

 

- 24 - 

3.2 

CONSTANT LEAD THREADING (G32) 

Tapered screws and scroll threads in addition to equal lead straight threads can be cut by using a G32 
command. 
The spindle speed is read from the position coder on the spindle in real time and converted to a cutting 
feedrate for feed-per minute mode, which is used to move the tool. 

L

Straight thread

L

L

Tapered screw

Scroll thread

 

Fig. 3.2 (a) Thread types 

 

Format 

 

X axis

Z

δ

2

α

Start point 

L

δ

1

 

End point_

0

Z axis

G32

IP

_F_; 

 

IP

_: End point 

F _: Lead of the long axis 

        (always radius programming) 

 

Fig. 3.2 (b) Example of threading 

 

Explanation 

In general, threading is repeated along the same tool path in rough cutting through finish cutting for a 
screw. Since threading starts when the position coder mounted on the spindle outputs a 
one-spindle-rotation signal, threading is started at a fixed point and the tool path on the workpiece is 
unchanged for repeated threading. Note that the spindle speed must remain constant from rough cutting 
through finish cutting. If not, incorrect thread lead will occur. 

 

 

 

 

 

 

 

Content      ..      1      2      3      ..