Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
embedded_systems:ethercat:start [2021-09-30 16:22] Urs Grafembedded_systems:ethercat:start [2024-01-25 14:03] (aktuell) Urs Graf
Zeile 13: Zeile 13:
     * [[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>
  
Zeile 35: Zeile 35:
   * Acyclic messages, so-called SDOs (service data objects), are not discussed in this documentation.   * Acyclic messages, so-called SDOs (service data objects), are not discussed in this documentation.
  
-At its lowest level, ethercat uses an ethernet frame to send EtherCAT datagrams containing commands to read or write data, or both ('r', 'w', 'rw'). Each Datagram consists of a header, its data and the **working counter**, which servers as a status indicator or checksum. Depending on the operation, the counter is either not incremented at all (+0), by 1, 2 or 3, if data was read, written or both. (TODO: which is read and which is write?)+At its lowest level, ethercat uses an ethernet frame to send EtherCAT datagrams containing commands to read or write data, or both ('r', 'w', 'rw'). Each Datagram consists of a header, its data and the **working counter**, which servers as a status indicator or checksum. Depending on the operation, the counter is either not incremented at all (+0), by 1, 2 or 3, if data was read, written or both.
  
 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**.
Zeile 62: Zeile 62:
 ===== Recommended Workflow ===== ===== Recommended Workflow =====
 In this example workflow a Linux based master with Acontis stack and EEROS is used.  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]]
Zeile 69: Zeile 67:
   - [[embedded_systems:ethercat:test_and_tune_rt|Test and tune real-time performance of the Linux master]]   - [[embedded_systems:ethercat:test_and_tune_rt|Test and tune real-time performance of the Linux master]]
   - [[embedded_systems:ethercat:create_eni_file|Create ENI file]]   - [[embedded_systems:ethercat:create_eni_file|Create ENI file]]
-  - [[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 (ecmaster)]]
   - [[embedded_systems:ethercat:test_acontis_stack|Test the installed stack]]   - [[embedded_systems:ethercat:test_acontis_stack|Test the installed stack]]
   - Get the [[https://gitlab.ost.ch/tech/inf/public/ecmasterlib|ecmasterlib]], build, and install, see [[embedded_systems:ethercat:ecmasterlib|ecmasterlib]]   - Get the [[https://gitlab.ost.ch/tech/inf/public/ecmasterlib|ecmasterlib]], build, and install, see [[embedded_systems:ethercat:ecmasterlib|ecmasterlib]]
   - Test the examples packed with [[https://gitlab.ost.ch/tech/inf/public/ecmasterlib|ecmasterlib]]   - Test the examples packed with [[https://gitlab.ost.ch/tech/inf/public/ecmasterlib|ecmasterlib]]
   - [[embedded_systems:ethercat:use_with_eeros|Use with EEROS]]   - [[embedded_systems:ethercat:use_with_eeros|Use with EEROS]]
-  - Full example with [[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]]+===== Workflow with Yocto ===== 
 +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-ost-ethercat|meta-ost-ethercat]] together with information about acquired licenses. This repository must be private as it contains the licensed runtime libraries. \\ 
 +The recipes therein  
 +  * build and install the kernel module 
 +  * install the current version of the ecmaster 
 +  * build and install the ecmasterlib 
  
  
Zeile 93: Zeile 88:
  
 ===== 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]].