Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
embedded_systems:ethercat:ethercatinterface:understanding_ethercatinterface [2019-04-16 10:53] – mgehrig2 | embedded_systems:ethercat:ethercatinterface:understanding_ethercatinterface [2019-06-24 16:35] – graf | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== | + | ====== |
- | ===== ecmasterlib | + | ===== Summary |
The //" | The //" | ||
This method: | This method: | ||
Zeile 11: | Zeile 12: | ||
When an //" | When an //" | ||
- | The stack is started | + | The stack is started |
- | + | ||
- | + | ||
- | ===== 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. | + | |
- | Before 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 methods which would use a unavailable variable will throw an error if called. | ||