[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