Skip to content

Comunication description

EtherCAT Industrial Bus Communication Description

Distributed Clock (DC)

The distributed clock feature is supported. Sync 1 signal period must be set to the same period as the PDO communication period.

Process Data Objects (PDO)

The EtherCAT master can use the following PDO communication periods: 250 µs, 500 µs, 1000 µs, 2000 µs (50 µs for specific configuration). The servo drive uses a fixed PDO mapping described in the table below. PDO length is 44 bytes.

Output PDO for Servo Drive

Name Type Description
PositionSetPoint_1 or
SpeedSetPoint_1
Signed 64bit integer Position Mode (3):
Desired position for servo drive 1. Resolution 32 bits/rev.
Example:
1.5 revolutions:
6442450944 = 0x0000000180000000
-1.5 revolutions:
-6442450944 = 0xFFFFFFFE80000000
Speed Mode (10):
Desired speed for servo drive 1.
Resolution 1 rev/min ~ 2^32
Example 500 rev/min:
2147483648000 = 0x1F4 0000 0000
-500 rev/min:
-2147483648000 = 0xFFFF FE0C 0000 0000
control_1 Unsigned 32bit integer Control commands for servo drive 1.
Bit0 .. Clear errors.
Bit1 .. Enable power stage.
Bit28 .. Digital output 1
Bit29 .. Digital output 3
Bit30 .. Digital output 5
currentSetPoint_1 Signed 16bit integer Desired current for servo drive 1.
IqSetPoint = currentSetPoint_1 * M-Ipeak / 32767
currentLimit_1 Unsigned 16bit integer Current limit for servo drive 1.
IqLim = (32767 - currentLimit_1)* M-Ipeak / 32767
32767 .. full limit
0 .. no limit (maximum current = M- Ipeak)
positionSetPoint_2
or
speedSetPoint_2
Signed 64bit integer Position Mode (3):
Desired position for servo drive 2.
Resolution 32 bits/rev.
Example of position mode (0x3):
1.5 revolutions :
6442450944 = 0x0000000180000000
-1.5 revolutions :
-6442450944 = 0xFFFFFFFE80000000
Speed Mode (10):
Desired speed for servo drive 2.
Resolution 1 rev/min ~ 2^32
Example:
500 rev/min:
2147483648000 = 0x1F4 0000 0000
-500 rev/min:
-2147483648000 = 0xFFFF FE0C 0000 0000
control_2 Unsigned 32bit integer Control commands for servo drive 2.
Bit0 .. Clear errors.
Bit1 .. Enable power stage.
Bit28 .. Digital output 2
Bit29 .. Digital output 4
Bit30 .. Digital output 6
currentSetPoint_2 Signed 16bit integer Desired current for servo drive 2.
IqSetPoint = currentSetPoint_2 * M-Ipeak / 32767
currentLimit_2 Unsigned 16bit integer Current limit for servo drive 2.
IqLim = (32767 - currentLimit_2)* M-Ipeak / 32767
32767 .. full limit
0 .. no limit (maximum current = M- Ipeak)
Reserved_1 Unsigned 32bit integer
Reserved_2 Unsigned 32bit integer
Reserved_3 Unsigned 32bit integer

Input PDO from servo-drive

Name Type Description
positionActValue_1 Signed 64bit integer Actual position of servo drive 1.
Resolution 32 bits/rev.
Example:
1.5 revolutions:
6442450944 = 0x0000000180000000
-1.5 revolutions:
-6442450944 = 0xFFFFFFFE80000000
positionActValue_2 Signed 64bit integer Actual position of servo drive 2.
Resolution 32 bits/rev.
Example:
1.5 revolutions:
6442450944 = 0x0000000180000000
-1.5 revolutions:
-6442450944 = 0xFFFFFFFE80000000
positionActValueExt Signed 32bit integer External feedback position E.
status_1 Unsigned 32bit integer Status of servo drive 1.
Bit0 .. Power stage enabled – under
voltage.
Bit1 .. active HW enable.
Bit2 .. active Software enable.
Bit3 .. motor brake released.
Bit4 .. No error.
Bit5 .. Initialization.
Bit6 .. Fieldbus mode.
Bit28 .. Digital input 1
Bit29 .. Digital input 3
Bit30 .. Digital input 5
Bit31 .. Digital input 7
status_2 Unsigned 32bit integer Status of servo drive 2.
Bit0 .. Power stage enabled – under
voltage.
Bit1 .. active HW enable.
Bit2 .. active Software enable.
Bit3 .. motor brake released.
Bit4 .. No error.
Bit5 .. Initialization.
Bit6 .. Fieldbus mode.
Bit28 .. Digital input 2
Bit29 .. Digital input 4
Bit30 .. Digital input 6
Bit31 .. Digital input 8
analogInput_1 Unsigned 16bit integer Actual value of analog input 1.
0 .. 0V , 32767 .. 10V
analogInput_2 Unsigned 16bit integer Actual value of analog input 2.
0 .. 0V , 32767 .. 10V
currentqActValue_1 Signed 16bit integer -32768 .. -M-Ipeak, 32767 .. M-Ipeak
I = 32767 * currentqActValue / M-Ipeak
currentqActValue_2 Signed 16bit integer -32768 .. -M-Ipeak, 32767 .. M-Ipeak
I = 32767 * currentqActValue / M-Ipeak
mappedParameter_1 Unsigned 32 bit integer Register value defined in parameter C-MappingPar1
mappedParameter_2 Unsigned 32 bit integer Register value defined in parameter C-MappingPar2

Service data objects (SDO)

For SDO the used protocol is CAN Open over EtherCAT (CoE).

MailBox output MailBox input
Byte 0 Length of the data (Low Byte)
Byte 1 Length of the data (High Byte)
Byte 2 Address (Low Byte)
Byte 3 Address (High Byte)
Byte 4 Bit 0 to 5: Channel
Bit 6 to 7: Priority
Byte 5 Bit 0 to 3: Type =
3 : Can over EtherCAT
Bit 4 to 7: Reserved
Byte 6 PDO Number (with PDO transmissions only, Bit 0 = LSB of the PDO number, see Byte 7 for MSB)
Byte 7 Bit 0: MSB of the PDO number, see Byte 6
Bit 1 to 3: Reserved
Bit 4 to 7: CoE specific type =
2 : SDO request
Bit 4 to 7: CoE specific type =
3: SDO response
Byte 8 Control-Byte in the CAN telegram:
Write access 0x2? .. 4byte Write: OK 0x2? Error 0x80
Read access 0x4? .. 4byte Read: OK 0x4? Error 0x80
Byte 9 Low Byte of the CAN object number (Parameter number)
Byte 10 High Byte of the CAN object number (Parameter group number)
Byte 11 Subindex according to CANopen Specification (not used)
Byte 12 Data (Low Byte)
Byte 13 Data
Byte 14 Data
Byte 15 Data (High Byte)

Registers

Name Description
C-ID TGZ EtherCAT alias.
C-SetCycleTime Parameter must be set to the right value of the fieldbus communication period.
C-SyncTime Actual measured period of generated sync signal (only for DC).
C-MapingPar1 Address of selected parameter for PDO mapping 1.
C-MapingPar2 Address of selected parameter for PDO mapping 2.
Monitoring-PacketTime Actual measured period between fieldbus packets.