CPU-Kerne und Tasks

Die Konfiguration von Tasks und CPU-Kernen ist nicht spezifisch für TwinCAT Vision, sondern funktioniert für alle TwinCAT Komponenten gleich. Anleitungen dazu finden Sie sind unter Echtzeit-Einstellungen und Task-Einstellungen. Im Folgenden sind die Berührungspunkte und Erwägungen zu TwinCAT Vision beschrieben.

Eine TwinCAT Vision Applikation benötigt Tasks für verschiedene Zwecke:

Konfigurieren von SPS-Tasks

Grundsätzlich werden alle für TwinCAT Vision benötigten zyklischen Tasks automatisch angelegt. Beim Anlegen einer SPS wird eine Task mit einer Zykluszeit von 10ms erstellt. Dies bedeutet, dass Bildverarbeitungsabläufe in der SPS alle 10ms wiederholt werden. Unter SYSTEM > Tasks > [Taskname] können Sie die Einstellungen der Task verändern.

CPU-Kerne und Tasks 1:

Cycle ticks

Die Zyklus-Ticks multipliziert mit der Basiszeit des ausgewählten CPU-Kerns (standardmäßig 1ms) ergibt die oben beschriebene Zykluszeit der SPS.

Floating point exceptions

Diese Einstellung bestimmt, ob TwinCAT auf Fließkomma-Exceptions prüft oder nicht.

Für Vision Applikationen wird empfohlen, diese Option zu deaktivieren. Zudem lassen diese Fehlermeldungen nicht auf den genauen Grund der Exception schließen.

Watchdog stack

Die Einstellung muss aktiviert sein, wenn in dem zugeordneten SPS-Programm Watchdogs genutzt werden sollen.

WARNUNG

Floating point exceptions

Für SPS-Tasks, die im Wesentlichen Vision-Befehle ausführen, wird eindringlich empfohlen, die Option „Floating point exceptions“ zu deaktivieren. Anderenfalls können bei bestimmten TwinCAT Vision API-Funktionen unnötige Fehler auftreten, die zum Systemabbruch führen. Wenn jedoch auch Motion Control oder Safety Komponenten auf derselben SPS-Task ausgeführt werden, muss diese Option aktiv sein.

Hinweis

Floating point exceptions in Job Tasks

Wenn Sie zusätzlich Job Tasks für Vision Applikationen verwenden und die „Floating point exceptions“ in der SPS Task deaktiviert haben, müssen Sie diese Option ebenfalls in den zugeordneten Job Tasks deaktivieren. Ansonsten können weiterhin Exceptions und Systemabbrüche auftreten.

Konfigurieren von Geräte-Tasks

Beim Anlegen von Vision-Geräten werden benötigte Tasks automatisch generiert. Die Zykluszeiten dieser Tasks können wie zuvor beschrieben angepasst werden. Für die meisten Fälle wird empfohlen, die Zykluszeiten dieser Tasks nicht zu verändern. Dies ist lediglich in Sonderfällen erforderlich.

Falls die Verknüpfung eines Vision-Geräts mit einer Task doch einmal angepasst werden muss, geschieht dies im Karteireiter Context der jeweiligen TcCOM-Objekte eines GigE Vision Camera oder File Source Objekts:

CPU-Kerne und Tasks 2:

Folgende TcCOM-Objekte müssen mit einer zyklischen Task verknüpft sein, sofern sie benutzt werden:

Wenn beim Erstellen eines Vision-Geräts schon passende Tasks unter dem gewählten Gerätenamen existieren, können diese optional wiederverwendet werden. In diesem Fall erscheint folgendes Fenster, klicken Sie auf Ja um die Wiederverwendung zu bestätigen:

CPU-Kerne und Tasks 3:
CPU-Kerne und Tasks 4:

Wiederwendung von Geräte-Tasks

Bei der Wiederwendung von Geräte-Tasks sollte sichergestellt werden, dass diese nicht von mehreren Vision-Geräten gleichzeitig genutzt werden.

Zuordnung zu CPU-Kernen

Die Zuordnung von Tasks zu CPU-Kernen erfolgt im TwinCAT Projekt unter SYSTEM > Real-Time > Settings. Bei Multicore-Systemen ermöglicht TwinCAT die Unterscheidung zwischen Windows-Kernen und isolierten Kernen. Bei Windows-Kernen teilen sich das Betriebssystem und die TwinCAT-Anwendung die Prozessorzeit. Der Echtzeitanteil kann dabei auf 10% bis 90% begrenzt werden. Im Gegenzug stehen die isolierten Kerne vollständig der TwinCAT-Anwendung zur Verfügung. Aus diesem Grund wird die Verwendung von isolierten Kernen für Vision-Anwendungen empfohlen.

Um die aktuelle CPU-Kern-Konfiguration des Zielsystems anzuzeigen, klicken Sie auf Read from Target.

CPU-Kerne und Tasks 5:

Um die CPU-Kern-Konfiguration des Zielsystems zu ändern, klicken Sie auf Set on Target und wählen die gewünschte Verteilung von geteilten und isolierten Kernen aus.

CPU-Kerne und Tasks 6:

Hiernach ist ein Neustart des Zielsystems erforderlich.

CPU-Kerne und Tasks 7:

Empfehlung

Wir empfehlen, für die Vision-Tasks (Geräte und SPS) mindestens einen dezidierten, isolierten Kern zu benutzen. Falls der TcVnService durch das Abspeichern oder Laden von Bildern (durch Kamera Streams, ein File Source Control oder direkt aus der SPS) stark beansprucht wird, empfehlen wir einen Kern komplett für Windows zu reservieren oder den Echtzeitanteil eines Kerns stark zu begrenzen.

Wenn mehrere Tasks einem Kern zugeordnet sind, muss die Priorität beachtet werden. In der Regel sollte den Tasks mit kürzerer Zykluszeit eine höhere Priorität zugewiesen werden.