Hi,
kool, starting to make some progress.
A probe, a good one, should go open circuit if it touches and deflects in the Z axis AND/OR the X and Y axes as well.
As you now understand Mach is looking for, and will error out if it does not get, a probe event BEFORE the terminal
of the g31 move.
When I probe circuit boards I zero the Z axis on the top surface of the PCB. Thereafter the probing routine will move to a series of
preplanned x,y locations and probe in the Z axis. The moves are:
g31 z-2 f200
g0 z2
g0 x...y...
g31 z-2 f200
g0 z2
g0 x...y... etc.
So the machine moves to a probe location, then probes and expects, not only expects, but requires a probe event before the Z axis descends to
z=-2. It will stop, record the probe coordinates, retract to z=2 then rapid traverse to the next probe location.
Thus it would make no difference if I used this:
g31 z-20 f200
g0 z2
g0 x...y...
g31 z-20 f200
It would just mean that the machine will drive downwards until the probe event, lets say z=-0.054mm....but if the probe circuit were faulty it will carry on
and drive my probe tip to -20mm and totally wreck it. So there is distinct value in specifying a terminal g31 position so that a crash is not too catastrophic
should Mach/controller miss the probe event. On te other hand if I speciified:
g31 z-0.5 f200
g0 z2 etc
and at this particular location the top surface of the PCB is at -0.65mm then my probe would never detect the surface and throw an error such as you
have already seen.
A thorough understanding of how g31 works will help immensely when you go to write your own probing routines or try to diagnose faulty routines.
Craig