ecmasterlib: This library provides an easy interface to the EtherCAT stack. The library initializes the stack and takes over the periodic sending and receiving of the data on the bus. It provides the following basic interfaces
Elmo.hpp: An interface for Elmo drives
Beckhoff/EL1008.hpp: An interface for digital input terminal
Beckhoff/EL2008.hpp: An interface for digital output terminal
Beckhoff/EL3004.hpp: An interface for analog input terminal
Beckhoff/EL4004.hpp: An interface for analog output terminal
The devices only work with the same PDO configuration/Eni file. If different PDO's are used, a new interface must be implemented.
You may need to implement your own interfaces for other drives and terminals.
Installation
Once the EtherCAT stack has been installed and the demo application is running, theecmasterlibcan be installed.
cd path/to/working/directory
git clone https://gitlab.ost.ch/tech/inf/public/ecmasterlib
cd ecmasterlib
mkdir externalLib
cp ''<classB_path>''/SDK/LIB/Linux/x64/libAtemRasSrv.a externalLib
cp ''<classB_path>''/SDK/LIB/Linux/x64/libEcMaster.a externalLib
mkdir build-x86-64
cd build-x86-64
cmake -DCMAKE_INSTALL_PREFIX=/absolute/path/to/working/directory/install-x86-64 ..
make
make install
Functionality
The examples show how to use the interfaces, e.g.
ecmasterlib::device::beckhoff::EL1008 inputs{};
auto &stack = ecmasterlib::EcMasterlibMain::createInstance(argc, argv, inputs);
std::cout << inputs[0] << std::endl; // reads first digital input channel
You create an interface instance which must be passed to the EtherCAT stack. See the examples withinecmasterlib. Elmo drives could be used as follows