[etherlab-users] ELM3004 (ADC) and SDOs requests

Romain Virot virot at lpsc.in2p3.fr
Wed Oct 30 13:37:44 CET 2019


I'm quite new to EtherCAT and while I managed to run a simple system (2 EL2004 modules), I'm facing two issues (maybe related) with a Beckhoff ELM3004 module (and SDOs in general). I already searched heavily for solutions and tried many things but I'm now kind of lost...

First issue is :

I can activate the master and enter the cylic task without issue, and the ELM3004 goes into OP state. If I now stop my master (getting out of the cyclic task loop and releasing the master), the ELM3004 is stuck in OP (with the Error tag) state, while the 2 EL2004 modules do properly return to the PREOP state. I do no understand this behavior nor have any idea of how to diagnosis the problem.

Second one :

I cannot make RT SDOs (using requests) work. The request creation, before master activation, does work. However calling a request, either read or write, always ends up with "busy' states only for the request until the timeout is reached, and then the request state naturally goes into 'error'. This is for various frequency checks (from 1kHz to 1 Hz). I tried to replicate the mini exemple, and behavior is similar. Note that everything related to the EtherCAT system is on the same thread, if it matters (I have a QT Gui on another thread). FYI, I want to use RT SDO to be able to test modules easily and also run diagnosis.

On a side note, is there any possibility to reset//reboot an EtherCAT module (or whole domain//master) from a software perspective only? When the ELM3004 is stuck the only way for me to clean thing is to reboot the system...

Thanks a lot,


More information about the etherlab-users mailing list