Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
embedded_systems:ethercat:ethercatinterface [2019-03-05 15:41]
Gehrig Marcel
embedded_systems:ethercat:ethercatinterface [2019-05-21 08:50] (aktuell)
Gehrig Marcel
Zeile 5: Zeile 5:
 The //"​ecmasterilb"//​ and //"​EtherCatInterface"//​ offer a relative easy way to use EtherCAT with EEROS or in standalone project. The //"​ecmasterilb"//​ and //"​EtherCatInterface"//​ offer a relative easy way to use EtherCAT with EEROS or in standalone project.
-  * //"​ecmasterlib"//​ offers the low level interface to the [[https://www.acontis.com/en/ecmaster.html ​Acontis stack (class A)]]. It is based on the demo application //"​EcMasterDemoDC"//​ from Acontis//"​ecmasterlib"//​ starts ​the Acontis ​stack and runs all threads needed by the stack+  * **EEROS**: The robotic framework 
-  //"​EtherCatInterfaceBase"//​ is the base interface ​to //"ecmasterlib"//. It is inherited by all EtherCatInterfaces. +  * **EtherCAT stack**: The EtherCAT stack from Acontis. Detailed describtion ​[[https://wiki.ntb.ch/infoportal/embedded_systems/​ethercat/​understanding_acontis ​here]] 
-  * //"​EtherCatInterfaceElmo"​// interface ​specific ​for [[https://​www.elmomc.com/​product/​gold-twitter/ | Gold Twitter]] drives from ElmoMCOther drive (i.e. Maxon Maxpos 50/5) need a different interface. You may want to copy and adapt //"​EtherCatInterfaceElmo"//​ for your drive.+  * **ecmasterlib**:​ This library provides an easy interface to the EtherCAT stackThe library initializes ​the stack and takes over the periodic sending and receiving of the bus dataIt provides the following interfaces: 
 +    **[[embedded_systems:​ethercat:​ethercatinterface:​EtherCATInterfaceBase]]**:​ Basic interface ​for //​ecmasterlib//​ 
 +    **[[embedded_systems:​ethercatinterface:​EtherCATInterfaceElmo]]**:​ Based on //EtherCATInterfaceBase//. An interface ​designed ​for Elmo drivesYou may need to implement your own interface for different drives. 
 +    * **EtherCATInterfaceElmo_config** 
 +  * **getDrivesBlock**:​ EEROS-block in control systemI has a signal output for every PDO input value (i.e. encoder values). You may need to modify this block in your application. 
 +  * **setDrivesBlock**:​ EEROS-block in control system. I has signal input for every PDO output value (i.e. setTorque). You may need to modify this block in your application.
-  * [[.:​ethercatinterface:​understanding_ethercatinterface | Understanding ​EtherCatInterface]] +[[embedded_systems:​ethercat:​ethercatinterface:​understanding_ethercatinterface|Understanding ​EtherCATInterface and ecmasterlib]] 
-  * [[.:​ethercatinterface:​using_ethercatinterface | Using EtherCatInterface with EEROS or in user application]] + 
-  * [[.:​ethercatinterface:​writing_new_ethercatinterface | Writing a new interface for a new EtherCAT slave]]+
 +===== Installation =====
 +==== Install EtherCAT ====
 +First, follow the recomended worklfow in 
 + ​[[https://​wiki.ntb.ch/​infoportal/​embedded_systems/​ethercat/​start | this tutorial]] on how to install EtherCAT on your system and how to run a demo application without EEROS.
 +If the demo application runs successfully,​ install //​ecmasterlib//​.
 +==== Install ecmasterlib ====
 +Once the EtherCAT stack has been installed and the demo application is running, the //​ecmasterlib//​ can be installed.
 +Clone, build and install //​ecmasterlib//​
 +TODO:​(URL) ​
 +$ cd path/​to/​working/​directory
 +$ git clone url-to-ecmasterlib
 +$ cd ecmasterlib
 +$ mkdir build-x86-64
 +$ cd build-x86-64
 +$ cmake -DCMAKE_INSTALL_PREFIX=/​absolute/​path/​to/​working/​directory/​install-x86-64 ..
 +$ make
 +$ make install
 +==== Install EEROS ====
 +Install EEROS as described in [[http://​wiki.eeros.org/​getting_started/​compile_eeros|this tutorial]], but use the command line option ''​-DUSE_ETHERCAT=TRUE''​ when calling cmake.
 +cmake -DCMAKE_INSTALL_PREFIX=/​absolute/​path/​to/​working/​directory/​install-x86-64 -DUSE_ETHERCAT=TRUE ..
 +===== Necessary adaptions =====
 +==== Overview ====
 +The components //​EtherCATInterfaceElmo_config//,​ //​getDrivesBlock//​ and //​setDrivesBlock//​ need to be adjusted, if you change the variables, which are transmitted via PDOs (periodic sent/​received messages by the EtherCAT bus).
 +These components must also be adapted when creating a new EEROS application.
 ===== Attachment ===== ===== Attachment =====
 {{:​embedded_systems:​ethercat:​diagram_ethercatinterface.rar|Download diagram}} {{:​embedded_systems:​ethercat:​diagram_ethercatinterface.rar|Download diagram}}