<div>Thank you very much!! Best wishes to you..</div><div><br></div><div><br></div><div style="font-size: 12px;font-family: Arial Narrow;padding:2px 0 2px 0;">------------------ Original ------------------</div><div style="font-size: 12px;background:#efefef;padding:8px;"><div><b>From:</b> "Graeme Foot"<Graeme.Foot@touchcut.com>; </div><div><b>Date:</b> 2016年6月3日(星期五) 上午6:14</div><div><b>To:</b> "COOKIY"<1027819937@qq.com>; "etherlab-users"<etherlab-users@etherlab.org>; </div><div><b >Cc:</b> "etherlab-dev"<etherlab-dev@etherlab.org>; </div><div><b>Subject:</b> RE: [etherlab-dev] DC synchronous question</div></div><div><br></div><style></style>


<div class="WordSection1">
<p class="MsoNormal"><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D ">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D "><o:p> </o:p></span></p>
<p class="MsoNormal"><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D ">This question is more for the etherlab-users forum (<a href="mailto:etherlab-users@etherlab.org" target="_blank">etherlab-users@etherlab.org</a>).  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.<o:p></o:p></span></p>
<p class="MsoNormal"><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D "><o:p> </o:p></span></p>
<p class="MsoNormal"><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D ">You need to do a few things with EtherCAT Distributed Clocks.<o:p></o:p></span></p>
<p class="MsoNormal"><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D "><o:p> </o:p></span></p>
<p class="MsoNormal"><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D ">1) Configure each DC slave to use its Distributed Clock using
</span><span style=" font-size:11.0pt ; ;;color:#1F497D ">ecrt_slave_config_dc()</span><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D "><o:p></o:p></span></p>
<p class="MsoNormal"><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D ">2) Select an appropriate slave as a slave reference clock using
</span><span style=" font-size:11.0pt ; ;;color:#1F497D ">ecrt_master_select_reference_clock()</span><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D "><o:p></o:p></span></p>
<p class="MsoNormal"><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D ">3) Set an initial master clock time just before going realtime using
</span><span style=" font-size:11.0pt ; ;;color:#1F497D ">ecrt_master_application_time()</span><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D "><o:p></o:p></span></p>
<p class="MsoNormal"><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D ">4) Once looping in realtime you need to ensure all clocks are synchronized using:<o:p></o:p></span></p>
<p class="MsoNormal"><span style=" font-size:11.0pt ; ;;color:#1F497D ">  ecrt_master_reference_clock_time()<o:p></o:p></span></p>
<p class="MsoNormal"><span style=" font-size:11.0pt ; ;;color:#1F497D ">  ecrt_master_sync_slave_clocks()<o:p></o:p></span></p>
<p class="MsoNormal"><span style=" font-size:11.0pt ; ;;color:#1F497D ">  ecrt_master_application_time()</span><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D "><o:p></o:p></span></p>
<p class="MsoNormal"><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D "><o:p> </o:p></span></p>
<p class="MsoNormal"><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D ">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.<o:p></o:p></span></p>
<p class="MsoNormal"><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D "><o:p> </o:p></span></p>
<p class="MsoNormal"><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D "><o:p> </o:p></span></p>
<p class="MsoNormal"><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D ">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D ">Graeme.<o:p></o:p></span></p>
<p class="MsoNormal"><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D "><o:p> </o:p></span></p>
<p class="MsoNormal"><span style=" font-size:11.0pt ; ; ; ;;color:#1F497D "><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style=" font-size:10.0pt ; ; ; ; ">From:</span></b><span lang="EN-US" style=" font-size:10.0pt ; ; ; ; "> etherlab-dev [mailto:<a href="mailto:etherlab-dev-bounces@etherlab.org" target="_blank">etherlab-dev<wbr>-bounces@eth<wbr>erlab.org</a>]
<b>On Behalf Of </b>COOKIY<br>
<b>Sent:</b> Tuesday, 24 May 2016 3:19 p.m.<br>
<b>To:</b> etherlab-dev<br>
<b>Subject:</b> [etherlab-dev] DC synchronous question<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Hello everyone:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    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.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    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:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    <span style=" font-size:10.0pt ; ; ; ;;color:#333333 ">[ 1518.<span style="border-bottom:1px dashed #ccc;z-index:1" t="7" onclick="return false;" data="043620">043620</span>] EtherCAT ERROR 0-2: AL status message 0x0032: "PLL error".</span><o:p></o:p></p>
</div>
<p class="MsoNormal"><span style=" font-size:10.0pt ; ; ; ;;color:#333333 ">     [ 1518.<span style="border-bottom:1px dashed #ccc;z-index:1" t="7" onclick="return false;" data="043735">043735</span>] EtherCAT 0-2: Acknowledged state SAFEOP.<br>
     [ 1518.<span style="border-bottom:1px dashed #ccc;z-index:1" t="7" onclick="return false;" data="055581">055581</span>] EtherCAT ERROR 0-3: AL status message 0x0032: "PLL error".<br>
     [ 1518.<span style="border-bottom:1px dashed #ccc;z-index:1" t="7" onclick="return false;" data="055752">055752</span>] EtherCAT 0-3: Acknowledged state SAFEOP.      <br>
     [ 1518.<span style="border-bottom:1px dashed #ccc;z-index:1" t="7" onclick="return false;" data="059595">059595</span>] EtherCAT ERROR 0-4: AL status message 0x0032: "PLL error" .<br>
     [ 1518.<span style="border-bottom:1px dashed #ccc;z-index:1" t="7" onclick="return false;" data="067537">067537</span>] EtherCAT 0-4: Acknowledged state SAFEOP.<br>
     [ 1518.<span style="border-bottom:1px dashed #ccc;z-index:1" t="7" onclick="return false;" data="071643">071643</span>] EtherCAT ERROR 0-5: AL status message 0x0032: "PLL error".<br>
     [ 1518.<span style="border-bottom:1px dashed #ccc;z-index:1" t="7" onclick="return false;" data="071862">071862</span>] EtherCAT 0-5: Acknowledged state SAFEOP.</span><o:p></o:p></p>
<div>
<p class="MsoNormal"><span style=" font-size:10.0pt ; ; ; ;;color:#333333 ">     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.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style=" font-size:10.0pt ; ; ; ;;color:#333333 ">     It is very grateful that if some experts know the ways to handle with this question.Thanks very much!!!!!!!!! </span><o:p></o:p></p>
</div>
</div>



<style type="text/css">.qmbox style, .qmbox script, .qmbox head, .qmbox link, .qmbox meta {display: none !important;}</style>