modify LinuxCNC's EtherLab based EtherCAT driver

Job ID: 37078671

Budget: $250 – $750 USD

We are looking for a developer who is familiar with the EtherCAT protocol, and the open source EtherLab master driver for Linux.

You must also have access to a Yaskawa Sigma 7 EtherCAT servo drive for testing purposes:

https://www.cncwiki.org/index.php?title=Yaskawa_SGD7S_Series_Servo_Drives

Ideally you'd also have access to other EtherCAT devices to ensure that compatibility isn't broken after your modifications.

The goal is to modify LinuxCNC's EtherCAT driver (based on EtherLab) to support having separate read/write "domains" that use Logical Read and Logical Write commands separately rather than a combined Logic Read-Write command. The issue is detailed here:

supporting separate LRD/LWR commands instead of an LRW command · Issue #121 · sittner/linuxcnc-ethercat
https://github.com/sittner/linuxcnc-ethercat/issues/121

https://forum.linuxcnc.org/ethercat/48110-ethercat-protocol-not-responding?start=20#275862

Things involved in this project:

* installing LinuxCNC + EtherCAT driver onto a PC (I can guide you)
* wiring a 220V Yaskawa Sigma 7 EtherCAT servo drive/motor and connecting it via an Ethernet cable
* testing basic EtherCAT enumeration of the servo drive (it should already work)
* using an IDE / text editor to modify the EtherCAT driver
* building the EtherCAT driver using "halcompile" (a utility that ships with LinuxCNC)
* test with the Yaskawa servo drive
* ideally test with another non-Yaskawa EtherCAT device (make sure compatibility is maintained)

Useful links:

https://etherlab.org/ (down currently?)

https://web.archive.org/web/20230220031702/https://etherlab.org/en/what.php (Wayback Machine Internet Archived version)

https://forum.linuxcnc.org/ethercat/45336-ethercat-installation-from-repositories-how-to-step-by-step
Related categories: C Programming Linux PLC & SCADA