EtherCAT ESI Data for LinuxCNC

Beckhoff ELM7221-9018

Type:
ELM7221-9018
Description:
ELM7221-9018 1Ch. Servo Terminal (48 V, 8 A RMS, OCT, STO, Safe Motion, TwinSAFE Logic)
Vendor
Beckhoff Automation GmbH & Co. KG
Documentation
https://www.beckhoff.com/ELM7221-9018

Revisions and PDOs

The ESI data ingested by github.com/linuxcnc-ethercat/esi-data describes 1 revision(s) of this hardware. Here are the known revisions and their differences.

This also includes the send and receive PDOs defined for each revision, and a link to other known devices with identical PDOs.

Revision
r17
Name
ELM7221-9018 1Ch. Servo Terminal (48 V, 8 A RMS, OCT, STO, Safe Motion, TwinSAFE Logic)
PID
0x50227559
Revision Code
0x0011233a
Equivalant Devices
ELM7211-0010 r16
ELM7211-0010 r17
ELM7211-9016 r17
ELM7211-9018 r17
ELM7221-0010 r16
ELM7221-0010 r17
ELM7221-9016 r17
ELM7231-0010 r16
ELM7231-0010 r17
ELM7231-9016 r17
ELM7231-9018 r17
TX PDOs
0x1a00: FB Position
  0x6000:11  Position                        UDINT (32 bits)
0x1a02: FB Status
  0x6000:0e  Status__TxPDO State             BOOL
  0x6000:0f  Status__Input cycle counter     BIT2 (2 bits)
0x1a03: FB Touch probe status
  0x6001:01  Touch probe status__TP1 Enable  BOOL
  0x6001:02  Touch probe status__TP1 Pos value stored  BOOL
  0x6001:03  Touch probe status__TP1 Neg value stored  BOOL
  0x6001:08  Touch probe status__TP1 Input   BOOL
  0x6001:09  Touch probe status__TP2 Enable  BOOL
  0x6001:0a  Touch probe status__TP2 Pos value stored  BOOL
  0x6001:0b  Touch probe status__TP2 Neg value stored  BOOL
  0x6001:10  Touch probe status__TP2 Input   BOOL
0x1a04: FB Touch probe 1 pos position
  0x6001:11  TP1 Pos position                UDINT (32 bits)
0x1a05: FB Touch probe 1 neg position
  0x6001:12  TP1 Neg position                UDINT (32 bits)
0x1a06: FB Touch probe 2 pos position
  0x6001:13  TP2 Pos position                UDINT (32 bits)
0x1a07: FB Touch probe 2 neg position
  0x6001:14  TP2 Neg position                UDINT (32 bits)
0x1a08: FB Touch probe 1 pos timestamp
  0x6001:15  TP1 Pos timestamp               UDINT (32 bits)
0x1a09: FB Touch probe 1 neg timestamp
  0x6001:16  TP1 Neg timestamp               UDINT (32 bits)
0x1a0a: FB Touch probe 2 pos timestamp
  0x6001:17  TP2 Pos timestamp               UDINT (32 bits)
0x1a0b: FB Touch probe 2 neg timestamp
  0x6001:18  TP2 Neg timestamp               UDINT (32 bits)
0x1a10: DRV Statusword
  0x6010:01  Statusword                      UINT (16 bits)
0x1a11: DRV Following error actual value
  0x6010:06  Following error actual value    DINT (32 bits)
0x1a12: DRV Velocity actual value
  0x6010:07  Velocity actual value           DINT (32 bits)
0x1a13: DRV Torque actual value
  0x6010:08  Torque actual value             INT (16 bits)
0x1a14: DRV Info data 1
  0x6010:12  Info data 1                     INT (16 bits)
0x1a15: DRV Info data 2
  0x6010:13  Info data 2                     INT (16 bits)
0x1a16: DRV Info data 3
  0x6010:14  Info data 3                     INT (16 bits)
0x1a17: DRV Modes of operation display
  0x6010:03  Modes of operation display      USINT (8 bits)
0x1a18: DRV Torque limitation status
  0x6010:15  Torque limitation status        USINT (8 bits)
0x1a20: DMC Inputs
  0x6020:02  DMC__FeedbackStatus__Latch extern valid  BOOL
  0x6020:03  DMC__FeedbackStatus__Set counter done  BOOL
  0x6020:0d  DMC__FeedbackStatus__Status of extern latch  BOOL
  0x6020:11  DMC__DriveStatus__Ready to enable  BOOL
  0x6020:12  DMC__DriveStatus__Ready         BOOL
  0x6020:13  DMC__DriveStatus__Warning       BOOL
  0x6020:14  DMC__DriveStatus__Error         BOOL
  0x6020:15  DMC__DriveStatus__Moving positive  BOOL
  0x6020:16  DMC__DriveStatus__Moving negative  BOOL
  0x6020:1c  DMC__DriveStatus__Digital input 1  BOOL
  0x6020:1d  DMC__DriveStatus__Digital input 2  BOOL
  0x6020:21  DMC__PositioningStatus__Busy    BOOL
  0x6020:22  DMC__PositioningStatus__In-Target  BOOL
  0x6020:23  DMC__PositioningStatus__Warning  BOOL
  0x6020:24  DMC__PositioningStatus__Error   BOOL
  0x6020:25  DMC__PositioningStatus__Calibrated  BOOL
  0x6020:26  DMC__PositioningStatus__Accelerate  BOOL
  0x6020:27  DMC__PositioningStatus__Decelerate  BOOL
  0x6020:28  DMC__PositioningStatus__Ready to execute  BOOL
  0x6020:31  DMC__Set position               LINT (64 bits)
  0x6020:32  DMC__Set velocity               INT (16 bits)
  0x6020:33  DMC__Actual drive time          UDINT (32 bits)
  0x6020:34  DMC__Actual position lag        LINT (64 bits)
  0x6020:35  DMC__Actual velocity            INT (16 bits)
  0x6020:36  DMC__Actual position            LINT (64 bits)
  0x6020:37  DMC__Error id                   UDINT (32 bits)
  0x6020:38  DMC__Input cycle counter        USINT (8 bits)
  0x6020:39  DMC__Channel id                 USINT (8 bits)
  0x6020:3a  DMC__Latch value                LINT (64 bits)
  0x6020:3b  DMC__Cyclic info data 1         INT (16 bits)
  0x6020:3c  DMC__Cyclic info data 2         INT (16 bits)
0x1a21: DMC Inputs 32 Bit
  0x6020:02  DMC__FeedbackStatus__Latch extern valid  BOOL
  0x6020:03  DMC__FeedbackStatus__Set counter done  BOOL
  0x6020:0d  DMC__FeedbackStatus__Status of extern latch  BOOL
  0x6020:11  DMC__DriveStatus__Ready to enable  BOOL
  0x6020:12  DMC__DriveStatus__Ready         BOOL
  0x6020:13  DMC__DriveStatus__Warning       BOOL
  0x6020:14  DMC__DriveStatus__Error         BOOL
  0x6020:15  DMC__DriveStatus__Moving positive  BOOL
  0x6020:16  DMC__DriveStatus__Moving negative  BOOL
  0x6020:1c  DMC__DriveStatus__Digital input 1  BOOL
  0x6020:1d  DMC__DriveStatus__Digital input 2  BOOL
  0x6020:21  DMC__PositioningStatus__Busy    BOOL
  0x6020:22  DMC__PositioningStatus__In-Target  BOOL
  0x6020:23  DMC__PositioningStatus__Warning  BOOL
  0x6020:24  DMC__PositioningStatus__Error   BOOL
  0x6020:25  DMC__PositioningStatus__Calibrated  BOOL
  0x6020:26  DMC__PositioningStatus__Accelerate  BOOL
  0x6020:27  DMC__PositioningStatus__Decelerate  BOOL
  0x6020:28  DMC__PositioningStatus__Ready to execute  BOOL
  0x6020:31  DMC__Set position               DINT (32 bits)
  0x6020:32  DMC__Set velocity               INT (16 bits)
  0x6020:33  DMC__Actual drive time          UDINT (32 bits)
  0x6020:34  DMC__Actual position lag        DINT (32 bits)
  0x6020:35  DMC__Actual velocity            INT (16 bits)
  0x6020:36  DMC__Actual position            DINT (32 bits)
  0x6020:37  DMC__Error id                   UDINT (32 bits)
  0x6020:38  DMC__Input cycle counter        USINT (8 bits)
  0x6020:3a  DMC__Latch value                DINT (32 bits)
  0x6020:3b  DMC__Cyclic info data 1         INT (16 bits)
  0x6020:3c  DMC__Cyclic info data 2         INT (16 bits)
0x1a80: DRV Brake Chopper Inputs
RX PDOs
0x1600: FB Touch probe control
  0x7001:01  Touch probe function__TP1 Enable  BOOL
  0x7001:02  Touch probe function__TP1 Continous  BOOL
  0x7001:03  Touch probe function__TP1 Trigger mode  BIT2 (2 bits)
  0x7001:05  Touch probe function__TP1 Enable pos edge  BOOL
  0x7001:06  Touch probe function__TP1 Enable neg edge  BOOL
  0x7001:09  Touch probe function__TP2 Enable  BOOL
  0x7001:0a  Touch probe function__TP2 Continous  BOOL
  0x7001:0b  Touch probe function__TP2 Trigger mode  BIT2 (2 bits)
  0x7001:0d  Touch probe function__TP2 Enable pos edge  BOOL
  0x7001:0e  Touch probe function__TP2 Enable neg edge  BOOL
0x1610: DRV Controlword
  0x7010:01  Controlword                     UINT (16 bits)
0x1611: DRV Target position
  0x7010:05  Target position                 UDINT (32 bits)
0x1612: DRV Target velocity
  0x7010:06  Target velocity                 DINT (32 bits)
0x1613: DRV Target torque
  0x7010:09  Target torque                   INT (16 bits)
0x1614: DRV Commutation angle
  0x7010:0e  Commutation angle               UINT (16 bits)
0x1615: DRV Velocity offset
  0x7010:0f  Velocity offset                 DINT (32 bits)
0x1616: DRV Torque offset
  0x7010:0a  Torque offset                   INT (16 bits)
0x1617: DRV Torque limitation
  0x7010:0b  Torque limitation               UINT (16 bits)
0x1618: DRV Positive torque limit value
  0x7010:10  Positive torque limit value     UINT (16 bits)
0x1619: DRV Negative torque limit value
  0x7010:11  Negative torque limit value     UINT (16 bits)
0x161a: DRV Modes of operation
  0x7010:03  Modes of operation              USINT (8 bits)
0x161b: DRV Low velocity limit value
  0x7010:12  Low velocity limit value        DINT (32 bits)
0x161c: DRV High velocity limit value
  0x7010:13  High velocity limit value       DINT (32 bits)
0x1620: DMC Outputs
  0x7020:02  DMC__FeedbackControl__Enable latch extern on positive edge  BOOL
  0x7020:03  DMC__FeedbackControl__Set counter  BOOL
  0x7020:04  DMC__FeedbackControl__Enable latch extern on negative edge  BOOL
  0x7020:11  DMC__DriveControl__Enable       BOOL
  0x7020:12  DMC__DriveControl__Reset        BOOL
  0x7020:21  DMC__PositioningControl__Execute  BOOL
  0x7020:22  DMC__PositioningControl__Emergency stop  BOOL
  0x7020:31  DMC__Set counter value          LINT (64 bits)
  0x7020:32  DMC__Target position            LINT (64 bits)
  0x7020:33  DMC__Target velocity            INT (16 bits)
  0x7020:34  DMC__Start type                 UINT (16 bits)
  0x7020:35  DMC__Target acceleration        UINT (16 bits)
  0x7020:36  DMC__Target deceleration        UINT (16 bits)
0x1621: DMC Outputs 32 Bit
  0x7020:02  DMC__FeedbackControl__Enable latch extern on positive edge  BOOL
  0x7020:03  DMC__FeedbackControl__Set counter  BOOL
  0x7020:04  DMC__FeedbackControl__Enable latch extern on negative edge  BOOL
  0x7020:11  DMC__DriveControl__Enable       BOOL
  0x7020:12  DMC__DriveControl__Reset        BOOL
  0x7020:21  DMC__PositioningControl__Execute  BOOL
  0x7020:22  DMC__PositioningControl__Emergency stop  BOOL
  0x7020:31  DMC__Set counter value          DINT (32 bits)
  0x7020:32  DMC__Target position            DINT (32 bits)
  0x7020:33  DMC__Target velocity            INT (16 bits)
  0x7020:34  DMC__Start type                 UINT (16 bits)
  0x7020:35  DMC__Target acceleration        UINT (16 bits)
  0x7020:36  DMC__Target deceleration        UINT (16 bits)