Hey, THANKS so much for your response! That is good news. Well, not that I cannot use etherCAT, but that there is hope for real-time performance. The controller boards answer to udp packages that have a message ID and a payload (for setting and getting data). Using static ARP I can establish a communication in which I don't loose packages. However, at this point, I notice a mode switch (from the xenomai domain into the linux domain) which most likely is caused by having a non-real-time capable stack. Is there a way to avoid this ?
The application uses the xenomai POSIX skin, so your first point is under control :) However, I would be really happy if you could elaborate on the other points a little more: > (1) get the priorities and other realtime things right > (2) fix kernel locking bugs which might turn up during that process etc. I use xenomai 2.4.91 and linux kernel 2.6.24.2-ipipe. Thanks, peter On Fri, Aug 7, 2009 at 4:31 PM, Robert Schwebel <[email protected]>wrote: > Peter, > > On Fri, Aug 07, 2009 at 10:45:09AM +0900, Peter Pastor wrote: > > I am writing an application that sends and receives UDP packages over > > ethernet to several digital controller cards. I need this application > > to run in real-time. I do not have influence on whatever is running on > > these cards. > > I assume that with "whatever is running on these cards" is the non-RT > userspace software which is running on these Linux systems? > > > I established communication using regular sockets. I am running > > xenomai and need this communication to run in real-time. So, I was > > wondering whether etherCAT allows me to do so without touching the > > client stack, or do I have to do the communication in a separate > > process and read/write from the xenomai real-time process through > > shared memory? > > EtherCAT is a dedicated realtime network with ASICs instead of normal > ethernet cards in the slave devices, so it's only useful if you really > have an EtherCAT based network. > > However, sending network packets under hard realtime conditions from > Linux userspace is easily possible, we have done it for example while > porting PowerLink stacks to Linux userspace (using raw sockets under > RT-Preempt). All you have to do is writing a proper POSIX realtime > application, get the priorities and other realtime things right, fix > kernel locking bugs which might turn up during that process etc. > > rsc > -- > Pengutronix e.K. | | > Industrial Linux Solutions | http://www.pengutronix.de/ | > Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | > Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | >
_______________________________________________ etherlab-users mailing list [email protected] http://lists.etherlab.org/mailman/listinfo/etherlab-users
