What's new
What's new

upon tool change, g43 gets canceled and spindle moves down first, how to proceed?

lowCountryCamo

Stainless
Joined
Jan 1, 2012
Location
Savannah, Georgia, USA
I have been having a hellovatime getting my tool length offset right. Fanuc OMD I removed the vise and just started playing. I have been getting erratic Z movements but I think I now understand what is happening. When I do a tool change the offset g43 is canceled and the spindle moves down to spindle face z0. G54. Then it homes for tool change. I would prefer to put a code in the tool change macro that automatically cancels g43 and home first. How could I write that?

G91 G43 H0 G28 Z0. or something like that?

Thanks!
 
Most of us use G91G28Z0 to cancel tool length offsets before a tool change.

Then something like G90G54G43G00Z1.0H1 to get to a 1" clearance plane with offset H1.
 
This is what my Kitamura likes, Yasnac i80.

M5
M9
G0G49G52Z0
T2M6(#10 C/BORE)
T3
M8
G0G43X.625Y.525Z.1H2G54S2000M3

My Enshu with a Yasnac J50 doesn't need the M5, M9, or G0G49G52Z0, they must be in the tool change macro. If I don't use a M9 then the coolant will come back on after the tool change.
 
Your machine should be using G30 for the tool change position. This is independent of any tool offset. The erratic motion sounds like something else. It's not the dreaded "manual absolute" switch is it?
 
Sorry, what is the "manual absolute"?

Its a switch on your control panel. When "on", you can move the machine table around and the absolute zero is not altered.

When "off", manual motion of the table (usually with the handle feed wheel) will shift the absolute zero the amount an axis was moved.

Probably should be the other way around IMO.
 
Beginning should look like this:

T01 M06 G43 H1
S4000 M03
M08
G00 Z.1
..... then code to machine whatever you want
then at the end of each tool...
G00 Z.1 M09(pull up to clearance plane)
G40 Z0 M05

Then on to tool #2 and so on.
 
I have been having a hellovatime getting my tool length offset right. Fanuc OMD I removed the vise and just started playing. I have been getting erratic Z movements but I think I now understand what is happening. When I do a tool change the offset g43 is canceled and the spindle moves down to spindle face z0. G54. Then it homes for tool change. I would prefer to put a code in the tool change macro that automatically cancels g43 and home first. How could I write that?

G91 G43 H0 G28 Z0. or something like that?

Thanks!

G91 G28 Z0 should work the way you want.
 
G40 Z0 confused me.

G40 cancels the tool offset and then Z0 sends the machine home as the offsets are no longer active. You are telling the machine to go to Z0 "Machine Position".

G28 Z0 while your tool offset is active will cause whatever tool is in the spindle to dive to Z0 of the part, then retract to home position.... that's cause for having to clean the shit out of your undies when the tool rapids down to the face of the part when you didn't need or want it to.
 
G40 cancels the tool offset and then Z0 sends the machine home as the offsets are no longer active. You are telling the machine to go to Z0 "Machine Position".

G28 Z0 while your tool offset is active will cause whatever tool is in the spindle to dive to Z0 of the part, then retract to home position.... that's cause for having to clean the shit out of your undies when the tool rapids down to the face of the part when you didn't need or want it to.

G40 will not cancel g43 to cancels g41 and g42. G49 will cancel g43. your z will not go to machine Z Zero if you have a Offset model G54,G55,,,,,.

on a Fanuc control if you want to retract to machine zero what we use is the following

G28G00G91Z0.
G90

The G91 on the line stops it from doing the dive.
 
On our haas mill g0 g49 z0 (rapid, cutter length comp cancle, machine home) then tool change and new g43 call. Right?
 
Last edited:
On our haas mill g0 g49 z0 (rapid, cutter length comp cancle, machine home) then tool change and new g43 call. Right?

AFAIK, there is no need to explicitly cancel the tool length offset. An existing offset gets overwritten by the new offset for the next tool.

G00 G28 Z0 sends the spindle to Z home in the machine coordinate system (tool length offset is irrelevant to this position), but it is a two step movement: first it goes through the Z0, then to home. Adding in the G91 for the line G00 G28 G91 Z0 effectively short circuits the two step move by commanding an incremental movement of zero to the current Z position. That prevents the 'dip' to zero of the absolute coordinate Z0.

Cancelling the tool length offset close to the work just makes an unnecessary headache. If that were a requirement, then I'd recommend using only negative tool length offsets, so they cancel with the tool going up.
 
On our haas mill g0 g49 z0 (rapid, cutter length comp cancle, machine home) then tool change and new g43 call. Right?


Depends on what value you have in your G54 "Z" in the work offset page.
If your G54 Z offset is 0.0 and you are touching your tools off the top of the part then G0G49Z0.0 works just fine.
If your G54 Z value is something different. As in, you probed the top of the part or used a presetter or one of the other methods of setting Z0.0 in G54and setting your tool length offsets. Then this is what works best for me. G0G49G53Z0.0 If you add the G53 into that line it cancels the tool length offset and sends the machine home.





AFAIK, there is no need to explicitly cancel the tool length offset. An existing offset gets overwritten by the new offset for the next tool.

G00 G28 Z0 sends the spindle to Z home in the machine coordinate system (tool length offset is irrelevant to this position), but it is a two step movement: first it goes through the Z0, then to home. Adding in the G91 for the line G00 G28 G91 Z0 effectively short circuits the two step move by commanding an incremental movement of zero to the current Z position. That prevents the 'dip' to zero of the absolute coordinate Z0.

Cancelling the tool length offset close to the work just makes an unnecessary headache. If that were a requirement, then I'd recommend using only negative tool length offsets, so they cancel with the tool going up.


I was always taught the if you turn it on, turn it off. I don't ever NOT cancel my tool length offsets. To me that is just asking for trouble. Better safe than sorry.

The only time I use G28 is on a lathe. Do you not have to write a G28 command with U,V,W on a mill?



Someone mentioned G40. G40 only cancels Tool Diameter offset codes G41 & G42 and will NOT cancel the G43 Tool Length offest code.
 
UVW is construed to be incremental XYZ on some lathes, but I've never seen that convention used on mill.

Tool length offset is effectively cancelled by returning to G28. There is no need to explicitly command it again. The control must look at what the tool length offset is whenever it leaves G28 anyways, so this makes changing the tool length offset when it is already active, a safe action, provided, the program runs through a G28 and a G43 command when execution is resumed.

But whatever chunk of code you have come to rely on is okay if it works.
 
AFAIK, there is no need to explicitly cancel the tool length offset. An existing offset gets overwritten by the new offset for the next tool.

G00 G28 Z0 sends the spindle to Z home in the machine coordinate system (tool length offset is irrelevant to this position), but it is a two step movement: first it goes through the Z0, then to home. Adding in the G91 for the line G00 G28 G91 Z0 effectively short circuits the two step move by commanding an incremental movement of zero to the current Z position. That prevents the 'dip' to zero of the absolute coordinate Z0.

Cancelling the tool length offset close to the work just makes an unnecessary headache. If that were a requirement, then I'd recommend using only negative tool length offsets, so they cancel with the tool going up.

Lets talk about prototyping or starting in the middle of a program. In my experience, having all necessary information coded correctly throughout the entire program makes for a much safer operation. On our fadal you can start in the middle of a program and call all previous codes, in order, so that it is not necessary to "over program". The haas control is not as nice...

Depends on what value you have in your G54 "Z" in the work offset page.
If your G54 Z offset is 0.0 and you are touching your tools off the top of the part then G0G49Z0.0 works just fine.
If your G54 Z value is something different. As in, you probed the top of the part or used a presetter or one of the other methods of setting Z0.0 in G54and setting your tool length offsets. Then this is what works best for me. G0G49G53Z0.0 If you add the G53 into that line it cancels the tool length offset and sends the machine home.









I was always taught the if you turn it on, turn it off. I don't ever NOT cancel my tool length offsets. To me that is just asking for trouble. Better safe than sorry.

The only time I use G28 is on a lathe. Do you not have to write a G28 command with U,V,W on a mill?



Someone mentioned G40. G40 only cancels Tool Diameter offset codes G41 & G42 and will NOT cancel the G43 Tool Length offest code.

Our machine g54 z0. is tool change position, make it much easier to touch all tools on the part face, if anything changes, we can adjust the entire tool set using g54 z offset. We run alot of casting and molds.

And I agree, if you turn it on then turn it back off...just in case...


I use g28 on the B and Y axis of our lathe, it will not home any other way, and has to be homed before the g30 call. After a normal XZ process I just G30 U0. W0.; t##00 (g30 is machine home, incremental move to x0. z0. of that machine home, then tool offset cancel).
 
On our fadal you can start in the middle of a program and call all previous codes, in order, so that it is not necessary to "over program". The haas control is not as nice...

The Haas is every bit as nice and safe to start anywhere in the program.

Our machine g54 z0. is tool change position, make it much easier to touch all tools on the part face, if anything changes, we can adjust the entire tool set using g54 z offset.

Why would G54 be a good idea to be used for a toolchange position, and why would you adjust it instead of your working workoffset?
And why would you touch off on the part face instead of a fixed reference anywhere on the table?

And yes, I like my chili hot and with beans and smoked bacon cooked in.
 








 
Back
Top