EBPFCat - an open source EtherCAT implementation for experimental control

EtherCAT has become a popular communication protocol for controlling equipment in large facilities. Although it is an open standard that can be used on common hardware, commercial solutions on specialized hardware are usually employed. Here we introduce EBPFCat, a fully open-source implementation of the EtherCAT protocol that can be used on any modern Linux system without the need to write kernel modules. In EBPFCat, non-time-critical parts are implemented in Python, while real-time performance and reliability are ensured through the use of EBPF, a virtual machine embedded within the Linux kernel. EBPFCat contains a code generator that allows EBPF programs to be generated directly from Python without the need of separate compilation tools. These programs are verified for correctness by the Linux kernel and executed therein, allowing for feedback bandwidths exceeding 10 kHz. The EBPF code generator is a generic solution that can also be used for unrelated EBPF programs. EBPFCat is a standalone project that operates independently of any specific high-level control system. Nevertheless, it has already been integrated into Karabo*, the control system used at the European XFEL. We show applications for a large variety of control problems, from simple vacuum systems to intricate feedback loops for motion control.

Publication Details

Journal
European XFEL Publication Database
Published
2025-12-05
DOI
https://doi.org/10.18429/jacow-icalepcs2025-thbr004
Primary Topic
Particle Accelerators and Free-Electron Lasers
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

EBPFCat - an open source EtherCAT implementation for experimental control

European XFEL Publication Database
Particle Accelerators and Free-Electron Lasers
article

EBPFCat - an open source EtherCAT implementation for experimental control

article en

Abstract

EtherCAT has become a popular communication protocol for controlling equipment in large facilities. Although it is an open standard that can be used on common hardware, commercial solutions on specialized hardware are usually employed. Here we introduce EBPFCat, a fully open-source implementation of the EtherCAT protocol that can be used on any modern Linux system without the need to write kernel modules. In EBPFCat, non-time-critical parts are implemented in Python, while real-time performance and reliability are ensured through the use of EBPF, a virtual machine embedded within the Linux kernel. EBPFCat contains a code generator that allows EBPF programs to be generated directly from Python without the need of separate compilation tools. These programs are verified for correctness by the Linux kernel and executed therein, allowing for feedback bandwidths exceeding 10 kHz. The EBPF code generator is a generic solution that can also be used for unrelated EBPF programs. EBPFCat is a standalone project that operates independently of any specific high-level control system. Nevertheless, it has already been integrated into Karabo*, the control system used at the European XFEL. We show applications for a large variety of control problems, from simple vacuum systems to intricate feedback loops for motion control.

European XFEL Publication Database
Openalex Percentile: Top 47%
Particle Accelerators and Free-Electron Lasers
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.