G73-G89 – Canned Cycles

Author:

Canned cycles are a set of commands that simplify and automate common machining tasks, such as drilling, tapping, and boring holes. Instead of programming every movement and function individually, a canned cycle controls a pattern of motions with a single block of code. Canned cycles can save time, reduce errors, and improve readability of the program.

Usage format

In general, the following “words” will be in a canned cycle “block”:

  • N= Block number
  • G98 or G99= Tool retract to R-plane or prior position
  • G73, G74, G76, G81-89= The function to perform, for example, G84 specifies a right-hand tapping cycle.
  • X= Position of hole or pocket in X axis
  • Y= Position of hole or pocket in Y axis
  • Z= Position of hole or pocket in Z axis
  • A= Position of hole or pocket in A axis (optional)
  • R= Retract position along the axis perpendicular to the currently selected plane
  • L= Number of repeats (optional)
  • F= Feed rate
  • S= Spindle speed
  • T= Tool number

The meaning and usage of these words may vary depending on the type of canned cycle and the distance mode (G90 or G91). Some canned cycles may use additional arguments, such as dwell time, peck depth, or thread pitch.

Explanation

There are many types of canned cycles, each with a specific purpose and function. Here are some of the most common ones:

  • G73: High speed peck drilling cycle. This cycle is used to drill deep holes with chip breaking. The tool drills to a specified depth, retracts to the R position, and repeats until the Z position is reached. The retract distance decreases after each peck to save time.
  • G74: Left-hand tapping cycle. This cycle is used to tap threads with a left-hand tap. The tool feeds to the Z position at the current spindle speed, reverses the spindle direction, and retracts to the R position.
  • G76: Fine boring cycle. This cycle is used to bore a hole to a precise size and finish. The tool feeds to the Z position, dwells for a specified time, and retracts to the R position. The feed rate can be different for the cutting and retracting motions.
  • G81: Simple drilling cycle. This cycle is used to drill a hole without dwell or peck. The tool feeds to the Z position and retracts to the R position.
  • G82: Simple drilling cycle with dwell. This cycle is used to drill a hole with a dwell at the bottom. The tool feeds to the Z position, dwells for a specified time, and retracts to the R position.
  • G83: Peck drilling cycle. This cycle is used to drill deep holes with chip removal. The tool drills to a specified depth, retracts to the R position, and repeats until the Z position is reached. The peck depth is constant for each peck.
  • G84: Right-hand tapping cycle. This cycle is used to tap threads with a right-hand tap. The tool feeds to the Z position at the current spindle speed, reverses the spindle direction, and retracts to the R position.
  • G85: Boring cycle with feed out. This cycle is used to bore a hole with the same feed rate for the cutting and retracting motions. The tool feeds to the Z position and retracts to the R position.
  • G86: Boring cycle with spindle stop and rapid out. This cycle is used to bore a hole with spindle stop at the bottom and rapid retract. The tool feeds to the Z position, stops the spindle, and retracts to the R position at rapid speed.
  • G88: Boring cycle with spindle stop and manual out. This cycle is used to bore a hole with spindle stop at the bottom and manual retract. The tool feeds to the Z position, stops the spindle, and waits for the operator to retract the tool manually.
  • G89: Boring cycle with dwell and feed out. This cycle is used to bore a hole with a dwell at the bottom and feed retract. The tool feeds to the Z position, dwells for a specified time, and retracts to the R position.

Example

Here is an example of a program that uses canned cycles to drill, tap, and bore four holes in a rectangular pattern:

N10 G90 G54 G00 X0 Y0 S1000 M03 ; Set absolute mode, select coordinate system, move to origin, set spindle speed, start spindle
N20 G43 H01 Z50. ; Apply tool length offset, move to safe height
N30 T01 M06 ; Select tool 1, change tool
N40 G00 X10 Y10 ; Move to first hole position
N50 G81 Z-20 R5 F100 ; Drill hole with G81 cycle
N60 X40 ; Move to second hole position
N70 G81 Z-20 R5 F100 ; Drill hole with G81 cycle
N80 Y40 ; Move to third hole position
N90 G81 Z-20 R5 F100 ; Drill hole with G81 cycle
N100 X10 ; Move to fourth hole position
N110 G81 Z-20 R5 F100 ; Drill hole with G81 cycle
N120 G80 ; Cancel canned cycle
N130 G00 Z50. ; Move to safe height
N140 T02 M06 ; Select tool 2, change tool
N150 S500 M03 ; Set spindle speed, start spindle
N160 G00 X10 Y10 ; Move to first hole position
N170 G84 Z-25 R5 F50 ; Tap hole with G84 cycle
N180 X40 ; Move to second hole position
N190 G84 Z-25 R5 F50 ; Tap hole with G84 cycle
N200 Y40 ; Move to third hole position
N210 G84 Z-25 R5 F50 ; Tap hole with G84 cycle
N220 X10 ; Move to fourth hole position
N230 G84 Z-25 R5 F50 ; Tap hole with G84 cycle
N240 G80 ; Cancel canned cycle
N250 G00 Z50. ; Move to safe height
N260 T03 M06 ; Select tool 3, change tool
N270 S800 M03 ; Set spindle speed, start spindle
N280 G00 X10 Y10 ; Move to first hole position
N290 G85 Z-30 R5 F75 ; Bore hole with G85 cycle
N300 X40 ; Move to second hole position
N310 G85 Z-30 R5 F75 ; Bore hole with G85 cycle
N320 Y40 ; Move to third hole position
N330 G85 Z-30 R5 F75 ; Bore hole with G85 cycle
N340 X10 ; Move to fourth hole position
N350 G85 Z-30 R5 F75 ; Bore hole with G85 cycle
N360 G80 ; Cancel canned cycle
N370 G00 Z50. ; Move to safe height
N380 G49 ; Cancel tool length offset
N390 G00 X0 Y0 ; Move to origin
N400 M05 ; Stop spindle
N410 M30 ; End program

The following diagram shows the result of the program:

+-----------------+
|                 |
|  O              |
|                 |
|                 |
|              O  |
|                 |
|                 |
|  O              |
|                 |
|              O  |
|                 |
+-----------------+

 

Leave a Reply

Your email address will not be published. Required fields are marked *