Real-time servo control using etherCAT master on real-time embedded linux extensions

Raimarius Delgado, Byoung Wook Choi

Research output: Contribution to journalArticlepeer-review

3 Scopus citations

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 languageEnglish
Pages (from-to)11179-11185
Number of pages7
JournalInternational Journal of Applied Engineering Research
Volume12
Issue number21
StatePublished - 2017

Keywords

  • Embedded linux
  • EtherCAT
  • Real-time
  • RT_PREEMPT
  • Xenomai

Fingerprint

Dive into the research topics of 'Real-time servo control using etherCAT master on real-time embedded linux extensions'. Together they form a unique fingerprint.

Cite this