Im folgenden Abschnitt werden die verschiedenen, für ein Programm verfügbaren Tasktypen sowie die Eigenschaften dieser Tasktypen beschrieben.
Einer zyklischen Task wird über die Einstellung "Intervall" im Bereich "Typ" auf der Unterregisterkarte "Konfiguration" eine feste Dauer zugewiesen. Die Ausführung einer zyklischen Task verläuft wie folgt:
1. Eingänge lesen: Die physischen Eingangszustände werden an die Eingangsspeichervariablen %I geschrieben, und andere Systemvorgänge werden ausgeführt.
2. Taskverarbeitung: Der in der Task definierte Benutzercode (POU usw.) wird verarbeitet. Die Ausgangsspeichervariablen %Q werden gemäß den Anweisungen im Anwendungsprogramm aktualisiert, jedoch während dieses Vorgangs nicht an die physischen Ausgänge geschrieben.
3. Ausgänge schreiben: Die Ausgangsspeichervariable %Q wird gemäß jeglicher definierten Ausgangsforcierung angepasst, das Schreiben der physischen Ausgänge hängt jedoch vom Typ des verwendeten Ausgangs und der verwendeten Anweisungen ab.
Weitere Informationen zum Definieren der Buszyklus-Task finden Sie im EcoStruxure Machine Expert - Programmierhandbuch sowie unter Modicon M262 Logic/Motion Controller-Einstellungen.
Weitere Informationen zum E/A-Verhalten finden Sie unter Beschreibung der Steuerungszustände.
4. Verbleibende Intervalldauer: Die Firmware der Steuerung führt Systemverarbeitung und andere Tasks mit geringer Priorität aus.
HINWEIS: Wenn der für eine zyklische Task definierte Zeitraum zu kurz ist, wird die Task unmittelbar nach dem Schreiben der Ausgänge wiederholt, ohne zuvor andere Tasks mit einer niedrigeren Priorität oder andere Systemverarbeitungen durchzuführen. Dies hat eine Auswirkung auf die Ausführung aller Tasks und kann dazu führen, dass die Steuerung die System-Watchdog-Grenzwerte überschreitet und so eine System-Watchdog-Ausnahme erzeugt.
Eine freilaufende Task hat keine feste Dauer. Im freilaufenden Modus startet der Taskzyklus nach Beendigung des vorherigen Zyklus und einer kurzen Zeit für Systemverarbeitungsfunktionen. Die Ausführung einer freilaufenden Task verläuft wie folgt:
1. Eingänge lesen: Die physischen Eingangszustände werden an die Eingangsspeichervariablen %I geschrieben, und andere Systemvorgänge werden ausgeführt.
2. Taskverarbeitung: Der in der Task definierte Benutzercode (POU usw.) wird verarbeitet. Die Ausgangsspeichervariablen %Q werden gemäß den Anweisungen im Anwendungsprogramm aktualisiert, jedoch während dieses Vorgangs nicht an die physischen Ausgänge geschrieben.
3. Ausgänge schreiben: Die Ausgangsspeichervariable %Q wird gemäß jeglicher definierten Ausgangsforcierung angepasst, das Schreiben der physischen Ausgänge hängt jedoch vom Typ des verwendeten Ausgangs und der verwendeten Anweisungen ab.
Weitere Informationen zum Definieren der Buszyklus-Task finden Sie im EcoStruxure Machine Expert - Programmierhandbuch sowie unter Modicon M262 Logic/Motion Controller-Einstellungen.
Weitere Informationen zum E/A-Verhalten finden Sie unter Beschreibung der Steuerungszustände.
4. Systemverarbeitung: Die Firmware der Steuerung führt Systemverarbeitung und andere Tasks mit geringer Priorität aus. (z. B.: HTTP-Management, Ethernet-Management, Parametermanagement).
HINWEIS: Informationen zur Definition des Taskintervalls finden Sie unter Zyklische Task.
Diese Art von Task ist ereignisgesteuert und wird durch eine Programmvariable eingeleitet. Die Task startet an der steigenden Flanke der booleschen Variable, die mit dem Trigger-Ereignis verknüpft ist, es sei denn, eine Task mit einer höheren Priorität kommt ihr zuvor. In diesem Fall wird die Ereignistask entsprechend den Vorgaben durch die Taskprioritätszuweisungen gestartet.
Wenn Sie z. B. eine Variable namens my_Var definiert haben und diese einem Ereignis zuweisen möchten, gehen Sie wie folgt vor:
Schritt |
Aktion |
---|---|
1 |
Doppelklicken Sie in der Anwendungsbaumstruktur auf den TASK. |
2 |
Wählen Sie auf der Registerkarte Konfiguration aus der Liste Typ das Element Ereignis aus. |
3 |
Klicken Sie rechts neben dem Feld Ereignis auf die Schaltfläche Eingabehilfe Ergebnis: Das Fenster Eingabehilfe wird angezeigt. |
4 |
Navigieren Sie in der Baumstruktur des Dialogs Eingabehilfe zur Variablen my_Var, um diese zuzuweisen. |
HINWEIS: Wenn die Ereignistask mit einer zu hohen Frequenz ausgelöst wird, erkennt die Steuerung möglicherweise einen Fehler und wechselt in den HALT-Zustand (Ausnahme). Die maximale Rate der Ereignisse beträgt 10 Ereignisse pro Millisekunde für TM262L10MESE8T und TM262M15MESS8T und 16 Ereignisse pro Millisekunde für TM262L20MESE8T, TM262M25MESS8T und TM262M35MESS8T. Wenn die Ereignistask mit einer höheren Frequenz ausgelöst wird, wird die Meldung „ISR Count Exceeded“ auf der Anwendungsprotokollseite aufgezeichnet.
Dieser Tasktyp ist ereignisgesteuert und wird durch die Erkennung eines Hardware- oder Hardware-bezogenen Funktionsereignisses initiiert. Er beginnt, wenn das Ereignis eintritt, außer wenn eine Task mit höherer Priorität vorrangig ausgeführt wird. In diesem Fall wird die Ereignistask entsprechend den Vorgaben durch die Taskprioritätszuweisungen gestartet.
Zum Beispiel könnte eine externe Ereignistask einem HSC-Stop-Ereignis zugeordnet werden. Um das Ereignis HSC0_STOP mit einer externen Ereignistask zu verknüpfen, wählen Sie es in der Dropdownliste Externes Ereignis auf der Registerkarte Konfiguration aus.
Die externe Ereignistask kann dem CAN-Sync-Ereignis zugeordnet werden. Um das Ereignis CAN_1_SYNC mit einer externen Ereignistask zu verknüpfen, wählen Sie es in der Dropdownliste Externes Ereignis auf der Registerkarte Konfiguration aus.
Einer externen Ereignistask können verschiedene Arten von Ereignissen zugewiesen werden:
oHSC Stop
oCAN Sync
oHSC-Ereignis Periodenmesser
oEreigniseingang
HINWEIS: CAN Sync ist ein spezifisches Ereignisobjekt, das von der CANopen-Manager-Konfiguration abhängt.
HINWEIS: Wenn die externe Ereignistask mit einer zu hohen Frequenz ausgelöst wird, erkennt die Steuerung möglicherweise einen Fehler und wechselt in den HALT-Zustand (Ausnahme). Die maximale Rate der Ereignisse beträgt 10 Ereignisse pro Millisekunde für TM262L10MESE8T und TM262M15MESS8T und 16 Ereignisse pro Millisekunde für TM262L20MESE8T, TM262M25MESS8T und TM262M35MESS8T. Wenn die Ereignistask mit einer höheren Frequenz ausgelöst wird, wird die Meldung "ISR Count Exceeded" auf der Anwendungsprotokollseite aufgezeichnet.