Hi,
you have said:
accomplish exactly what Craig said, "You could have the HFLB signal monitored such that the next movement instruction (Gcode) will wait until HFLB is active.
And then said:
I have configured the HLFB of the clearpath motors to go high when they are within +- 10 encoder counts, which is plenty accurate enough for the application
If the later is true then the former must also be. If HLEB errors out because it gotten 10 encoder counts out of step with the commanded then the next line
of code won't execute....its in error state. If its NOT in error state, ie the actual position is within 10 counts of commanded the there is no need to wait
to execute the next line, its already in position….that's what the following error window means.
My Allen Bradley servo has two parameters related to this question, the following error window, and the zero error window.
The first, following error, means exactly as the Clearpath's do, if the actual position deviates more than the programmed amount of counts
from the commanded position then the servo faults. The default is 20 counts of an 8000 count encoder.
The zero error widow is a programmable number of counts where the drive will cease to attempt to further reduce the error. The default is 4 counts.
If the actual position is within 4 counts of the commanded position the drive ceases to apply corrections. This helps to prevent 'servo dither'.
It is also what Mike (mcardoso) was talking about. With a following error up to 20 counts but a zero error window of only 4 counts, if you wait for the servo
to achieve zero error (ie within 4 counts) before moving to the next instruction that would be more accurate than relying on the servo being within
20 counts.
To my knowledge Clearpaths don't have that feature, in the quest for simplicity a number of features universally common among other brands
of AC servos have been dropped.
If you deem 'within 10 encoder counts' to be accurate enough then you don't need the complication of a waiting before executing the next line of code.
Craig