GBEM is based on the Open EtherCAT Society's SOEM (Simple Open EtherCAT master) project.
GBEM provides a framework to control EtherCAT slaves. It allows you to easily configure a machine (a combination of EtherCAT IO devices and servo and stepper drives) and provides a simple interface through which you can interact with that machine without worrying about the nitty-gritty details of how EtherCAT drives and IO devices work.
- A CiA 402 based state machine framework to control machines and drives
- A configuration structure in which you can define the layout of your EtherCAT network (i.e. the structure of your machine)
- An ability to write your own PLC style functions in the C programming language to control EtherCAT IO
- A simple shared memory interface over which drives and IO can be controlled from your web stack high-level control application
- A signal, synchronous with the fieldbus bus cycle, to trigger the cyclic execution of higher level control functions
- Real-time execution - the lowest achievable cycle times depends on hardware. Typically, 0.5ms, 1ms or 4ms cycles are used
- A code based suitable for use on both Linux and microcontroller targets
- Open Source code base
mkdir build
cd build
cmake ..
make
GBEM needs to have a machine configured. A machine defines the EtherCAT slaves that make up the machine.
See Configuring machines for details on how to do this.
To scan for slaves on an EtherCAT network using network interface eth0
:
./GBEM -n -i eth0
To run cyclically using network interface eth0
:
./GBEM -c -i eth0
For SOEM documentation see the SOEM github repository.
For the glowbuzzer framework around SOEM (GBEM) see GBEM overivew on the glowbuzzer website.