What's new
What's new

can I change G54 Z value by program?

chuck L

Plastic
Joined
Nov 18, 2007
Location
Mid Michigan
I have a 2007 - tm-1p without macros enabled and no probe, here is my quest.

I have an assembly made up of 2 parts ( top and bottom if you will ). The two parts have the same G54 X and Y coord values but Z changes ( by the thickness of the respective part).

I am looking for a way to embed something in my G-Code to change the Z value of G54 so I don't have to always
remember to change G54 Z value when running the mating part of different thickness.

I have thought about making one part G54 and the other part G55 (where Z is the only value changed) and maybe I will end up having to do this way if I cannot do it any other way.

Anyone have a way to do this?

Thanks
 
I have a 2007 - tm-1p without macros enabled and no probe, here is my quest.

I have an assembly made up of 2 parts ( top and bottom if you will ). The two parts have the same G54 X and Y coord values but Z changes ( by the thickness of the respective part).

I am looking for a way to embed something in my G-Code to change the Z value of G54 so I don't have to always
remember to change G54 Z value when running the mating part of different thickness.

I have thought about making one part G54 and the other part G55 (where Z is the only value changed) and maybe I will end up having to do this way if I cannot do it any other way.

Anyone have a way to do this?

Thanks

That's all I do is change to a different work offset, G55 or G56 or whatever......It makes it easy to just go in the work offset menu and change the numbers to match your G54 XY and adjust your Z!

I'm curious to see what others do?

Kevin
 
Learn to use G10, very useful especially since you don't have a probe. Super handy for repeat jobs if you leave a vise or sub plate on the table.
 
Do you have a G55-G59 available? most machines have a few. CAM software uses G54 as a default but just go in not pad and change it to whatever parameter you need.
 
Yep, G10 (and possibly G52) are good for this type of thing. You can modify or preset offsets with these codes. Reading the description on Haas's site, G10 is fairly complicated as far as the actual code involved. Never used it myself so I can't really help there.

Haas.co.uk has a better explanation on it with actual examples. Programmable Offsets - HAAS Automation UK

G52 allows you to incrementally shift all of your offsets at once, so if you code G52 X-2. then all of your X offsets will shift -2. This won't show in the offsets page except on the G52 line. Not the best for actually setting offsets unless you're working with fixtures spaced a certain distance apart, perhaps, but another tool for the mental toolbox.
 
Ohh My God!!!
Anyone here on the Fucking G10 wagon, please take a Fucking Hide!
Like FOREVER!!!

Perhaps harsh, assholic, or simply just a a dick, but I am kindly asking all of you to go and Pound Sand and include that G10 with it!

To the OP, read the manuals and figure out how G52 works.
Not just on a Haas, but on most other controls as well it'll do the same.
 
I have a 2007 - tm-1p without macros enabled and no probe, here is my quest.

I have an assembly made up of 2 parts ( top and bottom if you will ). The two parts have the same G54 X and Y coord values but Z changes ( by the thickness of the respective part).

I am looking for a way to embed something in my G-Code to change the Z value of G54 so I don't have to always
remember to change G54 Z value when running the mating part of different thickness.

I have thought about making one part G54 and the other part G55 (where Z is the only value changed) and maybe I will end up having to do this way if I cannot do it any other way.

Anyone have a way to do this?

Thanks
Hello Chuck,
As so eloquently and succinctly put by SeymourDumore, simply use G52 (Local, or sometimes referred to a Child Offset) in conjunction with your unaltered G54 Workpiece Coordinate Offset. To ensure that you don't inadvertently run the part of your program that should have just the G54 with no further Offset, include cancellation of G52 (Zero Values) in the respective parts of your program.

Regards,

Bill
 
Hello Chuck,
As so eloquently and succinctly put by SeymourDumore, simply use G52 (Local, or sometimes referred to a Child Offset) in conjunction with your unaltered G54 Workpiece Coordinate Offset. To ensure that you don't inadvertently run the part of your program that should have just the G54 with no further Offset, include cancellation of G52 (Zero Values) in the respective parts of your program.

Regards,

Bill

That's great Bill! I was thinking "well G52 will do this nicely, but if it is overlooked there could be problems.."
Bill's solution more or less solves this -

at the beginning of program #2 (with a higher Z offset), put something like G52 Z.125 (whatever the value is)

at the beginning of program #1 (Z offset = zero/aka the top of part/whatever) put G52 Z 0.0


Also, I am with Seymour about using G10. That only works if you never take tools out of holders (which is probably limited) and you know your spot drill (T1 for example) is set to exactly 3.1467" (gage length) and/or you run a macro that probes each tool (or something)... but you don't have any of that so moot I guess....
 
Thanks for the replies,

I poked around with G10 and G52 and I think G52 is going to do what I need.

I am putting G52 X0. Y0. Z0. at the top of my program to make sure there is nothing but G54 to work from then add a G52 X0.0 Y0.0 Z0.5 (example) into the program where my next move
will be to my offset or work plane (this will put my new Z value into action.
Then I will also put G52 X0.0 Y0.0 Z0.0 at the end of the program to clear out the G52, thus
making sure there is nothing there if a run a different program.

Doing this in I believe I can get the offset in Z that I need when I run these two parts and not have to worry when a totally different part is loaded.
 
I am putting G52 X0. Y0. Z0. at the top of my program to make sure there is nothing but G54 to work from
....
Then I will also put G52 X0.0 Y0.0 Z0.0 at the end of the program to clear out the G52, thus
making sure there is nothing there if a run a different program.

There you go!
Seems like you've got it figured out. Putting it in both places will save your butt mostly every time.
 
FYI on your Haas if setting 33 is Fanuc, G52 is temporary and will be zeroed at: M30, pressing reset, changing modes, or use G52 X0 Y0 Z0, etc.

You only need it in the one program that is different.
 
Ohh My God!!!
Anyone here on the Fucking G10 wagon, please take a Fucking Hide!
Like FOREVER!!!
I too hate the G10 nonsense. We have 3 or 4 people at work that use it and it drives me mad when I have to run their machines when they are out on vacation or sick.
 
Could do
G28
goto desired zero
Set local zero G52
Run program.

personally I just use the back left corner of my vise with a corner-stop for G54 and just adjust the z offset at the terminal.
 
Sounds like the OPs issue is solved, so time to go off course.... Why the G10 hate? With fixture plates and CarveSmart pinned soft jaws I can use G10 to set G54, G55, etc. Throw on a pallet or jaws, load the program and go. What's the problem?

I haven't and don't plan to use G10 to set tool offsets, that sounds hazardous. If that's what you're all up in arms about then that's a different story.
 
Why the G10 hate? With fixture plates and CarveSmart pinned soft jaws I can use G10 to set G54, G55, etc. Throw on a pallet or jaws, load the program and go. What's the problem?

That is completely different from what some people here suggest the usage of G10!
 








 
Back
Top