How to Improve Peck Drilling Canned Cycles
Most CNCs don’t have a canned cycle for machining deep holes into malleable materials. Here’s what you do.
Most CNC machining centers provide two types of peck drilling canned cycles: G73 performs chip breaking for malleable materials and G83 performs chip clearing for deep holes. G73 is used to break chips as holes are drilled, retracting the drill a small amount at regular intervals (every 0.1 inch or 2.5 mm, for example). G83 is used to clear chips from the drill’s flutes as holes are drilled, retracting the drill completely out of the hole every three to five times the drill diameter.
What if you must machine deep holes into malleable materials? This requires a combination of the two canned cycles, and most CNCs do not have a canned cycle for this. With FANUC Custom Macro, however, you can create your own peck drilling canned cycle and make it behave any way you want it to. You can even create a modal calling command, and have it executed with a G code of your choosing, canceling with G80.
Ideally, your user-created canned cycle Custom Macro will use the same CNC words and will be called in the same manner as G73 and G83. This will ensure consistency, minimize confusion, and keep programmers from making extensive modifications to current programs that are using G73 or G83. This illustration shows the related words for our example.
Notice that the chosen letter address arguments correspond to those used with G83, with the addition of letter address V to specify the chip-breaking peck depth. Here is an example calling program that will machine six holes. Notice how similar it is to a program that uses G83.
%
O0001
(N005 T01 M06
N010 G54 G90 S600 M03
N015 G00 X0 Y0
N020 G43 H01 Z0.1
N025 G66.1 P9010 X1.0 Y1.0 Z-3.25 R0.1 Q1.0 V0.1 F5.0
N030 X2.0
N035 X3.0
N040 Y2.0
N045 X2.0
N050 X1.0
N055 G67
N060 G91 G28 Z0 M19
N065 M30
%
G66.1 specifies a modal Custom Macro calling command. G67 cancels it. If you want to use a special G code to call the modal Custom Macro, say G89, place a value of -89 in the user-created G-code parameter related to program O9010. For current FANUC CNCs, it happens to be parameter 6050. The value 89 is the G-code number. Making it negative tells the CNC you want it to cause a modal call to the custom macro. You must also confirm that bit 3 of parameter 6007 is set to zero to ensure that the G66.1 method of modal Custom Macro calling is used (not G66).
To cancel with G80 instead of G67, create another user-created G code. Place a value of 80 in parameter 6051. From this point on, the CNC will execute program O9011 whenever G80 is read:
%
O9011
G80 (Normal function of G80, cancel canned cycle)
G67 (Cancel modal custom macro call)
M99
%
Here is the peck-drilling Custom Macro:
%
O9010
(RETAIN MODAL ARGUMENTS)
IF[#24EQ#0] THEN #101=#5001
IF[#24NE#0] THEN #101=#24
IF[#25EQ#0] THEN #102=#5002
IF[#25NE#0] THEN #102=#25
IF[#26NE#0] THEN #103=#26
IF[#18NE#0] THEN #104=#18
IF[#17NE#0] THEN #105=#17
IF[#22NE#0] THEN #106=#22
IF[#9NE#0] THEN #107=#9
#24=#101
#25=#102
#26=#103
#18=#104
#17=#105
#22=#106
#9=#107
(CONSTANTS)
#33=0.05 (APPROACH INTO HOLE)
#4=0.005 (CHIP BREAK RETRACT AMOUNT)
(INITIALIZE FOR CHIP CLEARING LOOP)
#28=ROUND[[ABS[#26-#18]]/#17] (NUMBER OF CHIP CLEARING PECKS)
#17=[ABS[#26-#18]]/#28 (RECALCULATED CHIP CLEARING PECK DEPTH)
#29=#18 (CURRENT CHIP CLEARING PECK APROACH POS)
(INITIALIZE FOR CHIP BREAKING LOOP)
#31=ROUND[#17/#22] (NUMBER OF CHIP BREAKING PECKS)
#22=#17/#31 (RECALCULATED CHIP BREAKING PECK DEPTH)
#32=#18-#22 (CURRENT CHIP BREAKING BOTTOM POSTION)
(INITIAL POSITIONING MOVEMENTS)
G00 X#24 Y#25
Z#18
(CHIP CLEARING PECK DRILLING LOOP)
#27=1 (COUNTER FOR CHIP CLEARING PECKS)
WHILE[#27 LE #28] DO 1
G00 Z#29 (MOVE TO CURRENT Z APPROACH POS)
(CHIP BREAK PECK DRILLING LOOP)
#30=1 (COUNTER FOR CHIP BREAKING PECKS)
WHILE[#30 LE #31] DO 2
G01 Z#32 F#9 (MAKE PECK)
G00 Z[#32+#4] (BREAK CHIP)
(STEP CHIPB BREAK PECK DRILLING LOOP VALUES)
#30=#30+1 (STEP COUNTER)
#32=#32-#22 (STEP CURRENT CHIP BREAK BOTTOM)
END 2
G00 Z#18 (RETRACT FROM HOLE)
#27=#27+1 (STEP COUNTER)
#29=#32+#22+#33
END 1
M99
%
Related Content
3 Mistakes That Cause CNC Programs to Fail
Despite enhancements to manufacturing technology, there are still issues today that can cause programs to fail. These failures can cause lost time, scrapped parts, damaged machines and even injured operators.
Read MoreThe Best Point of Reference for Program Zero Assignment Entries
Correctly specified program zero assignment and coordinate position values enable the CNC to determine how far to move the cutting tool during each positioning motion.
Read MoreStrange But True: Odd Things That Happen With CNCs
These oddities in the way a CNC naturally behaves can help explain some rather unusual situations that may occur during machining.
Read More4 Commonly Misapplied CNC Features
Misapplication of these important CNC features will result in wasted time, wasted or duplicated effort and/or wasted material.
Read MoreRead Next
5 Rules for Driving Deep-Hole Insert Drills
A cautious approach, modern thinking, offline presetting and attention to coolant and chips unlock the potential of the latest replaceable-tip drills for deep CNC hole-making applications.
Read More7 CNC Parameters You Should Know
Parameters tell the CNC every little detail about the specific machine tool being used, and how all CNC features and functions are to be utilized.
Read More