I feel kind of like an idiot for asking this because it seems like it should be *so darned easy* to do a tool offset, but I'm having a devil of a time... I'm hoping someone can help me out.... The machine is a Dyna Mechtronics DM4400m with an M3 Meldas control on it. The tool offset has been changed to "Type II", so there is the ability to add wear compensation in there, if that matters. This is a brand new machine for me and I am unfamiliar with G-code. My last machine was a Hurco conversational programming setup. So, I'm in uncharted waters here with lousy manuals (Mitsubishi M3 manuals are marginally better than a lot of the manuals from China today).

OK, I've watched lots of videos and they all do what I thought you would do. That is, essentially (I'm leaving out the G54 part zero because I've figured that out):

1. Put a tool in
2. Lower Z to touch off to the material
3. Press the TLM (or, in this case, turn ON the switch)
4. etc (not important here)


Now, what I would expect to happen when turning on the TLM switch is that the current Z position would be moved into the tool offset. But that isn't the case. Instead, 0.0000 is moved in (I'm in inch mode right now). That makes zero (no pun intended) sense to me. And, for that matter, the usage of a toggle switch versus a momentary doesn't really make any sense either. I don't know if I'm supposed to turn the switch on the off, or leave it ON. But if it is the latter, when do you turn it OFF again? The Dyna manual really doesn't say.

I have tried one variant. That is to turn ON the switch right after doing the axis HOME operation. If I do that, then the tool offsets do seem to be populated with the current Z position, and when I've tried the tool jogs to Z0.0, everything works correctly. But this seems like a strange way to use TLM, and it is nothing like what the manual describes (even in its poor verbiage).

There is one other item of interest. At the top of the offsets screen there is a "SURFACE" field. My initial thought was that this might be where you could put a measurement that would apply to all tool offsets. In this way, you could actually touch everything off to the table, and then put the height of the stock in the SURFACE field. The control would automatically apply *that* offset to the entered tool offset. This could be a very convenient way of validating a tool path too. Let's say you touched off everything to the top of the real material and left SURFACE at 0.0000. You could then enter a value of 2.0000 there if you wanted to check your entire program live. The result would (should) be that the tools would all cut air at exactly 2.000 above the real part.

Anyhow, the problem is this... That SURFACE value doesn't seem to do anything. I can change the value (and no tool offset) and the machine always goes to the same Z location when commanded. This makes me think that an alternate use of SURFACE is in play. It might be the height of a caliper based setting block, for instance. *IF* the TLM switch worked the way I think it should, the SURFACE offset would be added to the Z location when TLM was hit. As an example, let's say I had a 2.000 setting block. Let's say the tool zeros out the block when at Z=-5.1234. The real Z offset value is -7.1234, of course, and that SURFACE value (the 2.0000) would be added when TLM was switched ON. Of course, this is all assuming TLM worked the way I think it should and as demonstrated in YouTube videos.

So.... The long and the short of it is.... Does anyone know how TLM works on a Dyna M3 based mill? Is my thought process correct? I need something to help me fix this.

I'm adding the Dyna manual clip relating to TLM. Note that the 0.0000 "validation" is something they specifically mention, even though it makers no sense to me. In other words, the whole sequence they describe is confusing me.... So, if you get their meaning and want to explain it, I'm all ears there too...

Click image for larger version. 

Name:	Screen Shot 2020-08-16 at 2.43.09 PM.jpg 
Views:	1 
Size:	186.0 KB 
ID:	447302