IOC Robotic's Lab

SOEM is a C library implementing an EtherCAT (Ethernet for Control Automation Technology) Master. The homepage of the project is

It's primary target system is Linux, all examples are written for it. But as all applications are different, SOEM tries to not impose any design architecture. It can be used in generic user mode, PREEMPT_RT or Xenomai. Also converting it to other targets is relativly simple. For detailed information about EtherCAT vistit the ETG (EtherCAT technology group) site, see the links section below.

Here, at IOC Robotic's Lab, we have done (with some foreign help) some modifications of the SOEM library to improve it. Basically we have created a migration to CMake as build tool and made some modification to run it under rtnet/xenomai

CMake improvements

With CMake now you can:

  • Create a static and dynamic library of soem.
  • Install it (default /usr/local) or whenever you want.
  • Build or not the examples.
  • Create the static and dynamic version patched to run under rtnet
  • Build the rtnet version of the examples.

Download and install

We have use git and you can download and build as usual:

git clone soem.git
cd soem.git
mkdir build
cd build
cmake ../
make install

Edit the CMake options to fit your needs.

Ethercat Information

We had a student that elaborated some documentation of Ethercat. This documentation could be found here. Development.Ethercat