My machine spindle has an ER11 collet, so manually changing tools will not ensure a consistent height. Therefore I wanted to have a mechanism to automatically measure the new tool length after each manual M6 tool change.
The attached remap code basically this
- spindle moves to change position
- operator manually changes tool and confirms in UI
- spindle moves to toolsetter position
- absolute position is probed and a reference position is subtracted
- resulting tool length is set into tool table
- tool length compensation is activated (G43)
My workflow should now look like this
- preparation phase
- load a tool with remapped M6 to get a proper tool length measurement
- use tool to touch off workpiece and establish the correct Z height
- running NC file
- any M6 tool change will ask the operator to change the tool manually in the change position and after a tool length measurement the new tool length will be applied in the compensation
Wish: This seems to work so far when I manually enter the M6 T<tool> as MDI command. It would be more convenient to have an "M6 Tn" button additionally to the "M61 Qn" button.
Issue: In order to touch off Z0 on top of my work piece, I use a touch plate. Currently the only way to correctly do this is using PROBE (VersaProbe). Setting ADJ OFFSET -> SET Z to my touch plate height, enabling AUTO ZERO and using the probe down button.
However, when I use TOOL -> TOUCH PLATE the current tool length gets subtracted. Maybe it was not meant to be used that way.
Another wish: OFFSETS and PROBE both define workpiece heights and tool sensor heights. Both not needed with this approach. So, it would be nice if this would be configurable, maybe a separate tab for the different types of auto tool measurements.
For who made it so far, here the required settings in the INI to make the qt_simple_probe.ngc remap work.
Code:
# this remaps m6 to do auto probing after tool change #REMAP=M6 modalgroup=6 prolog=change_prolog ngc=qt_auto_probe_tool epilog=change_epilog REMAP=M6 modalgroup=6 prolog=change_prolog ngc=qt_simple_probe epilog=change_epilog
Code:
[CHANGE_POSITION]
# Abs (G53) coordinates remap tool change point
X = 100
Y = 245
Z = -1
[TOOLSETTER]
X = 10
Y = 245
Z = -30
# how high to lift when moving to the tool setter
Z_MAX_CLEAR = -1
# maximum probe distance
MAX_PROBE_DISTANCE = 70
# reference tool Z position (e.g. empty spindle touching toolsetter)
Z_REF = -96
SEARCH_VELOCITY = 300
BACKOFF_DISTANCE = 0.5
PROBE_VELOCITY = 5
Happy Probing
Guido