Besonderheiten zur Diagnosemeldung F415 "Verteilte Uhren: Prozessdaten-Synchronisation"
Während des Betriebs der Maschine wird das Echtzeitverhalten permanent überwacht. Ein wichtiger Bestandteil dieser Überwachung ist die Synchronisation aller am Datentransport beteiligten Hard- und Softwarekomponenten. Die folgenden Abbildungen stellen ein vereinfachtes Beispiel für diesen Datentransport da. Der Fokus ist auf die Antriebs-Tasks "NC" und "SPS" gerichtet.
Beispiel 1
- Der CPU-Timer sendet regelmäßig Interrupts (Default: Basiszeit = 1 ms)
- Gemäß den Regeln der Taskverwaltung werden nun die einzelnen Tasks abgearbeitet.
- Taskverwaltung:
Da die Task durch mehr oder weniger Rechenvorgänge auch mehr oder weniger Zeit in Anspruch nimmt, sollte direkt nach dem Einsprungpunkt (a) am Anfang der Task das "I/O-Update" parametriert werden. Damit ist eine Quelle für fehlerhafte Synchronisation ausgeschlossen.
Eine weitere Fehlerquelle ist eine ungünstige Priorisierung der einzelnen Tasks (siehe unten) - Nach dem "I/O-Update" werden die resultierenden Daten an das TwinCAT-IO-System übergeben und anschließend per EtherCAT-Telegramm an die angeschlossenen Geräte versendet. Das EtherCAT-Telegramm durchläuft jedes physikalisch angeschlossene Gerät und übergibt bzw. übernimmt nur die Daten für dieses Gerät.
- Die Reihenfolge der Task-Berechnung hängt u.a. von der Priorisierung der Tasks ab. Wenn eine Task eine höhere Priorität hat, wird sie auch zuerst gerechnet und kann ihre Daten an das TwinCAT-IO-System schicken, welches dann das Telegramm versendet. Probleme tauchen meistens dann auf, wenn einzelne Task unterschiedliche Zykluszeiten haben, siehe unten.

Priorisierung
In der folgenden Grafik wird die Auswirkung der Priorisierung auf die Synchronisation der Daten beschrieben.
Annahmen:
Sync1 = 3 ms
NC-Zykluszeit = 3 ms
NC-Priorität = 10
SPS-Zykluszeit = 2 ms
SPS-Priorität = 5
NC-Daten sollen zyklisch zum Antrieb übertragen werden. Die SPS benötigt zwar Rechenzeit, es werden aber keine Daten zum Antrieb übertragen.
Auf Grund der höheren Priorität wird die SPS-Task immer vor der NC-Task gerechnet, diese Tasks beeinflussen sich beim Startzeitpunkt "0 ms" und dann, wiederkehrend alle "6 ms", also 2x Sync1. Der ESC erwartet aber bei jedem Sync1 (3 ms) das Ethercat-Telegramm.mit den NC-Daten. Das ist aber nicht gewährleistet, weil die höher priorisierte SPS-Task immer vor der NC-Task berechnet wird und somit bei einem sychronen Mapping den Telegrammstart verzögert. Aus diesem Grund kommt das Telegramm der NC alle 6 ms etwas später und kann dadurch bei den AX5000 den Fehler F415 verursachen.

Beispiel 2
- Der CPU-Timer sendet regelmäßig Interrupts (Default: Basiszeit = 1 ms)
- Gemäß den Regeln der Taskverwaltung werden nun die einzelnen Tasks abgearbeitet.
- Taskverwaltung:
Da die Task durch mehr oder weniger Rechenvorgänge auch mehr oder weniger Zeit in Anspruch nimmt, sollte direkt nach dem Einsprungpunkt (a) am Anfang der Task das "I/O-Update" parametriert werden. Damit ist eine Quelle für fehlerhafte Synchronisation ausgeschlossen.
Eine weitere Fehlerquelle ist eine ungünstige Priorisierung der einzelnen Tasks (siehe unten) - Nach dem "I/O-Update" werden die resultierenden Daten an das TwinCAT-IO-System übergeben und anschließend per EtherCAT-Telegramm an die angeschlossenen Geräten versendet. Das EtherCAT-Telegramm durchläuft jedes physikalisch angeschlossene Gerät und übergibt bzw. übernimmt nur die Daten für dieses Gerät.
- Die Reihenfolge der Task-Berechnung hängt u.a. von der Priorisierung der Tasks ab. Wenn eine Task eine höhere Priorität hat, wird sie auch zuerst gerechnet und kann ihre Daten an das TwinCAT-IO-System schicken, welches dann das Telegramm versendet. Probleme tauchen meistens dann auf, wenn einzelne Task unterschiedliche Zykluszeiten haben, siehe unten.

Priorisierung
In der folgenden Grafik wird die Auswirkung der Priorisierung auf die Synchronisation der Daten beschrieben.
Annahmen:
Sync1 = 3 ms
NC-Zykluszeit = 2 ms
NC-Priorität = 5
SPS-Zykluszeit = 3 ms
SPS-Priorität = 25
NC-Task bedient nur Geräte der SyncUnit 1, synchrones Mapping
SPS-Task bedient nur Geräte der SyncUnit 2, synchrones Mapping
NC- und SPS-Daten sollen zyklisch übertragen werden.
Auf Grund der höheren Priorität wird die NC-Task immer vor der SPS-Task gerechnet und das Telegramm wird dementsprechend auch zuerst versendet, diese Tasks beeinflussen sich beim Startzeitpunkt "0 ms" und dann, wiederkehrend alle "6 ms", also 2x Sync1. Der ESC erwartet aber bei jedem Sync1 (3 ms) ein Ethercat-Telegramm. In der SyncUnit 1, welche von der NC bedient wird, ist das ohne Probleme möglich, da die höher priorisierte NC das Telegramm immer im gleichen Zeitraster versendet. Das Telegramm der SPS kommt allerdings alle 6 ms etwas später und kann dadurch bei den AX5000 der SyncUnit 2 den Fehler F415 verursachen.
