The name EtherLab stands for an open-source solution for automation and test purposes including Matlab/Simulink and EtherCAT support. Below is a short summary of what EtherLab is capable of:
- Realtime execution of multiple applications consisting of multiple tasks with signals and parameters.
- Accessing the applications' signals and parameters via TCP/IP. There is a generic C++ library called PdCom and many tools for visualisation, data logging, etc. available from here.
- Creation of realtime applications with a generic C-API.
- Creation of realtime applications using MATLAB/Simulink and the EtherLab blockset.
The EtherLab package can be subdivided into the components listed below:
- The realtime application core (represented by the Linux kernel module rt_appcore), that is responsible for the execution of the realtime applications. It manages the applications tasks, signals and parameters.
- The buddy process, acting as a userspace counterpart to the application core. It maintains internal representations of the loaded applications and is responsible for presenting signals and parameters via TCP/IP. Each application is accessible via an own TCP port.
- The EtherLab C-API, that is used to create realtime applications, basically consisting of tasks, signals and parameters. The C-API provides a generic way to describe applications using an EtherLab realtime application description XML file that is a source for the application's data structures and the appropriate information for the buddy process, that is necessary for presenting the data.
- The MATLAB/Simulink integration of EtherLab in terms of the etherlab_lib for Simulink (containing all necessary blocks) and the EtherLab target for the Real-Time Workshop, that is able to create EtherLab applications from Simulink models.
hg clone http://hg.code.sf.net/p/etherlab/code etherlab-code
Please note that the default branch is selected after cloning, which contains the PdServ/Preempt-RT version. For changing into another branch (for example stable-1.3 with the RTAI version) please use the following command:
hg update stable-1.3
The repository can also be browsed online.
|Version 2.1.0 (current)||2013-12-10|