Andy Pugh wrote: > Possibly. I have read somewhere that a sane (200uS) servo-thread > _execution_ period is only enough time to shift 50 bytes through a > parallel port. That is potentially limiting, but has not been a > problem I have noticed with my 4-axis machine. The software stepgens > running in the base thread and twiddling pins individually are > effectively shifting one word per thread cycle. > At first I was going to take major exception to your numbers, but if your servo loop has to read position, compute PID, etc. and then write velocity out to the device, actually, you may be just about right! Using a PCI parallel port in EPP mode, 200 us should allow up to 250 bytes or so to be transferred, but that would take up the entire SERVO_PERIOD. You have to leave some slack for timing variation, and also for computation. So, the 50-byte figure might be quite close.
For my USC board, for instance, there are 4 axes, with 3 bytes of position and 3 bytes of velocity for each. Plus a little digital I/O. So, it reads 14 bytes and write 13, plus setup and control overhead. Total of about 35 I/O operations per servo cycle. You could easily run a 10 KHz servo cycle with 4 axes, or 5 KHz with 8 axes on a modern CPU and PCI parport. Jon ------------------------------------------------------------------------------ Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users