Herunterladen Diese Seite drucken

Beckhoff TE1010 Handbuch Seite 11

Vorschau ausblenden Andere Handbücher für TE1010:

Werbung

Technische Einführung
Beispielhafte Darstellung des Aufrufs einer SPS-Task
In der Abbildung dargestellt sehen Sie den Aufruf einer SPS-Task. Nachdem der Echtzeit-Tick erfolgt ist,
wird vom Scheduler die SPS-Task aufgerufen. Diese stellt der SPS-Anwendung die aktuellen Eingangswerte
zur Verfügung (Input-Update), danach erfolgt die Abarbeitung des Anwendungsprogramms (Cycle-Update)
und abschließend das Schreiben der Ergebnisse auf die Ausgänge (Output-Update). Ist dieses beendet,
erfolgt das Umschalten in den Nicht-Echtzeit-Mode (Doppeltick). Wie in der Abbildung zu sehen ist, kann die
Ausführungsdauer des Anwenderprogramms variieren, je nachdem welcher Code basierend auf dem
inneren Zustand des Programms durchlaufen wird. Somit variiert auch der Zeitpunkt, wann die Ausgänge
geschrieben werden. Je nachdem welche Task unter Umständen ein Bussystem treibt, kann dies dazu
führen, dass das Absenden der Bustelegramme in gleichem Maße variiert.
Beispielhafter Aufruf einer Task mit „IO am Task-Beginn"
Durch die Verwendung der Option „IO am Task-Beginn" kann die Abarbeitungsreihenfolge innerhalb einer
Task dahingehend geändert werden, dass nach dem Lesen der Eingänge direkt die Ausgänge (des
vorhergehenden Zyklus) geschrieben werden, bevor die Abarbeitung des Anwendungsprogramms erfolgt.
Obwohl das Schreiben der Ausgänge erst einen Zyklus später erfolgt, hat diese Einstellung den Vorteil, dass
der Zeitpunkt, wann die Ausgänge auf den Prozess / den Bus geschrieben werden, in jedem Zyklus exakt
derselbe ist.
Präemptives Multitasking
Präemptives Multitasking bedeutet, dass der aktuelle Zustand eines Prozesses (die CPU- und Floatingpoint-
Register), bei einer Unterbrechung durch einen Interrupt (z. B. durch höher priore Prozesse), gesichert und
der aktuelle Prozess „schlafen gelegt" wird. Ist dies passiert, bestimmt der Scheduler, anhand der Prioritäten
der Tasks, den (neuen) abzuarbeitenden Prozess. Nachdem der zu unterbrechende Prozess beendet
wurde, wird der Prozesskontext wiederhergestellt und der „alte" Prozess fortgesetzt.
TE1010
Version: 2.0.0
11

Werbung

loading