[etherlab-users] Knowing when the packet has finished

Richard Hacker ha at igh-essen.com
Thu Oct 20 16:28:10 CEST 2011


> Our cyclic loop works as follows:
> ecrt_master_receive
> ecrt_domain_process
> ecrt_domain_queue
> ecrt_master_send
> calculate
> sleep
Very good.
> 
> Pros: calculation occurs while frame is being sent
> Cons: calculated data will be sent a step later
That is the price to pay if you have both long calculation and long EtherCAT 
frames. There is no free lunch ;)

This system works best if you have a measurement (as opposed to a control) 
dominated system with lots of PDO's, say about 30000. The data is time 
stamped, so you know when the data was fetched. Even better if you use 
distributed clocks at the same time

> 
> The sleep time is measured and recalculated and adjusted to a given
> cycle time relative to a given start time.
Are you running in kernel or user space? In kernel space (together with 
etherlab), have you looked at the rt_appcore.ko option pll?:
insmod rt_appcore.ko pll=1

This will synchronize the cyclic task exactly with your system clock. If you 
use NTP on your system, your cyclic task is locked in on international time! 
Thus, in 1000 years, you will have had 1000*365*24*60*60*frequency calls, 
exactly, no more, no less. To get that right is not as easy as it sounds if 
you bear in mind that any number on a digital computer has either limited 
accuracy or a limited range, the one or the other. 

It is like the 50Hz frequency locking of the the national grid - over time you 
allways get 50*24*60*60 cycles.

(To those clever guys out there, I have just defined 1 year to be 365 days, 
not 265.249...... days)

- Richard

-- 
------------------------------------------------------------------------

Richard Hacker M.Sc. 
richard.hacker at igh-essen.com
Tel.: +49 201 / 36014-16

Ingenieurgemeinschaft IgH
Gesellschaft für Ingenieurleistungen mbH
Heinz-Bäcker-Str. 34
D-45356 Essen
Amtsgericht Essen HRB 11500
USt-Id.-Nr.: DE 174 626 722
Geschäftsführung: 
- Dr.-Ing. S. Rotthäuser, 
- Dr.-Ing. T. Finke, 
- Dr.-Ing. W. Hagemeister
Tel.: +49 201 / 360-14-0
http://www.igh-essen.com

------------------------------------------------------------------------



More information about the Etherlab-users mailing list