Clock Sync mode for EtherCAT network

Hi community,

I would like to ask if there is a setting for configuring the clock sync mode (Distributed Clock, Free Run etc.) of the EtherCAT network using RapidSetup/RapidSetupX or RapidCode API

or

Does it just reflect the configuration set in the EtherCAT drive/device

I noticed the changelogs for 10.5.0 contains a feature for network clock synchronization adjustment options:

Appreciate the clarification on this to help further our understanding of how clock synchronization is managed within the RMPNetwork. Thank you!

1 Like

Hi @gregory , good question. To clarify:

There is no RapidCode API (or RapidSetup/RapidSetupX) setting to directly choose DC vs Free Run. The clock sync mode is determined when the EtherCAT network configuration (ENI) is generated, and it reflects what each device’s ESI supports. By default RMP uses Distributed Clocks for any node whose ESI declares a DC operation mode; a node that doesn’t support DC runs in Free Run.

RapidCode exposes the result as diagnostics:

  • MotionController.NetworkSynchronizedGet() → returns true if the network is DC-synchronized
  • MotionController.NetworkStatusGet().SynchronizationErrorNs → DC sync error in nanoseconds

Regarding the changelog entry you saw, note it’s actually in 10.5.4, not 10.5.0. The “Network clock synchronization diagnostic and adjustment options” / NETWORK_CLOCK address types are not a DC-vs-Free-Run switch. They’re a tuning loop (Kp/Ki/Kd, filter depth) for aligning the host PC clock to the reference clock to minimize drift/jitter within DC operation, plus diagnostics like the reference clock error and applied adjustment. So they refine how well the host tracks DC sync, they don’t change the sync mode itself.

Do you have a specific use case for wanting to specify the clock mode? As-is, it’s governed by the device’s ESI (which DC modes it supports) and the network/ENI configuration, not something you set through the RapidCode API at runtime.

1 Like

Hi @updates,

Thank you for the clarification on this. Initially we just wanted to test out the different synchronization modes (configurable on some EtherCAT devices) for EtherCAT devices.

We encountered a device that has multiple sync modes such as DC mode, Free Run and SM2 etc. but these options does not appear to be configurable within its own device software itself. As such, we were curious if the clock sync mode could be configured from RMP controller side.

Much appreciated on the info in helping us further our understanding. Thank you!

Hi @gregory,

You can change the synchronization mode with CustomNodeInfo.xml before you generate an ENI file.

In the ESI file you should find a <Dc> section with various names like DcSync, FreeRun, etc. Within a CustomNodeInfo.xml entry for a node you can add:
<DcDataOpMode>DcSync</DcDataOpMode>
if the DcSync is the listed <Name> within the above <Dc> section. This would let you experiment with the various modes.

1 Like