Hello Jonathan,

you have asked the million dollar question. You can search the archive, there are several quite heated discussions on that topic.

We use EtherCAT for real time motion control application and would appreciate exactly the functionality you were asking for. As far as I understand there is no support in current Master code to do that. Therefore we have ended with constant delay for time being. Something like:

while(1){
        waitForNextPeriodTime();
        sendReceiveDomainData();  // send data in this operation are the old one
// master is updated with time for DC sync. Pause(); // we use 20us just to be sure master received the data
        ProcessPDOData();      //calculate response to newly received data
sendReceiveDomainData(); // the real data update goes out here, received data are ignored and master time for DC is not updated here
}

Our period is 250us (4kHz) and we have only small number of EtehrCAT slaves (not more than 10) Nothing of the above are the names of EtherCAT library function, I have used some dummy name just to illustrate our process loop operation.

Good Luck,
Yan



On 6/28/2012 13:38, Johnathan Van Why wrote:
The software system we are setting up needs to be able to send an
EtherCAT frame, then wait until the network data is available for
processing to resume (rather than wait until the next cycle time). Is
there any way to do that with the EtherCAT Master? This is a userspace
application.

Thanks for any help,
Johnathan Van Why
_______________________________________________
etherlab-users mailing list
[email protected]
http://lists.etherlab.org/mailman/listinfo/etherlab-users

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

Reply via email to