What's new
What's new

G92 lathe threading cycle infeed strategy?

In what manner are the Haas Threading cycles different to the Fanuc?

Regards,

Bill

Bill, I do not know.

What I DO know however is that in virtually all cases where I have to chase the thread OD and then the thread itself again to remove burrs, on a HAAS
I use G76 for the main threading, then chase the OD with the finish tool, then chase the thread itself using G92.
The reason I use G92 is because sometimes there are chatter marks on the V-profiles, and by playing with the X target value I can eliminate them.
In order to do that, I need G92 where explicit X values can be specified.

Now as to an example, the following code:

%
O00102
(THREAD TEST)
(G76 VS G92)
G54
G00 G53 X-6. Z-4.
G50 S1200
(THREADING)
(1.0625-12 UNJ 3A)
G00 G97 T505 S50 M03
G00 X1.066 Z0.05 M08
G76 D0.047 A60 F0.0833 X0.9616 K0.0476 Z-0.1
G80
M09
M05
N9
G00 G53 X-6. Z-4.
(CHASE THREAD)
(1.0625-12 UNJ 3A)
G00 G97 T505 S50 M03
G00 X1.066 Z0.05 M08
G92 X0.9616 Z-0.1 F0.0833
X0.9616
G80
M09
M05
G00 G53 X-6. Z-4.
M30
%

This code, running on a 2001 vintage Haas SL10 WILL produce a perfect thread.
Note that I have slowed the RPM down for the purpose that the position screen can be observed easier.
The very last pass @ X0.9616 is in fact done starting @ X-.1044 Z0 incremental from X1.066 Z.05 in both, G76 and G92 cycles.

On a Fanuc OiTc ( 2007 vintage ), the same code creates a crossed thread with Z shifted approx .02 in the positive direction.

And for the record, here is the original that I've stripped it out of: ( left out the portions unrelated to the threading )

...
G00 G53 X-6. Z-3.
M01
(THREADING)
(1.0625-12 UNJ 3A)
G00 G97 T505 S500 M03
G00 X1.066 Z0.05 M08
G76 D0.011 A60 F0.0833 X0.9616 K0.0476 Z-0.57
G80
M09
N8
G00 G53 X-6. Z-3.
(CHASE OD - VNMG)
G00 G97 T202 S500 M03
G00 G42 X0.7 Z0.06
G96 S320 M08
G01 Z0. F0.01
G01 X0.9367 F0.004
G03 X0.9509 Z-0.0029 R0.01 F0.005
G01 X1.0509 Z-0.053
G03 X1.0568 Z-0.06 R0.01
G01 Z-0.494
G03 X1.0509 Z-0.501 R0.01
G01 X0.945 Z-0.554
G01 Z-0.6
G01 G40 X1.4 F.05
M09
G97 S500 M03
N9
G00 G53 X-6. Z-3.
(CHASE THREAD)
(1.0625-12 UNJ 3A)
G00 G97 T505 S500 M03
G00 X1.066 Z0.05 M08
G92 X0.9616 Z-0.57 F0.0833
X0.9618
G80
M09
M05
G28
T404
M30
%
 
so on a HAAS from 2001, G76 and G92 use same syncro origin, while a Fanuc from 2007 uses different origins

i hope that this issue is fixed on newer Haas machines :)
 
Bill, I do not know.

What I DO know however is that in virtually all cases where I have to chase the thread OD and then the thread itself again to remove burrs, on a HAAS
I use G76 for the main threading, then chase the OD with the finish tool, then chase the thread itself using G92.
The reason I use G92 is because sometimes there are chatter marks on the V-profiles, and by playing with the X target value I can eliminate them.
In order to do that, I need G92 where explicit X values can be specified.
Hello SeymourDumore,
The purpose of the Thread Profile (Tool Tip) Angle specified in the G76 Cycle is to have the tool cut using the Leading Edge of the insert in much the same way the tool is advanced to the next DOC using the compound slide on a manual lathe. Accordingly, to keep the Leading Edge of the tool cutting, the actual position of the Thread Groove must be shifting in a Z minus direction relative to the original Z start Point. This action is tantamount to cutting not all of the Leads of a Multi Lead Thread of very close pitch.

Both Haas and Fanuc are able to cut a Multi Start Thread without shifting the Z Start position by using a Q address to index the Start Angle of the Thread. For example, in a Two Start Thread, the first Lead would use a Q of Zero (when omitted Zero is assumed) and the second Lead would be cut using Q180000. This function is available with G32, Q92 and G76 Threading Cycles. However, with the Fanuc control, using the Q address with the G76 Cycle is only available with the control set to use the Single Block FS15 G76 format.

If the G76 cycle is always starting form the same Z Start Position when a Tool Tip parameter is specified in the Cycle, then Haas must use the equivalent of a Q index in software to shift the Start of the Thread. That being so and as a Tool Tip parameter can't be specified with G92, the Index Shift in the G76 Cycle must virtually become Modal if the G92 Cycle is able to track perfectly in the previously machined Thread from the same Z Start.

Regards,

Bill
 
Index Shift in the G76 Cycle must virtually become Modal

yes, somehow you can call that behaviour as being modal, but it does not perform like an official modal code :)

if there are such variations between a single_pass_code and threading_cycle, in the end, you may recut the thread, by forcing the thread_cycle to cut a single ( finish ) pass, just like you said few posts ago

all the best Bill :)
 
Last edited:
This formula is incorrect. Since the first roughing pass also shows a Z-shift, the correct formula is
a = [Depth of thread - Finishing allowance/2]

hy sinha :) it is interesting that in the drawing you shared, it looks like an OD thread + lead out movement ( should corespond R>0 ), while there is written R<0
 
Where is Larue when we really need him? Must be sleeping off another bender.

100 R.P.M and half a thou cut. Really Sweeeeet. :D:D:D:D:D How many times does he have to tell you?:):D;):o:eek:
 
yes, somehow you can call that behaviour as being modal,
Your now from the Aland island, like every other Nuff Nuff that signs up on Tapatalk.

Have you considered, just how much respect your opinion matters, when you don't have the smarts to sort that out?

I maintain, I wouldn't piss in you ear, if you're brain was on fire.

Phil. Kindly.
 
hy sinha :) it is interesting that in the drawing you shared, it looks like an OD thread + lead out movement ( should corespond R>0 ), while there is written R<0

R<0 is correct in this figure. Yes, it is OD thread, being machined right-to-left.
 
If the G76 cycle is always starting form the same Z Start Position when a Tool Tip parameter is specified in the Cycle, then Haas must use the equivalent of a Q index in software to shift the Start of the Thread. That being so and as a Tool Tip parameter can't be specified with G92, the Index Shift in the G76 Cycle must virtually become Modal if the G92 Cycle is able to track perfectly in the previously machined Thread from the same Z Start.

Regards,

Bill

Bill, I really do not know how the Haas does it, but I can attest to the fact that this SL, and a '03 vintage MiniLathe both follow the same path on G76 and G92.

Thinking out loud though, neither of these have alternate flank threading available, so perhaps the angle is defaulted by the last G76 definition.
If so, perhaps the G92 on a Haas is "silently" using the A angle, even though it isn't available in the settings page.
IOW it might be that the A is what's modal and not the Q?

As an interesting tidbit and for what it's worth, a couple of times I've transplanted a Fanuc program into the SL, and completely forgot to change the 2 line G76 Fanuc
cycle into the single line G76 Haas uses.
And yet - to my amazement - the Haas ran it just fine without ever giving me any warnings.
Which would suggest that Haas somehow either stores the last definition, or has some default value for D, I and K.
Neither of them is accessible ( as far as I know ) by any other means than a G76 call.
Perhaps A is one of them?

Again, All I know is that I can use a G92 after a G76, and I can use a 2 line G76 on both of my Haas lathes.
Maybe a fluke, perhaps a bug or just plain intentional, but they both work nonetheless.
 
A very simple method to take further passes at finish DOC on a Thread cut using the G76 cycle, is to execute another G76 Cycle with the First Threading Pass value the same as the Thread Height specified in the cycle. All other parameters of the Thread should not be changed. This will result in a single threading pass at full depth and will precisely track the Thread Groove previously cut with the G76 Cycle.

Regards,

Bill
Bill,
Somebody has reported that it takes TWO passes at the final depth. Have you checked? He even tried P00----, though the minimum acceptable is P01----.
 
Bill,
Somebody has reported that it takes TWO passes at the final depth. Have you checked? He even tried P00----, though the minimum acceptable is P01----.


Well I'll be damn! Another report of 2 passes.

I tried every combination I thought possible and I couldn't get it to take it all in one cut.

Something else I learned was if the clamp value is larger then the thread hight it alarms out. Lol...

I admit with the ability to take spring passes with the two line G76 cycle I hadn't tried this ever.

Brent
 
Here is an example of compound threading with G92. I like G92 over G76 on a Fanuc because I have more control over the passes.

N3T300M43 (ROUGH THREAD)
(2.015" TPF)
G0X15.Z20.T303
G97S320M3
G0X5.3Z1.0M8
Z.5582
G92X5.175Z-4.1I-.3911F.2501
G0Z.5499
G92X5.145Z-4.1I-.3904
G0Z.5421
G92X5.117Z-4.1I-.3898
G0Z.5349
G92X5.091Z-4.1I-.3892
G0Z.5283
G92X5.067Z-4.1I-.3886
G0Z.5222
G92X5.045Z-4.1I-.3881
G0Z.5166
G92X5.025Z-4.1I-.3876
G0Z.5117
G92X5.007Z-4.1I-.3872
G0Z.5072
G92X4.991Z-4.1I-.3868
G0Z.5033
G92X4.977Z-4.1I-.3865
G0Z.5
G92X4.965Z-4.1I-.3862
N333G0Z1.0M9
X15.Z20.
T300
M1
 
Here is an example of compound threading with G92. I like G92 over G76 on a Fanuc because I have more control over the passes.

N3T300M43 (ROUGH THREAD)
(2.015" TPF)
G0X15.Z20.T303
G97S320M3
G0X5.3Z1.0M8
Z.5582
G92X5.175Z-4.1I-.3911F.2501
G0Z.5499
G92X5.145Z-4.1I-.3904
G0Z.5421
G92X5.117Z-4.1I-.3898
G0Z.5349
G92X5.091Z-4.1I-.3892
G0Z.5283
G92X5.067Z-4.1I-.3886
G0Z.5222
G92X5.045Z-4.1I-.3881
G0Z.5166
G92X5.025Z-4.1I-.3876
G0Z.5117
G92X5.007Z-4.1I-.3872
G0Z.5072
G92X4.991Z-4.1I-.3868
G0Z.5033
G92X4.977Z-4.1I-.3865
G0Z.5
G92X4.965Z-4.1I-.3862
N333G0Z1.0M9
X15.Z20.
T300
M1

Curious if this Cam generated code? In some cases I probably agree with you about control. I feel I have good control of all the cutting parameters using the G76 cycle. But for the ease of programming you can't beat it. IMHO.

Brent
 
I almost never use G92, always G76 because you have so much more control over the details of the cycle. However, Fusion 360 does not seem to have any support as of yet for posting G76 thread cycles. The only options you have are "Cycle" which outputs a G92, and longhand, which posts out each and every pass (infeed, cut, exit, retract) with G32.

However, it does still allow you to select an infeed angle with the G92 cycle, other than just 0 degrees (straight radial plunge infeed). For example, when I select a 30 degree infeed, I get this code:

N109(THREAD 3/4-20 2A)
T1515 (LAYDOWN, 16ER 20UNF)
G54
G97 S1500 M03
G00 X0.95 Z1.
M08
Z0.1632
G92 X0.7458 Z-1.0968 F0.05
X0.7417 Z-1.098
X0.7375 Z-1.0992
X0.7333 Z-1.1004
X0.7292 Z-1.1016
X0.725 Z-1.1028
X0.7208 Z-1.104
X0.7167 Z-1.1052
X0.7125 Z-1.1064
X0.7083 Z-1.1076
X0.7042 Z-1.1088
X0.7 Z-1.11
G00 X0.95 Z1.
M09
G00 G28 U0. W0.
T1500
M01

As you can see, the Z depth of each pass increases slightly, along with the X. My question is, would this actually work? Can you actually do this with G92 cycle? If you trig out the difference from one pass to the next, you do get about 30.3 degrees.

CNC G92 threading cycle for fanuc program - CNC PROGRAMMING TUTORIAL
O1571
N10 M06 T02 02 ;
g92 threading.jpg;
More examples..........!!!!
DESCRIPTION OF MAIN PROGRAM :-
Calculation :- Depth of thread = 0.6134 X Pitch
= 0.9201
Threading start major dia = major dia - 0.9201
= 49.07 ( Crest)
Minor diameter = Major dia - 2 x Depth of thread
= 50 - 2 x 0.9201
= 48.16 (root)
Each cut is 150 microns =0.15mm , it means total reduce 0.30 mm and cutting upto root 48.16 mm
First cut is 49.07 mm (Crest)
Second cut is 49.07-0.3 = 48.77
Third cut is 48.77-0.3 = 48.47
Final cut is 48.47 -0.3 = 48.17 (~ 48.16)(root)
*********************************************************************************
01571 - Name of main program
N10- Tool change command , select tool no 2
N20- Maximum spindle speed command , speed is 1500 rpm
N30- Spindle ON clockwise , constant spindle speed , speed is 200 rpm
N40- Coolant ON
N50- Rapid action command , where X50 and Z2 .
N60- Threading cycle command , where X49.07( crest )(First cut) and Z-20 , feed rate is 1.5 ( it is always is equal to pitch )
N70- Second cut is 48.77 in X axis
N80- Third cut is 48.47 in X axis
N90 - Final cut is 48.17 in X axis (root)
N100 - Reference position command , where X0 and Z0 ;
N110 - Spindle OFF , coolant OFF , main prog. end

fore more visit -------------------------------------------------------www.hdknowledge.com
 
CNC G92 threading cycle

CNC G92 threading cycle for fanuc program - CNC PROGRAMMING TUTORIAL
O1571
N10 M06 T02 02 ;
View attachment 234336;
More examples..........!!!!
DESCRIPTION OF MAIN PROGRAM :-
Calculation :- Depth of thread = 0.6134 X Pitch
= 0.9201
Threading start major dia = major dia - 0.9201
= 49.07 ( Crest)
Minor diameter = Major dia - 2 x Depth of thread
= 50 - 2 x 0.9201
= 48.16 (root)
Each cut is 150 microns =0.15mm , it means total reduce 0.30 mm and cutting upto root 48.16 mm
First cut is 49.07 mm (Crest)
Second cut is 49.07-0.3 = 48.77
Third cut is 48.77-0.3 = 48.47
Final cut is 48.47 -0.3 = 48.17 (~ 48.16)(root)
*********************************************************************************
01571 - Name of main program
N10- Tool change command , select tool no 2
N20- Maximum spindle speed command , speed is 1500 rpm
N30- Spindle ON clockwise , constant spindle speed , speed is 200 rpm
N40- Coolant ON
N50- Rapid action command , where X50 and Z2 .
N60- Threading cycle command , where X49.07( crest )(First cut) and Z-20 , feed rate is 1.5 ( it is always is equal to pitch )
N70- Second cut is 48.77 in X axis
N80- Third cut is 48.47 in X axis
N90 - Final cut is 48.17 in X axis (root)
N100 - Reference position command , where X0 and Z0 ;
N110 - Spindle OFF , coolant OFF , main prog. end

fore more visit -------------------------------------------------------www.cncknowledge.in
 
CNC G92 threading cycle for fanuc program - CNC PROGRAMMING TUTORIAL
O1571
N10 M06 T02 02 ;
View attachment 234336;
More examples..........!!!!
DESCRIPTION OF MAIN PROGRAM :-
Calculation :- Depth of thread = 0.6134 X Pitch
= 0.9201
Threading start major dia = major dia - 0.9201
= 49.07 ( Crest)
Minor diameter = Major dia - 2 x Depth of thread
= 50 - 2 x 0.9201
= 48.16 (root)
Each cut is 150 microns =0.15mm , it means total reduce 0.30 mm and cutting upto root 48.16 mm
First cut is 49.07 mm (Crest)
Second cut is 49.07-0.3 = 48.77
Third cut is 48.77-0.3 = 48.47
Final cut is 48.47 -0.3 = 48.17 (~ 48.16)(root)
*********************************************************************************
01571 - Name of main program
N10- Tool change command , select tool no 2
N20- Maximum spindle speed command , speed is 1500 rpm
N30- Spindle ON clockwise , constant spindle speed , speed is 200 rpm
N40- Coolant ON
N50- Rapid action command , where X50 and Z2 .
N60- Threading cycle command , where X49.07( crest )(First cut) and Z-20 , feed rate is 1.5 ( it is always is equal to pitch )
N70- Second cut is 48.77 in X axis
N80- Third cut is 48.47 in X axis
N90 - Final cut is 48.17 in X axis (root)
N100 - Reference position command , where X0 and Z0 ;
N110 - Spindle OFF , coolant OFF , main prog. end

fore more visit -------------------------------------------------------www.cncknowledge.in

Can you please shutup?
 








 
Back
Top