Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
embedded_systems:ethercat:ethercatinterface:understanding_ethercatinterface [2019-03-05 15:41] – angelegt mgehrig2embedded_systems:ethercat:ethercatinterface:understanding_ethercatinterface [2019-04-16 10:53] mgehrig2
Zeile 8: Zeile 8:
 The receive and send buffers of //"ecmasterlib"// are byte arrays (''uint8_t* inBuffer; uint8_t* outBuffer;'') which are the same size as the PDOs. The receive and send buffers of //"ecmasterlib"// are byte arrays (''uint8_t* inBuffer; uint8_t* outBuffer;'') which are the same size as the PDOs.
  
-The //"ecmasterlib"// also provides a condition variable (''std::condition_variable cv;'') to synchronize the user application.+The //"ecmasterlib"// also provides a condition variable (''std::condition_variable cv;'') to synchronize the user application (i.e. EEROS).
  
 When an //"ecmasterlib"// object is created, an instance (monotonic) is created. When an //"ecmasterlib"// object is created, an instance (monotonic) is created.
Zeile 31: Zeile 31:
  
 The //"EtherCatInterfaceElmo.hpp"// declares all methods of the interface. The //"EtherCatInterfaceElmo.hpp"// declares all methods of the interface.
-The low level methods are at the bottom of the page.+The low level methods ('ll_'-prefix) are at the bottom of the page.
  
 These low level methods read and write individual data objects to/from the stack. These low level methods read and write individual data objects to/from the stack.
Zeile 46: Zeile 46:
 Methods in the interface must never be **blocking**. Methods in the interface must never be **blocking**.
  
-All advanced functions can take several cycles.+Some advanced functions may take several cycles.
 They are only completed when they return ''true''. They are only completed when they return ''true''.
 These methods must be called again in each cycle until they return ''true''. These methods must be called again in each cycle until they return ''true''.
 +
 +==== EtherCatInterfaceElmo_config.hpp ====
 +This is configuration file has do be adapted depending on the EtherCAT network.
 +
 +The most important part of this file is the offset definition of all PDO offset.
 +Before you start your application, you have to define all PDO offsets of your network.
 +
 +Be aware that EtherCATInterface assumes that all drives send the identical variables via PDO.
 +With the current implementation it is not possible to send different variables for different drives.
 +
 +If a variable is not available, the offset is set to '-1'.
 +The methods which would use a unavailable variable will throw an error if called.
 +