What's new
What's new

G37 (Measure Tool Offset) Does Not Update Offsets

mh6

Plastic
Joined
Jan 30, 2024
When I run a G37 command to measure the current tool length with a tool setter, it never writes any new values to the tool offsets table. It does correctly stop moving the z-axis as soon as the tool setter triggers though. G36 however works just fine, and correctly updates the work offset table.

This is on a 2007 Haas Mini Mill, the mill does not have macros enabled. Setting 64 (Tool Offset Measure Uses Work) is OFF, though I'm pretty sure I tried turning it ON with no change.

For instance, this program works as it should and probes correctly, it just never actually updates the tool offset table:
O03302;
(T2 Measure);
T2 M06
G00 G90 G59 X0 Y0
G43 H02
M52
G04 P0.05
G37 H02 Z0 F50.
G91 G01 Z.1 F100.
G37 H02 Z0 F3.
G91 G01 Z.1 F100.
M62
G53 G0 Z10.
M30

Any ideas? Am I misunderstanding how G37 works, does it write the value somewhere else?
 
Looking at the online Haas manual, it says G36 requires a probe and for G37 it says it requires Macros. That may be a discrepancy in who wrote the different segments of the manual or they might be different for some reason. You have a 2007 machine so it's also possible that yours is different than the NGC described on the website.

I can't guide you because it will take some experimentation to see what changes under which program. The Haas manual also talked about using G59 for the XY location of the tool setter. I'm curious what you find out from all of this.
 
For using the Renishaw probe programs it does, but AFAIK just using G37 itself shouldn't need macros. It seems like other people with a DIY setup on older Haas don't have this issue (see here)

Here is an example video I took. Notice G37 never changes the Tool Offset page (it stays at 0, the value I set manually), but if I just click Tool Offset Measure it correctly inputs the position.

If all else fails I'll just have to manually press the button once I probe the correct position, but it's a bit annoying the G37 isn't doing what I believe it should be doing.
 
Right away, I see that your tool lengths are negative (mine are positive). I have only ever run Haas mills with Renishaw probing so I knew there were some differences in the settings. Have you used Renishaw macros in the past and you're trying to copy that behavior or are you new to this? It sounds like you've used Renishaw before.

I haven't got my head fully wrapped around a process but, it will be some combination of having a dedicated work offset for that location (G59?) and maybe a master tool length stored somewhere (tool 99?). From those two, you can use setting 64 to get your numbers. This is basically how I do things on my TL-1. I even have a Renishaw removable tool setter arm that I bought for it but, haven't installed yet. I intended to go down a similar path on the lathe side.

For reference: on the lathe, using a manual presetter arm, you jog into the tool setter with the tool. When the skip signal fires, it enters the value. You set up some initial values stored in the control (calibration) and everything forever more works with that method.
 
When the skip signal fires, it enters the value
Yeah that's how I expected G37 to work because that's how G36 works.

I'm using G59 as my tool setter position.

I have setting 64 OFF which is why it uses machine Z and a negative value. But setting it to ON still doesn't make it actually input a value into the Tool Offset page.

My 2018 VF2 has a Renishaw but my 07 does not so I've setup my own probes. Just having this one issue with the tool setter not writing to TLO page. Everything else works great.

and maybe a master tool length stored somewhere (tool 99?)
Interesting, I'll have to look into this.

Guess I'll keep playing around with it and see what I can figure out. Thanks
 
Okay so you're familiar with the three Renishaw calibration steps. I'm thinking you'd need to set a tool length for your probe (tool 99?) and then touch that off the tool setter. Now the length is stored in a tool offset. I think you'd use that tool and setting 64 to do all future work touch-offs. I'm spitballing here but, I think you can duplicate the methods Renishaw uses on your other machines. Or at least close enough to get what you're used to: positive tool lengths and work offsets that are the difference between the tool setter height and the new desired zero height.
 
I think I've finally wrapped my head around this. G59 doesn't currently have a Z value, does it? I'm thinking that's where this all ties together. Since the imaginary gauge line of CAT40 tools isn't really measurable, I use the spindle face. So either you would jog down until the spindle face could touch the presetter or you'd use an indicator pointing up to measure the difference in length between a blunt tool and the spindle face, then transfer that master length to the presetter. Or a 123 block? Or other gauge?

With G59 now set, the difference between that plane and any future G54, G55, etc, should be established. Everything should work more or less like what the Renishaw system does.

I state all of this because I'm wondering if the control is touching off the presetter and 'doing nothing' because it's really somehow setting 'zero'. It does the addition and subtraction of what you have loaded right now and the result is simply--zero.

I could be completely wrong but, that's my best guess. I'd try it on my 2004 but, I have Macros enabled so mine may behave differently.
 
I think I've finally wrapped my head around this. G59 doesn't currently have a Z value, does it? I'm thinking that's where this all ties together. Since the imaginary gauge line of CAT40 tools isn't really measurable, I use the spindle face. So either you would jog down until the spindle face could touch the presetter or you'd use an indicator pointing up to measure the difference in length between a blunt tool and the spindle face, then transfer that master length to the presetter. Or a 123 block? Or other gauge?

With G59 now set, the difference between that plane and any future G54, G55, etc, should be established. Everything should work more or less like what the Renishaw system does.

I state all of this because I'm wondering if the control is touching off the presetter and 'doing nothing' because it's really somehow setting 'zero'. It does the addition and subtraction of what you have loaded right now and the result is simply--zero.

I could be completely wrong but, that's my best guess. I'd try it on my 2004 but, I have Macros enabled so mine may behave differently.

Yeah I thought that might be the issue too. So I tried setting the offset to some random value before probing, changing the G59 Z offset, adding arbitrary Z offset shifts in the G37 command, etc. Nothing worked. I even tried manually actuating the tool setter at random spots in the G37 travel. It never changes anything in the tool offsets table. It doesn't set to zero, it doesn't set anything. The table is unchanged.

I had my G59 Z originally set to the top of the tool setter. It was not zero. I tried setting it both using the spindle face and my usual Probe Z program with my 3d probe, didn't make a difference.

I tried enabling the macros trial on my machine, set it to 1, tried G37 again. No change.

I tried all of these methods both with setting 64 set to OFF (where all tool offsets are negative numbers, related to Z machine position), and with it set to ON (where all tool offsets are a positive number, related to the work offset Z)

It really just seems to me that G37 doesn't actually update anything, or maybe it just writes it to some hidden macro variable and never touches the offsets table. I don't know if there is some wonky setting on my machine or what. G36 works flawlessly which is even more confusing, why would one work and not the other. I'll have to experiment more tomorrow.
 
Are you selecting and turning on the toolsetter?
M59 P1133
G04 P1.
M59 P1134
then
G37 H02 Z0 F50.
G91 G01 Z.1 F100.
G37 H02 Z0 F3.
G91 G01 Z.1 F100.

then cut it off
M69 P1134
 
Are you selecting and turning on the toolsetter?
M59 P1133
G04 P1.
M59 P1134
then
G37 H02 Z0 F50.
G91 G01 Z.1 F100.
G37 H02 Z0 F3.
G91 G01 Z.1 F100.

then cut it off
M69 P1134

Those are specific to Renishaw macros I believe. I'm just trying to use the G37 with the SKIP signal to trigger it with a cheap tool setter. Other people have gotten this to work just fine so not sure why mine isn't cooperating. The skip signal is firing it just isn't setting the offset.

I did try putting the Renishaw commands in for fun. M59 P1134 etc. No change.
 
Those are specific to Renishaw macros I believe. I'm just trying to use the G37 with the SKIP signal to trigger it with a cheap tool setter. Other people have gotten this to work just fine so not sure why mine isn't cooperating. The skip signal is firing it just isn't setting the offset.

I did try putting the Renishaw commands in for fun. M59 P1134 etc. No change.
Don't you have to open the relay for the signal to pass? that is what m59 does.
 
Don't you have to open the relay for the signal to pass? that is what m59 does.
Yeah I use relay 22 (M52) for my relay which is the relay that is on the P77 Probe/IF connector

I even tried hooking up to the P22 connector and using that as the SKIP signal but same behavior. I almost think it's a bug with my software version, because this *should* work, and it works for other people that have rolled their own probe setup.

 
Yeah I use relay 22 (M52) for my relay which is the relay that is on the P77 Probe/IF connector

I even tried hooking up to the P22 connector and using that as the SKIP signal but same behavior. I almost think it's a bug with my software version, because this *should* work, and it works for other people that have rolled their own probe setup.

And m36 does work ....Ok that is very weird. It should work with m37 as well.
 
Sorry if this was implied or said previously but, your original program in your first post, does work other than updating the table? It does probe-like motions, the control audibly beeps when it touches the presetter, backs off, comes back in at 3 IPM and beeps a second time? The beep should be a clear indication that all the wiring, connections and behavior are correct.
 
Sorry if this was implied or said previously but, your original program in your first post, does work other than updating the table? It does probe-like motions, the control audibly beeps when it touches the presetter, backs off, comes back in at 3 IPM and beeps a second time? The beep should be a clear indication that all the wiring, connections and behavior are correct.
Yep, the "G31 Block Skip" param toggles correctly, I hear the beep, the Z motion stops, all the hardware appears to be working correctly. It just never updates the offset table. Has to be some obscure setting somewhere messing it up, though I've already looked through the entire list a few times now and nothing stood out to me.

I contacted the HFO about it, he said he doesn't see anything in the changelogs for the versions that come after mine regarding G37, and I'm only 1 or 2 versions behind. Of course I can't update the software myself anyway, a tech would have to do it. I will be hearing back from the app team at some point supposedly. I'm not super hopeful. My mill is on version 15.05C

I do have my coordinate system set to Fanuc, not Haas, though I believe that's the default setting.
 
Yeah, that behavior clears all the hardware. It couldn't beep on contact if it wasn't making a circuit with the control.

At this point, I would probably start zeroing out everything in the offset tables and trying again. You know how to clear the entire tables? Swap to the tool or work offset table and press the ORIGIN key. It'll prompt you. I know none of this should make a difference but, maybe the computer has something weird stored in one of the memory addresses and clearing the tables might fix it.

I might even get hungry enough to go through the motions of clearing the BBU and doing a reload. That gets ugly though. You would need all your options documented before dumping the memory. That's absolutely all the unlock codes for anything the machine has: macros, rigid tap, scaling, the original sales code, etc, etc.
 
Yeah, that behavior clears all the hardware. It couldn't beep on contact if it wasn't making a circuit with the control.

At this point, I would probably start zeroing out everything in the offset tables and trying again. You know how to clear the entire tables? Swap to the tool or work offset table and press the ORIGIN key. It'll prompt you. I know none of this should make a difference but, maybe the computer has something weird stored in one of the memory addresses and clearing the tables might fix it.

I might even get hungry enough to go through the motions of clearing the BBU and doing a reload. That gets ugly though. You would need all your options documented before dumping the memory. That's absolutely all the unlock codes for anything the machine has: macros, rigid tap, scaling, the original sales code, etc, etc.
Cleared the table but didn't change anything. For fun I decided to write a program to probe tool radius with G31 and G35. That works fine lol.

I also wrote a program to use G10 and manually set the Tool Offset that way
G10 L10 G90 P1 R100.0
This successfully set the tool 1 offset to 100.

Basically everything works except G37. Going to keep messing with it.
 
Well I made progress but I'm not sure why.

I switched to tool 10 and tried the simplest program I could in MDI.
G43 H10
G37 H10 Z1. F5.
That actually worked. I tried H05. Still worked. I tried H01, didn't work. I'm pretty sure I tried H02 previously and it didn't work, but now it does. H01 still refuses to work but hey I'll take a win. I'll just keep my probe in tool 1 or something.

Not sure why I didn't try a higher tool # before. Though I'm pretty sure I had tried tool 2. I have changed a bunch of settings since then though.

Is there something special about tool #1? Or should it work just like the others?

Anyway, thanks for the help!
 
Last edited:
Well I made progress but I'm not sure why.

I switched to tool 10 and tried the simplest program I could in MDI.

That actually worked. I tried H05. Still worked. I tried H01, didn't work. I'm pretty sure I tried H02 previously and it didn't work, but now it does. H01 still refuses to work but hey I'll take a win. I'll just keep my probe in tool 1 or something.

Not sure why I didn't try a higher tool # before. Though I'm pretty sure I had tried tool 2. I have changed a bunch of settings since then though.

Is there something special about tool #1? Or should it work just like the others?

Anyway, thanks for the help!
For me t1 is my master tool. Now I don't have any of the issues you are having, but some people use it as a probe tool. Look in your tool tables and see if it is designated as a measurement tool instead of a turning tool or boring bar. It's a long shot but I had that problem once on a mazak.
 
For me t1 is my master tool. Now I don't have any of the issues you are having, but some people use it as a probe tool. Look in your tool tables and see if it is designated as a measurement tool instead of a turning tool or boring bar. It's a long shot but I had that problem once on a mazak.
Very good point. It's a 2007 machine. Not sure when the ability to designate tool types in the table appeared.
 








 
Back
Top