<DIV> When we start our system for many times(about 1000 times),There would be an error from EtherCAT master:</DIV>
<DIV>1)The master is in IDLE state(using command tool: ethercat master);</DIV>
<DIV>2) All datagram are marked lost frames(using ethercat master, Rx frames = 0)</DIV>
<DIV>3)The master can not find any slaves(using commmand tool:ethercat sl, no slave info display)</DIV>
<DIV>4)If I restart master(sudo /etc/init.d/ethercat restart), the master can find its slaves again.</DIV>
<DIV>5)When I set master debug to 1(sudo ethercat debug 1) and dmesg. The following debug info will display:</DIV>
<DIV>..........</DIV>
<DIV><FONT color=#0000ff>[53970.871062] EtherCAT DEBUG 0: TIMED OUT datagram f667c3e0, index 80 waited 8000 us.<BR>[53970.879062] EtherCAT DEBUG 0: TIMED OUT datagram f667c3e0, index 81 waited 8000 us.<BR>[53970.887062] EtherCAT DEBUG 0: TIMED OUT datagram f667c3e0, index 82 waited 8000 us.</FONT><BR>...........</DIV>
<DIV>6) I also use wireshark to capture ethercat datagram, and find all send datagram have been received successfully(wkc is not zero)</DIV>
<DIV>I find this debug info printed in master.c file, function is:<FONT color=#0000ff>void ecrt_master_receive(ec_master_t * master)</FONT></DIV>
<DIV><FONT color=#0000ff><FONT color=#000000>Generally master has set a time out value for received datagram, using parameter</FONT> EC_IO_TIMEOUT(in file globals.h), which is set 500us.</FONT></DIV>
<DIV><FONT color=#000000>I want to know is it a bug in master? how should we resolve this problem? can we just simply reset the parameter</FONT></DIV>
<DIV>EC_IO_TIMEOUT to a large value like 1ms or 10ms or more?</DIV>
<DIV> </DIV>
<DIV> </DIV> <BR>
<DIV id=origbody>
<DIV style="BACKGROUND: #f2f2f2">----- 原始邮件 -----<BR>发件人:etherlab-users-request@etherlab.org<BR>收件人:etherlab-users@etherlab.org<BR>主题:etherlab-users Digest, Vol 72, Issue 6<BR>日期:2013年05月06日 18点00分<BR></DIV><BR></DIV>