100% found this document useful (1 vote)
2K views2 pages

Auto Tool Zero Script

This document contains a macro for automatically zeroing a tool using a touch probe. The macro saves the current machine state, probes the tool down until contact, retracts to the touch plate thickness, and sets the z-axis to zero. It restores the original machine state and prompts the user if an error occurs.

Uploaded by

Fabio Gilii
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
2K views2 pages

Auto Tool Zero Script

This document contains a macro for automatically zeroing a tool using a touch probe. The macro saves the current machine state, probes the tool down until contact, retracts to the touch plate thickness, and sets the z-axis to zero. It restores the original machine state and prompts the user if an error occurs.

Uploaded by

Fabio Gilii
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 2

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 = 1.0 'Touch Plate thickness is set here
ProbeFeed = 6 'Probing feedrate is set here
SetVar (1, -6) 'Maximum probing distance is set here
SetVar (2, 2) 'Retract height is set here
Code "M5" 'Ensures spindle is not running
Code “G20” 'Ensure inch units are used
Zs = GetOemDRO (61) 'Copy current Z-Scale DRO
Call SetOemDRO (61,1) 'Set Z-Scale DRO to 1
Label1: 'Entry point for Retry
DoOemButton (1010) 'Zero Z-Axis DRO
Code "(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 already grounded
Code "G90 G31 Z #1 F" & ProbeFeed '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
Code "G0 Z" & ProbePos 'Go back to exact point of touch if there was any overrun
While IsMoving () 'Wait until task has been completed
Wend
Call SetDRO (2,PlateThickness) 'Set Z-Axis DRO to Touch Plate thickness
Code "G0 Z #2" 'Retract off Touch Plate the set distance
While IsMoving () 'Wait until task has been completed
Wend
Code "(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
Code "(ERROR - Probe did not touch.)" 'Message for status bar
Response = MsgBox ("ERROR - Probe did not touch.",37,"Auto Tool Zero")
If (Response = 4) Then 'User chose Retry
GoTo Label1 'Retry Probing routine
End If
End If
Else
Code "(ERROR - Touch Plate is grounded.)" 'Message for status bar
Response = MsgBox ("ERROR - Touch Plate is grounded - Check connection.",16,"Auto Tool Zero")
End If
Call SetOemDRO (61,Zs) 'Restore Z-Scale DRO to original setting
If CurrentAbsInc = 0 Then 'If G91 was in effect before then return to it
Code "G91"
End If
If CurrentGMode = 0 Then 'If G0 was in effect before then return to it
Code "G0"
End If

You might also like