Konfiguration der Aufgabe
In der Task-Konfiguration definieren Sie eine oder mehrere Tasks, um den Ablauf von Programmen (POE-Objekte vom Typ Programm) und die von ihnen aufgerufenen POEs auf Ihrem Gerät zu steuern. Für jede Anwendung ist ein Task-Konfigurationsobjekt erforderlich. Hier legen Sie die zeitliche Abfolge des Programmaufrufs fest.
Eine Aufgabe ist die chronologische Ablaufeinheit für Ihr IEC-Programm. Die Aufgabe definiert die Aufrufkette Ihrer POEs (Aufrufhierarchie).
Jede Aufgabe benötigt einen eindeutigen Namen. Geben Sie im Task-Konfigurationseditor eine Liste der aufzurufenden Programme an. Die Programme können anwendungsspezifisch sein. In diesem Fall befindet sich das Programm in der Ansicht Geräte. Ein Programm kann aber auch für das gesamte Projekt gültig sein. In diesem Fall befindet sich das Programm in der Ansicht POEs. Diese POEs werden im gesamten Projekt instanziiert.
-
Es ist möglich, eine Aufgabe zu priorisieren. Die Priorisierung funktioniert in Kombination mit dem Aufgabentyp.
-
Sie konfigurieren einen Aufgabentyp:
-
Zyklisch; für einen zeitgesteuerten Fluss mit einem Zyklusintervall. Die Programmaufrufe werden innerhalb des Zyklusintervalls (Task-Zykluszeit) durchlaufen.
-
Freilaufend; für eine Task ohne eigene Task-Zykluszeit
-
Ereignisgetriggert (intern oder extern) durch eine Bedingung für den Ereignisstart (flankengetriggert).
-
Beispiele für ein Ereignis sind die steigende Flanke einer globalen Projektvariablen oder ein Interrupt.
-
Statusausgelöst durch Bedingung
-
Es ist möglich, Start, Stop und Reset direkt mit der Ausführung des Projekts POE zu verbinden.
-
Sie können auch einen Watchdog aktivieren.
Der Aufrufstapel wird auf der Grundlage dieser Einstellungen in der Aufgabenkonfiguration erstellt und ausgeführt.
Anhand der verschiedenen möglichen Aufrufstapel wird ermittelt, welcher davon der längste mit dem höchsten Speicherbedarf ist (maximaler Aufrufstapel). Ausführliche Informationen hierzu finden Sie auf der Registerkarte Stack Usage.
Bestellung bearbeiten
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
Hilfreiche HinweisePermanentlink
Alle Aufgaben teilen sich ein Prozessabbild.
Der Grund dafür ist, dass ein separates Prozessabbild für jede Aufgabe die Leistung beeinträchtigen würde.
Außerdem kann ein Prozessabbild nur für eine Aufgabe konsistent sein. Dadurch werden Inkonsistenzen vermieden, wenn alle Aufgaben ein gemeinsames Prozessabbild haben.
Wenn Sie ein Projekt entwickeln, müssen Sie sicherstellen, dass die Eingabedaten (VAR_INPUT) im Falle eines Konflikts an einen sicheren Ort kopiert werden. Dies gilt auch für Ausgabedaten (VAR_OUTPUT).
POUs, wie die SysSem-Bibliothek, bieten die Möglichkeit, Konsistenz- und Synchronisationsprobleme zu lösen. Konsistenzprobleme können auch beim Zugriff auf andere globale Objekte (globale Variablen oder POEs) auftreten. Konsistenzprobleme treten immer dann auf, wenn eine Variable mehrfach gelesen und beschrieben wird. Die POUs der SysSem-Bibliothek können ebenfalls dazu beitragen, diese Art von Konflikten zu lösen.
-
Konfigurieren einer Aufgabe
-
Freilaufende IEC-Aufgabe
-
Definitionen von Jitter und Latenz
-
Berechnung des Stapelverbrauchs
-
Multicore