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 M241 Logic 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.
HINWEIS: Wenn die Taskzykluszeit auf einen Wert unter 3 ms eingestellt wird, sollte die tatsächliche Dauer der Task zunächst im Fenster der Tasküberwachung bei der Inbetriebnahme überwacht werden, um sicherzustellen, dass die Dauer erheblich kürzer ist als die konfigurierte Taskzykluszeit. Sollte sie länger sein, dann kann der Taskzyklus unter Umständen nicht ohne einen Watchdog-Timeout für den Taskzyklus und den Wechsel der Steuerung in den Zustand HALT eingehalten werden. Um diese Situation bei der Einstellung der Taskzykluszeit auf weniger als 3 ms bis zu einem gewissen Grad zu vermeiden, müssen auf jeden beliebigen Zyklus reale Grenzen von +1 ms angewendet werden, wenn die berechnete Zykluszeit die konfigurierte Zykluszeit leicht überschreitet.
HINWEIS: Sie können das Intervall einer zyklischen Task über die Funktionen GetCurrentTaskCycle und SetCurrentTaskCycle je Anwendung abrufen und festlegen. (Weitere Informationen finden Sie im Toolbox_Advance-Bibliothekshandbuch.)
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 M241 Logic 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.
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, wechselt die Steuerung in den HALT-Zustand (Ausnahme). Die maximale Ereignisrate ist 6 Ereignisse pro Millisekunde. 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.
Je nach Steuerung gibt es bis zu 4 Ereignistypen, die einer externen Ereignistask zugewiesen werden können:
oSteigende Flanke an einem erweiterten Eingang (DI0 bis DI15)
oHSC-Schwellenwerte
oHSC Stop
oCAN Sync
HINWEIS: CAN Sync ist ein spezifisches Ereignisobjekt, das von der CANopen-Manager-Konfiguration abhängt.
HINWEIS: Die maximale Ereignisfrequenz beträgt 6 Ereignisse pro Millisekunde. Wenn die externe Ereignistask mit einer höheren Frequenz ausgelöst wird, wechselt die Steuerung in den HALT-Zustand und die Meldung „ISR Count Exceeded“ wird auf der Anwendungsprotokollseite aufgezeichnet.