You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

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. 

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

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
  • No labels