Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| embedded_systems:ethercat:ethercatinterface:understanding_ethercatinterface [2019-04-16 10:31] – mgehrig2 | embedded_systems:ethercat:ethercatinterface:understanding_ethercatinterface [2019-06-24 16:49] (aktuell) – gelöscht graf | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Understanding EtherCatInterface ====== | ||
| - | ===== ecmasterlib ===== | ||
| - | The //" | ||
| - | This method: | ||
| - | * Copies the received data from the stack into the receive buffer of //" | ||
| - | * Copies the data to be sent from the send buffer of //" | ||
| - | |||
| - | The receive and send buffers of //" | ||
| - | |||
| - | The //" | ||
| - | |||
| - | When an //" | ||
| - | The stack is started exactly as in the //" | ||
| - | |||
| - | |||
| - | ===== EtherCatInterfaceBase ===== | ||
| - | This is the base class for all interface classes. | ||
| - | It mainly provides '' | ||
| - | The get methods calculate the correct offset of the receive buffer of the //" | ||
| - | The set methods also calculate the offset and write the data into the transmit buffer of //" | ||
| - | |||
| - | ==== EtherCatInterfaceBase_config.hpp ==== | ||
| - | |||
| - | |||
| - | ===== EtherCatInterfaceElmo ===== | ||
| - | The //" | ||
| - | It consists of the following components: | ||
| - | * EtherCatInterfaceElmo.hpp | ||
| - | * EtherCatInterfaceElmo.cpp | ||
| - | * EtherCatInterfaceElmo_config.hpp | ||
| - | |||
| - | The //" | ||
| - | The low level methods (' | ||
| - | |||
| - | These low level methods read and write individual data objects to/from the stack. | ||
| - | Which objects are available and their file type must be read from the documentation of the manufacturer of the EtherCAT slave. | ||
| - | Each data object has its own method. | ||
| - | |||
| - | Where a data object is located in the PDO depends on the ENI file used. | ||
| - | These offsets must be read from the ENI file and configured in //" | ||
| - | |||
| - | All methods above the low level methods are optional. | ||
| - | They contain a certain degree of intelligence and simplify the interface to the user application. | ||
| - | |||
| - | ==== Blocking functions ==== | ||
| - | Methods in the interface must never be **blocking**. | ||
| - | |||
| - | Some advanced functions may take several cycles. | ||
| - | They are only completed when they return '' | ||
| - | These methods must be called again in each cycle until they return '' | ||
| - | |||
| - | ==== 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. | ||
| - | Befor you start your application, | ||
| - | |||
| - | 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 ' | ||
| - | The methodes which would use a unavailable variable will throw an error if called. | ||