' ' CONFIGURATION ' PlateThickness = 47.3 'GetUserDRO(1151) 'Z-plate thickness DRO StartDelay = 2 ' Start delay seconds to start probing DownStroke = -50 'Set the max down stroke to find probe DownFeedRate = 100 'Set the down FeedRate RetractStroke = 10 'Set the retract Stroke RetractFeedRate = 300 'Set the retract FeedRate ' ' END CONFIGURATION ' CurrentFeed = GetOemDRO(818) 'Get the current feedrate to return to later CurrentAbsInc = GetOemLED(48) 'Get the current G90/G91 state CurrentGmode = GetOemDRO(819) 'Get the current G0/G1 state Code "(Z Probe Start - Plate Thickness: " &PlateThickness &")" If GetOemLed (825)=0 Then 'Check to see if the probe is already grounded or faulty DoOEMButton (1010) 'zero the Z axis so the probe move will start from here Code "G4 P" &StartDelay ' this delay gives me time to get from computer to hold probe in place Code "G90 G31 Z" &DownStroke &" F" &DownFeedRate 'probing move While IsMoving() 'wait while it happens Wend ZProbePos = GetVar(2002) 'get the axact point the probe was hit If Abs(ZprobePos) <= Abs(DownStroke)-0.1 Then 'Check if the probe has been found Code "G0 Z" &ZProbePos 'go back to that point, always a very small amount of overrun While IsMoving () Wend Call SetDro (2, PlateThickness) 'set the Z axis DRO to whatever is set as plate thickness Code "G4 P0.25" 'Pause for Dro to update. Code "G1 Z" &PlateThickness + RetractStroke &" F" &RetractFeedRate 'retract While IsMoving () Wend Code "(Z axis is now zeroed)" 'puts this message in the status bar Else Code "G0 Z0" 'retract to start pos While IsMoving () Wend Code "(Z-Plate not found, check connection or stroke and try again)" 'puts this message in the status bar End If Else Code "(Z-Plate is grounded, check connection and try again)" 'this goes in the status bar if aplicable End If Code "F" &CurrentFeed 'Returns to prior feed rate 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 Exit Sub