'Macro M501 - Tool #1
'An OemLed(825) must be added to settings page
'Place a Tool Holder in Bay 1 orientated properly
'Attach the grounding aligator clip leads to the bottom of the Tool Holder and the zero plate
'Place a cylindrical probe in the a Tool Holder and mount in Tool Changer
LIFT = GetOemDRO(1093)
CLEARANCE = GetUserDRO(1094)
PROBEFEED = GetUserDRO(1095)
MOVEFEED = GetUserDRO(1096)
Call SetOemDRO(800,0)
Call SetOemDRO(801,0)

Code "G91 G01 Z-.10 F" & PROBEFEED 'Sets Feed speed
While IsMoving ()
Sleep 200
Wend
Code "G91 G31 Z" & GetUserDRO(1109) 'probing move, can set the feed rate here as well as how far to move
While IsMoving ()
Sleep 200
Wend
Code "G4 P0.5"
PROBEDEPTH = GetOemDRO(85) + GetUserDRO(1092)
ZUP = GetOemDRO(85) + LIFT
Code "G90 G53 G0 Z" & ZUP 'Move Z to clearance height
While IsMoving ()
Sleep 200
Wend
XVAL = GetOemDRO(83) 'Get current Machine X value
YVAL = GetOemDRO(84) 'Get current Machine y value
XPLUSS = XVAL + CLEARANCE 'Add clearance value to get probing point location
XMINUSS = XVAL - CLEARANCE 'Subtract clearance value to get probing point location
YPLUSS = YVAL + CLEARANCE 'Add clearance value to get probing point location
YMINUSS = YVAL - CLEARANCE 'Subtract clearance value to get probing point location

'1ST PROBE POINT
Code "G90 G53 G1 Y" & YPLUSS &"F" &MOVEFEED 'Move to upper Y axis probe location
Code "G53 G1 Z" &PROBEDEPTH
Code "G90 G31 Y0.0 F" &PROBEFEED 'Move probe till contact with side of Tool Holder
While IsMoving() 'wait while it happens
Sleep 200
Wend
Code "G4 P0.5"
YUPPER = GetOemDRO(84) 'Get current Machine Y value
Code "G90 G53 G0 Z" & ZUP 'Move Z to clearance height
While IsMoving ()
Sleep 200
Wend

'2ND PROBE POINT
Code "G90 G53 G1 Y" & YMINUSS & "F" &MOVEFEED 'Move to lower Y axis probe location
Code "G53 G1 Z" &PROBEDEPTH
Code "G90 G31 Y0.0 F" &PROBEFEED 'Move probe till contact with side of Tool Holder
While IsMoving() 'wait while it happens
Sleep 200
Wend
Code "G4 P0.5"
YLOWER = GetOemDRO(84) 'Get current Machine Y value
YCENTER = (YUPPER + YLOWER)/2
Code "G90 G53 G0 Z" & ZUP 'Move Z to clearance height
While IsMoving ()
Sleep 200
Wend


'3RD PROBE POINT
Code "G90 G53 G1 X" & XMINUSS & "Y" & YCENTER & "F" &MOVEFEED  'Move to left X axis probe location
Code "G53 G1 Z" &PROBEDEPTH  
Code "G90 G31 X0.0 F" &PROBEFEED 'Move probe till contact with side of Tool Holder
While IsMoving() 'wait while it happens
Sleep 200
Wend
Code "G4 P0.5"
XLEFT = GetOemDRO(83) 'Get current Machine X value
Code "G90 G53 G0 Z" & ZUP 'Move Z to clearance height
While IsMoving ()
Sleep 200
Wend


'4TH PROBE POINT
Code "G90 G53 G1 X" & XPLUSS & "F" &MOVEFEED 'Move to right X axis probe location
Code "G53 G1 Z" &PROBEDEPTH
Code "G90 G31 X0.0 F" &PROBEFEED 'Move probe till contact with side of Tool Holder
While IsMoving() 'wait while it happens
Sleep 200
Wend
Code "G4 P0.5"
XRIGHT = GetOemDRO(83) 'Get current Machine X value
Code "G90 G53 G0 Z" & ZUP 'Move Z to clearance height
While IsMoving ()
Sleep 200
Wend
XCENTER = (XLEFT + XRIGHT)/2
Call SetUserDro(1101,XCENTER)
Call SetUserDro(1111,YCENTER)
Code "G90 G53 G1 X" & XCENTER & "Y" & YCENTER & "F" &MOVEFEED  'Move to center of tool holder
              