Herunterladen Inhalt Inhalt Diese Seite drucken

Prioritäten Und Warteschlange Für Die Ausführung Von Ereignissen - Siemens SIMATIC S7-1200 Systemhandbuch

Automatisierungssystem
Vorschau ausblenden Andere Handbücher für SIMATIC S7-1200:
Inhaltsverzeichnis

Werbung

97BSPS-Grundlagen
4.1 Ausführung des Anwenderprogramms
● Ein Zeitfehler-OB wird ausgeführt, wenn entweder die maximale Zykluszeit überschritten
● Diagnosefehler-OBs werden ausgeführt, wenn ein Diagnosefehler erkannt und gemeldet
4.1.4
Prioritäten und Warteschlange für die Ausführung von Ereignissen
Die CPU-Bearbeitung wird durch Ereignisse gesteuert. Ein Ereignis löst die Ausführung
eines Alarm-OBs aus. Sie können während der Erstellung des Bausteins, während der
Gerätekonfiguration oder über eine Anweisung ATTACH oder DETACH den Alarm-OB für
ein Ereignis angeben. Einige Ereignisse wie das Programmzyklusereignis oder zyklische
Ereignisse treten regelmäßig auf. Andere Ereignisse wie das Anlaufereignis oder
Zeitverzögerungsereignisse treten einmalig auf. Einige Ereignisse treten auf, wenn es zu
einer von der Hardware ausgelösten Veränderung kommt, z.B. ein Flankenereignis an einem
Eingang oder ein Ereignis eines schnellen Zählers. Außerdem gibt es Ereignisse wie das
Diagnosefehler- und das Zeitfehlerereignis, die nur im Fehlerfall auftreten. Die
Ereignisprioritäten und Warteschlangen dienen zum Festlegen der Verarbeitungsreihenfolge
der Alarm-OBs.
Das Programmzyklusereignis tritt einmal in jedem Programmzyklus auf. Während des
Programmzyklus schreibt die CPU in die Ausgänge, liest die Eingänge und führt
Programmzyklus-OBs aus. Das Programmzyklusereignis ist erforderlich und immer aktiviert.
Für das Programmzyklusereignis haben Sie möglicherweise keinen Programmzyklus-OB
oder Sie haben möglicherweise mehrere OBs. Nachdem das Programmzyklusereignis
ausgelöst wurde, wird der Programmzyklus-OB mit der kleinsten Nummer ausgeführt (in der
Regel OB 1). Die anderen Programmzyklus-OBs werden sequentiell (in numerischer
Reihenfolge) innerhalb des Programmzyklus ausgeführt.
76
wird oder ein Zeitfehlerereignis auftritt. Die Verarbeitung von Zeitfehleralarmen wird von
OB 80 durchgeführt. Wird dieser OB ausgelöst, beginnt die Ausführung, die den
normalen Programmablauf oder auch einen anderen Ereignis-OB unterbricht. Die
Ereignisse, die den Zeitfehleralarm und die Reaktion der CPU auf diese Ereignisse
auslösen, werden im Folgenden beschrieben:
– Überschreiten der maximalen Zykluszeit: Sie können die maximale Zykluszeit in den
Eigenschaften der CPU konfigurieren. Wenn OB 80 nicht vorhanden ist, reagiert die
CPU auf das Überschreiten der maximalen Zykluszeit, indem sie in STOP geht.
– Zeitfehler: Wenn OB 80 nicht vorhanden ist, reagiert die CPU, indem sie in RUN
bleibt. Zeitfehler treten auf, wenn ein Uhrzeitereignis verpasst oder wiederholt wird,
wenn die Warteschlange überläuft oder ein Ereignis-OB (Zeitverzögerungsereignis,
Uhrzeitereignis oder Weckalarm) startet, bevor die CPU die Ausführung des
vorherigen OBs beendet hat.
Das Auftreten eines dieser Ereignisse erzeugt einen Eintrag im Diagnosepuffer, der das
Ereignis beschreibt. Der Eintrag im Diagnosepuffer wird unabhängig davon erzeugt, ob
OB 80 vorhanden ist oder nicht.
wird. Ein Diagnose-OB unterbricht den normalen Programmablauf, wenn eine
diagnosefähige Baugruppe einen Fehler erkennt (sofern für die Baugruppe der
Diagnosealarm aktiviert wurde). Für Diagnosealarme ist ausschließlich OB 82 zulässig.
Sie können eine Anweisung STP (CPU in STOP versetzen) in Ihren OB 82 einfügen,
wenn Sie möchten, dass Ihre CPU bei einem Fehler dieser Art in den Betriebszustand
STOP wechselt. Umfasst das Programm keinen Diagnose-OB, ignoriert die CPU den
Fehler (und bleibt in RUN).
S7-1200 Automatisierungssystem
Systemhandbuch, 11/2011, A5E02486681-05

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis