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

Reply via email to