Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision |
embedded_systems:ethercat:start [2021-09-30 09:04] – Urs Graf | embedded_systems:ethercat:start [2021-11-26 08:44] – Urs Graf |
---|
* [[embedded_systems:ethercat:understanding_ethercat:understanding_sync_with_dc | Understanding Synchronisation with DC]] | * [[embedded_systems:ethercat:understanding_ethercat:understanding_sync_with_dc | Understanding Synchronisation with DC]] |
* [[embedded_systems:ethercat:understanding_acontis|The Acontis EtherCAT Stack]] | * [[embedded_systems:ethercat:understanding_acontis|The Acontis EtherCAT Stack]] |
* [[embedded_systems:ethercat:EtherCatInterface | ecmasterlib and EtherCATInterface]] | * [[embedded_systems:ethercat:ecmasterlib | ecmasterlib ]] |
</box> | </box> |
| |
| |
The data that is actually read or written is accessed using a 4Gbit address space using byte.bit addressing. EtherCAT technically bit alignment, though in practice most things seem to be byte aligned. This address space is called the **Process Data Image** or **PDI**. | The data that is actually read or written is accessed using a 4Gbit address space using byte.bit addressing. EtherCAT technically bit alignment, though in practice most things seem to be byte aligned. This address space is called the **Process Data Image** or **PDI**. |
Object living in that space are often referred to as **Process Data Objects** or **PDO**s, though ot's not entirely clear, whether that strictly refers to PDOs in the sense of [[ ..:protocols:canopen:start | CANOpen ]] or is to be understood as a separate term. | Object living in that space are often referred to as **Process Data Objects** or **PDO**s, though it's not entirely clear, whether that strictly refers to PDOs in the sense of [[ ..:protocols:canopen:start | CANOpen ]] or is to be understood as a separate term. |
| |
{{:embedded_systems:ethercat:ethercat.png|}} | {{:embedded_systems:ethercat:ethercat.png?600|}} |
| |
Each Slave Device can be configured to output some of its PDOs on the EtherCAT bus. This is done through the ENI file. | Each Slave Device can be configured to output some of its PDOs on the EtherCAT bus. This is done through the ENI file. |
| |
===== Recommended Workflow ===== | ===== Recommended Workflow ===== |
In this example workflow a Linux based master with Acontis stack and EEROS is used. We build our system with Yocto. The necessary recipes and resources can be found in the private repository [[https://gitlab.ost.ch/tech/inf/projects/yocto/meta-ntb-ethercat|meta-ntb-ethercat]] together with information about acquired licenses. This repository must be private as it contains the licensed runtime libraries. | In this example workflow a Linux based master with Acontis stack and EEROS is used. |
| |
| We build our system with Yocto. The necessary recipes and resources can be found in the private repository [[https://gitlab.ost.ch/tech/inf/projects/yocto/meta-ntb-ethercat|meta-ntb-ethercat]] together with information about acquired licenses. This repository must be private as it contains the licensed runtime libraries. |
| |
- [[embedded_systems:ethercat:choose_linux_master|Choose Linux master]] | - [[embedded_systems:ethercat:choose_linux_master|Choose Linux master]] |
- [[embedded_systems:ethercat:install_acontis_stack|Install the Acontis stack on the Linux master]] | - [[embedded_systems:ethercat:install_acontis_stack|Install the Acontis stack on the Linux master]] |
- [[embedded_systems:ethercat:test_acontis_stack|Test the installed stack]] | - [[embedded_systems:ethercat:test_acontis_stack|Test the installed stack]] |
- [[http://wiki.eeros.org/getting_started/install|Download and install]] [[http://eeros.org/|EEROS]] | - Get the [[https://gitlab.ost.ch/tech/inf/public/ecmasterlib|ecmasterlib]], build, and install, see [[embedded_systems:ethercat:ecmasterlib|ecmasterlib]] |
- Get the [[https://github.com/ntb-ch/ecmasterlib|ecmasterlib ]], build, and install, see [[embedded_systems:ethercat:ethercatinterface|ecmasterlib and EtherCATInterface]] | - Test the examples packed with [[https://gitlab.ost.ch/tech/inf/public/ecmasterlib|ecmasterlib]] |
- Get the [[https://github.com/ntb-ch/etherCATInterfaceElmo | EtherCATInterfaceElmo]], build, and install, see [[embedded_systems:ethercat:ethercatinterface|ecmasterlib and EtherCATInterface]]. | - [[embedded_systems:ethercat:use_with_eeros|Use with EEROS]] |
- Full example with NTB [[embedded_systems:ethercat:teststand|Teststand]]. | |
IMPORTANT [[embedded_systems:ethercat:ethercatinterface|ecmasterlib and EtherCATInterface]] contains two examples (standalone and EEROS application). See [[embedded_systems:ethercat:teststand|Teststand]] how to build them. | |
| |
===== ecmasterlib, EtherCATInterface and EEROS ===== | |
The ''ecmasterlib'' and ''EtherCATInterface'' offer a relative easy way to use EtherCAT with EEROS or in a 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. ''EtherCATInterfaceElmo'' interface is specific for [[https://www.elmomc.com/product/gold-twitter/ | Gold Twitter]] drives from ElmoMC. Other drives (i.e. Maxon Maxpos 50/5) need a different interface. | |
You may copy and adapt ''EtherCATInterfaceElmo'' for your drive type. | |
| |
[[https://github.com/eeros-project/eeros-framework|EEROS]] > ''[[https://github.com/ntb-ch/etherCATInterfaceElmo | EtherCATInterfaceElmo]]'' > ''[[https://github.com/ntb-ch/ecmasterlib | ecmasterlib & EtherCATInterfaceBase]]'' > [[https://www.acontis.com/de/ecmaster.html | Acontis Stack]] | |
| |
[[embedded_systems:ethercat:EtherCatInterface | Detailed description]] | |
| |
===== Troubleshooting ===== | ===== Troubleshooting ===== |
| |
===== Teststand ===== | ===== Teststand ===== |
The "EC-Teststand" (EtherCAT test setup) is a setup with 2 Elmo Drives, 2 motors, powersupply and PC with RT-Linux and the following software: | The "EC-Teststand" (EtherCAT test setup) is a setup with 2 Elmo Drives, 2 motors, powersupply and a Beckhoff PLC CX2020. The Teststand is meant to test e.g. the installation, the software or the created eni-files. |
* Acontis EtherCAT stack | |
* EEROS | |
* ecmasterlib | |
* EtherCATInterfaceElmo including test application | |
| |
More detailed description [[embedded_systems:ethercat:teststand | here]]. | More detailed description [[embedded_systems:ethercat:teststand | here]]. |