Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
embedded_systems:ethercat:troubleshooting:timing_problem [2019-02-12 13:32] – angelegt mgehrig2 | embedded_systems:ethercat:troubleshooting:timing_problem [2019-02-12 15:19] (aktuell) – mgehrig2 | ||
---|---|---|---|
Zeile 9: | Zeile 9: | ||
</ | </ | ||
- | ===== Problem | + | ===== Cause ===== |
+ | < | ||
+ | 082039 : DCM Status: ERROR: controller error - synchronisation out of limit (0x981201C2) | ||
+ | </ | ||
+ | |||
+ | If the jitter of the Distributed Clock (DC) is too high, this error message is displayed. | ||
+ | If the Linux master synchronizes the clock (busshift-mode), | ||
+ | |||
+ | < | ||
+ | 082039 : eUsrJob_ProcessAllRxFrames - not all previously sent frames are received/ | ||
+ | 082039 : No response on cyclic Ethernet frame | ||
+ | </ | ||
+ | |||
+ | The Acontis stack could not receive/ | ||
+ | The master probably has realtime-performance problems. | ||
+ | |||
+ | |||
+ | ===== Solutions ===== | ||
+ | ==== Use master shift mode ==== | ||
+ | If you use the bus shift mode (default) then the Linux master sets the clock for the DC. | ||
+ | In this case, the DC clock is only as stable as the Linux master. | ||
+ | |||
+ | However, a slave can also set the clock for the DC. | ||
+ | Since EtherCAT slaves often have hardware clocks, these clocks are often much more stable and accurate. | ||
+ | This mode is called master shift mode. | ||
+ | |||
+ | To use the master shift mode, add the parameters "'' | ||
+ | |||
+ | |||
+ | [[embedded_systems: | ||
+ | |||
+ | |||
+ | ==== Increase real-time performance ==== | ||
+ | See [[https:// | ||
+ | |||
+ | |||
+ | ==== Decrease load ==== | ||
+ | Within a cycle, the system needs to: | ||
+ | * Send/ | ||
+ | * If 50% of the maximum bandwidth is used, at least 50% of the cycle is used to send/ | ||
+ | * User application | ||
+ | * The control application; | ||
+ | * Jitter of the real-time system | ||
+ | |||
+ | If all this points add up to more than the cycle duration, than the system can not send a frame every cycle. | ||
+ | |||
+ | You can try to: | ||
+ | * Send less data over PDOs. | ||
+ | * Lower the calculation time of your control application. | ||
+ | * Increase [[https:// | ||
+ | * Increase the cycle time (lower control frequency) | ||