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. EC-Simulator - Features

Feature ID: Unique identification used in ETG.1500 EtherCAT Master Classes

Feature name

Short description

Implemented

Feature ID

Service Commands

Support of all commands

x

101

IRQ field in datagram

Use IRQ information from Slave in datagram header

x

102

Slaves with Device Emulation

Support Slaves with and without application controller

x

103

EtherCAT State Machine

Support of ESM special behavior

x

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

x

107

UDP Frame Types

Support UDP Frames

108

Cyclic PDO

Cyclic process data exchange

x

201

Multiple Tasks

Different cycle tasks

Multiple update rates for PDO

x

202

Frame repetition

Send cyclic frames multiple times to increase immunity

x

203

Online scanning

Network configuration functionality included in EtherCAT Master

x

301

Reading ENI

Network Configuration taken from ENI file

x

Compare Network configuration

Compare configured and existing network configuration during boot-up

x

302

Explicit Device identification

Identification used for Hot Connect and prevention against cable swapping

x

303

Station Alias Addressing

Support configured station alias in slave,

i.e. enable 2nd Address and use it

x

304

Access to EEPROM

Support routines to access EEPROM via ESC register

x

305

Support Mailbox

Main functionality for mailbox transfer

x

401

Mailbox Resilient Layer

Support underlying resilient layer

x

402

Multiple Mailbox channels

x

403

Mailbox polling

Polling Mailbox state in slaves

x

404

SDO Up/Download

Normal and expedited transfer

x

501

Segmented Transfer

Segmented transfer

x

502

Complete Access

Transfer the entire object (with all sub-indices) at once

x

503

SDO Info service

Services to read object dictionary

x

504

Emergency Message

Receive Emergency messages

x

505

PDO in CoE

PDO services transmitted via CoE

506

EoE protocol

Services for tunneling Ethernet frames. includes all specified EoE services

x

601

Virtual Switch

Virtual Switch functionality

602

EoE Endpoint to Operation Systems

Interface to the Operation System on top of the EoE layer

603

FoE Protocol

Support FoE Protocol

x

701

Firmware Up-/Download

Password, FileName should be given by the application

x

702

Boot State

Support Boot-State for Firmware Up/Download

x

703

SoE Services

Support SoE Services

x

801

AoE Protocol

Support AoE Protocol

x

901

VoE Protocol

External Connectivity supported

x

1001

DC support

Support of Distributed Clock

1101

Continuous Propagation Delay compensation

Continuous Calculation of the propagation delay

1102

Sync window monitoring

Continuous monitoring of the S ynchronization difference in the slaves

1103

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

x

1201

1.3. Editions (HiL / SiL)

1.3.1. Hardware-in-Loop (HiL) Simulation

The System-Under-Test (SUT) is communicating via an EtherCAT cable with the EC-Simulator software running on an external hardware, the HiL System. In this setup the unchanged application together with the EtherCAT master can be tested using the standard physical network interface.

1.3.2. Software-in-the-Loop (SiL) Simulation

The EtherCAT network is simulated by a software running on the System Under Test (SUT). Instead of communicating with the Ethernet Controller, the EC-Master EtherCAT master is directly exchanging EtherCAT frames with the simulation software.

1.4. Protected version

The EC-Simulator software is available in different protected versions:

Dongled

Binary with dongle protection (Linux x64, x86, Windows only)

Protected

Binary with MAC protection. Requires a physical network adapter for license check (HiL/SiL).

Source

Binary and source code without protection

Unrestricted:

Binary without MAC protection

The protected version is limited to 5 slaves and will automatically stop after about 10 minutes of continuous operation. In order to remove this restriction a valid runtime license key or a dongle is required. The runtime license protection with license key is based on the MAC address of the Ethernet controller used for the EtherCAT protocol. With a valid license key and Protected version the purchased features are automatically unlocked. The Dongled version needs the Dongle and WIBU service to be installed and running. The purchased features stored on the Dongle are automatically unlocked.

1.4.1. Licensing procedure for Development Licenses

  1. Installation of EC-Simulator Protected or Dongled version accordingly

  2. In case of EC-Simulator Protected: Determine the MAC Address by calling esGetSrcMacAddress(0, &oSrcMacAddress)/ecatGetSrcMacAddress(&oSrcMacAddress) or from a sticker applied on the hardware near the Ethernet controller.

  3. Send an Email with the subject “Development License Key Request” with the MAC address to sales@acontis.com

  4. 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-3BA579B2-318AB2B6-CD13B221
    2;64-31-50-80-20-4E;A2B4C98D-00185EF9-22134567-DA1099F2-15C249E9-54327FBC
    
  5. Activate the License Key by calling esSetLicenseKey() or EC_T_LINK_PARMS_SIMULATOR (SiL) with the license key that corresponds to the MAC address on the hardware and check the return code. The license key is 53 characters long. For HiL the API esSetLicenseKey() must be called after esInitSimulator() and before esConfigureNetwork(). For SiL the license key must be set at EC_T_SIMULATOR_INIT_PARMS::szLicenseKey .

    Example HiL:

    esSetLicenseKey(0, "A2B4C98D-00185EF9-22134567-DA1099F2-15C249E9-54327FBC");
    

    Example SiL:

    EcMasterDemo -simulator 1 1 eni.xml --lic A2B4C98D-00185EF9-22134567-DA1099F2-15C249E9-54327FBC --link -i8254x 1 1
    

1.4.2. Licensing procedure for Runtime Licenses

  1. Installation of EC-Simulator Protected or Dongled version accordingly

  2. In case of EC-Simulator Protected: Determine the MAC Address by calling esGetSrcMacAddress(0, &oSrcMacAddress)/ecatGetSrcMacAddress(&oSrcMacAddress) or from a sticker applied on the hardware near the Ethernet controller.

  3. Provide 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.

    100-105-1-1/1603310001;00-00-5A-11-77-FE
    100-105-1-1/1603310002;64-31-50-80-20-4E
    
  4. Send an Email with the subject “Runtime License Key Request” with the MAC address to sales@acontis.com

  5. 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;A2B4C98D-00185EF9-22134567-DA1099F2-15C249E9-54327FBC
    
  6. Activate the License Key by calling esSetLicenseKey() or EC_T_LINK_PARMS_SIMULATOR (SiL) with the license key that corresponds to the MAC address on the hardware and check the return code. The license key is 53 characters long. For HiL the API esSetLicenseKey() must be called after esInitSimulator() and before esConfigureNetwork(). For SiL the license key must be set at EC_T_SIMULATOR_INIT_PARMS::szLicenseKey .

    Example HiL:

    esSetLicenseKey(0, "A2B4C98D-00185EF9-22134567-DA1099F2-15C249E9-54327FBC");
    

    Example SiL:

    EcMasterDemo -simulator 1 1 eni.xml --lic A2B4C98D-00185EF9-22134567-DA1099F2-15C249E9-54327FBC --link -i8254x 1 1
    

1.5. Known restrictions

Some slaves require extended information to be simulated.

The “<ExtendedInfo>”-Tag in EXI are currently not importable to EC-Engineer and must be removed before importing EXI as ENI file. Simulator settings contained in the extended information are stored in the .ecc file and can be copied between EC-Engineer instances using Copy and Paste.

Value Information (Default, Min, Max) from object dictionary cannot be retrieved using SSC, see SSC\sdoserv : „the transmission of the value info is not supported yet of the sample code”.

Occasional start up error (timeout) in case of DCM Bus Shift (DC control loop not included in EC-Simulator), work-around with OsQueryMsecCount() replacement possible.

1.6. License

1.6.1. EC-Simulator license

According to EC-Simulator Software License Agreement (SLA).

1.6.2. Free Open Source Software contained in EC-Simulator

1.6.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.6.3. Free Open Source Software supported by EC-Simulator

The following components are not part of EC-Simulator, but relate to it:

1.6.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.6.3.2. WinPCap

The WinPCap library is supported, but not shipped with EC-Simulator.

1.6.3.3. Npcap

The Npcap library is supported, but not shipped with EC-Simulator.