Skip to main content
Skip table of contents

EtherCAT Overview

EtherCAT State Machine  

The EtherCAT State Machine (ESM) is required on all EtherCAT devices. The ESM in general

  • defines 5 communication states of the slave device

    • Init, Pre-Operational, Safe-Operational, Operational

    • Bootstrap is an optional state for firmware upload

  • specifies initialization and error handling of the slave device

  • identifies the current communication relationship between the master and slave device

    • requested and current state are accessed through the AL Control and AL Status registers

The ESM states can be transitioned as shown

Init State

  • No communication to the application layer is allowed

  • master only has communication to the data link registers (slave device eeprom, addressing, etc)

Pre-Operational State

  • Mailbox (SDO) communication to the application layer is available

  • No Process Data (PDO) communication.

  • PDO register mapping should be completed. Transition to Safe-Operation will configure mapping.

Safe-Operational State

  • Mailbox (SDO) communication to the application layer is available

  • Slave output (tx) Process Data (PDO) communication is evaluated

Operational State

  • All communication is commenced and valid

Bootstrap State

  • The bootstrap state is used when updating EtherCAT firmware. 

Explicit Device ID

General Description

The use of EtherCAT Device identification is to identify an EtherCAT slave explicitly. This is necessary for the following use cases:

  • Hot Connect applications 
    Within some applications it might be useful to connect or disconnect parts of the network. In this case the master must have the possibility to identify which part of the network is available.

  • Prevention against cable swapping 
    If at least two identical devices are used in one application it might be necessary to prevent the mix-up of these devices by cable swapping. Example Scenario: Within a machining center there might be two identical drives to work in X and Y direction. To avoid that the drives receive wrong process data, for example after a device replacement, an explicit identification of the devices can be used.

The Device Identification value can be used optionally for unique addressing.

Rotary Selectors

The CM1-E uses 2 rotary selectors on the side of the motor to set the ID. These use hexadecimal values to set the range from 0-255. The values are set as follows

x10

x1

Description

Most significant 4 bits

Least significant 4 bits

Example value

Bh

5h

Combined value

B5h (181d)

ID Range Usage

The following ID range is permissible

ID

Usage

0x00 (0)

No ID is set and Explicit Device ID is not used

0x01-0xFE (1-254)

Explicit Device ID has been set

0xFF (255)

Reserved

  • Value cannot be used and will be read as 0 by the master

Configured Station Alias

For backwards compatibility with certain master controllers the Configured Station Alias Register 0x0012 may be used. The following conditions exist:

Explicit Device ID
Value

Configured Station Alias
Value

Usage

0

0

No identification used or expected

>0

0

Explicit Device ID is used

0

>0

Configured Station Alias is used

>0

>0

Internal error generated

PDO Timing

The CM1-E slave will accept a number of PDO rates. The rate is auto-detected and no additional setup is required on the slave.

Accepted rates are

  1. 1000μs (1ms)

  2. 500μs

  3. 250μs

  4. 200μs

The detected rate can be read in object 0xFE00:1.

PDO Mappings 

The Cool Muscle EtherCAT slave has a few static PDO mapping options. It does not use dynamic mapping.

  • The RxPDO is the PDO received by the motor/slave device

  • The TxPDO is the PDO transmitted by the motor/slave device

Position units are in encoder counts (pulses). There are 50,000 encoder counts per revolution. 

The following mappings are available.

Dynamic Switching of mode

This mapping is useful as a generic mapping. The master can run in any of the available modes as well as switch dynamically between them. The PDO also offers a lot of feedback information for diagnostics.

RxPDO - 0x1600

Object

Name

Units

Data Type

Applicable Modes of Operation

Description

0x6040

Controlword

-

UINT16

All

The Controlword is used to control the state of the mode of operation.

0x60FE

Digital outputs

-

UINT16

All

Set the state of the digital outputs

0x607A

Target position

units

INT32

CSP, PP

Set the target position of the motor

0x60FF

Target speed

units/s

INT32

CSV

Set the target speed of the motor.

0x6060

Modes of operation

-

INT8

All

Set the required mode of operation

TxPDO - 0x1A00

Object

Name

Units

Data Type

Applicable Modes of Operation

Description

0x6041

Statusword

-

UINT16

All

The Statusword describes the current state of the mode of operation.

0x603F

Error Code

-

UINT16

All

The actual error code currently active.

0x6064

Position Actual Value

units

INT32

All

The value of the motor's actual position

0x606C

Speed Actual Value

units/s

INT32

All

The value of the motor's actual speed

0x6077

Torque Actual Value

0.1% rated torque

INT16

All

The value of the motor's actual peak torque

0x60FD

Digital Inputs

-

UINT16

All

Digital inputs status

0x2301

Temperature

°c

INT16

All

The actual motor temperature in °c.

0x6079

DC Voltage

0.1VDC

INT16

All

The actual DC 24V DC bus voltage

0x6061

Modes of operation display

-

INT8

All

The mode of operation currently running.

CSP Mode

This mapping is useful when a minimum amount of data wants to be transferred using CSP mode.

RxPDO - 0x1601

Object

Name

Units

Data Type

Applicable Modes of Operation

Description

0x6040

Controlword

-

UINT16

All

The Controlword is used to control the state of the mode of operation.

0x60FE

Digital outputs

-

UINT16

All

Set the state of the digital outputs

0x607A

Target position

units

INT32

CSP, PP

Set the target position of the motor

TxPDO - 0x1A01

Object

Name

Units

Data Type

Applicable Modes of Operation

Description

0x6041

Statusword

-

UINT16

All

The Statusword describes the current state of the mode of operation.

0x603F

Error Code

-

UINT16

All

The actual error code currently active.

0x6064

Position Actual Value

units

INT32

All

The value of the motor's actual position

0x6077

Torque Actual Value

0.1% rated torque

INT16

All

The value of the motor's actual peak torque

0x606C

Speed Actual Value

units/s

INT32

All

The value of the motor's actual speed

0x60FD

Digital Inputs

-

UINT16

All

Digital inputs status

CSV Mode

This mapping is useful when a minimum amount of data wants to be transferred using CSP mode.

RxPDO - 0x1602

Object

Name

Units

Data Type

Applicable Modes of Operation

Description

0x6040

Controlword

-

UINT16

All

The Controlword is used to control the state of the mode of operation.

0x60FE

Digital outputs

-

UINT16

All

Set the state of the digital outputs

0x60FF

Target speed

units/s

INT32

CSV

Set the target speed of the motor.

TxPDO - 0x1A02

Object

Name

Units

Data Type

Applicable Modes of Operation

Description

0x6041

Statusword

-

UINT16

All

The Statusword describes the current state of the mode of operation.

0x603F

Error Code

-

UINT16

All

The actual error code currently active.

0x6064

Position Actual Value

units

INT32

All

The value of the motor's actual position

0x6077

Torque Actual Value

0.1% rated torque

INT16

All

The value of the motor's actual peak torque

0x606C

Speed Actual Value

units/s

INT32

All

The value of the motor's actual speed

0x60FD

Digital Inputs

-

UINT16

All

Digital inputs status

Profile Mode

This mapping is useful when profile position or profile velocity mode is used.

RxPDO - 0x1603

Object

Name

Units

Data Type

Applicable Modes of Operation

Description

0x6040

Controlword

-

UINT16

All

The Controlword is used to control the state of the mode of operation.

0x60FE

Digital outputs

-

UINT16

All

Set the state of the digital outputs

0x607A

Target position

units

INT32

CSP, PP

Set the target position of the motor

0x60FF

Target speed

units/s

INT32

CSV, PV

Set the target speed of the motor.

0x6081

Profile velocity

-

UINT32

PP

Set the required mode of operation

0x6083

Profile acceleration

UINT32

PP, PV

TxPDO - 0x1A03

Object

Name

Units

Data Type

Applicable Modes of Operation

Description

0x6041

Statusword

-

UINT16

All

The Statusword describes the current state of the mode of operation.

0x603F

Error Code

-

UINT16

All

The actual error code currently active.

0x6064

Position Actual Value

units

INT32

All

The value of the motor's actual position

0x606C

Speed Actual Value

units/s

INT32

All

The value of the motor's actual speed

0x6077

Torque Actual Value

0.1% rated torque

INT16

All

The value of the motor's actual peak torque

0x60FD

Digital Inputs

-

UINT16

All

Digital inputs status

0x2301

Temperature

°c

INT16

All

The actual motor temperature in °c.

0x6079

DC Voltage

0.1VDC

INT16

All

The actual DC 24V DC bus voltage

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.