Hi,
bprager wrote:I am new to cnc, so this is likely user error.
Just a little misunderstanding of what a TLO is and how they work in conjunction with the offsets between Machine Coordinates and Work Coordinates. Let's see if we can give you some additional concepts to help out...
bprager wrote:
I referenced the machine and moved the table and spindle to the position I wanted for a tool change. I used the button on the tooling page to set the TC position to the current machine coordinates.
With TLO's set to 0 on all tools, a tool change works as intended and the machine stops at the same machine coors as is set for a TC. As an example x=5, y=5, z=-5.0 (machine coors)
This is correct so far - the TCP (tool Change position) is stored in machine coordinates - i.e. it is a physical location in space that is "anchored" to the machine frame by the home switches (Homing sets the Z0 point for each axis in machine coordinates).
bprager wrote:
However, if I now enter say TLO = +1, and TLO is now active, the same tool change in the Gcode now stops at x=5,y=5 but Z = -4.0 (in machine coors).
OK, between Machine coords and Work Coords, there is a transformation. Math wise the transformation maps from MC to WC. This is usually called a "work coordinate offset". The common name is a bit of a misnomer in that people tend to think of a offset as a simple shift (but the general transformation could also include rotations etc).
For now we'll stick to a simple shift. Let's assume the machine is positioned at MC X=5, y=5, Z=5 (your example).
Take a look at the upper panel in a MSM WC offset page. The rows of the panel are literally showing the equation that is used to convert between MC and WC. The total offset is actually composed of a couple of different offsets that Mach combines to get the total offset.
Use the MDI line to do G53 X5 Y5 Z5 - that will put the machine at MC = 5,5,5
As an exercise, let's set all the offsets = 0. We should expect to see the panel showing that MC = WC for each row of the panel after we do that.
use MDI to select G54 - G54 selects the G54 WC offset set. There are multiple sets that can be used, I'll use the default G54 for this example.
In the WC offset columns, select each DRO (selectable DROs have a green inner shading in MSM) and set the offset value = 0. Remember to hit the enter key after each entry to set the value. The WC offset column should now all = 0.
Now let's clear the G92 offset column.
This time we'll use the MDI line -
Use the mdi line and enter G92.1 - this tells mach to clear all the G92 offsets. The G92 column will now be all 0. You could have done this via setting the DRO values as above, I thought I'd just use on direct entry example and one gcode via MDI example. (G10 could have been used to do the WC offsets from the MDI line).
Now all the X and Y offset should be = 0.
Use the MDI line to enter G49 to cancel any TLO that may be active for Z.
OK, you will note that MC = WC for each axis. That is what you'd expect when all offsets (shifts) between them = 0.
bprager wrote:
However, if I now enter say TLO = +1, and TLO is now active, the same tool change in the Gcode now stops at x=5,y=5 but Z = -4.0 (in machine coors).
This is correct. I think what you may be missing is that a TLO value really is used to position the machine such that the control point of the tool (generally the tip of the tool on the Z axis) will be at the same Z level
IN WC (
but not in MC).
Continuing on from the above example, I'll assume you have tool #7 mounted and there is a TLO value of +1 for the TLO entry in the tool table for tool #7. (If you have a different tool number you were testing with, just use your # in place of my example #7).
Use the MDI to turn on TLO for tool #7. enter G43 H7 in the mdi line.
Now look at the Z line in the offsets panel - The MC value will be the same (G43 does not cause machine movement), but the WC value will be different by exactly the amount of the TLO value.
If the TLO were = +1 the WC value will now be +4 instead of the previous +5. The equation in the row will always balance and (always)
WC pos = MC pos - WC offset - G92 offset - TLO.
The machine was not commanded to physically move, so the MC can't change. But we added in the TLO avlue for Z then we turned on TLO, so the WC value had to change.
This is what you want and how TLO values work. If you are making a part, it is a common convention to use the top of the stock as WC Z0 (Note that is WC, not MC Z0). With TLOs you can just mount the tool, turn on TLO and tell the tool to go to WC Z0. The tip of each tool will end up at WC Z0 (the top of the part), and each toll tip will be at WC Z0 - but the MC Z for each tool will be different as each is a different length and thus will have a different physical length, different TLO value and hence will require a different MC Level in order to get the tip placed at WC Z0.
There are detailed pics and text that walk thru this in the MSM mill user manual - see section 5.2 for more than you probably wanted to know about TLO and the different techniques for setting TLO values.
bprager wrote:
I had assumed that the TC position was an "absolute" so that the machine would go to exactly the same location regardless of the TLO for the current tool.
The TCP is absolute - in MC - but the TLO is used to offset in Z for TLO so that the WCZ ends up constant as tool lengths change.
bprager wrote:But thats not whats happening and tool changes
don't really work when they are relative to the tool length. I am assuming that this is user error, either in my understanding of what the tool change position is, or in some option that is causing
the tool changes to NOT stop and the actual machine coors I set.
If anyone could straighten me out on what I am doing wrong, I would be greatly appreciative.
Bruce
Let me know if this helped clear up some of the fog or not.
Dave