1. Introduction
1.1. What is EtherCAT?
EtherCAT® (Ethernet for Control Automation Technology) is a high-performance Ethernet Fieldbus technology that provides a reliable, efficient, and cost-effective communication solution for a wide variety of industrial automation applications. Originally developed as an open technology by Beckhoff Automation in 2003, and subsequently turned over to an independent organization known as the EtherCAT Technology Group, EtherCAT has since become one of the most widely used industrial Ethernet protocols in the world.
See also
A comprehensive introduction to EtherCAT technology can be found at https://www.acontis.com/en/what-is-ethercat-communication-protocol.html.
1.2. The EC-Master - Features
Feature ID: Unique identification used in ETG.1500 EtherCAT Master Classes
- 1(1,2,3)
: According to ETG.1500 Master Classes not mandatory for Class A
- 2(1,2,3,4,5,6,7,8,9)
: According to ETG.1500 Master Classes not mandatory for Class B
Feature name |
Short description |
EC-Master Class A |
EC-Master Class B |
Feature ID |
---|---|---|---|---|
Basic Features |
||||
Service Commands |
Support of all commands |
✅ |
✅ |
101 |
IRQ field in datagram |
Use IRQ information from Slave in datagram header |
✅ |
✅ |
102 |
Slaves with Device Emulation |
Support Slaves with and without application controller |
✅ |
✅ |
103 |
EtherCAT State Machine |
Support of ESM special behavior |
✅ |
✅ |
104 |
Error Handling |
Checking of network or slave errors, e.g. Working Counter |
✅ |
✅ |
105 |
VLAN |
Support VLAN Tagging |
✅ |
106 |
|
EtherCAT Frame Types |
Support EtherCAT Frames |
✅ |
✅ |
107 |
UDP Frame Types |
Support UDP Frames |
108 |
||
Process Data Exchange |
||||
Cyclic PDO |
Cyclic process data exchange |
✅ |
✅ |
201 |
Multiple Tasks |
Different cycle tasks Multiple update rates for PDO |
✅ |
✅ |
202 |
Frame repetition |
Send cyclic frames multiple times to increase immunity |
203 |
||
Network Configuration |
||||
Online scanning |
Network configuration functionality included in EtherCAT Master |
✅ |
✅ |
301 |
Reading ENI |
Network Configuration taken from ENI file |
✅ |
✅ |
301 |
Compare Network configuration |
Compare configured and existing network configuration during boot-up |
✅ |
✅ |
302 |
Explicit Device identification |
Identification used for Hot Connect and prevention against cable swapping |
✅ |
✅ |
303 |
Station Alias Addressing |
Support configured station alias in slave, i.e. enable 2nd Address and use it |
✅ |
✅ |
304 |
Access to EEPROM |
Support routines to access EEPROM via ESC register |
✅ |
✅ |
305 |
Mailbox Support |
||||
Support Mailbox |
Main functionality for mailbox transfer |
✅ |
✅ |
401 |
Mailbox Resilient Layer |
Support underlying resilient layer |
✅ |
✅ |
402 |
Multiple Mailbox channels |
✅ |
✅ |
403 |
|
Mailbox polling |
Polling Mailbox state in slaves |
✅ |
✅ |
404 |
CAN application layer over EtherCAT (CoE) |
||||
SDO Up/Download |
Normal and expedited transfer |
✅ |
✅ |
501 |
Segmented Transfer |
Segmented transfer |
✅ |
✅ |
502 |
Complete Access |
Transfer the entire object (with all subindices) at once |
✅ |
✅ |
503 |
SDO Info service |
Services to read object dictionary |
✅ |
✅ |
504 |
Emergency Message |
Receive Emergency messages |
✅ |
✅ |
505 |
PDO in CoE |
PDO services transmitted via CoE |
506 |
||
EoE |
||||
EoE protocol |
Services for tunneling Ethernet frames. includes all specified EoE services |
✅ |
✅ |
601 |
Virtual Switch |
Virtual Switch functionality |
✅ |
✅ |
602 |
EoE Endpoint to Operation Systems |
Interface to the Operation System on top of the EoE layer |
FP |
603 |
|
FoE |
||||
FoE Protocol |
Support FoE Protocol |
✅ |
✅ |
701 |
Firmware Up-/Download |
Password, FileName should be given by the application |
✅ |
✅ |
702 |
Boot State |
Support Boot-State for Firmware Up/Download |
✅ |
✅ |
703 |
SoE |
||||
SoE Protocol |
Support SoE Services |
✅ |
✅ |
801 |
AoE |
||||
AoE Protocol |
Support AoE Protocol |
✅ |
✅ |
901 |
VoE |
||||
VoE Protocol |
External Connectivity supported |
✅ |
✅ |
1001 |
Synchronization with Distributed Clock (DC) |
||||
DC support |
Support of Distributed Clocks |
✅ |
1101 |
|
Continuous Propagation Delay compensation |
Continuous Calculation of the propagation delay |
✅ |
1102 |
|
Sync window monitoring |
Continuous monitoring of the Synchronization difference in the slaves |
✅ |
1103 |
|
Slave-to-Slave Communication |
||||
via Master |
Information is given in ENI file or can be part of any other network configuration. Copying of the data can be handled by master stack or master’s application |
✅ |
✅ |
1201 |
Master information |
||||
Master Object Dictionary |
FP |
1301 |
1.3. Protected version
The EC-Master software can be delivered in 3 different versions:
- Protected
Binary with MAC protection
- Unrestricted
Binary without MAC protection
- Source
Source code
The protected version will automatically stop after about 1 hour of continuous operation. In order to remove this restriction a valid runtime license key is required. The runtime license protection is based on the MAC address of the Ethernet controller used for the EtherCAT protocol. With a valid License Key the protected version of EC-Master will automatically become an unrestricted version.
1.3.1. Licensing procedure for Development Licenses
Installation of EC-Master protected version
Determine the MAC Address by calling
emGetSrcMacAddress()
or from a sticker applied on the hardware near the Ethernet controllerSend an Email with the subject “Development License Key Request” with the MAC address to sales@acontis.com
Acontis will create the license keys and return them in a License Key Text File (CSV format).
Number;MAC Address;License Key 1;00-00-5A-11-77-FE;DA1099F2-15C249E9-54327FBC 2;64-31-50-80-20-4E;1B7C1F86-D08E40A8-4F96F2BA 3;2C-F0-5D-03-CB-2B;10005078-DFD9A2C3-5FD4B1CD-35041597-F8094AA4-6C7CCE7E
Activate the License Key by calling
emSetLicenseKey()
with the license key that corresponds to the MAC address on the hardware and check the return code. The license key is 26 or 53 characters long.dwRes = emSetLicenseKey(0, "DA1099F2-15C249E9-54327FBC");
1.3.2. Licensing procedure for Runtime Licenses
Installation of EC-Master protected version
Determine the MAC Address by calling
emGetSrcMacAddress()
or from a sticker applied on the hardware near the Ethernet controllerProvide the MAC Addresses and numbers from previously ordered and unused runtime license stickers in a text file to acontis as described in the example below. Please use a separate line for each runtime license sticker number and MAC Address.
S/N; MAC Address 100-105-1-1/1603310001;00-00-5A-11-77-FE 100-105-1-1/1603310002;64-31-50-80-20-4E 100-105-1-1/1603310003;2C-F0-5D-03-CB-2B
Send an Email with the subject “Runtime License Key Request” with the MAC address to sales@acontis.com
Acontis will create the license keys and return them in a License Key Text File.
Number;MAC Address;License Key 1;00-00-5A-11-77-FE;DA1099F2-15C249E9-54327FBC 2;64-31-50-80-20-4E;1B7C1F86-D08E40A8-4F96F2BA 3;2C-F0-5D-03-CB-2B;10005078-DFD9A2C3-5FD4B1CD-35041597-F8094AA4-6C7CCE7E
Activate the License Key by calling
emSetLicenseKey()
with the license key that corresponds to the MAC address on the hardware and check the return code.dwRes = emSetLicenseKey(0, "DA1099F2-15C249E9-54327FBC");
1.4. License
1.4.1. EC-Master license
According to EC-Master Software License Agreement (SLA).
1.4.2. Free Open Source Software contained in EC-Master
1.4.2.1. Expat XML parser license
Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
and Clark Cooper
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers.
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1.4.3. Free Open Source Software supported by EC-Master
The following components are not part of EC-Master, but relate to it:
1.4.3.1. acontis atemsys Linux kernel module
The acontis atemsys is licensed under the GPL:
Copyright (c) 2009 - 2020 acontis technologies GmbH, Ravensburg, Germany
All rights reserved.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
1.4.3.2. WinPCap
The WinPCap library is supported, but not shipped with the EC-Master.
1.4.3.3. Npcap
The Npcap library is supported, but not shipped with the EC-Master.