What's new
What's new

Fanuc 0i MD VMC work coord & tool lengths 'philosophy'

bspear

Plastic
Joined
Feb 10, 2018
Fanuc 0i MD

My first time on a Fanuc mill after Heidenhain, spent a couple of hours trying to get my head 'round the work shift and tool length setting and need to get a definitive on what trumps what and what needs to be initially zero'ed or reset to avoid offsets on offsets etc.

Once a code is run and g43's and g54 etc are called I presume the last one called remains active if I switch to any manual movement?

Are there any codes I need to watch for at the end of progs which clear work/tool offsets?

Before I set a work shift, how do I ensure no other workshifts are active, should I call that workshift first in MDI? will reffing all axis clear the workshifts? G53 or a manual ref? G49 work on Fanucs?

Before I set a work shift, I presume I need to activate a zero tool length?
Or again can I clear the active tool H?

Any suggested workflows gratefully received.

BTW, I'm manually setting - no electronic gizmos. Because of the safeties and switches on the machine side the workflow is a bit long winded so was going to make up my own BT40 tool gauge for measuring tool lengths but couldn't see any ref to DIY gauges on line, see any reason why not?

Cheers, bspear
 
On some fanuc when you cancel out g43 with g49, the spindle will move up or DOWN depending on + or - offsets. That one gave me bad dreams for a long time. Until I learned to g53 z0. g49. That seems to have cleared that danger. To set you xyz zero you should have a "measure" function. If not I have a macro that will do the same thing. I will post it.
 
There are as many different approaches as there are machinists. I don't use the Z position in work offsets G54-G59 unless I am making small adjustments to a Z position between identical parts in multiple fixtures. In that case, I use the same height offset for that tool in each work offset, and use the Z position in G55-59 to make Z adjustments. G54 Z is zero, G55 might be -.002", G56 might be .003", etc.

Usually the work offset's Z zero is the Z axis home position, and all tool lengths are measured from there to the part zero. I origin all axis on startup, because the offset page uses the relative Z position for tool length calcs. All values in the H registers are always negative numbers, and G54 Z zero is always zero.

There are other methods, that's just the one I use.

In general:

Start each tool with a set of cancel codes (safe start block)
N1 G0 G90 G40 G80 G49 G17

Call up your work offset on the first XY positioning move:

G0 G54 X1.0 Y0

Call up your height offset on the first Z move:

G43 H1 Z1.0

(tool 1 does it's thing...)

go to next tool:

G91 G28 Z0

N2 G0 G90 G80 G40 G49 G17
T2 M06
etc...

It's not necessary to cancel height offset when setting work offsets. When I use the same tool on different work offsets I call up a different height offset. Tool 1, G54 is H1. G55 might me H11, G56 H21, etc. You do have to call up the new offset when moving the tool from one work offset to the other. Just Z up to a safe height, re-position, and call up the new offset.

G0 Z6.0
G0 G55 X1.0 Y1.0
G43 Z1.0 H11

It's not necessary to cancel the height offset with G49 before calling up the next offset.

G54 is usually the default work offset, best practice is to call up the work offset on the first positioning move as described above. There is no cancel work offset. G54-G59 position is just the distance from home position- the value of G54 does not affect the value of G55.

Going to manual mode should not drop offsets, just don't hit the reset button, you may lose the height offset.

To manually cancel a height offset, just MDI a G49.
 
In addition to the good advice above, there are several parameters that affect the behavior of tool length offsets. These parameters allow the machine builder to "customize" how they want their machine to behave when invoking or canceling compensation. In addition to learning here you may want to read through your machine builders instruction manual to see what they recommend.
 
While there are a few different methods of defining tool lengths, consider using gauge line offsets where the tool length is a positive value in inches or mm from the spindle gauge line to the tool tip.

Once set, tool lengths need not be changed until the tool is physically altered.

And should you eventually end up with a machine with a tool length probe, most of them are set up to read tool length offsets as gauge line offsets.
 
I've just been learning this on a 0i-mate MB... A few things I've noted:

The work coordinate system (G54, G55, etc.) for which you are trying to measure your work offsets seems to need to be active in order to allow use of the "measure" soft key. That had me confused for a while. Once you've got your offsets in the work page they stay there until replaced manually, but are only active when called. Mine has a G54.0 and a G54.1 and I haven't gotten my head fully around that.

The post processor I'm using (Fusion 360) calls G49 tool length offset cancellation during a second operation with the same tool (two ops, no tool change). I use negative offsets (my Haimer is longer than all my tools) so it would just cut air but important to note.

There are some nuances of when to call tool offsets when running some of the lookahead codes. G08 can be called at the start of the program and cancelled at the end, but the G05.1 calls need to be canceled before tool changes and then called again after the change but maybe before the tool offset is called again? I don't have that on my control but I *think* it can't be called or cancelled with a tool offset active. There is a very comprehensive thread on here about it.

As lowCountry Camo pointed out, there is a parameter that will determine if the offset call/cancellation results in physical movement or just a shift in the zero. This was causing me to get Z overtravel alarms before I changed my post processor to call the tool offsets at the tool change position instead of at Z0.

I run programs in G90 but I do all my MDI in G91. For me it is easier to set part zero in the Relative measurement screen (using "X, [origin]," etc.) and then move relative to that. If you hit the reset button, the Program screen in MDI displays all the modal codes - make sure to check them because that reset button does funny things and I've forgotten to go back into G91 or whatever before.

How I've been doing things is I use the Haimer and a height gauge - the gauge has two ground pins 2.000" off the table and then the measurement pad. I zero the Z to that using the Haimer (meaning the Haimer is my master tool length gauge) and then cycle my tools through on the gauge and enter the offsets in the tool offset page. I then use the Haimer to set my work offsets (using X0 - [measure] on the offsets - [work] page) and I'm ready to cycle start.
 
...The work coordinate system (G54, G55, etc.) for which you are trying to measure your work offsets seems to need to be active in order to allow use of the "measure" soft key.
Nah. You can place the cursor on any work offset and use the measure function. I do this on virtually every setup.

You can test this easy. Just place the cursor on say G59 X and enter X0 <measure>. The current machine position will be input into the G59 X position even thought G54 is the active.
 
Yeah that doesn't work for using the [measure] soft key on my control. I can enter numbers (or zeros) using MDI and the INPUT hard key but the [measure] soft key is not active unless I have that offset active. Maybe it is a MTB thing? Wouldn't surprise me.
 
Yeah that doesn't work for using the [measure] soft key on my control. I can enter numbers (or zeros) using MDI and the INPUT hard key but the [measure] soft key is not active unless I have that offset active. Maybe it is a MTB thing? Wouldn't surprise me.
Well, I have a 2005 SV2412 with an Oi-Mate MB. Also a Sharp Lathe with Oi-Mate TB and a Chevalier with an Oi-MC.

They all work the same. I have never switched active work offsets to set G54-G59 on any Fanuc I have ever ran. Always in manual mode, not MDI, because that's the mode I happen to be in when picking up locations. I routinely use an unused work offset to store a position for reference, using the measure function to set the value.

Not saying it can't be disabled, but I have never seen it work the way you describe. You can set or change any offset at any time, including changing a tool length or work offset while the tool is cutting. The change takes effect the next time the offset is called.

edit to add: I can find nothing in the parameters for coordinates or softkeys that requires a work coordinate to be active to use the measure function. If it's controlled by parameter I don't know which one it would be...
 
LOL identical machine. No idea why, then, but I can push that "measure" soft key until the membrane fails or my finger falls off and it won't do anything. Maybe it is something stupid like the EDIT key position or something? Must be another variable I'm not seeing. At least now I know to look instead of dealing with it!

Sorry to get things off track!
 
I am under the impression that if you want to edit (MEASUR), say, G59, then G59 must be active.
 
LOL identical machine. No idea why, then, but I can push that "measure" soft key until the membrane fails or my finger falls off and it won't do anything.
I don't know why it would be mode specific. I am always in jog mode when setting work offsets because I am picking up a part.

If you have G54 active, go to the work offset page, place the cursor on G54 X, you can type X0 <measure> and the machine position will input to G54 X.

Now without changing anything, just cursor over to G55. The measure button disappears?

Mine sure doesn't work that way. I load up the vises, 2 parts in each vise, using G54 thru G57. G54 is active. Jog to the first part, pick up X zero, and use measure to set G54 X. Cursor over to G55, jog the machine to the next part, pick up X zero on that part, measure G55 X, etc.

I do all 4 X offsets at the same time, then do all 4 Y offsets, then move on to tool lengths.

Never have to switch work offsets with MDI, never go out of jog mode, never move off the work offset page. All the softkeys work on every work offset the exact same way.

Maybe Bill will read this and shed some light on the matter.
 
......but I can push that "measure" soft key until the membrane fails or my finger falls off and it won't do anything.

On the older versions of the 0 series control, tool length measure function was a control option. It may be that it is on the newer 0i series too and that's why it is not working for you.
 
I don't know why it would be mode specific. I am always in jog mode when setting work offsets because I am picking up a part.

If you have G54 active, go to the work offset page, place the cursor on G54 X, you can type X0 <measure> and the machine position will input to G54 X.

Now without changing anything, just cursor over to G55. The measure button disappears?

Mine sure doesn't work that way. I load up the vises, 2 parts in each vise, using G54 thru G57. G54 is active. Jog to the first part, pick up X zero, and use measure to set G54 X. Cursor over to G55, jog the machine to the next part, pick up X zero on that part, measure G55 X, etc.

I do all 4 X offsets at the same time, then do all 4 Y offsets, then move on to tool lengths.

Never have to switch work offsets with MDI, never go out of jog mode, never move off the work offset page. All the softkeys work on every work offset the exact same way.

Maybe Bill will read this and shed some light on the matter.

The softkey [measure] button is still visible, it just doesn't do anything unless the offset is active. I can manually go back and forth between the position screen and the work offset screen and manually modify numbers but I can't use the softkey. I actually manually enter offsets I want to save into G55, G56, etc. There has to be something I'm missing; I'll look at it this evening since I don't have any spindle work and everything on the welding bench is waiting on parts! Don't give me too much credibility here since I'm brand new to this whole CNC thing and Fanucs aren't exactly transparent or intuitive...
 
The softkey [measure] button is still visible, it just doesn't do anything unless the offset is active. I can manually go back and forth between the position screen and the work offset screen and manually modify numbers but I can't use the softkey. I actually manually enter offsets I want to save into G55, G56, etc. There has to be something I'm missing; I'll look at it this evening since I don't have any spindle work and everything on the welding bench is waiting on parts! Don't give me too much credibility here since I'm brand new to this whole CNC thing and Fanucs aren't exactly transparent or intuitive...

Are you inputting a value for the axis offset you want to set? E.g., X0 [MEASURE]? Or X.100 [MEASURE] if using a ø.200 barrel edge finder?

And +1 on Fanucs not being super transparent or intuitive. The advantage of them is they're consistent. Once you learn to use one, all the others will be very similar, starting from the very old to the more modern ones.
 
Been meaning to come back to this and keep forgetting. For some reason now I'm having no issues inputting offsets for non-active coordinate groups. I have no idea what I am doing that is different!

Good news is this makes things really easy LOL.
 








 
Back
Top