EtherCAT: Sync Managers and Process Data Exchange

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

EtherCAT: Sync Managers and Process Data Exchange

EtherCAT: Sync Managers and Process Data Exchange

 
 

The EtherCAT SubDevice Controller uses Sync Managers to establish a consistent exchange of acyclic and cyclic data. A Sync Manager guards a RAM area in the ESC. It can be configured in Mailbox Mode and in 3-buffer-mode.

The Mailbox Mode is for acyclic data exchange between MainDevice and SubDevice. One side can read or write the RAM area and has to wait until the other side has written or read this area. Thus two Mailboxes are required for data exchange. Usually Sync Manager 0 and 1 are used for this.

The 3-buffer mode is used for cyclic data exchange. One buffer can be written by one side while another buffer is read by the other side. The 3rd buffer is used as a spare buffer is one side is faster than the other one. Again two Mailboxes are required to allow process data transfer in both directions. Usually Sync Managers 2 and 3 are used for this.

Sync Manager Name Direction MainDevice View SubDevice View ESC Registers PDO

0

Mailbox Write

M → S

Output

Consumer

0x800 - 0x807

 

1

Mailbox Read

S → M

Input

Producer

0x807 - 0x80F

 

2

Process Data Write

M → S

Output

Consumer

0x810 - 0x817

RxPDO

3

Process Data Read

S → M

Input

Producer

0x818 - 0x81F

TxPDO

 

Cyclic data exchange between MainDevice and SubDevice

 

The ESC has Fieldbus Memory Management Units (FMMU) that allow mapping logical addresses into physical memory and vice versa. The FMMU allows bit wise mapping, i.e. it is not bound to byte borders. Also it can by configured to only map a certain number of bits of the last byte. This way the the EtherCAT MainDevice can map the cyclic data of all SubDevices into one continuous logical address space.
Usually two FMMUs are used to map the Outputs and Inputs of a SubDevice.
Additionally a third FMMU can be used to map the Status bit of the Mailbox read by the MainDevice into a logical address space. This way the MainDevice can collect the Mailbox Status of all SubDevices to check if new content is available.

An example configuration is shown in the following table.

FMMU

Log. Start Address

Phys. Start Address

Size

Access

Description

0

0x01000000.0

0x1000.0

12 Byte

wr

write process data to RAM in ESC via SM2

1

0x09000000.1

0x080d.0

1 Byte

rd

read SM1 Status (is there data in the Read Mailbox)

2

0x01000000.0

0x1100.0

12 Byte

rd

read process data from RAM in ESC via SM3

 

As you can see in the table above two FMMUs map the same logical address to two different physical addresses and use different access directions. The physical addresses are guarded by the Output Sync Manager and the Input Sync Manager.
The MainDevice can send an EtherCAT Datagram with a "Logical Read/Write" command to the SubDevice. This datagram has the start address and the cyclic data, i.e. the frame contains the logical memory.
If this frame is received by a SubDevice, the FMMU will read the assigned logical memory area and map it to the RAM area of the Output Sync Manager. Then it will read the the memory area guarded by the Input Sync Manager and map it to the assigned logical memory, i.e. it will write it into the frame.
Since the last SubDevice in an EtherCAT segment returns the frame received from the MainDevice, the MainDevice can use one single EtherCAT Datagram to write all Outputs of the SubDevices and read all Inputs of the SubDevices.

On the Data Link Layer process data is handled as an octet stream. On the the Application Layer this octet stream is parsed to/from objects of the Object Dictionary. There are PDO Mapping Objects that define what objects create a PDO. The PDO Assignment Objects define which PDO belongs to what Sync Manager. Thus the combination of PDO Mapping Objects and PDO Assignment Objects define the layout of the process data and the size of the Input and Output Sync Managers. For more details please read the corresponding section in the EtherCAT User Manual.

Labels (2)
No ratings
Version history
Last update:
‎09-24-2025 08:39 AM
Updated by: