I have been using my machine for a few months now (PRO4896) and feel like I have a pretty good handle on it. Recently I updated Mach4 to 4809 and the ESS plugin to 283.

While cutting some material I noticed some weird behavior. After homing the machine and setting the soft limits, I triggered the limit switch on the z axis while jogging the machine. This happened a couple times but I didn't think too much of it, just rehomed and moved on.

I recently added a laser to my machine (which prompted the software update) and while going through the touch plate subroutine, I discovered the issue I was noticing earlier.

When I would set the Z height with the touchplate the z axis would return to the 2" position above the work surface, however, it does not go to 2.000", it goes to something more... I grabbed a dial indicator and put it on the spindle as well as some 1-2-3 setup blocks. Each time the touch plate subroutine is run it adds 0.015-0.020" to the Z height setting, it was even wrong right from the first touch off.

I tested several times with similar results, the dimension would deviate increasingly from the 2.000" setting above the material surface. When I close Mach4 and reopen it will reset back to the 2.020" range then grow with each touch plate subroutine. After 5-6 consecutive touch plate routines I am off by 0.050-0.060".

I went back to my last working version of Mach4 and the ESS plugin (Mach4 4612 and ESS 277.1) and ran the same test and the Z height was completely repeatable and accurate every time.

Just wondering if there is a software setting that I can adjust to eliminate the drift. I have been able to get the laser working great but it is imperative to maintain accuracy in the z axis. It is also worth noting that I can run the touch plate subroutine and the machine goes to Z=2.000, disable, go change some settings in the ESS menu that affect Z, go back and enable the machine and the Z height will now show Z=2.020 or some other number, so it seems like the machine is keeping track of where it is but displays incorrectly?? I even measured the delta after I noticed this to confirm.

As a side note, I wrote a program that jogs the machine in the z axis, I made about 20 vertical moves (1.000 - 1.250 - 2.250 - 1.750 - 1.250 - 2.000...) and as long as the touch plate routine is not involved it seems to maintain accuracy in position, I would end on 1.500" and would measure to verify. It is almost as if there is a dynamic offset in the z axis subroutine.

Any help would be greatly appreciated.