When we start our system for many times(about 1000 times),There would be an 
error from EtherCAT master:
1)The master is in IDLE state(using command tool: ethercat master);
2) All datagram are marked lost frames(using ethercat master, Rx frames = 0)
3)The master can not find any slaves(using commmand tool:ethercat sl, no slave 
info display)
4)If I restart master(sudo /etc/init.d/ethercat restart), the master can find 
its slaves again.
5)When I set master debug to 1(sudo ethercat debug 1) and dmesg. The following 
debug info will display:
..........
[53970.871062] EtherCAT DEBUG 0: TIMED OUT datagram f667c3e0, index 80 waited 
8000 us.
[53970.879062] EtherCAT DEBUG 0: TIMED OUT datagram f667c3e0, index 81 waited 
8000 us.
[53970.887062] EtherCAT DEBUG 0: TIMED OUT datagram f667c3e0, index 82 waited 
8000 us.
...........
6) I also use wireshark to capture ethercat datagram, and find all send 
datagram have been received successfully(wkc is not zero)
I find this debug info printed in master.c file, function is:void 
ecrt_master_receive(ec_master_t * master)
Generally master has set a time out value for received datagram, using 
parameter EC_IO_TIMEOUT(in file globals.h), which is set 500us.
I want to know is it a bug in master? how should we resolve this problem? can 
we just simply reset the parameter
EC_IO_TIMEOUT to a large value like 1ms or 10ms or more?
 
  


----- 原始邮件 -----
发件人:[email protected]
收件人:[email protected]
主题:etherlab-users Digest, Vol 72, Issue 6
日期:2013年05月06日 18点00分

_______________________________________________
etherlab-users mailing list
[email protected]
http://lists.etherlab.org/mailman/listinfo/etherlab-users

Reply via email to