[etherlab-users] Knowing when the packet has finished cycle

Yan Prochazka jprochazka at persimmontech.com
Wed Oct 19 21:45:07 CEST 2011


 > To me, that means you pick a cycle
 > time, say 1 millisecond, and then your code gets an interrupt every
 > millisecond.  Upon detecting the interrupt, you read in new data,
 > process/calculate, and send out new data.  Then you just wait for the 
next
 > interrupt.

I see ! My original thought was:
"wake up, send data, read data, calculate new data to be send, wait for 
next interrupt"
The suggested approach:
"wake up, read data (from local Ethernet adapter cache), calculate, send 
data, wait" has two issues:
(1) it is not given when data will be sent out because calculation may 
take various time. That might be (quite serious) issue for control loop 
closed over EtherCAT
(2) if the calculation is long enough that it goes close to interrupt 
period, then attempt to read data would still lead to problems because 
data are not ready yet.



More information about the Etherlab-users mailing list