G76 Cycle | Multiple Repetitive Threading

G76 Cycle Introduction

In CNC lathes ( Turning machine ), G76 cycle is used for threading. In this cycle the thread cutting tool continues automatically by repeating the cycle until it reaches the depth of P (thread height) by removing the sawdust in the cycle.

In early stages of CNC development, simple G92 threading cycle was a direct result of computerized technology of its time. Computer technology has been rapidly advancing and many great new features have been offered to CNC programmers. These new features simplify program development. One of the major additions is another lathe cycle, used for threading - a multiple repetitive threading cycle G76. This cycle is considered a complex cycle - not because it is difficult to use (on the contrary) but because it has some very powerful internal features.

To fully appreciate the impact of G76 threading cycle, compare it with the original G32 threading method, and even G92 cycle. While a program using the G32 method requires four or even five blocks for each threading pass, and G92 cycle requires one block for each threading pass, G76 cycle will do any single thread in one or two blocks of program, depending on control model. With G76 cycle, any number of threading passes will still occupy only a very small portion of the program, making any editing (if necessary) very easy and fast.

G76 Cycle Format

There are two programming formats available, depending on the control model. This is similar to programming of the other lathe cycles.

Fanuc 6T/10T/11T/15T

Figure 38-12 illustrates G76 cycle for older Fanuc 10/11/15T controls. Straight thread is shown.

Figure 38-12 - G76 multiple repetitive threading cycle for one block input - straight

The following parameters form the structure of G76 cycle applied as one-block (external or internal threads):

The one-block programming format for G76 cycle is:
G76 X… Z… I… K… D… A… P… F…


X = Last pass thread diameter (external or internal)
Z = Thread end position
I = Taper amount over total length (I0 for straight threads)
K = Actual thread depth per side - positive
D = First threading pass depth - positive (no dec. point)
A = Included insert angle - positive (six selections)
P = Infeed method - positive (four selections)
F = Feedrate (always the same as thread lead)

Observe differences in the format structure for multiple repetitive cycle G76 with simple G92 cycle. G76 cycle appears to be simple as well, but the control system must do a large number of calculations and checks. All these calculations need data, in the form of input parameters that establish required thread specifications. Yet, in spite of more input parameters, G76 cycle is very easy to use in CNC thread programming.

Fanuc 0T/16T/18T/20T/21T

On the later Fanuc controls 0T, 16T, 18T, 21T and others, format of G76 cycle is somewhat changed from older models. Its purpose and function remain the same, the difference is only in the way how program data input is structured. Fanuc 10/11/15T use a single line cycle input, described earlier. Fanuc 0/16/18T/21 and other models require a two line input. Programmer does not have a choice - each format depends on the control system.

One-block and two-block G76 cycles are not interchangeable!

If the control system requires a two-block entry for G76 cycle, programming format must cover two blocks:

The two-block programming format for G76 cycle is:
G76 P… Q… R…
G76 X… Z… R… P… Q… F…


First block - starts with G76:
P = … is a six-digit data entry in three pairs:
Digits 1 and 2 - number of finish cuts (01-99)
Digits 3 and 4 - number of leads for gradual pull-out (0.0-9.9 times lead), no decimal point used (00-99)
Digits 5 and 6 - angle of thread (tool tip angle) (00, 29, 30, 55, 60, 80 degrees only)
Q = Minimum cutting depth (last depth of cut) (positive radial value - no decimal point)
R = Fixed amount for finish allowance (decimal point allowed)

Second block - also must start with G76:
X = a) Last thread pass diameter (absolute= X)
…or …
b) Distance from the start position to the last thread diameter (incremental= U)
Z = Z-axis endpoint of thread (can also be incremental distance W)
R = Radial difference between start and end thread positions at the final pass (R0 used for straight threads can be omitted)
P = Single depth of thread (height of thread) (positive radial value - no decimal point)
Q = First threading pass depth (largest cutting depth) (positive radial value - no decimal point)
F = Feedrate (always the same as thread lead)

Do not confuse P/Q letters of the first block with the P/Q letters of the second block. They all have their own meaning - within each block only! Figure 38-13 shows some basic definitions of a straight two-block G76 threading cycle.

Figure 38-13 - G76 multiple repetitive threading cycle for two block input - straight

G76 Cycle Examples

G76 CNC Program Example

G76 Cycle Program Example

G50 S2500;
G96 M4 S180;
G0 X25 Z2 M8;
G71 U2 R1;
G71 P1 Q2 U0.6 W0.1 F0.25;
N1 G1 G42 X8.5 F0.1;
X12 Z-1.75;
G1 Z-30;
N2 G40;
G0 X200 Z200 M9;
G97 M4 S3500;
G0 X25 Z2 M8;
G70 P1 Q2;
G0 X200 Z200 M9;
G50 S2500;
G96 M4 S90;
G0 X13 Z2 M8;
G0 Z-28;
G75 R1;
G75 X9.8531 Z-30 P2000 Q2800 F0.1;
G0 X200 Z200 M9;
G97 M3 S500;
G0 X13 Z2;
G76 P020060 Q300 R0.05;
G76 X9.8531 Z-27 P1073 Q300 F1.75;
G0 X200 Z200 M9;