Abstract
In this paper, we present a real-time servo control application based on an open-source EtherCAT Master under two different real-time embedded Linux approaches, the fully pre-emptible kernel and Xenomai. The fully pre-emptible approach utilizes the native Linux kernel patched to support pre-emption of high-priority tasks at any time and protects critical sections with spin locks. On the contrary, Xenomai is an example of dual-kernel approach, which provides real-time extensions to tasks piped alongside the standard Linux kernel through a hardware abstraction layer. The EtherCAT master is stacked on top of each real-time operating system to provide real-time connection with servo drives that are equipped with EtherCAT slave controllers that supports CANopen protocol. This paper aims to analyze the real-time performance of the EtherCAT Master depending on the real-time Linux extension it is running on in terms of cyclic task periodicity, jitter, and in-controller execution time. The in-controller execution is defined as the time interval from the master sending information to slaves and vice-versa. The experiment is conducted on an actual system where the master is required to control a set of servo motors. The results acquired from each master are analyzed and compared to serve as a guideline in in designing industrial and automation systems using different real-time Linux extensions.
Original language | English |
---|---|
Pages (from-to) | 11179-11185 |
Number of pages | 7 |
Journal | International Journal of Applied Engineering Research |
Volume | 12 |
Issue number | 21 |
State | Published - 2017 |
Keywords
- Embedded linux
- EtherCAT
- Real-time
- RT_PREEMPT
- Xenomai