Konfiguration einer spezifischen Task
Wenn Sie eine Task im Knoten Taskkonfiguration der Anwendungsbaumstruktur einfügen, wird die Task-Editor-Ansicht zum Festlegen der Taskkonfiguration mit der Registerkarte Konfiguration geöffnet.
Diese wird auch geöffnet, wenn Sie auf eine verfügbare Task doppelklicken (z. B. MAST), um die Konfiguration der Task zu ändern.
HINWEIS: Sie können den Namen der Task ändern, indem Sie den entsprechenden Eintrag in der Anwendungsbaumstruktur bearbeiten.
Fügen Sie die gewünschten Attribute ein.
Priorität |
|
---|---|
Priorität (0...31) |
Eine Zahl zwischen 0 und 31 (wobei 0 die höchste und 31 die niedrigste Priorität bedeutet) Der Standardwert für neue Tasks wird von Ihrer Steuerung definiert. HINWEIS: Stützen Sie sich auf die steuerungsspezifischen Taskeinstellungen, um die geeigneten Einstellungen für Ihre Anwendungstasks zu identifizieren. Das kann bei der Zuweisung einer Priorität für kommunikationsorientierte Tasks sowie in Verbindung mit bestimmten Aspekten wie beispielsweise der Cybersicherheit von Bedeutung sein. Sie können die Robustheit des Systems verbessern, indem Sie Anwendungstasks eine höhere Priorität zuweisen als Kommunikationstasks. |
Typ |
|
---|---|
Das Zielgerät gibt vor, welche Tasktypen unterstützt werden. Für einige Zielgerät sind nicht alle Typen verfügbar. Siehe Weitere Informationen finden Sie im Programmierhandbuch Ihrer Steuerung. für weitere Informationen. |
|
Zyklisch |
Die Task wird zyklisch gemäß der Definition im Feld Intervall (siehe unten) verarbeitet. |
Ereignis |
Die Task wird gestartet, sobald die im Feld Ereignis definierte Variable eine steigende Flanke aufweist. |
Freilaufend |
Der Task wird verarbeitet, sobald das Programm gestartet wird. Nach der Ausführung wird sie automatisch in einer kontinuierlichen Schleife weiter ausgeführt. Es wird keine Zykluszeit definiert. |
Extern |
Die Task startet, sobald das im Feld Externes Ereignis definierte Systemereignis eintritt. Welche Ereignisse unterstützt und in der Auswahlliste angeboten werden, hängt vom Ziel ab. (Nicht zu verwechseln mit System-Ereignissen.) |
Status |
Die Task wird gestartet, wenn die im Feld Ereignis definierte Variable den Wert TRUE aufweist. |
Obligatorische Einträge abhängig vom Tasktyp
Eintrag |
Beschreibung |
---|---|
Intervall (beispielsweise, t#200ms) |
Obligatorisch für den Tasktyp Zyklisch. Die Zeit (in Millisekunden [ms]), nach der die Task neu gestartet werden soll. Bei der Einstellung der Taskzykluszeit müssen Sie das von der Anwendung genutzte Bussystem berücksichtigen. In einem CAN-Bussystem beispielsweise können Sie die Buszyklus-Task auf der Registerkarte CANopen-E/A-Abbild festlegen. Die Taskzykluszeit muss der Übertragungsrate und der Frame-Anzahl des Busses entsprechen. Außerdem sollten die für Heartbeat, Nodeguarding und Synchronisation eingestellten Zeiten immer ein Vielfaches der Zykluszeit der Task sein. Andernfalls werden unter Umständen manche CAN-Frames nicht erkannt. Weitere Informationen finden Sie im Abschnitt Geräteeditor der EcoStruxure Machine Expert-Online-Hilfe. |
Ereignis |
Obligatorisch für den Typ Ereignisbzw. ausgelöst durch ein Externes Ereignis. Eine globale boolesche Variable, die den Start der Task auslöst, sobald eine steigende Flanke erkannt wird. Mit der Schaltfläche ... bzw. der Eingabehilfe können Sie eine Liste aller verfügbaren globalen Ereignisvariablen aufrufen. HINWEIS: Falls das Ereignis, das eine Task auslöst, von einer Eingabe stammt, muss mindestens eine Task vorhanden sein, die nicht durch ein Ereignis ausgelöst wird. Ansonsten werden die E/A nie aktualisiert und die Task wird nie gestartet. HINWEIS: Nur interne IEC-Variablen sind zulässig. Die Referenzierung einer Eigenschaften (einschließlich der Systemparameter) in einer Ereignistask hat die Erkennung eines Watchdog-Ausnahmefehlers während des Downloads zur Folge. |
Unterschied zwischen Status und Ereignis
Wenn das angegebene Ereignis TRUE ist, wird die Startbedingung einer statusabhängigen Task erfüllt. Bei einer ereignisabhängigen Task muss sich der Wert für das Ereignis von FALSE in TRUE ändern. Wenn sich das Ereignis zu schnell von TRUE in FALSE und wieder zurück in TRUE ändert, bleibt dieses Ereignis womöglich unbemerkt und die Ereignistask wird somit nicht gestartet.
Im folgenden Beispiel wird das Verhalten der Task als Reaktion auf ein Ereignis (grüne Linie) verdeutlicht.
An den Abtastpunkten 1 bis 4 zeigen Tasks unterschiedlicher Typen eine unterschiedliche Reaktion:
Verhalten an einem Punkt: |
1 |
2 |
3 |
4 |
---|---|---|---|---|
Status |
Kein Start |
Start |
Start |
Start |
Ereignis |
Kein Start |
Start |
Kein Start, weil das Ereignis sich zu schnell von TRUE zu FALSE und wieder zurück zu TRUE geändert hat. |
Kein Start |
Für jede Task können Sie eine Zeitsteuerung (Watchdog) konfigurieren.
Die Standard-Watchdog-Einstellungen hängen von der Steuerung ab.
Wenn die Option Aktivieren aktiviert wird (Häkchen im Kontrollkästchen), wird der Watchdog aktiviert. Wenn der Watchdog aktiviert ist, wird ein Ausnahmefehler erkannt, sobald die Ausführungszeit für den Task die im Feld Zeit vorgegebene Zeit überschreitet. Die Anwendung mit der Task, in der der Fehler aufgetreten ist, und die entsprechende untergeordnete Anwendung, wurden angehalten. Dadurch wird die Task dieser Anwendung ebenfalls angehalten. Die definierte Empfindlichkeit wird ebenfalls berücksichtigt. Falls die Option E/As aktualisieren im Stop im Einstellungs-Dialogfeld der Steuerung aktiviert ist, werden die Ausgaben auf die vorab definierten Standardwerte für die jeweilige Steuerungsplattform festgelegt. Diese Funktion ist nicht für alle unterstützten Steuerungen verfügbar. Weitere Informationen finden Sie im Programmierhandbuch Ihrer Steuerung..
Die folgenden Fälle können eintreten:
oMehrere aufeinanderfolgende Timeouts:
oEmpfindlichkeit: 0, 1 - Ausnahme in Zyklus 1
oEmpfindlichkeit: 2 - Ausnahme in Zyklus 2
oEmpfindlichkeit: n - Empfindlichkeit n
HINWEIS: Die Obergrenze der Empfindlichkeit (n) ist steuerungsabhängig. Weitere Informationen bezüglich der Empfindlichkeit, Taskzeit und anderen relevanten Parametern finden Sie im Programmierungshandbuch Ihrer Steuerung, Kapitel System- und Task-Watchdog.
oEinzelnes Timeout: Ausnahme, wenn die Zykluszeit des aktuellen Zyklus länger ist als (Taskzeitlimit * Empfindlichkeit).
Beispiel:
Zeit=t#10 ms, Empfindlichkeit=5 (Eine Ausnahme wird angezeigt, sobald die Task länger läuft als 50 ms.)
Zeit (z. B. t#200 ms) |
Definiert die maximal zulässige Ausführungszeit für eine Task. Wenn eine Task länger braucht, als hier festgelegt wurde, meldet die Steuerung eine Task-Watchdog-Ausnahme. |
Empfindlichkeit |
Definiert die Anzahl der Task-Watchdog-Ausnahmen, die auftreten müssen, bevor die Steuerung einen Anwendungsfehler erkennt. |
HINWEIS: Die Watchdog-Funktion ist im Simulationsmodus nicht verfügbar.
Weitere Informationen finden Sie im Programmierhandbuch Ihrer Steuerung., Kapitel System- und Task-Watchdog enthält weitere Informationen über die Taskzeit, die Empfindlichkeit und andere möglichen Watchdog-Parameter.
Die POUs, die von der Task gesteuert werden, sind hier in einer Tabelle mit dem Namen der POU und einem optionalen Kommentar aufgeführt. Über der Tabelle befinden sich die Bearbeitungsbefehle:
oÖffnen Sie zur Definition einer neuen POU das Dialogfeld Eingabehilfe über den Befehl Aufruf hinzufügen. Wählen Sie eines der im Projekt verfügbaren Programme aus. Sie können der Liste auch POUs des Typs „Programm“ hinzufügen, indem Sie sie per Drag & Drop aus der Anwendungsbaumstruktur ziehen.
oUm den Programmaufruf durch einen anderen zu ersetzen, wählen Sie den Eintrag in der Tabelle aus, öffnen Sie die Eingabehilfe über den Befehl Aufruf ändern und wählen Sie ein anderes Programm aus.
oWenn Sie einen Aufruf löschen möchten, wählen Sie ihn in der Tabelle aus, und verwenden Sie den Befehl Aufruf entfernen.
oÜber den Befehl POU öffnen wird das ausgewählte Programm im entsprechenden Editor geöffnet.
Die Reihenfolge der aufgeführten POU-Aufrufe (von oben nach unten) bestimmt die Reihenfolge, in der die Aufrufe im Online-Modus ausgeführt werden. Sie können den ausgewählten Eintrag innerhalb der Liste mit den Befehlen Nach oben und Nach unten verschieben.