not my work !
just to update this macro. there were some depreciated statements.
and i changed the z dro to 802. and set inches instead of mm.
have yet to try(waiting on electric for machine)so go slow.
'Tool Height Setting Macro - JLH v1.1 - 4 March 2013
'This version has a 2-phase approach, fast for speed & slow for precision.
CurrentAbsInc = GetOemLED (48) 'Copy current G90/G91 state
CurrentGMode = GetOemDRO (819) 'Copy current G0/G1 state
CurrentFeed = GetOemDRO (818) 'Copy current feedrate
Contact = 0 'Clear the contact flag
PlateThickness =2.178 'Touch Plate thickness is set here
ProbeFeed1 = 12 'Fast probing feedrate is set here
ProbeFeed2 = 3 'Slow probing feedrate is set here
SetVar (1, -2) 'Maximum probing distance is set here
SetVar (2, .75) 'Retract height is set here
Code "M5" 'Ensures spindle is not running
Code "G20" 'Ensure metric units are used
Zs = GetOemDRO (802) 'Copy current Z-Scale DRO
SetOEMDRO (802,1) 'Set Z-Scale DRO to 1
Sleep 2000
DoOemButton (1010) 'Zero Z-Axis DRO
Message "Setting Tool Zero" 'Message for status bar
While IsMoving () 'Wait until task has been completed
Wend
If GetOemLED (825) = 0 Then 'Check to see if touch plate is not already grounded
Code "G90 G31 Z #1 F" & ProbeFeed1 'Fast probing move
While IsMoving () 'Wait until task has been completed
Wend
If GetOemLED (825) = True Then 'Check to see if probe has touched plate
Contact = 1 'Set the contact flag
End If
DoOemButton (1003) 'Clear a possible feed-hold condition
ProbePos = GetVar (2002) 'Exact point probe touched
ProbePos = ProbePos + .25 'Displace probe position upwards by .25mm
Code "G0 Z" & ProbePos 'Lifts probe .25mm above fast feed endpoint
While IsMoving () 'Wait until task has been completed
Wend
Code "G90 G31 Z #1 F" & ProbeFeed2 'Slow probing move
While IsMoving () 'Wait until task has been completed
Wend
If GetOemLED (825) = True Then 'Check to see if probe has touched plate
Contact = 1 'Set the contact flag
End If
ProbePos = GetVar (2002) 'Exact point probe touched
Code "G0 Z" & ProbePos 'Lifts probe to exact touch position
While IsMoving () 'Wait until task has been completed
Wend
SetOEMDRO (802,PlateThickness) 'Set Z-Axis DRO to Touch Plate thickness
Code "G0 Z #2" 'Retract off Touch Plate to the set height
While IsMoving () 'Wait until task has been completed
Wend
Message "Z-Axis is now Zeroed." 'Message for status bar
Code "F" & CurrentFeed 'Restore feedrate to original setting
If Contact = 0 Then 'Probe reached max travel without touching
Message "ERROR - Probe did not touch." 'Message for status bar
Response = MsgBox ("ERROR - Probe did not touch.",37,"Auto Tool Zero")
End If
Else
Message "ERROR - Touch Plate is grounded." 'Message for status bar
Response = MsgBox ("ERROR - Touch Plate is grounded - Check connection.",16,"Auto Tool Zero")
End If
SetOemDRO (802,Zs) 'Restore Z-Scale DRO to original setting
If CurrentAbsInc = 0 Then 'If G91 was in effect before then return to it
Code "G90"
End If
If CurrentGMode = 0 Then 'If G0 was in effect before then return to it
Code "G00"
End If