Special notes concerning the diagnostic message F415 "Distributed Clocks: process data synchronization"
The real-time behavior of the machine is continuously monitored during operation. An important component of this monitoring is the synchronization of all hardware and software components involved in data transfer. The illustrations below represent a simplified example of this data transfer. The focus is on the drive tasks "NC" and "PLC".
Sample 1
- The CPU timer sends interrupts on a regular basis (default: base time = 1 ms)
- The individual tasks are now processed in accordance with the rules of task management.
- Task management:
Since the task takes up a greater or smaller amount of time due to a higher or lower number of computing processes, the "I/O update" should be parameterized directly after the entry point (a) at the start of the task. This excludes one source of incorrect synchronization.
A further source of error is an unfavorable prioritization of the individual tasks (see below). - Following the "I/O update", the resulting data are transferred to the TwinCAT-IO system and subsequently dispatched by EtherCAT telegram to the connected devices. The EtherCAT telegram passes through each physically connected device and hands over or picks up only the data for this device.
- The order of task calculation depends among other things on the prioritization of the tasks. If a task has a higher priority, it is also calculated first and can send its data to the TwinCAT-IO system, which then dispatches the telegram. Problems usually occur when individual tasks have different cycle times; see below.
Prioritization
The following graph describes the effects of prioritization on the synchronization of the data.
Assumptions:
Sync1 = 3 ms
NC cycle time = 3 ms
NC priority = 10
PLC cycle time = 2 ms
PLC priority = 5
NC data are to be transmitted cyclically to the drive. Although the PLC requires time to compute, no data are transmitted to the drive.
Due to its higher priority, the PLC task is always calculated before the NC task; these tasks affect each other at the start point time "0 ms" and then repetitively every "6 ms", i.e. 2x Sync1. However, the ESC expects the EtherCAT telegram with the NC data at each Sync1 (3 ms). That is not ensured, however, because the more highly prioritized PLC task is always calculated before the NC task and thus in the case of synchronous mapping the telegram start is delayed. For this reason the NC telegram arrives somewhat later every 6 ms and can thus cause the F415 error in the AX5000.
Sample 2
- The CPU timer sends interrupts on a regular basis (default: base time = 1 ms)
- The individual tasks are now processed in accordance with the rules of task management.
- Task management:
Since the task takes up a greater or smaller amount of time due to a higher or lower number of computing processes, the "I/O update" should be parameterized directly after the entry point (a) at the start of the task. This excludes one source of incorrect synchronization.
A further source of error is an unfavorable prioritization of the individual tasks (see below). - Following the "I/O update", the resulting data are transferred to the TwinCAT-IO system and subsequently dispatched by EtherCAT telegram to the connected devices. The EtherCAT telegram passes through each physically connected device and hands over or picks up only the data for this device.
- The order of task calculation depends among other things on the prioritization of the tasks. If a task has a higher priority, it is also calculated first and can send its data to the TwinCAT-IO system, which then dispatches the telegram. Problems usually occur when individual tasks have different cycle times; see below.
Prioritization
The following graph describes the effects of prioritization on the synchronization of the data.
Assumptions:
Sync1 = 3 ms
NC cycle time = 2 ms
NC priority = 5
PLC cycle time = 3 ms
PLC priority = 25
NC task serves only devices in SyncUnit 1, synchronous mapping
PLC task serves only devices in SyncUnit 2, synchronous mapping
NC and PLC data are to be transferred cyclically.
Due to its higher priority, the NC task is always calculated before the PLC task and the telegram is accordingly also sent first; these tasks affect each other at the start point time "0 ms" and then repetitively every "6 ms", i.e. 2x Sync1. However, the ESC expects an EtherCAT telegram at each Sync1 (3 ms). This is not a problem in SyncUnit 1, which is served by the NC, since the more highly prioritized NC always sends the telegram in the same time pattern. However, the PLC telegram arrives somewhat later every 6 ms and can thus cause the F415 error in the AX5000 in SyncUnit 2.