What's new
What's new

How to use G50 on Fanuc 6T

NAST555

Stainless
Joined
May 23, 2008
Location
Gauteng, South Africa
So to make the story short I am joining a company that has older machines to what I am used to ( My Oldest Fanuc OM's and OT's) and have the task of running the shop. Mainly older Lathes including 5 and 6 Fanucs.

On my OT's I have a master tool and that tool in geometry is always X0.0 and Z0.0 and the rest are set off, "TAKE A CUT,MEASURE, MX 0.0, MZ0.0" and so on. On my Oi's I have setters that all tools can be zerod off and part and the rest know where the part is.

NOW, I have been looking at how the company uses G50 on the 6T's. There is a G50 call, for arguments sake on the first tool, T101; G50 X100.0 Z200.0. Where is this G50? How is it set? It was explained to me that because there is no geometry page that all tools work from this imaginary G50 position and if the first tool is Z200.0 then if I call T202 X100.0 Z200.0 then it will still be in the same position from the machine home but it will activate tool2's offsets? So now I need to add or subtract the difference between T1 and T2 so if I call G50 for T2 it won't be T202 X100.0 Z200.0 it will be T202 X50.0 Z100.0 (if it is shorter and lower down turret wise from T1)

Then I was properly confused. How do you set tools? Say you have to extend your boring bar then do you need to touch off again, take what your incremental screen says, MACHINE LOCK, move to offset it , and then machine release to get it into position? So your offset screen in a perfect world would read 0.0000 for X and Z but for fine adjustments there would be a bit of offsets?

I know that I am probably overthinking it and have been ":spoilt" but the last 6T I ran was years ago and the G50 "toolchange" was set at a certain safe position and my offset screen had the actual geometry of my tools from what I can remember.

Any help is much appreciated.
 
It's been a while but if I am not mistaken, G50 is measured from home position and there should be a wear offset only page of offsets.

Paul
 
I have an old 5T and here's how I do it.
G50 is a reference position. You can make it anywhere you want. Home would be nice, but on a 5T (6T too?) if you are at home, and you tell it to go home, it will crash into the hard limits. (Fanuc at their best) So I make my Reference 1" in in both X and Z.
To set your tools, Zero your display at your reference position. Make a test cut with say, tool 1. (assuming an od tool) Measure the cut, and lets say is 2.050" dia. and your display reads -12.5000. That means your distance from reference to centerline is 14.5500. so your program would look like this;


G28 U0 (return Home)
G28 W0
G0 U-10000 (go to ref point)
G0 W-10000
G50 X145500 Z??? T0100 (offset)

Do Z the same way.
 
So yes Mike, This is the place I'm in. G50 S2000 (or whatever). But it is also a position that the machine knows where the tool is. So you can call a T101;
G50 S2000 X200.0 Z200.0;
in the same line and it knows that max spindle is 2000, and that T1 is X200.0 and Z200.0 FROM WHERE?

Yeah Paul, only an offsets screen, no geometry screen. I am talking about Nakamura, Takisawa and two Mazaks.

So where do you measure each tool from? Don't want to look like an idiot (or truthfully a spoilt brat that when I toolchange I just go G00 Z150.0, T101, G00 Z3.0 and get on with it) in front of the company that I am taking over. I have this horrible feeling that I am going to be running things off of my machines rather than the one's that I am taking over but theirs are workhorses. The Nak is particularly impressive.
 
I have an old 5T and here's how I do it.
G50 is a reference position. You can make it anywhere you want. Home would be nice, but on a 5T (6T too?) if you are at home, and you tell it to go home, it will crash into the hard limits. (Fanuc at their best) So I make my Reference 1" in in both X and Z.
To set your tools, Zero your display at your reference position. Make a test cut with say, tool 1. (assuming an od tool) Measure the cut, and lets say is 2.050" dia. and your display reads -12.5000. That means your distance from reference to centerline is 14.5500. so your program would look like this;


G28 U0 (return Home)
G28 W0
G0 U-10000 (go to ref point)
G0 W-10000
G50 X145500 Z??? T0100 (offset)

Do Z the same way.

Thanks Larry,
So does that mean that you never actually have a tool referenced to any position? So let's say you take your test cut and zero off your U and see that it is 50.0 for that specific tool (I am assuming you call the tool offset before you take the cut manually?) but it is actually 100.0 that your G50 would be X-50.0?

And the same for Z. If you get your G50 start point as Z0.0 and you touch off your part and it lands up being Z-250.0 that everytime you call that tool you have to say G50 X-50.0 Z-250.0 and it will return to it's G50.

Sorry guys if I am seeming like a newb (or spoilt brat like I said earlier) but I need to try to get my head around this.
 
And when you return to your G50 for the next tool does it know that T202 is X100.0 Z100.0?

So T101 did this...
G00 X100.0 Z5.0
G01 Z0.0 F3.0
G01 X0.0 F0.2
Z0.5
G00 X100.0
G50 X100.0 Z100.0
T202
G00 X100.0

Would that confuse it or would it go back to where T101 started or is my G50 wrong for T2? Should the G50 for T2 be the difference between T1 and T2?
 
I works exactly the same as G92 on a mill, if that helps.

In the example I gave, you would make your test cut manually, with no offsets at all. Just zero the display at your reference point, and add/subtract your actual diameter to that, and that's your G50 value. As Locknut stated, you then have a wear offset that's called up by T0101.

At the end of tool 1, your return to your reference position;

G0 X145500 Z??? T0100

;then call tool 2
M1
G50 X??? Z??? T0200
 
I works exactly the same as G92 on a mill, if that helps.

In the example I gave, you would make your test cut manually, with no offsets at all. Just zero the display at your reference point, and add/subtract your actual diameter to that, and that's your G50 value. As Locknut stated, you then have a wear offset that's called up by T0101.

At the end of tool 1, your return to your reference position;

G0 X145500 Z??? T0100

;then call tool 2
M1
G50 X??? Z??? T0200

its been a long time since I worked with g50s on a real lathe. however on my citizen I have to cancel the g50 when the tool is done before I run the next tool. again might be due to a citizen with dual turrets and not much room.

for example my x on tool1 a drill needs to be 1.0 to be at center. I write g50 u1.0 then at end of tool I write g50 u-1.0
then run my next tool all my od. tools are set via indicators and are all the same length when put into the holder.

also dont you need to use "W" and "U" for a g50 and not "X" again maybe thats citizen and t10 control only.

back in the late 80s all our machines used g50 but that was a long time ago, numeric and old fagor controls on HES 24" chuck machines wih 6 foot z travel.
our g50 like described above as bacially a safe start block as well.

After not useing g50 for a million years in a real machine I honestly forgot how. this citizen took me a while to remember so I could run it.
 
its been a long time since I worked with g50s on a real lathe. however on my citizen I have to cancel the g50 when the tool is done before I run the next tool. again might be due to a citizen with dual turrets and not much room.

for example my x on tool1 a drill needs to be 1.0 to be at center. I write g50 u1.0 then at end of tool I write g50 u-1.0
then run my next tool all my od. tools are set via indicators and are all the same length when put into the holder.

also dont you need to use "W" and "U" for a g50 and not "X" again maybe thats citizen and t10 control only.

back in the late 80s all our machines used g50 but that was a long time ago, numeric and old fagor controls on HES 24" chuck machines wih 6 foot z travel.
our g50 like described above as bacially a safe start block as well.

After not useing g50 for a million years in a real machine I honestly forgot how. this citizen took me a while to remember so I could run it.
Hello Delw,
U and W are the Incremental associates of Absolute X and Z respectively. G50, in a nutshell, tells the control the diameter at which the tool is at and the distance from Z Zero of the Work-piece, when the G50 is executed. Its typical to use the Absolute addresses X and Z. I've not actually seen U and W used with G50 to set the Coordinate System, as they are incremental values.

Its important that the G50 be executed for each respective tool at the same location every time. The only position of the axes that can be guaranteed is the Reference Return Position. Accordingly, its common for the G50 for each tool to be set at the Reference Return Position. However, with machines that have a long Z axis, its common to do as Larry suggests and use an Incremental Move from the Reference Return Position to establish a closer position to set the Coordinate System with G50.

Rather than have the machine perform a Reference Return and then an Incremental Shift each new cycle of the machine, its also quite common to have the program arranged as follows:

/G28 U0.0 W0.0
/G00 U-100.0 W-500.0
G00 T0100
G50 X300.0 Z100.0
G50 S3000
G96 S200 M03
G00 X50.0 Z10.0 T0101 M08
--------------
--------------
--------------
G00 X300.0 Z100.0 T0100 M09
M01

In the above example, once the machine has executed the two Blocks that are prefixed by the Block Delete (Skip) character, the Block Delete Switch is put to the On position so that these Blocks aren't executed next time around. If the program has to be aborted suddenly for some reason (broken insert etc.) and the position of the tool lost, then the Block Delete Switch is turned off so that the G50 execution position is again found.

Its important that the Tool Offset be cancelled when the tool is returned to the position where the G50 is executed. Failure to do this will see the true position of the tool creep away from the G50 execution point by the value of the Tool Wear Offset each cycle.

Regards,

Bill
 
Its important that the Tool Offset be cancelled when the tool is returned to the position where the G50 is executed. Failure to do this will see the true position of the tool creep away from the G50 execution point by the value of the Tool Wear Offset each cycle.

Regards,

Bill

This cannot be overstated. Always return back to the home switches and cancel the tool offset by calling it only and not the tool number (T0100) when changing tools. Note the sequence is offset (Txx00) then tool number T00xx).

T0101 G50 X12.100 Z 39.400
X Z (tool does its thing)
G28 U0. W0.
M05
T0100

Home switches are not always required as Larry said above but heed Bill's advice by ensuring the previous G50 position is returned upon prior to cancelling the tool offset.
 
Hello Delw,
U and W are the Incremental associates of Absolute X and Z respectively. G50, in a nutshell, tells the control the diameter at which the tool is at and the distance from Z Zero of the Work-piece, when the G50 is executed. Its typical to use the Absolute addresses X and Z. I've not actually seen U and W used with G50 to set the Coordinate System, as they are incremental values.

Its important that the G50 be executed for each respective tool at the same location every time. The only position of the axes that can be guaranteed is the Reference Return Position. Accordingly, its common for the G50 for each tool to be set at the Reference Return Position. However, with machines that have a long Z axis, its common to do as Larry suggests and use an Incremental Move from the Reference Return Position to establish a closer position to set the Coordinate System with G50.

Rather than have the machine perform a Reference Return and then an Incremental Shift each new cycle of the machine, its also quite common to have the program arranged as follows:

/G28 U0.0 W0.0
/G00 U-100.0 W-500.0
G00 T0100
G50 X300.0 Z100.0
G50 S3000
G96 S200 M03
G00 X50.0 Z10.0 T0101 M08
--------------
--------------
--------------
G00 X300.0 Z100.0 T0100 M09
M01

In the above example, once the machine has executed the two Blocks that are prefixed by the Block Delete (Skip) character, the Block Delete Switch is put to the On position so that these Blocks aren't executed next time around. If the program has to be aborted suddenly for some reason (broken insert etc.) and the position of the tool lost, then the Block Delete Switch is turned off so that the G50 execution position is again found.

Its important that the Tool Offset be cancelled when the tool is returned to the position where the G50 is executed. Failure to do this will see the true position of the tool creep away from the G50 execution point by the value of the Tool Wear Offset each cycle.

Regards,

Bill

bill

I enjoy reading how others do things as I am always learning even though I been doing this for 30+ years. your never too old to learn as there is many ways to skin a cat.

the machine is a f12 with a Fanuc 10T control live tooling on both turrets and sub spindle. we run it everyday. g50 is old school but its interesting on how it works. Like I mentioned above I started out in the late 80s using g50's then started my own shop and used newer conrols where g50 ONLY set max rpm

heres one part of a program on my citizen using G50's, my tools are from homes switchs to x centerline, this is how it was done on my machine long before I owned it. dont know if its right or wrong. all my wear offsets are for fine tunning. so very rarely do they read more than .005 plus or minus. I have no tool offsets on the machine only wear offsets.



N13( C DRILL )
G69
G50S4000
G97S3500M03
G50U1.0
G00X0.0Z-0.050T13
G01Z0.080F0.002
G00Z-0.050
G00T2400
G04U0.5
G50U-1.0
M01


N24( CCMT TURN FACE O.D. .004 RAD )
G68
G96S750M03
G00X0.5Z-0.050T24
G00X0.3Z-0.005
G01Z0.0F0.001
G01X-0.03
G01X0.062
G03X0.180Z0.007R0.007
G01Z0.063
X0.3
G0Z-0.050
G00T1400
G04U0.5
M01

N14( .089 DRILL )
G69
G50S4000
G97S3500M03
G50U1.0
G00X0.0Z-0.050T14
G01Z0.85F0.002
G00Z-0.050
G00T2300
G04U0.5
G50U-1.0
M01
 
This may just muddy the water here, but I've seen G50 just executed in MDI after power up and reference return is done and not included in the program. The G50 line would look like G50 X140000 Z246810 (inch units, no decimal). Then the offset registers were used kind of like geometry and wear combined. A turning tool would just have minimal X and Z values for holding sizes. Drills would have 0 offset for X and a Z value that reflected the length difference between a turning tool and the drill tip. Boring bars would have an X offset that reflected the diametral measure of the centerline to cutting tip (plus or minus any small deviations needed to hold sizes) and a Z offset established the same method as a drill.

The argument for this method was that the program did not have to be started or ended at the same position and that the program could more safely be re-started at some mid point with out the operator needing to return the machine to the reference point.

I think I only ever saw it used in a couple shops this way. The majority use the method described in previous posts.
 
This may just muddy the water here, but I've seen G50 just executed in MDI after power up and reference return is done and not included in the program. The G50 line would look like G50 X140000 Z246810 (inch units, no decimal). Then the offset registers were used kind of like geometry and wear combined. A turning tool would just have minimal X and Z values for holding sizes. Drills would have 0 offset for X and a Z value that reflected the length difference between a turning tool and the drill tip. Boring bars would have an X offset that reflected the diametral measure of the centerline to cutting tip (plus or minus any small deviations needed to hold sizes) and a Z offset established the same method as a drill.

The argument for this method was that the program did not have to be started or ended at the same position and that the program could more safely be re-started at some mid point with out the operator needing to return the machine to the reference point.

I think I only ever saw it used in a couple shops this way. The majority use the method described in previous posts.

I agree with your logic. Including a G92 or G50 in the part program means that you must start and end the program at the same position. Entering it with MDI instead sets the absolute zero which remains unchanged until the control is powered down. I was trained to include G92 in Fanuc 3000C programs and only later realized that life could have been simpler if it were entered through MDI at the start of a shift.
 
This may just muddy the water here, but I've seen G50 just executed in MDI after power up and reference return is done and not included in the program. The G50 line would look like G50 X140000 Z246810 (inch units, no decimal). Then the offset registers were used kind of like geometry and wear combined. A turning tool would just have minimal X and Z values for holding sizes. Drills would have 0 offset for X and a Z value that reflected the length difference between a turning tool and the drill tip. Boring bars would have an X offset that reflected the diametral measure of the centerline to cutting tip (plus or minus any small deviations needed to hold sizes) and a Z offset established the same method as a drill.

The argument for this method was that the program did not have to be started or ended at the same position and that the program could more safely be re-started at some mid point with out the operator needing to return the machine to the reference point.

I think I only ever saw it used in a couple shops this way. The majority use the method described in previous posts.

Doesnt muddy the waters at all, this will though LOL.

when I have to turn machine off/ or have a power failure. I power up, I zero return all axis. then on my Z axis I back off till what ever my cut-off part length is +.1
then goto mdi type in G50 Z0.0.

this sets my Z at 0.0 for bar feed work.
remember mine is a sliding head so to speak. Z length on tools never move and are just mounting in the 2 turrets.
whats nice is if I have another part thats say 2" I back off another inch type in g50 Z0.0 into MDI and hit cycle start and run.

having 10 tool positions(2 turrets 5 tools each) is sweet only thing I ever have to change is the drill or reamer. its takes me just as long to set up a job for 10 pcs as it does for 100 pcs even with special tooling about 20 mins tops. just change collet and bushing and reset my g50 z0.0.

I wrote a sub program to set the G50s from the home switchs and subs to run different live tooling tools and tools that I use all the time, just havent proven them out or run them as I havent had time yet.

on another note, I have a 12 foot barfeed on the machine LNS I believe has 3 dias. only thing I use it for is to stabilize the bars., its not even hooked up no hydrulics or electrical.
I use the bushing/guide collet to pull the bar to Z0.0 leaving .005 face off stock. dont think thats the correct way but it works extremely good is very accurate and I can cut off parts in OAL within a few .0001 O.A.L. of finish size.
I have a rotating bushing/guide. even holds with in a few .0001 on hex stock in O.A.L.
for as old as this citizen is we do some pretty cool stuff on it,its a blast to run. all our stuff thats under 1/2" I run on it.. got a screw that 10 24 with a tad bigger o.d. than the 10-24 major about an 1-3/4 long thread on a 2.5" long part with a large O.D. then another thread smaller size on back end. figured out a way to run it on the citizen in one op instead of 5ops
saves all the taper and headachs , broken threading tools etc etc not to mention the time on the miyano. .0002-.0003 taper on a test, threads fit on the gage smooth and run true.
I bought it sight unseen just cause I always wanted to dick with one. was suppose to be a play toy for learning. now I dont know how I lived with out one. If work keeps up I will more than likely get a newer one or even a new one.
 
Woah...
Thanks so much for all the info guys! I think I used G50 on the Wasino like Vancbiker described. On my offset page it had the geometry and the offset of the tools.

I am going to have to fall in with their way because the operators are so used to it. And they will have to fall in with my way on my machines. Going to be a bit of training in both directions. Thankfully they currently run certain parts on certain machines so most of the programs are already there. The jobbing stuff will get done on my machines since it seems like they are easier (or maybe I am just more confident on them) to set up. I will be the programmer and set up guy as well as workshop "supervisor" so I need to learn pretty quickly for times when things need to be tweaked or corrected. I don't like that I cannot see the actual program while it is running only the co-ordinate screens! That scares me more than anything else. The one Mazak (I think) works backwards with it's X?
 
Woah...
Thanks so much for all the info guys! I think I used G50 on the Wasino like Vancbiker described. On my offset page it had the geometry and the offset of the tools.

I am going to have to fall in with their way because the operators are so used to it. And they will have to fall in with my way on my machines. Going to be a bit of training in both directions. Thankfully they currently run certain parts on certain machines so most of the programs are already there. The jobbing stuff will get done on my machines since it seems like they are easier (or maybe I am just more confident on them) to set up. I will be the programmer and set up guy as well as workshop "supervisor" so I need to learn pretty quickly for times when things need to be tweaked or corrected. I don't like that I cannot see the actual program while it is running only the co-ordinate screens! That scares me more than anything else. The one Mazak (I think) works backwards with it's X?
Hello NAST555,
One thing that you should be aware of, is that the Axes Slides move when the Tool Offset is called up. Accordingly, T0101 will physically move the axes by whatever is registered in the Tool Offset Registry during the Tool Change. When the Offsets are just small wear amounts it just looks a bit jerky. But with a relatively large Geometry Offset it can look downright horrifying with the turret spinning and the Axes moving by a large Offset amount. Therefore, its good practice to call the Tool with no Offset and apply the Offset in the first move line as in the following example:

G50 G00 T0100 S3000
G96 S250 M03
G00 X50.0 Z10.0 T0101 M08

In this way, the Offset is applied seamlessly, being taken up in the slide movement.

Regards,

Bill
 
Hello NAST555,
One thing that you should be aware of, is that the Axes Slides move when the Tool Offset is called up. Accordingly, T0101 will physically move the axes by whatever is registered in the Tool Offset Registry during the Tool Change. When the Offsets are just small wear amounts it just looks a bit jerky. But with a relatively large Geometry Offset it can look downright horrifying with the turret spinning and the Axes moving by a large Offset amount. Therefore, its good practice to call the Tool with no Offset and apply the Offset in the first move line as in the following example:

G50 G00 T0100 S3000
G96 S250 M03
G00 X50.0 Z10.0 T0101 M08

In this way, the Offset is applied seamlessly, being taken up in the slide movement.

Regards,

Bill

Thanks Bill!
I think I might have needed new trousers the first time I called a tool. I am used to just calling a tool with it's offset and the machine just changing where it is without movement.
 
I've not actually seen U and W used with G50 to set the Coordinate System, as they are incremental values.

Bill, this is common practice in Swiss machining. At least where I am. Never done it anywhere else, so I guess I can't say for sure that it's common, but I've seen it done/done it on 2 brands of machines with 3 different types of control (Siemens, Fanuc, Mitsubishi).

Say T2 is a face/turn tool, and it establishes Z0 on the part... The centerline of the live tool is .3937" from the Z0 position/guide bushing. When you call T14 (live tool), you G50 W-.3937", and then write code as normal, rather than having to add that .3937" to all your Z coordinates. When finished, you obviously G50 W.3937" to cancel.
 
Bill, this is common practice in Swiss machining. At least where I am. Never done it anywhere else, so I guess I can't say for sure that it's common, but I've seen it done/done it on 2 brands of machines with 3 different types of control (Siemens, Fanuc, Mitsubishi).

Say T2 is a face/turn tool, and it establishes Z0 on the part... The centerline of the live tool is .3937" from the Z0 position/guide bushing. When you call T14 (live tool), you G50 W-.3937", and then write code as normal, rather than having to add that .3937" to all your Z coordinates. When finished, you obviously G50 W.3937" to cancel.

So Teach... for arguments sake if you could not use an offset page/wear to add on to geometry you could use this if your tool was out a bit? So instead of moving it within your program you would either add/subtract the U or W when you G50 it and just go for it?

Reason I am asking is if you had a turret set up with all your tools and their X and Z values known, moved a boring bar in (like I mentioned above) , you could go G50 T100 and then G50 T101 -W50.0
 








 
Back
Top