[etherlab-users] Waiting for network receive?

Yan Prochazka jprochazka at persimmontech.com
Thu Jun 28 21:50:32 CEST 2012


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
> etherlab-users at etherlab.org
> http://lists.etherlab.org/mailman/listinfo/etherlab-users




More information about the Etherlab-users mailing list