EtherCAT Master Stack

Similar documents
Application C/C++ Master Core. Class A or Class B. Windows (32/64 Bit) Linux (32/64 Bit) Windows CE/EC. OnTime RTOS-32

EtherCAT Product Family

Master Classes. Document: ETG.1500 D (R) Nomenclature: ETG-Number ETG.1500 D (Directive) Version Created by:

How to implement an EtherCAT Slave Device

EtherCAT Slave. Protocol API V Hilscher Gesellschaft für Systemautomation mbh

EC-Master EtherCAT Master Stack

Documentation EtherCAT Library for LabVIEW 2.9

EtherCAT Master. Dipl.-Ing. (FH) Florian Pose. EPICS Collaboration Meeting, Lund May 25th, Ingenieurgemeinschaft IgH. EtherLab s Open-Source

Multi-Axis Position Control by EtherCAT Real-time Networking

Documentation for. TwinSAFE User. Tool to modify the User Administration of a TwinSAFE Logic. Version: Date:

EtherCAT Master Cross Platform Stack Application Developers Manual to Product P.4500.xx / P.4501.xx / P

Modular Device Profile

Positioning Controllers. Communication Guide. Document ID: rel4896

EtherCAT Introduction

Accurate Synchronization of EtherCAT Systems Using Distributed Clocks

EtherCAT Product Family

VIPA Software. SW SW310S1LA V Software manual. HB142 SW SW310S1LA V en SPEED7 EtherCAT Manager - SW310S1LA

EtherCAT : Errata for Industrial SDK

Functional Principle and the resulting Benefits.

EtherCAT Product Family

Application Note FC1100/FC1121 (EtherCAT Slave Card)

IgH Master Documentation

Fieldbus BC (CANopen), BP (PROFIBUS DP), EH (EtherCAT), EW (POWERLINK), EI (EtherNet/IP), EP (PROFINET IRT)

STF-EtherCAT User Manual

Application Note FC1100/FC1121 (EtherCAT Slave Card)

EtherCAT User Manual. For SS EtherCAT

EtherCAT Master V3. Protocol API. V3.0.x.x. Hilscher Gesellschaft für Systemautomation mbh

Closed-loop Delfino Control Systems: Multiple Industrial Protocol Support using the AMIC110 Sitara Processor

EtherCAT User Manual. For STF EtherCAT

EtherCAT : Errata for Industrial SDK

C x Hexapod Motion Controller

Application Story EtherCAT Master Controller in Factory Automation

Diagnostics with EtherCAT Part 1

The Myricom ARC Series with DBL

Platinum Maestro Multi Axis Control. The Ultimate Machine Motion Controller

XMC4800 EtherCAT APP SSC Slave Example. Getting Started V3.0

Welcome to the Future of Industrial Communication. Introducing the netx Family of Controllers by Hilscher

Hexapod Motion Controller with EtherCAT

AFS60 EtherCAT AFM60 EtherCAT

INTERNATIONAL STANDARD

EtherCAT the Ethernet Fieldbus

The Development of CompoNet Gateway with Common Network Interface

Commissioning the 9400 Highline TA CiA402 with EtherCAT and Beckhoff NC

Industrial Ethernet Comparison for Motion Control Applications

Manual. TC3 EtherCAT Simulation. TwinCAT 3. Version: Date: Order No.: TE1111

ABSOLUTE ENCODER MEM-BUS. Instruction Manual

Anybus CompactCom 40. EtherCAT NETWORK GUIDE SCM EN 1.8

KHB EN.Cb> Ä.Cb>ä. Communication Manual. Servo Drives K. EtherCAT

DELTA ELECTRICS, INC.

Bye bye protocol stacks

Chapter 2 Computer-System Structure

Communications Manual

Mike Anderson. TCP/IP in Embedded Systems. CTO/Chief Scientist The PTR Group, Inc.


INTERNATIONAL STANDARD

AN100 v1.4. EtherCAT network synchronization. Distributed clocks

CANopen Slave. Protocol API V Hilscher Gesellschaft für Systemautomation mbh

ReconOS: An RTOS Supporting Hardware and Software Threads

Common Computer-System and OS Structures

PHOENIX CONTACT GmbH & Co. KG

EtherCAT the versatile high speed Ethernet Fieldbus

Advanced Computer Networks. End Host Optimization

XMC4800 EtherCAT APP SSC Firmware Update Slave Example. Getting Started Version 3.0

I/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13

Connection Guide HMS Industrial Networks

The CoreConnect Bus Architecture

EtherCAT System Documentation. Version: Date:

Intelop. *As new IP blocks become available, please contact the factory for the latest updated info.

EtherCAT SoE Interface User Manual

IEEE1588 Frequently Asked Questions (FAQs)

M3-61B DeviceNet Slave Module. M3-61B DeviceNet Slave Module CONTROL TECHNOLOGY CORPORATION

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann

DTM for Hilscher EtherCAT Master Device

KINGSTAR 3.5. Product Release Notice. General Availability Release Date. Product Overview. KINGSTAR Soft Motion. New Features.

Nitro240/260 CPU Board Scalable 680x0 VME board for I/O intensive applications

S7-400, M7-400 Programmable Controllers

DSP/BIOS Kernel Scalable, Real-Time Kernel TM. for TMS320 DSPs. Product Bulletin

PROFIBUS Technology Products

backbone for automotive testing

Communication Patterns in Safety Critical Systems for ADAS & Autonomous Vehicles Thorsten Wilmer Tech AD Berlin, 5. March 2018

Implementing Industrial Ethernet Field Device Functionality by Using FPGAs

Options for ABB drives, converters and inverters. User s manual FECA-01 EtherCAT adapter module

PCI to SH-3 AN Hitachi SH3 to PCI bus

Safety module SY6 Manual

Mittuniversitetet PROFIBUS PA

EtherCAT User Guide Revision 00 December 21, 2015

Interrupt Swizzling Solution for Intel 5000 Chipset Series based Platforms

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC

KAS Network Interface Overview. March 30, 2017

»RealTime Suite«Real-time extension for Windows Automation with EtherCAT Image processing in real-time

Drive Technology \ Drive Automation \ System Integration \ Services. Manual. Communication Interface FSE24B EtherCAT For MOVITRAC B

Documentation EL6695. EtherCAT Bridge Terminal. Version: Date:

Frequently Asked Questions

Celeron EPIC Computer with GUI and Dual Ethernet SBC4685

Lenovo ThinkSystem NE Release Notes. For Lenovo Cloud Network Operating System 10.7

Documentation. EL5101-xxxx. Incremental Encoder Interface. Version: Date:

UNIGATE UNIGATE CM CM GATEWAY SERIES. CAN/CANopen TO ALL FIELDBUSES AND INDUSTRIAL ETHERNET. Easy installation. Norm compliant.

EtherCAT CiA402 Profile Interface User Manual

AN4820 Application note

Drive Technology \ Drive Automation \ System Integration \ Services. Manual. Communication Interface FSE24B EtherCAT for MOVITRAC B

Transcription:

EtherCAT Master Stack Technical Presentation V1.4 1

Features according to ETG.1500 Master Classes V1.4 2

Master Core Features (1) Feature name Basic Features Service Commands, IRQ field in datagram, Slaves with Device Emulation, EtherCAT State Machine, Error Handling, EtherCAT Frame Types Sophisticated error detection and diagnosis: Lost cable connection, missing/wrong, slave response, slave operation monitoring, Ethernet link layer debug messages, > 200 error codes Master Class A Master Class B VLAN -- Process Data Exchange Cyclic PDO (High performance up to 50 us cycle time), Multiple Tasks Network Configuration Online scanning, Reading ENI, Compare Network configuration, Explicit Device identification, Station Alias Addressing, Read and Write to EEPROM V1.4 3

Master Core Features (2) Feature name Master Class A Master Class B Mailbox Support State change check: Logical and physical polling Resilient Layer (repeating mailbox communication) Multiple mailbox channels (multiple protocols in parallel) CoE Mailbox Protocol SDO Up- and Download, Normal, Expedited and Segmented Transfer, SDO Info service (Read Object Dictionary), Complete Access, Emergency Message EoE Mailbox Protocol Services for tunneling Ethernet frames. includes all specified EoE services Virtual Switch EoE Endpoint interface to Operating Systems FP -- FoE Mailbox Protocol FoE Services -- Firmware Up- and Download -- Boot State -- V1.4 4

Master Core Features (3) Feature name Master Class A Master Class B SoE Mailbox Protocol SoE Services AoE Mailbox Protocol AoE Services -- VoE Mailbox Protocol VoE Services -- Synchronization with Distributed Clock (DC) Initial propagation delay measurement, Offset compensation, Set start time, Continuous drift compensation, Sync window monitoring -- Master must synchronize itself on the reference clock. -- DC master synchronization (DCM). Slave-to-Slave Communication via Master, required for safety devices V1.4 5

EtherCAT over Ethernet (EoE) V1.4 6

Configure drives connected to the EtherCAT network without additional cables User Input Third Party drive tool can be used in parallel to standard application TCP/IP Parameters + Diagnosis Tunneling Ethernet traffic through EtherCAT network (EoE protocol) V1.4 7

EoE Endpoint and network driver on Real-Time OS EtherCAT Application EoE Frame Raw Access OS Network Stack IP-Address 192.168.51.1 XML Parser Process Data Image Mailbox Services EoE Endpoint API Network Driver req. resp. cyclic commands acyclic commands Net ID 192.168.51.x EtherCAT Master Core Virtual Ethernet Switch IP-Address 192.168.51.5 IP-Address 192.168.51.6 OS Layer EC Link Layer Standard Ethernet MAC V1.4 8

Windows Network Driver for EoE Endpoint with RAS (2) EoE TAP Adapter RAS Client (TCP) Third Party Tool EC-EoE Gateway EoE Endpoint API EoE Endpoint API supported by RAS-Client Windows EoE TAP Adapter using Endpoint API and creates a virtual network interface EC-EoE Gateway enables virtual network Third Party tool can use TCP/IP to communicate with slave 10.10.0.106 IP-Address 192.168.51.1 TCP/IP EtherCAT Application RAS Server Net ID 192.168.51.x IP-Address 192.168.51.5 Parameters Diagnosis Virtual Ethernet Switch 10.10.0.101 Real-Time Kernel/OS V1.4 9

EC-EoE-Gateway Select TAP adapter used Select Master to connect to Start EoE Gateway connects to remote master and enables the TAP adapter IP-connection to remote system is available Any tool can then use slave devices which support EoE V1.4 10

EtherCAT Network Timing Interaction between application and EtherCAT network traffic V1.4 11

EtherCAT Master and application on a single CPU Control with Fieldbus card Scanner-Karte, DP RAM CPU BUS CPU RAM Control task memcopy Classic solution with cpu-powered fieldbus card: Fieldbus software and application tasks running on different CPUs Real-Time is guaranteed by fieldbus card Control with EtherCAT EtherCAT Master as software solution: MAC BUS CPU DMA RAM Control task EtherCAT Master SW No extra CPU required. EC-Master consumes low CPU time. Master is integrated in control loop Real-Time OS or Real-Time Extension required for application and EtherCAT Master V1.4 12

EC-Master without internal tasks EtherCAT Master has no internal tasks: From the application side it looks like a driver, which is activated by calling some simple functions (Read, Write, Admin). Benefits: No synchronization issues between application and EtherCAT Master. Consistent process data without using any locks. The application decides, what shall be done at which time Cyclic part may run within Interrupt Service Routine (ISR) Easy to integrate V1.4 13

Cyclic jobs I EtherCAT Master: Refresh Inputs eusrjob_processallrxframes: Process all received frames O EtherCAT Master: Write Outputs eusrjob_sendallcycframes: Send cyclic frames MT EtherCAT Master: Administration eusrjob_mastertimer: Trigger master and slave state machines A EtherCAT Master: Send acyclic datagrams/commands eusrjob_sendacycframes: Transmit pending acyclic frame(s). App Application: Work on inputs and create output values V1.4 14

Cyclic and acyclic EtherCAT frames Cyclic frames: Contain process output and input data Distributed Clocks (DC): Contain datagram to distribute network time Typically sent by master in every cycle Defined by the configuration tool (which data to read and to write) Acyclic frames: Asynchronous, event triggered communication Mailbox communication (CoE, FoE, EoE) Status requests (e. g. read slave state information) Raw EtherCAT datagrams requested by application V1.4 15

Network Timing: Cyclic frames No interrupt from network controller Timer Interrupt Refresh Inputs Write Outputs Master Administration CPU I App. Task O MT Idle I App. Task O MT Idle I App. Task O MT Idle DMA Mem. NETW Cycle time, e.g. 1 ms EtherCAT Cycle V1.4 18

Network Timing: Cyclic and acyclic frames No interrupt from network controller Acyclic Send CPU I App. Task O MT AS Idle I App. Task O MT AS Idle I App. Task O MT AS Idle DMA Mem. NETW Cycle time, e.g. 1 ms EtherCAT Cycle Acyclic Frame V1.4 19

Feature Pack: Split Frame Processing Split I/O data processing into several application tasks Split processing of acyclic communication into a separate task P S MT A App Master: Refresh Inputs eusrjob_processrxframesbytaskid: Process received data related to a specific task ID Master: Write Outputs eusrjob_sendcycframesbytaskid: Send cyclic frames related to a specific task ID Master: Administration eusrjob_mastertimer: Trigger master and slave state machines Master: Send acyclic datagrams/commands eusrjob_sendacycframes: Transmit pending acyclic frame(s). Application: Work on inputs and create output values V1.4 20

Feature Pack: Split Frame Processing Network Timing: Split cyclic frame processing Timer Interrupt Refresh Inputs Task 0 Write Outputs Task 0,1 Write Outputs Task 0 Master Administration Task 0 P0 App 0 S0 S1 Idle P0 App 0 S0 MT Idle P0 App 0 S0 S1 Idle P0 App 0 S0 MT Idle Task 1 P1 App 1 P1 App 1 DMA NETW Cycle time, e.g. 1 ms Refresh Inputs Task 1 V1.4 21

Feature Pack: Split Frame Processing Network Timing: Split cyclic and acyclic frame processing Timer Interrupt Refresh Inp Task 0 Write Outputs Task 0,1 Write Outputs Task 0 Master Administration Acyclic Send Task 0 P0 App 0 S0 S1 Idle P0 App 0 S0 MT Idle P0 App 0 S0 AS Idle P0 App 0 S0 S1 Idle Task 1 P1 App 1 P1 Task Acyc AP App DMA NETW Cycle time, e.g. 1 ms Refresh Inp Task 1 Process acyclic V1.4 22

EtherCAT Synchronization V1.4 23

Network Timing: Cyclic Frames with DC Sync Signals No interrupt from network controller CPU I App. Task O MT Idle I App. Task O MT Idle I App. Task O MT Idle DMA Mem. BUS Slaves Sync0 Sync0 Sync0 Sync0 is a hardware signal on ESC V1.4 31

Distributed Clocks Master Sync: Master Shift Mode Master/Controller Time controlled by Reference Clock EtherCAT Frame Slave Task Task Without DCM Distance nearly constant Timer IRQ on Master DC Sync Event With DCM Master Shift: Timer IRQ on Master follows the DC Reference Clock The timer (reload value) on Master control system (Host) is adjusted. E. g., if the Host is to fast, increase the reload value for one tick and then switch back to the default value. Hardware interface layer for board adaptation (timer api) V1.4 32

Distributed Clocks Master Sync: Bus Shift Mode Reference Clock controlled by Master/Controller Time CPU I App. Task O MT Idle I App. Task O MT Idle I App. Task O MT Idle DMA Mem. NETW Slaves Contr. Set Value Frame Send Time Sync0 Frame Send Time Sync0 Bus Shift: DC Reference Clock follows the Controller Timer IRQ Adjust the Bus Time Register of the DC Reference Clock. The DC slaves converge to this time. Frame send time used for drift measurement (time is related to master timer) V1.4 33

Distributed Clocks Master Sync (Class A) DCM Bus Shift Mode Selection Criteria Criteria Bus Shift Mode Master Shift Mode Accuracy of SYNC Signals +/- 1000 nanoseconds +/- 20 nanoseconds Maximum acceptable drift between master and reference clock 600 ppm very precise timer in control system required no physical limitation Cyclic frame send time jitter recommended to be < 20% of the cycle time not critical if controller set value is set to minimum frame send time DCM Hardware Layer for master timer adjustment not required (available on ALL platforms) required (on some platforms not possible to adjust the timer) Multiple EtherCAT networks possible not possible Implementation effort low (fully integrated into master) fine tuning of controller parameters required V1.4 34

Network Timing: Sync Manager (SM) Synchronization With Interrupt from network controller Timer Interrupt Send Outputs Process Inputs NIC IRQ Master Administration CPU O I App. Task MT Idle O I App. Task MT O I App. Task MT DMA Mem. NETW Cycle Time, e.g. 1 ms EtherCAT Cycle Round Trip Time V1.4 35

Network Timing: Sync Manager (SM) Synchronization Alternative synchronization instead of using DC, much simpler to implement Drawback: slave delay time not compensated Drawback: slave timing related to master frame send time jitter minimum send time jitter is required send frames immediately after timer irq on master Immediate slave reaction on new data (update when frame is received) V1.4 36

Feature Pack: External Synchronization (1) The external synchronization feature pack allows the synchronization of two or more EtherCAT segments by a Bridge device, e. g. Beckhoff EL6695 The synchronization process is divided in two parts; DCM and DCX. DCM: Synchronize Master timer to slave. (MasterShift) DCX: Synchronize slaves to bridge device. (BusShift) V1.4 37

Feature Pack: External Synchronization (2) The Bridge has two EtherCAT connections. The primary port is connected to the primary segment; the secondary port is connected to the secondary segment. The Bridge provides an internal (primary port) and an external (secondary port) time stamp which is used by the Master to adjust the Ref-Clock. The Bridge device must support the External Synchronization Status PDO 0x10F4 see document ETG.1020 chapter 21.1.2 Synchronization by a Bridge device. During startup the two segments can be powered-on at different times. That means that there will be an absolute time difference between the two segments. V1.4 38

Performance Measurements V1.4 39

CPU load on different systems 7 Slaves: EK1100 + 2xEL2004 + 2xEL1004 + EL4132 + EK1110 Load: One cyclic frame (Size=579 Bytes) with 512 Bytes Process Data and mailbox transfer to EL4132 x86: Intel Atom 1600 MHz NIC: Realtek 8111 Windows CE 6.0 TI Sitara AM3359 720 MHz NIC: Internal without OS PowerPC e500v2 1200 MHz NIC: Realtek 8111 VxWorks Nr. EC-Master Funktion Avg µsec Max µsec Avg µsec Max µsec Avg µsec Max µsec 1 Process Inputs 2.4 7.2 8.7 20.5 5.1 7.8 2 Send Outputs 5.2 7.6 6.1 9.3 6.3 7.5 3 Administration 5.5 24.9 3.3 15.7 3.7 7.3 4 Send Acyclic Frame 0.9 4.4 0.6 8.0 1.1 5.1 Total CPU Time 14.0 44.1 18.7 53.5 16.2 27.7 V1.4 40

Round-Trip Time on different systems 7 Slaves: EK1100 + 2xEL2004 + 2xEL1004 + EL4132 + EK1110 Load: One cyclic frame (Size=579 Bytes) with 512 Bytes Process Data and mailbox transfer to EL4132 x86: Intel Atom 1100 MHz NIC: Realtek 8111 Windows CE 6.0 x86: Core2Quad 2400 MHz NIC: Intel Pro/1000 IntervalZero RTX PowerPC e500v2 1200 MHz NIC: Realtek 8111 VxWorks Nr. EC-Master Funktion Avg µsec Max µsec Avg µsec Max µsec Avg µsec Max µsec 1 Round-Trip (Out+Inp) 94.4 112.2 67.0 82.1 74.6 88.1 2 Administration 7.0 10.2 0.8 2.5 3.1 4.7 3 Send Acyclic Frame 1.5 6.4 1.1 3.6 1.1 5.1 V1.4 41

CPU load depending on number of slaves Device: IXXAT Econ 100, CPU: Xilinx Zynq SoC - Dual-Core Cortex-A9, 666 MHz Software: Linux with EC-Master V2.6.2, Link Layer GEM Number of Slaves 16 32 64 Network cycle time 250 usec 500 usec 1000 usec Payload 128 Bytes 256 Bytes 512 Bytes EC-Master Function Process Inputs [usec] 33.7 34.1 36.1 Send Outputs [usec] 17.0 17.9 18.8 Administration [usec] 13.8 21.0 49.4 Send Acyclic Frame [usec] 13.6 15.4 15.6 Total Time [usec] 78.1 88.4 119.9 CPU Load [percent] 31 % 18 % 12 % V1.4 42

Quality Assurance Success Stories V1.4 43

High Quality - Software Quality Assurance Source code management software, Configuration Management Automatic build process for all supported operating systems Well defined release process with regression tests Deep knowledge in various real-time OS Long term experience with real-time systems Acceptance test with integrated frame loss simulation Acceptance test with many different EtherCAT slaves EtherCAT conformance assurance Attendance in all ETG Technical Committee Meetings Plug Fests Active, Leading Member in several ETG Working Groups (e.g. EAP) Very good and close contacts to ETG, Beckhoff and Hilscher V1.4 44

Test Equipment - I/O Master systems: Different operating systems Different CPU architectures Different performance classes Slaves: Various manufacturers Digital/analog I/O Drives (Omron, Yaskawa) Safety (FSoE) devices In total about 300 slaves (not just in these racks) V1.4 45

Test Equipment - Drives Lenze Stateline: CoE, Distributed Clocks, ESC netx Beckhoff AX5000: SoE, Distributed Clocks, ESC ET1100 Pollmeier TrioDrive: CoE, Distributed Clocks, ESC10 V1.4 46

Test Equipment - Distributed Clocks V1.4 47

EtherCAT and GPL EC-Master on Linux V1.4 48

EtherCAT Licensing What is necessary to use EtherCAT? Member of the EtherCAT Technology Group (ETG) Recommended: Beckhoff ETHERCAT MASTER LICENSE AGREEMENT Whereas, Licensor is the owner of all intellectual property rights pertaining to the EtherCAT Technology, including but not limited to (a) the following German patent applications and patents: EP1590927, EP1789857, DE102004044764, DE102007017835 with corresponding applications or registrations in various other countries, and (b) the trademarks "EtherCAT and "Safety over EtherCAT", with applications or registrations in the European Community (CTM003122736, CTM006350029, CTM005460563) and corresponding registrations or applications in various other countries. Whereas, Licensee intends to create and/or sell or otherwise distribute a product incorporating the EtherCAT Technology; Whereas, Licensor is willing to permit Licensee to create and/or sell or otherwise distribute a product incorporating the EtherCAT Technology; Whereas, Licensee acknowledges Licensor s commercially reasonable efforts to keep the number of those EtherCAT Technology products in the market sold under the trade name EtherCAT and not being fully compatible with the then current version of the EtherCAT Technology at a minimum. V1.4 49

Linux and the GNU General Public License (GPL) The GPL is the first copyleft license for general use, which means that derived works can only be distributed under the same license terms. GPL: 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. http://www.gnu.org/licenses/gpl-2.0.html The Linux kernel is released under the GNU General Public License version 2. V1.4 50

What does this mean for EtherCAT? ETG web site: http://www.ethercat.org/en/faq.html#790 3.4 How about Open Source? EtherCAT technology itself is not Open Source. EtherCAT cannot be licensed in conjunction with ANY Open Source License! Backed by the standardization of EtherCAT by IEC, ISO and SEMI, access to EtherCAT technology is available to everyone to non-discriminatory terms. Additionally, Master Licenses are free of royalties. Maintenance and all further development of the technology is available to all users by membership within the ETG, the user group for EtherCAT technology. If you have questions regarding implementing or using EtherCAT in conjunction with shared source or open source systems please contact ETG headquarters or Beckhoff, the EtherCAT technology licensor. V1.4 51

EC-Master Architecture on Linux EtherCAT Application EtherCAT Master Core OS Linux EC Link Layer atemsys Optimized Real-Time Ethernet Driver with direct HW access Standard Ethernet MAC Grants direct HW access from User Space User Space Kernel Space V1.4 52