John Kasunich wrote:
> 
> 
> You can do the same that we had Stuart do.  Scope the index-enable and 
> position HAL pins of the encoder driver.  Trigger on falling edge of
> index-enable.  On that falling edge, position had better be within a 
> couple counts of zero, or the index isn't working.
> 
Right, although this is at the HAL end of the driver, not the
"device" end.  Clearly, the HAL side was reporting it saw index 
but the position did NOT zero.  I think it is more likely that 
the encoder signal had some flaw in it (bad logic levels, noise
or timing issues) rather than a software problem, but I can't 
figure out why restarting EMC would reliably clear it up for one 
good run.
> I think the spindle index enable is immediately turned back on by motion 
> each time it falls unless you are actually in a threading pass.
I'm wondering if there is possibly a software timing race in the 
driver that is causing this.  Maybe somehow the delay in 
accepting the zero count on index signal is so great that the 
sense index signal gets seen and turns off the zero on index 
before the counter gets zeroed.  But, that is all supposed to 
happen within one us.  How can the CPU beat that, especially 
through the IEEE-1284 bottleneck?

Anyway, if the delay is one us, and the servo loop is performed 
at 1 KHz, then it should be able to mess up only one in a 
thousand events, not all of them.

Jon

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to