Sync Tasks

Eine Task ist eine zyklisch auszuführende Aufgabe. Tasks können unterschiedliche Zykluszeiten besitzen und sind mit einer Priorität gewichtet. Verschiedene Tasks können eine gleiche Zykluszeit haben, jedoch nicht eine gleiche Priorität. Tasks mit einer höheren Priorität können Tasks mit einer niedrigeren Priorität unterbrechen. Deshalb sollten Tasks mit kurzen Zykluszeiten eine hohe Priorität bekommen. Eine Task mit niedriger Priorität wird fortgesetzt, sobald CPU-Ausführungszeit vorhanden ist und die Prioritätenliste es erlaubt.

Ein EtherCAT-Telegramm enthält bis zu 15 EtherCAT-Datagramme und wird von einer Frame Check Sequence abgeschlossen. Eine Sync Task ist einer Sync Unit zugeordnet, die Frames synchronisiert. Falls noch keine Sync Task vorliegt, wird ein Frame von einer unreferenzierten Default-Sync Unit synchronisiert.

Im Teilbaum „SYSTEM“ kann der „Echtzeit“-Dialog aufgerufen werden. Unter dem Karteireiter „Prioritäten“ sind die vorhandenen Tasks nach Prioritäten geordnet. Wenn Sie die Schaltfläche „Manuell optimieren“ betätigen, werden in der Prioritätenliste vorhandene Tasks sortiert: In der Regel wird eine Task mit umso höherer Priorität einsortiert, je kleiner ihre Zykluszeit ist.

Im EtherCAT-Master Dialog unter dem Karteireiter EtherCAT befindet sich die Schaltfläche „Sync Unit Zuordnung…“. Sie öffnet den Dialog „Sync Unit Zuordnung“. Im EtherCAT-Master Dialog unter dem Karteireiter EtherCAT befindet sich die Schaltfläche „Erweiterte Einstellungen…“. Mit der Schaltfläche „Erweiterte Einstellungen…“ kann der „Erweiterte Einstellungen“-Dialog geöffnet werden. Im Teilbaum „Zyklische Frames“ befindet sich der Eintrag „Sync Tasks“, der den Sync Tasks-Dialog öffnet.

Im Sync Tasks-Dialog kann mit dem NumericUpDown-Steuerelement „Max Sync Tasks“ die maximale Anzahl der Sync Tasks auf den Wert 1, 2, 3 oder 4 eingestellt werden. Als Default-Einstellung ist der Wert 4 eingestellt. Unten im Sync Tasks-Dialog werden in einer Tabelle so viele Sync Tasks eingetragen, wie vorhanden sind. Es können nicht mehr Sync Tasks vorhanden sein als ihre eingestellte maximale Anzahl. Die Tabelle enthält jeweils den Namen einer Sync Task und ihre Zykluszeit und ordnet der Sync Task eine Nummer zu.

Eine Sync Task entsteht dann, wenn eine Sync Unit vorliegt, die der entsprechenden synchronisierenden Task zugeordnet ist. Jedesmal wenn eine Sync Unit einer synchronisierenden Task zugeordnet wird, dann werden in der Reihenfolge der Prioritäten synchronisierender Tasks Sync Tasks angelegt und in der Tabelle unten im Sync Tasks-Dialog aufgelistet.

Sync Units können im Dialog „Sync Unit Zuordnung“ einer Task ohne eine Variablenverknüpfung zugeordnet werden. Aber auch wenn eine zu einer Task gehörende Variable mit einem unverknüpften Slave-Gerät verknüpft wird, wird eine Sync Unit erzeugt. Im Run-Betrieb ist eine Sync-Variable erforderlich. Wenn Variablen von verschiedenen Tasks mit einem Slave-Gerät verknüpft werden, synchronisiert die Task mit der höchsten Priorität, der eine Sync Unit zugeordnet ist, das Slave-Gerät.

Für jede Sync Task wird mindestens ein zyklischer Frame zur Datenübertragung angelegt. Wenn viele EtherCAT-Slave-Geräte vorhanden sind und ihnen viele Sync Units zugeordnet werden, dann können mehr als vier EtherCAT-Frames entstehen. Die zusätzlichen Frames werden mit dem letzten von einer Sync Task synchronisierten Frame synchronisiert.

Im E/A-Baum unter „Zuordnungen“ finden Sie eine Auflistung, die angibt, welche Tasks welchem Master-Gerät zugeordnet sind. Falls eine Sync Task einem Master-Gerät zugeordnet ist, enthält das Symbol der Zuordnung einen Doppelpfeil.