[etherlab-users] failing dc-sync-check

George Broz GBroz at moog.com
Mon Jan 23 11:08:13 CET 2012


Hello,

What would cause the dc-sync-check to fail (resulting in the "Slave did not 
sync after..." message in the error log), even when the timeout 
(EC_DC_SYNC_WAIT_MS) is set long (30 seconds)? 

After 30 seconds, the "Sync after..." is still in the 4 milli-second
range - far from the 5 micro-seconds needed to pass.

In my application, after calling master_activate() 
a Xenomai task every 5 milli-seconds calls: 

* ecrt_rtdm_master_application_time()
* ecrt_rtdm_master_sync_reference_clock(), and
* ecrt_rtdm_master_sync_slave_clocks()
 
The first slave is the reference clock. It generally takes 10 to 20 seconds 
for the first slave to get past this step (if at all). The other slaves take less, 
but still a couple of seconds. Slave to slave sync is good (<1000ns), but gets 
much better (<100ns)when I stop calling sync_reference_clock().
 
I read in a previous post that --enable-cycles helped. Is this necessary?

Is there something I can do (e.g. "adjust" the application_time) to make this
converge faster? Should it help to rescan the bus before starting my application?

I am running the "default-tip" (2271) version of the master.

Master-to-ref.slave synchronization (using EtherCAT) is not important to us, but 
slave-to-slave sync is critically important to us.


Thanks in advance,
--George Broz
Moog, Inc. Industrial Group



More information about the Etherlab-users mailing list