A modern EtherCAT engineering workstation for Linux + IgH
Commission, debug, and diagnose your EtherCAT bus with confidence.
NekoEcat Studio is an EtherCAT commissioning and diagnostics workstation purpose-built for Linux systems using the IgH EtherCAT Master stack. It replaces the workflow of juggling terminals, spreadsheets, and custom scripts with a coherent, evidence-driven desktop application.
Whether you are integrating a new drive, tuning distributed clocks, debugging a startup sequence, or handing off a validated configuration โ NekoEcat Studio gives you a single tool for the job.
| Protocol | Status | Details |
|---|---|---|
| CoE (CANopen over EtherCAT) | โ | SDO upload/download, dictionary browsing, emergency object monitoring |
| FoE (File over EtherCAT) | โ | Firmware read/write via daemon |
| EoE (Ethernet over EtherCAT) | โ | IP configuration, frame statistics |
| SoE (Servo over EtherCAT) | โ | IDN read/write, parameter validation |
Organized into logical groups โ no clutter, just the right tool for each task. (34 plugins are compiled and registered; the 24 visible ones each contribute a workspace tab, the rest are hidden helper/preference plugins.)
| Group | Workspaces |
|---|---|
| ๐ Overview | Dashboard with session brief, evidence matrix, next-best-action |
| ๐ Topology & Slaves | Topology graph, ESI browser, bus statistics, I/O variable table |
| ๐ Dictionary & SDO | Object dictionary, startup SDO sequences, PDO mapping editor |
| ๐ Monitoring | Watch window, signal analyzer, oscilloscope, trace, logic analyzer |
| โก Distributed Clocks | DC sync status, precision tuning, drift optimizer |
| ๐ Runtime | FreeRun process image, state machine controller |
| ๐ฉบ Diagnostics | Online diagnostics, consistency checks, AL events, alarm panel |
| ๐ Protocols | EoE tunnel, SoE drive interface, ENI export |
Every SDO write, state transition, and configuration change is tracked. Before writing to the bus, you can review the evidence trail โ what was read, what changed, and whether it matches expectations.
Switch between English, ็ฎไฝไธญๆ, ๆฅๆฌ่ช, Deutsch, ํ๊ตญ์ด, ็น้ซไธญๆ, Franรงais, and Espaรฑol โ at runtime, no restart needed.
A first-class, Qt-free real-time data plane for external programs:
- SHM data plane โ
ecatdmirrors the Free Run process image into POSIX shared memory (/nekoecat_proc_0) using a lock-free double buffer with a version-counter consistency protocol. No JSON or TCP in the hot path. - JSON-RPC control plane โ start/stop Free Run and query the process-image layout over the daemon's normal TCP endpoint.
- Pure-C library โ
libnekoecat_client.a(header:client/nekoecat_client.h) provides typed reads/writes with bounds validation and a double-read attach protocol. - Python example โ
examples/realtime/nekoecat_client_example.pyshows rawmmap/ctypesaccess plus the C library via ctypes.
See docs/ARCHITECTURE.md for the shared-memory design.
NekoEcat Studio โJSON-RPCโ ecatd daemon โecrt/CLIโ IgH EtherCAT Master โโ Bus
- Native ecrt API โ high-performance SDO, PDO, and slave operations
- CLI fallback โ automatic fallback where ecrt is unavailable (ESI XML, SDO dictionary enumeration, state transitions)
- Backend selection โ auto, native-only, or CLI-only modes
- Linux x86_64 with IgH EtherCAT Master 1.6.x
- Qt6 (Core, Network, Widgets)
- CMake 3.20+
# Debian / Ubuntu
sudo dpkg -i NekoEcatStudio-1.0.0_amd64.deb
sudo apt-get install -f
ecat-studio
# Fedora / RHEL
sudo dnf install ./NekoEcatStudio-1.0.0.x86_64.rpm
ecat-studio
# Portable (any distro)
tar -xzf NekoEcatStudio-1.0.0-linux-x64.tar.gz
./NekoEcatStudio-1.0.0-linux-x64/bin/ecat-studiogit clone https://github.com/NekoRain/nekoecat-studio.git
cd nekoecat-studio
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
# Start the daemon (requires IgH master)
sudo ./build/apps/ecatd/ecatd
# Launch the GUI
./build/apps/ecat-studio/ecat-studiocmake --install installs ecatd/ecat-studio to bin/, the real-time client
library libnekoecat_client.a to lib/, and the client/SHM headers
(nekoecat_client.h, shm_layout.h, nekoecat_shm.h) to include/nekoecat.
- Start the daemon โ
ecatdconnects to the IgH EtherCAT Master - Launch the GUI โ
ecat-studioauto-connects via localhost:5877 - Scan the bus โ the Overview workspace will populate with detected slaves
- Browse the Object Dictionary โ read SDO entries with evidence tracking
- Configure startup SDOs โ build reusable configuration sequences
- Go live โ use FreeRun for process image monitoring and Watch for real-time SDO polling
- 179 automated tests (100% passing) โ the default build runs 143 unit,
11 integration, and 25 performance tests covering the plugins, daemon handlers,
and services that actually ship. Reaching additional (previously removed)
services/plugins requires
cmake -B build -DECAT_EXPERIMENTAL_SERVICES=ON - Verified on real hardware โ SDO read/write, slave scan, state transitions, and PDO mapping confirmed on Beckhoff-compatible digital I/O slave
- Test environment: IgH Master 1.6.9, Linux 7.0.12-zen, RTL8125 NIC
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ NekoEcat Studio โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ 34 Plugins โ โ EventBus โ โ ServiceContainer โ โ
โ โ (24 visible) โ โ Pub/Sub โ โ Dependency Inj. โ โ
โ โโโโโโโโฌโโโโโโโ โโโโโโโโฌโโโโโโโโ โโโโโโโโโโฌโโโโโโโโโ โ
โ โ โ โ โ
โ โโโโโโโโดโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโ โ
โ โ EcatClient (JSON-RPC) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ TCP localhost:5877
โโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ ecatd daemon โ โ
โ โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ โ
โ โ โ CLI Backend โ โ Native ecrt โ โ FreeRun โ โ โ
โ โ โ (ethercat cmd)โ โ Backend โ โ Controller โ โ โ
โ โ โโโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโ โโโโโโโฌโโโโโโโ โ โ
โ โ โโโโโโโโโโโฌโโโโโโโโ โ โ โ
โ โ โ โโโโโโโดโโโโโโโ โ โ
โ โ โ โ SHM Mirror โ โ โ
โ โ โ โ(double-buf)โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโผโโโโโโโโฌโโโโโผโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโผโโโโโโโโผโโโโโผโโโโโโ
โ โ โ โ
โโโโโโโโโโดโโโโโโโโโ โ โโโโโโดโโโโโโดโโโโโโโ
โ IgH EtherCAT โ โ โ POSIX SHM โ
โ Master (ecrt) โ โ โ /nekoecat_proc_0โ
โโโโโโโโโโฌโโโโโโโโโ โ โ (C client, Py) โ
โ โ โโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโดโโโโโโโโโ โ
โ EtherCAT Bus โ โ
โ (real slaves) โ โ
โโโโโโโโโโโโโโโโโโโ โ
โ
nekoecat_client (C) / Python example
| Document | Description |
|---|---|
| User Manual | Getting started, workspace reference, troubleshooting |
| Installation Guide | System requirements, multiple install methods |
| Architecture | System design, IPC protocol, plugin system |
| Plugin Guide | Creating and integrating custom workspace plugins |
| Developer Guide | Build system, testing, contribution workflow |
| Changelog | Release history and version notes |
Contributions are welcome! Whether it is a bug report, feature request, or pull request:
- Check the open issues for existing discussions
- Read the Developer Guide for build and test setup
- Submit a PR โ the CI pipeline builds and runs the full default test suite automatically
NekoEcat Studio is free software licensed under the GNU General Public License v3.0.
Copyright ยฉ 2026 NekoRain