Tasktypen

Einführung

Im folgenden Abschnitt werden die verschiedenen, für ein Programm verfügbaren Tasktypen sowie die Eigenschaften dieser Tasktypen beschrieben.

Zyklische Task

Einer zyklischen Task wird über die Einstellung "Intervall" im Bereich "Typ" auf der Unterregi­sterkarte "Konfiguration" eine feste Dauer zugewiesen. Die Ausführung einer zyklischen Task verläuft wie folgt:

G-SE-0006869.1.gif-high.gif

 

 

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 SoMachine - Programmierhandbuch sowie unter Magelis SCU HMI 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: Die Taskzykluszeit wird auf einen Wert von mindestens 4 ms eingestellt und das Taskintervall entspricht einem Vielfachen von 4 ms.

HINWEIS: Sie können das Intervall einer zyklischen Task über die Funktionen GetCurrentTa­skCycle und SetCurrentTaskCycle je Anwendung abrufen und festlegen. (Weitere Informationen finden Sie im Toolbox_Advance-Bibliothekshandbuch.)

Freilaufende Task

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:

G-SE-0006870.1.gif-high.gif

 

 

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 SoMachine - Programmierhandbuch sowie unter Magelis SCU HMI 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).

Ereignistask

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 die 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 G-SE-0029549.2.gif-high.gif.

Ergebnis: Das Fenster Eingabehilfe wird angezeigt.

4

Navigieren Sie in der Baumstruktur des Dialogs Eingabehilfe zur Variablen my_Var, um diese zuzuweisen.

HINWEIS: Die maximal zulässige Frequenz für das Triggern einer Ereignistask durch das Ereignis richtet sich nach der Priorität anderer Tasks und Systemprozesse. Sie müssen also Ihre Anwendung testen, um ein zuverlässiges Triggern von Ereignissen sicherzustellen.

Externe Ereignistask

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 External Event Task einem HSC-Schwellenwert-Überschrei­tungsereignis zugeordnet werden. Um das Ereignis HSC0_TH1 1 mit einer externen Ereignistask zu verknüpfen, wählen Sie diese aus der Dropdownliste Externes Ereignis auf der Unterregi­sterkarte Konfiguration.

Je nach Steuerung gibt es bis zu 2 Ereignistypen, die einer External Event Task zugewiesen werden können:

oeinen FAST-Eingang (FI0 und FI1) an einer steigenden Flanke, an einer fallenden Flanke oder an beiden Flanken

oeinen HSC-Schwellenwert beim Aufwärtszählen, beim Abwärtszählen oder bei beidem

Externe Ereignistask: Leistung

Für eine External Event Task, die von FI0, FI1, HSC0_TH0 oder HSC0_TH1 ausgelöst wird, ist zwischen den Triggern mindestens das folgende stabile Intervall erforderlich:

o1,5 ms bei Tasks, die keine sofortige Zustandsänderung für FAST-Ausgänge erfordern (FQ0 oder FQ1)

o15 ms bei Tasks, die eine sofortige Zustandsänderung für FAST-Ausgänge erfordern (FQ0 oder FQ1)

Wenn die Triggerbedingungen erfüllt sind, das Intervall jedoch kürzer als oben angegeben ist, werden externe Ereignistasks (External Event Task) möglicherweise verzögert oder gar nicht ausgeführt. Komplexe Tasks, die mehr Berechnungszeit erfordern als oben angegeben, können ebenfalls zur Verzögerung oder Nichtausführung von External Event Tasks führen.

Warning_Color.gifWARNUNG

UNBEABSICHTIGTER GERÄTEBETRIEB

Testen Sie Ihre Anwendung gründlich, um sicherzustellen, dass die Leistung Ihrer Anwendung den Spezifikationen entspricht.

Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Verletzungen oder Sachschäden zur Folge haben.