What's new
What's new

G76 Explanation please

doug925

Titanium
Joined
Nov 21, 2002
Location
Houston
I have never really had good success with G76 for threading.
Maybe I am a control freak and like G92, but what am I missing?
When I use G76, I get overcut beyond the X Ø

What exactly is important on the command line?

My code for a .75x20 male would look something like this.

g0 x.8 z.2
g76 X.687 z-1. f.05 d.01 k .0307
g80

However, what I get is @!$%@#$
It will overcut beyond .687 until the control decides its internal "Magic Eightball" tells it to quit!
Quite infuriating!
So what have I done incorrectly?

Also, how do you use the "A" tool nose angle to cut only off one side?

Thanks,

Doug.
 
Hdpg,

Thanks. I actually have the manual, I even referred to it while I was typing up my post.
However, what the manual explains, is not what happens.
I ~think~ I understand what I am entering correctly, BUT when I use what I have typed above the machine will cut right through my "X absolute" without missing a beat.
I am familiar with G92 threading, as I have had to use that for the past 12 years on this lathe.

The manual does not explain why it would do that.
That is why I am asking here.

Thanks again,

Doug.
 
It looks like the X should be your maximum thread diameter, which on an external thread would be approximately the nominal diameter. Your sample above shows an X which might be near the minor thread diameter.

I don't have a Haas lathe, but you might have to determine if this rule is different for ID threading than OD threading.

If you are like me, and copy thread cycles between programs :D, it might explain how it could work one time and not the next :D
 
Doug, the code you've posted IS CORRECT!
I have no idea why it would go below the X value?:confused:

Do you see that in the coord. display, or you're measuring the min?
As far as the A value, I just use the A60. definition, but truly don't think it makes a difference on my '01 vintage machine. I know that because I can thread using G76, spring the OD and then come back and spring the thread using a G92 cycle without an A value, and the threads come out perfect.

That is however not possible on the Fanuc, as the G92 takes no A value and the thread gets criss-crossed.
 
Seymore,

When I run the programs I usually watch the "work" poit screen so I can see in real time where the machine is.
I can watch the machine blow right throuhg .687. :confused::confused:

Hu,

The control will assume a male thread, with a thread height of .0307 radially from .687", ie .7484, and starting witha first pass of .01" per cut, then working its way down to "X" at a lesser cut each and every time unil it hits "thread minimum cut"

(The above is assuming I understand the control correctly):nutter:

Mohawk,

Thanks, I will go puruse the link. I hope it will shed some light on it for me.

FWIW, Haas in California could not explain why it would do it either.
That is why I've always used G92 instead.:nutter::nutter:

Doug.
 
Wow, Doug925.
I hope you find and post the solution. I've always used G76 and prefer it to G92.


I looked at the Haas lathe examples and here is their example:

N901 (1*1/2-12 O.D. Thread/Side 2)
G53 G00 X0 Z0 T0
T909 (VARDEX O.D. THREAD TOOL)
G97 S1200 M03
G55 G00 X1.65 Z1. M08
Z0.2 M24
G76 X1.397 Z-1.8 D0.014 K0.052 F0.083333
G00 X1.65 Z0.2 M09
G53 G00 X0 Z0 T0
M01

Are there any differences between this and what you have (including the codes before and after the G76)?
I'm not too much help since I've never used the Haas lathe and always used G76 on Fanuc controls.
 
N901 (1*1/2-12 O.D. Thread/Side 2)
G53 G00 X0 Z0 T0
T909 (VARDEX O.D. THREAD TOOL)
G97 S1200 M03
G55 G00 X1.65 Z1. M08
Z0.2 M24
G76 X1.397 Z-1.8 D0.014 K0.052 F0.083333
G00 X1.65 Z0.2 M09
G53 G00 X0 Z0 T0
M01

Are there any differences between this and what you have (including the codes before and after the G76)?


Chris,

The only differences I see are they are not using a G80 canned cycle cancel afterwords.:confused:
(on their program)
The thread minor"X" would be 1.397", the thread height "K" is .104 total (added to 1.397 = 1.501), the 1st depth "D" is .014" and the lead "F" is .08333"


Shucks, I don't know why mine would do crazy stuff!:confused::confused:
If I ever figure it out I will post it up here.

Doug.
 
AFAIK, you don't need a G80 to cancel a G76. If you are in bug shoot mode, you could try removing that to see if it helps.

I would then suggest a trial run and see how much it overcuts (running the tool in the air). You might have to monitor the X position while cutting is going on in order to see where it sent the tool.

If it overcuts exactly twice as much, then perhaps you could try the threading cycle with a U value instead of X, incase there is an error in the macro.

While looking at Mits cycles that I have in storage, I do not really see what determines which way the tool advance occurs, between ID and OD threading. So I suppose some sort of a calculation must be made comparing the start point of the tool before the cycle begins, relative to the X endpoint at the minor thread diameter.

I'd play around with those two or three things to see if it could be sorted.
 
Doug!!! Wait!!!
What vintage is your SL???
Just remembered that there was a software version, back in early '01 machines that had a threading problem, more specifically threading related problem using G76.
My machine was built in 04/01 and it had a serious issue that after using G76, all tools were shifted in Z by roughly 1/2 of the thread lead amount.
Obviously this isn't your problem, but I had to wait like 4 months or so before a fix was available. Apparently they have had a few versions in between them as well that did not work as expected. Wonder if you happened to have one from those?
My initial sw version was: L04.10N, I'd have to figure out what the current one is.
 
Seymore,

Wow! I never knew that. That might explain a lot. I never thought of bugs in the code.
However, mine is a HL-4 from '96. It still stands to reason that there might be something wrong with the software, and not necessarily the G-code.

Assuming that is, that my code is correct.:confused:

Thanks,

Doug
 
Here's an example program with an explanation of how the threading cycle works.

M01
G28 U0. W0. M05
G00 T404 (OD THREAD TOOL)
(8-32 X 0.08 OAL)
G97 S800 M03
G00 G54 X0.17 Z0.2
G50 S800
G99 G00 X0.17 Z0.15
M08
G01 X0.17 Z0.1 F0.03
M24 (THREAD TAPER OUT OFF)
(M23 = THREAD TAPER OUT ON)
G76 X0.13 Z-0.16 K0.02 D0.0006 F0.0312
(K = MAJOR DIAMETER MINUS MINOR DIAMETER / 2)
(D = SUBSEQUENT DEPTHS OF CUT)
(FEEDRATE = 1 / # OF THREADS)
G00 X0.17 Z1.
M09
G28 U0. W0. M05
 
Here's an example program with an explanation of how the threading cycle works.

M01
G28 U0. W0. M05
G00 T404 (OD THREAD TOOL)
(8-32 X 0.08 OAL)
G97 S800 M03
G00 G54 X0.17 Z0.2
G50 S800
G99 G00 X0.17 Z0.15
M08
G01 X0.17 Z0.1 F0.03
M24 (THREAD TAPER OUT OFF)
(M23 = THREAD TAPER OUT ON)
G76 X0.13 Z-0.16 K0.02 D0.0006 F0.0312
(K = MAJOR DIAMETER MINUS MINOR DIAMETER / 2)
(D = SUBSEQUENT DEPTHS OF CUT)
(FEEDRATE = 1 / # OF THREADS)
G00 X0.17 Z1.
M09
G28 U0. W0. M05

Well, unless Haas had made a change in the thread cycle definition, that D is NOT the subsequent DOC, rather the initial DOC.
All subsequent depths are calculated by a formula ( which I just can't seem to find right now ..... ) down to the last pass, which is controlled by a separate parameter in the settings page.
 








 
Back
Top