What's new
What's new

Fundamentals of tool and work offsets

Hot Bob

Cast Iron
Joined
May 10, 2008
Location
Sanger, Texas / Westcliffe, Colorado
I have searched and read many, many threads on these subjects and I still have some lingering questions. My machine is a Matsuura RA1 w/ Yasnac MX3 controller (fanuc). I'm just trying to get my head around how the G54 z-axis and the H-offset work together. Here's the thing; I have a tool height block/gauge that I'd like to use for setting all my tool length offsets. If I set all my TLOs using this block, can I just touch off one tool on the work surface to get a z-offset for my G54? I know there are lots of ways to do this but, I'm just trying to get comfortable with one before I explore using others. I don't want this to turn into another debate on presetting away from the machine.

Bob
 
Bob:
If you set all your tool lengths to a block or any common point as H values, you can then put the difference from this common point to the top of your workpiece into the proper G54 as a Z value.
Lets say your workpiece is .65" lower.
Put that into G54 as -.65.
Then try it carefully.
I have a lot of mill examples on the website for complete programs, but I do not think I actually explain what you are looking for.
Still, learn what you can from the examples.
Heinz.
www.doccnc.com
 
Here is an easy way to wrap you head around one way to do it.

If you touch all your tools off on the touch gauge (and have negative tool lengths) the z value in your G54 is the difference between the plane you touched off on, and your program zero. It is that simple.

So - lets say you have a 2.0000" touch probe on the bed of your vice. And your program zero is one inch above the bed of your vice. Then your G54 Z value would be -1.0000". (-2.0000+1.0000). If your program zero happened to also be two inches above your vice (the same as the touch tool), the value for Z in G54 would be 0.

So, sometimes I simply do the math like that. Or, sometimes I'll stick a 12" height gauge on the table and zero it on my tool setter and measure the relitive height of my work piece. Or, I'll stick an indicator next to the spindle and zero off the touch gauge and measure (with the mill) the distance to my program zero on the part.

I like this way. I can quickly zero all my tools off, within a tenth or two of each other, and I can easily replace a dull cutter by sticking the height setter back on the machine and touching off another tool.

Touching off the top of a part using a piece of paper is relatively crude in comparison.
 
Touching off the top of a part using a piece of paper is relatively crude in comparison.

This is why I wanted to figure out how to do it this way. Based on your explanation, I am understanding that I can bring any registered tool down and touch off the work surface, then subtract the tool length from the total and enter that as my G54 offset. Is that correct? There is no room on my pallets for a height gauge so I'm thinking this is the best way for me to do this right now.

Thanks,

Bob
 
This is why I wanted to figure out how to do it this way. Based on your explanation, I am understanding that I can bring any registered tool down and touch off the work surface, then subtract the tool length from the total and enter that as my G54 offset. Is that correct? There is no room on my pallets for a height gauge so I'm thinking this is the best way for me to do this right now.

Thanks,

Bob

Touching work surface with tool is a great way to break a tool.

Instead, use a known height block, lower the tool so that the block would not slide under, and start raising it up slowly until the block just passes under.

That gives you a safe way to measure the Z offset.

i
 
I set all my tool heights with a 2.0000 inch setting gage light. Normally for a single work offset I put the gage on the part and enter "-2.0000" in the work offset when I set off the top of the part. For multiple vises or fixtures, what I do is put a test indicator in the spindle, zero it on the gage, and zero the Operator readout for Z. Then I'll bring the indicator to zero on my Z zero surface. I enter whatever is in the Z readout in my work offset. This works good if you can't get a height gage in the machine.
 
I have a MC-600 with the mx-3 controller. I have all my h values set from the table surface. In the TLM offset screen, you can then set your bias. I use 3.000" because I use a 1-2-3 block as my gauge to touch off on. With your z-axis at machine zero and the machine in manual mode hit the 'measurement' button and the green light will come on. Touch off your tool on the gage block and hit the 'write button'. The tool will return to z 0 and your H value is set. It should be a negative number. Now your G54 z value is the distance from the table top to the top of the work piece. It will be a positve number. Now you can call your G54, H offset, and z 3.000" in MDI mode and double check your offset. I hope this helps.
 
Ok Steveo, got another question for you. Others may be able to answer but you have the same controller. It looks like the H- and the D- share memory and work off the same page. Do you add some arbitrary number (i.e. 50) to your tool number and store your tool radius at that location? Again just trying to understand how things work.

Example;
If tool #3 (T3) is a .5" EM and has an H3 length of -14.25, based on what I've read, I could skip down to T53 and input .25 for my radius comp. And, if I inadvertantly entered H53 for T3 the machine would assume a tool length of .25. Is that correct?

Bob
 
Example;
If tool #3 (T3) is a .5" EM and has an H3 length of -14.25, based on what I've read, I could skip down to T53 and input .25 for my radius comp. And, if I inadvertantly entered H53 for T3 the machine would assume a tool length of .25. Is that correct?

Bob

Correct.

But one suggestion: However you end up setting H values, may I suggest that they should represent the distance that the tool sticks out from the holder, relative to a guage line? This way, all length offsets are positive. Your first move towards the work will include a G43 code to reduce Z by your positive offset amount.
I've used this system for years with great results and it appears that Haas uses the same idea for machines equipped with probes.
 
I have a 1 tool holder that I use as my "master tool" length.

I touch this "master tool" off on whatever fixture, part, etc...
it's also what I commonly clamp an indicator to to sweep holes find edges etc..

all my tool lengths are entered relative to it. some are shorter, some longer so my offsets include + and - values. when I replace a work tool, it gets measured relative to the "master tool" not to just any other tool or the spindle face etc.. this avoids a few additions/subtractions chances for error.

ps.
my tool presetting system is simply a digital height gage and a female taper. I zero the height gage on my "master tool".

pps.
a description of all the tools, a tool holder #, the tool type, diameter, offset, the usable length, the length to the tool holder (crash), number flutes, preffered feed, preffered speed, for couple standar materials, tool part # to reorder, etc.... lives in a big spreadsheet that I refer to whenever programing.

ppps. I lied -I dont actually have part # to reorder.... but now that I thought of it, I will.
 
One important thing to mention.
Your machine's setup dictates how you would set up tools!
Obviously, touching off on the top of the part ( with or without the aid of a setter ) works every time on all machines.
HOWEVER!
If you want to use a fixed reference on the table or on the top of the vise or wherever, you MUST!!! set up your machine's parameters so tool lengths are not measured to the current workoffset!
IOW whenever you measure a tool length, the resulting number must be completely independent of the Z value of the workoffset.
To put it in another way, your measurement result must be the same value regardless of the value in the workoffset's Z value.

Not sure if I made this understandable, but on some machines ( 2000 vintage Milltronics Centurion control as an example ) the fixed reference method cannot be used as it was described earlier. Reason for it is that the tool lengths are always referenced with any one of the 6 workoffsets active and are not the true distance from machine home or gageline.
Similarly, all HAAS machines have a parameter called "T-Offs measure uses work", which must be turned Off in order to use a fixed reference.
Don't have any Fanuc VMC-s, but I believe they also have a similar parameter.

Also, the H/D value separation is a Fanuck stupidity. On the Haas you can always use H1 D1 and apparently the Milltronics too allows the useage of the same H and D number for a tool.
 
Hotbob, I use H offset 1-89 as my tool offsets and reserve the 90's for my D offsets. That way D90 is .0625, D91 is .093, etc. Also, like dsergison, I use T1 as my 'master' tool for touching off the table and part. I use a dowel pin ground flat.
 
Also, the H/D value separation is a Fanuck stupidity. On the Haas you can always use H1 D1 and apparently the Milltronics too allows the useage of the same H and D number for a tool.

There's an option for separate H and D offset registers. Don't know why it isn't standard :rolleyes5:
 
Ok, so I thought I had this down. Then I went out to the shop and started actually working on the machine. Here's what transpired. I installed a .75 flat EM in a holder. I called up T03 M06 and installed the holder in the spindle. I then hit the measurement button and brought the tool down on my 4" height gauge which I place on the bed of my vise. I then hit the "write" button and the offset was recorded into the register for tool #3 and the spindle returned to machine z-home (Z0). The offset was -11.150.

I then placed a chunk of aluminum in the vise and switched over to the work offset page. Because I was only trying to get the gist of the operation, I decided on some arbitrary position on one corner of the block as my G54 offset. X & Y were of course easy to determine. But...I got confused on the Z. I chose a touch off point just a few thou above the surface of the block still using T03. The measurement was -10.000 meaning that my part was approximately 1.150 taller than my height gauge. Ok, so now what do I enter in my Z-offset? Is it +1.150 because it is in the + direction? Or is it +1.150 because -10.000 minus the tool length of -11.150 equals +1.150? Or is it not +1.150, but some other number entirely?

I know a lot of you guys make a parameter change to make Z0 at the table and I understand why but, I'm not ready to do that yet. I want to have a firm grasp on this. It is the way the machine and manual and textbooks are setup.

Bob
 
With your tool touching your gauge block, find an operator axis display screen where you can zero the Z value. Now, jog over to the part. The Z axis display will show you the measured difference and the sign should be correct to enter into your G54Z offset.

To test, write a short dummy program calling T3 and its associated H value:
G54
T3
G43 H3
G00 Z1.0

With the machine rapid turned low, watch the tool descend to 1" clearance above your part zero. If you do this with the tool somewhere over free space, you'll be able to hit the feedhold or reset if it doesn't stop as expected :)

I'm assuming your part zero is on top of your part, and not on the bottom.
 
Your G54 z number should be positive. If you are using the bottom of you vice as your tool zero reference point and you are machining a 3" block with no parallels, then your G54 z value is 3.000. I wrote a small program that calls the tool offset, the work origin and say X0 Y0 Z4.0. That should bring your tool 4" above your part. If say the tool is .125" higher, go to the work offset page, high light your Z value and enter I-.125 and hit write and your Z value will adjust.
 
Bob,
While everyone has their own method of setting tools, mine is to set the tool 1.0" off the part surface to be machined when usings a G54. One thing is set your machine coordinate G54 and leave it alone as long as you do not move your fixturing. Or some cases when using a production fixture to hold a part. A given repeatable point on the fixture is the Z zero point. In my case having several machine coordinate settings does make life easier (G54 > G59.2 old AB control and G54 thru G59 Fanuc control)

The point is find a system that suits you and your production requirements
be it with dedicated fixturing or job shop one offs the key here is do it the same way every time and make sure everyone in your shop is on the same page and using the same method to set up new jobs.


Scott
 
HOWEVER!
If you want to use a fixed reference on the table or on the top of the vise or wherever, you MUST!!! set up your machine's parameters so tool lengths are not measured to the current workoffset!
IOW whenever you measure a tool length, the resulting number must be completely independent of the Z value of the workoffset.

snip

Don't have any Fanuc VMC-s, but I believe they also have a similar parameter.

Also, the H/D value separation is a Fanuck stupidity. On the Haas you can always use H1 D1 and apparently the Milltronics too allows the useage of the same H and D number for a tool.

I used an old kita mycenter2 with a fanuc 6M on it and the Z height offset in G54 raised or lowered the MACHINE coordinates displayed for the Z axis. In effect, you had to zero out G54 Z before touching off any tools. Quite a PITA.

In addition, the Fanuck stupidity you refer to was likely a hardware limitation of the original fanuc controllers. They had only one height/radius comp table, and to boot, there were no separate fields for geom and wear!

New Haas' and Mazak's don't do that. Haas will let you use the same D and H number for a tool. Even better, on a new Mazatrol Nexus controller, D and H values are ignored entirely by default since the controller has tool height, size, type and length/radius comp values in a separate screen outside the height/radius comp table. It's slick as butter.
 








 
Back
Top