Originally Posted by
PoppaBear10
ok, here it is again, I fixed the ==, and changed the - value first probe, and second probe to positive numbers since his, math formula makes it a negative.
also commented out the "Option Explicit", since I did not data type the Dim vars...... so, it runs now..... sorry about the inconvienance.
here it is:
Sub Main() 'made it a sub, so you can return on "show stopper" errors
'UPDATED TOOL CHANGE ZERO SETUP SCRIPT
'Option Explicit
'Written by Big-Tex November 29 2010
'Modified by Poppa Bear, added Greolt's and Arbo's changes 08Dec2010
Dim xjobcoord, yjobcoord, zjobcoord, xmachcoord, ymachcoord, zmachcoord
Dim ZNew, ZPlate, Zplatetomaterial,PlateOffset, ZMaterialmachcoord, Zplatejobcoord
Dim xprobeloc, yprobeloc,xtoprobe, ytoprobe
Dim FirstProbeDist, FirstRetractDist, SecProbeDist
Dim CurrentFeed
Dim CurrentAbsInc
xjobcoord = GetDRO(0) 'get current job coordinate for X
yjobcoord = GetDRO(1) 'get current job coordinate for Y
zjobcoord = GetDRO(2) 'get current job coordinate for Z
xmachcoord = GetOemDRO(83) 'get current machine coordinate for X
ymachcoord = GetOemDRO(84) 'get current machine coordinate for y
zmachcoord = GetOemDRO(85) 'get current machine coordinate for z
xprobeloc = GetUserDRO(1100) 'get x machine coord of fixed plate
yprobeloc = GetUserDRO(1101) 'get y machine coord of fixed plate
xtoprobe = (xprobeloc - xmachcoord + xjobcoord) 'calc x move to fixed probe
ytoprobe = (yprobeloc - ymachcoord + yjobcoord) 'calc y move to fixed probe
CurrentFeed = GetOemDro(818) 'get current feed rate
PlateOffset = GetUserDRO(1151) 'get plate offset DRO
Zplatetomaterial = GetUserDRO(1102) 'get calculated material offset from somewhere else?
CurrentAbsInc = GetOemLED(48) 'Get the current G90/G91 state
'//////// the block below will set all your reusable vars depending on Inch or mm.
'//////// this sets the vars so you only need ONE large block of probing code.
If GetOEMLED(801) Then 'ON = English Measure INCH
FirstProbeDist = 6.0 'first probe travel
FirstRetractDist = 0.1 'first probe retract travel
SecProbeDist = 0.25 'second probe travel
FirstProbeFeed = 12 'First Probe Feed Speed
SecondProbeFeed = 2 'Second Probe Feed Speed
Else 'OFF = Metric Measure MM
FirstProbeDist = 150.0 'first probe travel
FirstRetractDist = 3.0 'first probe retract travel
SecProbeDist = 6.0 'second probe travel
FirstProbeFeed = 300 'First Probe Feed Speed
SecondProbeFeed = 50 'Second Probe Feed Speed
End If
'//////// Error Condition checking code
If GetOemLED(16)<>0 Then 'Checks for machine coordinates
Code "(Please change to working coordinates)"
Exit Sub 'ERROR! exit the macro
End If
If GetOemLED(825)<>0 Then
Code "(Z-Plate Grounded Check connection and try again)"
Exit Sub 'ERROR! exit the macro
End If
'//////// Start Probing Code, Probe In -Z direction.
'//////// The vars will be Inch or Metric from above if/else statment
Code "G0 X" & xtoprobe & " Y" & ytoprobe 'move to fixed plate location
Code "F" & FirstProbeFeed 'slow down feedrate to 12 ipm, or 300 mmpm
Zplate = (GetDro(2) - FirstProbeDist) 'probe move to z - 6", or 150mm
Code "G90 G31Z" & Zplate 'FIRST Probe Operation!
While IsMoving()
Wend
Zplate = GetVar(2002) 'read the touch point
Code "G1 Z" & (Zplate + FirstRetractDist) 'retract above hit point +0.1" or +3mm
While IsMoving()
Wend
Code "F" & SecondProbeFeed 'slow down feedrate to 2 ipm, or 50 mmpm
Zplate = (GetDro(2)- SecProbeDist) 'probe move to current z - 0.25", or -6.0mm
Code "G90 G31Z" & Zplate 'SECOND Probe Operation!
While IsMoving()
Wend
Call SetDRO(2,Zplatetomaterial) 'this sets Z DRO to calculated material offset
Sleep(250) 'pause for Dro to update.
'ZNew = PlateOffset + 2.6315 'calc retract
'Code "G0 Z" &ZNew 'put the Z retract height you want here
Code "G53 G0 Z" & SecProbeDist
While IsMoving () 'wait for probe move to finish retracting
Wend
Code "G0 X" & xjobcoord & "Y" & yjobcoord 'returns to the previous X Y job location
While IsMoving()
Wend
Code "F" & CurrentFeed 'returns to prior feed rate
If GetOEMLED(801) Then 'ON = English Measure INCH
Code "(Z axis is now zeroed in English Units)" 'puts this message in the status bar
Else 'OFF = Metric Measure MM
Code "(Z axis is now zeroed in Metric Units)" 'puts this message in the status bar
End If
If CurrentAbsInc = 0 Then 'if G91 was in effect before then return to it
Code "G91"
End If
Code DoButton(0) 'Cycle Start
End Sub