EtherCAT State Machine  

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

The ESM states can be transitioned as shown

Init State

Pre-Operational State

Safe-Operational State

Operational State

Bootstrap State

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:

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


x10x1
DescriptionMost significant 4 bitsLeast significant 4 bits
Example valueBh5h
Combined valueB5h (181d)

ID Range Usage

The following ID range is permissible

IDUsage
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
00No identification used or expected
>00Explicit Device ID is used
0>0Configured Station Alias is used
>0>0Internal 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.

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

ObjectNameUnitsData TypeApplicable Modes of OperationDescription
0x6040Controlword-UINT16AllThe Controlword is used to control the state of the mode of operation.
0x60FEDigital outputs-UINT16AllSet the state of the digital outputs
0x607ATarget positionunitsINT32CSP, PPSet the target position of the motor
0x60FFTarget speed

units/ms

units/s

INT32

CSV

PV

Set the target speed of the motor. Note PV mode and CSV mode have different units.
0x6060Modes of operation-INT8AllSet the required mode of operation

TxPDO - 0x1A00

ObjectNameUnitsData TypeApplicable Modes of OperationDescription
0x6041

Statusword

-UINT16AllThe Statusword describes the current state of the mode of operation.
0x603FError Code-UINT16AllThe actual error code currently active.
0x6064Position Actual ValueunitsINT32AllThe value of the motor's actual position
0x606CSpeed Actual Valueunits/msINT32AllThe value of the motor's actual speed
0x6077Torque Actual Value0.1% rated torqueINT16AllThe value of the motor's actual peak torque
0x60FDDigital Inputs-UINT16AllDigital inputs status
0x2301Temperature°cINT16AllThe actual motor temperature in °c.
0x6079DC Voltage0.1VDCINT16AllThe actual DC 24V DC bus voltage
0x6061Modes of operation display-INT8AllThe 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

ObjectNameUnitsData TypeApplicable Modes of OperationDescription
0x6040Controlword-UINT16AllThe Controlword is used to control the state of the mode of operation.
0x60FEDigital outputs-UINT16AllSet the state of the digital outputs
0x607ATarget positionunitsINT32CSP, PPSet the target position of the motor

TxPDO - 0x1A01

ObjectNameUnitsData TypeApplicable Modes of OperationDescription
0x6041

Statusword

-UINT16AllThe Statusword describes the current state of the mode of operation.
0x603FError Code-UINT16AllThe actual error code currently active.
0x6064Position Actual ValueunitsINT32AllThe value of the motor's actual position
0x6077Torque Actual Value0.1% rated torqueINT16AllThe value of the motor's actual peak torque
0x606CSpeed Actual Valueunits/msINT32AllThe value of the motor's actual speed
0x60FDDigital Inputs-UINT16AllDigital inputs status

CSV Mode

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

RxPDO - 0x1602

ObjectNameUnitsData TypeApplicable Modes of OperationDescription
0x6040Controlword-UINT16AllThe Controlword is used to control the state of the mode of operation.
0x60FEDigital outputs-UINT16AllSet the state of the digital outputs
0x60FFTarget speed

units/ms


INT32

CSV

Set the target speed of the motor. Note PV mode and CSV mode have different units.

TxPDO - 0x1A02

ObjectNameUnitsData TypeApplicable Modes of OperationDescription
0x6041

Statusword

-UINT16AllThe Statusword describes the current state of the mode of operation.
0x603FError Code-UINT16AllThe actual error code currently active.
0x6064Position Actual ValueunitsINT32AllThe value of the motor's actual position
0x6077Torque Actual Value0.1% rated torqueINT16AllThe value of the motor's actual peak torque
0x606CSpeed Actual Valueunits/msINT32AllThe value of the motor's actual speed
0x60FDDigital Inputs-UINT16AllDigital inputs status

Profile Mode

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

RxPDO - 0x1603

ObjectNameUnitsData TypeApplicable Modes of OperationDescription
0x6040Controlword-UINT16AllThe Controlword is used to control the state of the mode of operation.
0x60FEDigital outputs-UINT16AllSet the state of the digital outputs
0x607ATarget positionunitsINT32CSP, PPSet the target position of the motor
0x60FFTarget speed

units/ms

units/s

INT32

CSV

PV

Set the target speed of the motor. Note PV mode and CSV mode have different units.
0x6081Profile velocity-UINT32PPSet the required mode of operation
0x6083Profile acceleration
UINT32PP, PV

TxPDO - 0x1A03

ObjectNameUnitsData TypeApplicable Modes of OperationDescription
0x6041

Statusword

-UINT16AllThe Statusword describes the current state of the mode of operation.
0x603FError Code-UINT16AllThe actual error code currently active.
0x6064Position Actual ValueunitsINT32AllThe value of the motor's actual position
0x606CSpeed Actual Valueunits/msINT32AllThe value of the motor's actual speed
0x6077Torque Actual Value0.1% rated torqueINT16AllThe value of the motor's actual peak torque
0x60FDDigital Inputs-UINT16AllDigital inputs status
0x2301Temperature°cINT16AllThe actual motor temperature in °c.
0x6079DC Voltage0.1VDCINT16AllThe actual DC 24V DC bus voltage