[etherlab-dev] DC synchronous question

Graeme Foot Graeme.Foot at touchcut.com
Fri Jun 3 00:14:40 CEST 2016


Hi,

This question is more for the etherlab-users forum (etherlab-users at etherlab.org<mailto:etherlab-users at etherlab.org>).  The question is a couple of weeks old but I haven't noticed any responses so I'll give you a few things to start looking at.

You need to do a few things with EtherCAT Distributed Clocks.

1) Configure each DC slave to use its Distributed Clock using ecrt_slave_config_dc()
2) Select an appropriate slave as a slave reference clock using ecrt_master_select_reference_clock()
3) Set an initial master clock time just before going realtime using ecrt_master_application_time()
4) Once looping in realtime you need to ensure all clocks are synchronized using:
  ecrt_master_reference_clock_time()
  ecrt_master_sync_slave_clocks()
  ecrt_master_application_time()

It is best to match the EtherLab masters PC time to the reference slave as this produces the most stable environment.  Have a look at some of the Distributed Clock demos.  You may also want some of the Distributed Clock patches.  Have a search through the old forum posts, there's been a fair few discussions about distributed clocks.


Regards,
Graeme.


From: etherlab-dev [mailto:etherlab-dev-bounces at etherlab.org] On Behalf Of COOKIY
Sent: Tuesday, 24 May 2016 3:19 p.m.
To: etherlab-dev
Subject: [etherlab-dev] DC synchronous question

Hello everyone:
    First, thanks for browsing.Now, we use open-source EtherCAT master to control my robot which is a 6 DOF arms.Everything is ok except the DC synchronous question, while the DC is essential to run in cycle synchronization position mode and I also really don't know the real reason about this and how to handle that question.
    Then,I will depict my question in detials. When run in profile position mode, everything is ok and when it changes to cycle synchronization position mode, I found that it can't to synchronize DC with the errors listing in below:
    [ 1518.043620] EtherCAT ERROR 0-2: AL status message 0x0032: "PLL error".
     [ 1518.043735] EtherCAT 0-2: Acknowledged state SAFEOP.
     [ 1518.055581] EtherCAT ERROR 0-3: AL status message 0x0032: "PLL error".
     [ 1518.055752] EtherCAT 0-3: Acknowledged state SAFEOP.
     [ 1518.059595] EtherCAT ERROR 0-4: AL status message 0x0032: "PLL error" .
     [ 1518.067537] EtherCAT 0-4: Acknowledged state SAFEOP.
     [ 1518.071643] EtherCAT ERROR 0-5: AL status message 0x0032: "PLL error".
     [ 1518.071862] EtherCAT 0-5: Acknowledged state SAFEOP.
     When this errors occurs, the servo drivers change the states from OP state to SAFEOP state. I also ask for this question to beckhoff's staff. He said the reason of this question is caused by the CPU jitter and the master of beckhoff corporation could handle this question very well. I really don't understand this meaning very well.
     It is very grateful that if some experts know the ways to handle with this question.Thanks very much!!!!!!!!!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-dev/attachments/20160602/f76407c2/attachment.html>


More information about the etherlab-dev mailing list