Neben der Deklaration des speziellen Programms PLC_PRG können Sie die Abarbeitung Ihres Projekts auch über die Aufgabenverwaltung steuern.
Eine Task ist eine Zeiteinheit in der Verarbeitung 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. Diese Bedingung kann durch eine Zeit (zyklisch, freilaufend) oder durch ein internes oder externes Ereignis definiert werden, das die Aufgabe auslöst; z. B. die steigende Flanke einer globalen Projektvariablen oder ein Interrupt-Ereignis der Steuerung.
Für jede Aufgabe können Sie eine Reihe von Programmen angeben, die von der Aufgabe gestartet werden sollen. Wenn die Aufgabe im aktuellen Zyklus ausgeführt wird, werden diese Programme für die Dauer eines Zyklus bearbeitet.
Die Kombination aus Priorität und Bedingung bestimmt, in welcher zeitlichen Reihenfolge die Aufgaben ausgeführt werden.
Jede Aufgabe kann explizit aktiviert oder deaktiviert werden.
Für jede Aufgabe können Sie einen Watchdog (Zeitsteuerung) konfigurieren; die möglichen Einstellungen hängen vom Zielsystem ab.
Zusätzlich besteht die Möglichkeit, Systemereignisse zu verknüpfen (z.B. Start, Stop, Reset) direkt mit der Ausführung eines Projektbausteins.
Die Aufgabenkonfiguration befindet sich als Objekt auf der Registerkarte Ressourcen im Object Organizer. Der Task-Editor wird in einem zweiteiligen Fenster geöffnet.

Im linken Teil des Fensters werden die Aufgaben in einem Konfigurationsbaum dargestellt. An oberster Stelle finden Sie immer den Eintrag "Taskkonfiguration". Darunter befinden sich der Eintrag "Systemereignisse" und die Einträge für die einzelnen Aufgaben, dargestellt durch den Aufgabennamen. Unter jedem Aufgabeneintrag werden die zugeordneten Programmaufrufe eingefügt. Jeder Zeile ist ein Symbol vorangestellt.
Im rechten Teil des Fensters wird ein Dialog angezeigt, der zu dem aktuell markierten Eintrag im Konfigurationsbaum gehört. Hier können Sie die Tasks (Task-Eigenschaften), Programmaufrufe (Programmaufruf) konfigurieren bzw. die Verknüpfung von Systemereignissen (Systemereignisse) definieren. Es hängt vom Ziel ab, welche Optionen in den Konfigurationsdialogen verfügbar sind. Sie werden durch eine Beschreibungsdatei definiert, auf die in der Zieldatei verwiesen wird. Werden die Standardbeschreibungen um kundenspezifische Definitionen erweitert, so werden diese in einem zusätzlichen Reiter 'Parameter' im rechten Teil des Fensters angezeigt.
Bitte verwenden Sie nicht dieselbe String-Funktion (siehe standard.lib) in mehreren Aufgaben, da dies durch Überschreiben zu Programmfehlern führen kann.
Welche Aufgabe wird gerade bearbeitet?
Für die Ausführung gelten die folgenden Regeln:
-
Diejenige Aufgabe wird ausgeführt, deren Bedingung erfüllt ist, d. h. wenn ihre angegebene Zeit abgelaufen ist oder nachdem ihre Bedingungsvariable (Ereignisvariable) eine steigende Flanke aufweist.
-
Wenn mehrere Aufgaben eine gültige Anforderung haben, dann wird die Aufgabe mit der höchsten Priorität ausgeführt.
-
Wenn mehrere Aufgaben gültige Bedingungen und gleiche Prioritäten haben, wird die Aufgabe, die die längste Wartezeit hatte, zuerst ausgeführt.
-
Die Abarbeitung der Programmaufrufe erfolgt entsprechend ihrer Reihenfolge (von oben nach unten) im Task-Editor.
-
Je nach Zielsystem wird PLC_PRG in jedem Fall als freilaufende Task verarbeitet, ohne in den Taskkonfigurationsbaum eingefügt zu werden.