OK, just figured it out myself. Indeed the slave using Sync Unit Cycle to detect the bus cycle. And I forgot to add the following line to active DC:<br><br> // configure SYNC signals for this slave<br> ecrt_slave_config_dc(sc, 0x0300, 2000000, 0, 0, 0);<br>
<br>I should have read the dc example more carefully<br><br><div class="gmail_quote">On Wed, Dec 7, 2011 at 1:42 PM, Jun Yuan <span dir="ltr"><<a href="mailto:j.yuan@rtleaders.com">j.yuan@rtleaders.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi,<br><br>there is a slave CoE device, which works with the TwinCAT. And now I am trying to bring it work with the EtherLab-Master.<br>
<br>When the EtherLab-Master goes into OP, the slave will also be in OP. There's no error. The working counter is OK. The PDO communication should be fine.<br>
However, I found out actually, the CoE device does neither take any command from the RxPdos, nor update its state in the TxPdos. Those data in the input domain remain the same for that moment the slave turned into OP, and don't change any more. But I can see those object have actually changed via SDO access.<br>
<br>Then I thought, there must be some configuration problems on the CoE device, since it didn't act/react with the PDOs on the EtherCAT bus. So I called the service & support of its manufacturer. They send an expert, and he found out that their device complains that the cycle time is 0 ms when turning into OP, and that I should set the EtherCAT cycle time. <br>
<br>AFAIK, the EtherCAT cycle time in the Etherlab-Master is only in that while loop with the clock_nanosleep(). How should I tell the slave about this cycle time? Since there is no CoE object on that device for the cycle time configuration, I kindly asked him, HOW?<br>
<br>He said, he don't know about the EtherLab, but for the TwinCAT, he only needs to set it in the "Freerun Cycle (ms)" under the Adapter option. Then he showed me on my PC. Well, yes, the slave works. And I was speechless. There must be some magic that I don't know yet.<br>
<br>Now I've found out that it must have something to do with the "DC for synchronization", since if I deactivate it in the slave configuration in TwinCAT. The slave device will no longer know about the EtherCAT cycle time of the TwinCAT. I think, the device learns about the cycle time through DC. But what should I do on my etherlab-master?<br>
<br>Can anybody help me out? <br><br><br>Best Wishes,<span class="HOEnZb"><font color="#888888"><br><br>Jun Yuan<br><br><br><br>
</font></span></blockquote></div><br>