LameIII,
Try replacing the second G4 with a While...Wend as follows.
(these macro/scripts run at different speeds to Mach and under some circumstances everything gets screwed up but different PC's and different versions of Mach can all respond differently).
![Undecided :-\](https://www.machsupport.com/forum/Smileys/default/undecided.gif)
CurrentFeed = GetOemDRO(818) 'Get the current feedrate to return to later
PlateThickness = GetOemDRO(1151)
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 P2" ' this delay gives me time to get from computer to hold probe in place
Code "G31Z-1 F4" 'probing move, can set the feed rate here as well as how far to move
While IsMoving() 'wait while it happens
Wend
ZProbePos = GetVar(2002) 'get the axact point the probe was hit
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
While IsMoving() 'wait while it happens
Wend
Code "G0 Z.5" 'put the Z retract height you want here
Code "(Z axis is now zeroed)" 'puts this message in the status bar
Code "F" &CurrentFeed 'Returns to prior feed rate
Else
Code "(Z-Plate is grounded, check connection and try again)" 'this goes in the status bar if aplicable
Exit Sub
End If
Tweakie.