What's new
What's new

Any potential issues with programming helical interpolations like this? Fanuc

KYLET3

Plastic
Joined
Sep 22, 2023
Fairly new to using fanuc controls and I was wondering if a program I put together here would be a viable option for helical interpolation. I have tested it a couple times with promising results however I would like to add some error traps or necessary edits if there is anything here that you all see inherently wrong with it. Thanks for any help.

Main Program
%
O2416 (ADJUSTABLE INTERPOLATION MAIN)
G00 G80 G40 G17 G20
G00 G90 G54 X0. Y0. W0.
(EDIT VARIABLES)
#100 =5. (BORE DIAMETER)
#101 =1.0 (BORE DEPTH)
#102 =.1 (DEPTH OF CUT)
#103 =4. (CUTTER DIAMETER)
#104 =60. (HELICAL FEEDRATE)
#105 =450 (SPINDLE SPEED)

(CALCULATIONS DO NOT EDIT)
#110 =[#100-#103] /2 (Y AND J VALUE)
#111 =ROUND[#101/#102] (NUMBER OF LOOPS)

G00 G80 G40 G17 G20
G00 G90 G54 X0. Y0.
G00 Z10.
S#105 M03
G00 Z1.
G01 Z.1 F50.
G01 Y-#110
M98 P2417 L#111
G00 G90 Y0.
G00 G90 Z20.
M30
%

Sub Program
%
O2417 (ADJUSTABLE INTERPOLATION SUB)
G91 G03 J#110 Z-#102 F#104
M99
%
 
This is what while loops are for:
#111=#102( FIRST DEPTH OF CUT )

WHILE[#111LE[#101-#102]]DO1( LOOP UNTIL 1 PASS TO BOTTOM )
G03 J#110 Z-#111 F#104( HELICAL INTERPOLATION )
#111=#111+#102( NEXT DEPTH OF CUT )
END1( END LOOP )
G03 J#110 Z-#101 F#104( FINAL HELICAL PASS )
G03 J#110( FINISH BOTTOM )
G01 Y0( MOVE OFF WALL FOR RETRACT )

Doing it this way you will always hit your depth even if the final depth isn't evenly divisible to the depth of cut.
 
If I was going to make a macro for helical interpolation I would think about having it calculate the arc adjusted feed for the circle dia/cutter dia and be able to just enter in the tools linear feedrate.
 
Helical-interpolation option not available?
You are able to use helical interpolation but this control does not recognize L variables on a G03/G02 line. So you have to manipulate it either with a macro or a subprogram in order to have it loop the helical motion.
 
You are able to use helical interpolation but this control does not recognize L variables on a G03/G02 line. So you have to manipulate it either with a macro or a subprogram in order to have it loop the helical motion.
You may call G02/G03 multiple times, once for every 360 deg motion. Only Z needs to be specified in subsequent calls.
If there are too many loops, some repeat method would be convenient.

Even Fanuc does not allow L address with G02/G03.
 
Thank you for your input I appreciate your help. I think my confusion comes from the other fanuc controlled machines in our shop allowing you to program interpolations as follows.

Example
G03 J1. Z-1. L10 F50.

Resulting in the machine swinging a 2 inch diameter 10 times and travelling -0.1" in Z each revolution. Where you end up at Z-1.
 








 
Back
Top