In der Taskkonfiguration definieren Sie eine oder mehrere Tasks zur Steuerung und Ausführung des Anwendungsprogramms in der SPS. Jede Anwendung muss ein Objekt „Taskkonfiguration“ enthalten.
Eine Aufgabe ist eine zeitbasierte Ablaufeinheit eines IEC-Programms. Sie wird durch einen Namen, eine Priorität und einen Typ definiert, der bestimmt, welche Bedingung den Start der Aufgabe auslöst. Sie können diese Bedingung entweder über die Zeit (zyklisches Intervall, Freilauf) oder über das Eintreten eines internen oder externen Ereignisses definieren, um die Aufgabe zu bearbeiten. Beispiele für ein Ereignis sind die steigende Flanke einer globalen Projektvariablen oder ein Interrupt-Ereignis der Steuerung.
Eine Task ruft einen oder mehrere Programmbausteine (POEs) auf. Diese Programme können anwendungsspezifisch (Objekte unterhalb der Anwendung im Gerätebaum) oder projektspezifisch (Objekte in der POE-Ansicht) sein. Im Falle eines projektspezifischen Programms instanziert die Anwendung das projektübergreifende Programm. Wenn CODESYS die Aufgabe im aktuellen Zyklus bearbeitet, werden die Programme für die Dauer eines Zyklus ausgeführt.
Mit der Kombination aus Priorität und Bedingung legen Sie die Reihenfolge fest, in der die Aufgaben bearbeitet werden.
Sie können für jede Aufgabe einen Watchdog konfigurieren. Es ist auch möglich, Start, Stop und Reset direkt mit der Ausführung des Projekts POE zu verbinden.
Regeln für die Reihenfolge der Bearbeitung der definierten Aufgaben
-
Wenn die Bedingung der Aufgabe erfüllt ist, bearbeitet CODESYS die Aufgabe.
-
Wenn mehrere Aufgaben die Bedingung für die gleichzeitige Verarbeitung erfüllen, verarbeitet CODESYS die Aufgaben mit der höchsten Priorität zuerst.
-
Wenn mehrere Aufgaben mit der gleichen Prioritätsstufe die Bedingung für die gleichzeitige Verarbeitung erfüllen, verarbeitet CODESYS die Aufgabe zuerst, die sich am längsten in der Warteschlange befindet.
-
Die Programmaufrufe werden in der Reihenfolge abgearbeitet, in der sie im Konfigurationsdialog der Aufgabe erscheinen.
-
Wenn ein aufgerufenes Programm im Gerätebaum der Anwendung und in einer Bibliothek oder Projektglobale in der POE-Ansicht den gleichen Namen hat, wird das Anwendungsprogramm verwendet.
Wichtige Hinweise
Alle Aufgaben teilen sich ein Prozessabbild. Der Grund dafür ist, dass ein einzelnes
Prozessabbild pro Aufgabe die Leistung beeinträchtigen würde. Das Prozessabbild kann
jedoch nur mit einer Aufgabe konsistent sein. Wenn Sie ein Projekt erstellen, müssen
Sie sicherstellen, dass die Anwendung die Eingabe- und Ausgabedaten im Falle von Konflikten
an einen sicheren Ort kopiert. Module, wie die Bibliothek SysSem
, bieten die Möglichkeit, Konsistenz- und Synchronisationsprobleme zu lösen.
Konsistenzprobleme können auch beim Zugriff auf andere globale Objekte, wie globale
Variablen oder Blöcke, auftreten. Konsistenzprobleme treten immer dann auf, wenn mehrere
Tasks auf eine Variable lesen und schreiben. Als Lösung stehen Module, wie die Bibliothek
SysSem
, zur Verfügung.
-
Siehe auch:⮫ Task-Konfiguration, ⮫ Task-Konfiguration
-
Erstellen einer Aufgabenkonfiguration
-
Definitionen von Jitter und Latenz
-
Multicore