Herunterladen Inhalt Inhalt Diese Seite drucken

Aufrufen Von Unterprogrammen In Interruptprogrammen; Von Der S7- -200 Unterstützte Arten Von Interrupts - Siemens SIMATIC S7-200 Handbuch

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

Werbung

Sie können Daten in einem Hauptprogramm und in Interruptprogrammen
gemeinsam nutzen.
Sie können Daten in einem Hauptprogramm und in einem oder in mehreren Interruptprogrammen
gemeinsam nutzen. Weil es nicht vorhersehbar ist, wann die S7--200 einen Interrupt erzeugt, ist
es empfehlenswert, die Anzahl der Variablen zu begrenzen, die sowohl im Interruptprogramm als
auch an anderen Stellen im Programm verwendet werden. Fehler in der Konsistenz der
gemeinsam genutzten Daten können durch die Ausführung von Interruptprogrammen entstehen,
wenn die Bearbeitung der Operationen in Ihrem Hauptprogramm von Interruptereignissen
unterbrochen wird. Wenn Sie die lokale Variablentabelle des Interruptprogramms verwenden,
stellen Sie sicher, dass Ihr Interruptprogramm nur den temporären Speicher verwendet und keine
Daten an anderen Stellen im Programm überschreibt.
Es gibt eine Reihe von Programmiertechniken, mit denen Sie sicherstellen, dass Fehler beim
gemeinsamen Nutzen von Daten im Haupt-- und im Interruptprogramm vermieden werden. Diese
Techniken schränken den Zugriff auf gemeinsam genutzte Daten ein bzw. sie erlauben keine
Unterbrechungen der Anweisungsfolgen, die auf gemeinsam genutzte Daten zugreifen.
Bei einem AWL--Programm, das eine einzige Variable gemeinsam nutzt: Handelt es sich
-
bei den gemeinsam genutzten Daten um eine einzige Byte, Wort oder Doppelwortvariable
und ist Ihr Programm in AWL geschrieben, dann dürfen Zwischenergebnisse von
Operationen mit gemeinsam genutzten Daten nur an Adressen im Speicher bzw. in
Akkumulatoren abgelegt werden, die nicht gemeinsam genutzt werden.
Bei einem KOP--Programm, das eine einzige Variable gemeinsam nutzt: Handelt es sich bei
-
den gemeinsam genutzten Daten um eine einfache Byte, Wort oder Doppelwortvariable
und ist Ihr Programm in KOP geschrieben, dann müssen Sie mit Hilfe der
Übertragungsoperationen (MOVB, MOVW, MOVD, MOVR) auf die gemeinsam genutzten
Adressen im Speicher zugreifen. Viele KOP--Operationen entsprechen Anweisungsfolgen
in AWL, die unterbrochen werden können. Jede dieser Übertragungsoperationen entspricht
jedoch einer einzigen AWL--Anweisung, deren Bearbeitung nicht von Interruptereignissen
beeinflusst werden kann.
Bei AWL-- oder KOP--Programmen, die mehrere Variablen gemeinsam nutzen: Handelt es
-
sich bei den gemeinsam genutzten Daten um mehrere zusammengehörige Bytes, Wörter
und Doppelwörter, dann kann die Bearbeitung des Interruptprogramms von den
Operationen Alle Interruptereignisse sperren (DISI) und Alle Interruptereignisse freigeben
(ENI) gesteuert werden. An der Stelle in Ihrem Hauptprogramm, an der Sie Operationen
anordnen, die auf gemeinsamen Speicher zugreifen, müssen Sie die Interruptereignisse
sperren. Nachdem alle Operationen, die mit dem gemeinsamen Speicher arbeiten,
ausgeführt wurden, müssen Sie die Interruptereignisse wieder freigeben. Während der Zeit,
in der die Interruptereignisse gesperrt sind, können keine Interruptprogramme ausgeführt
werden und auf gemeinsamen Speicher zugreifen. Diese Programmiertechnik kann
allerdings verzögerte Reaktionen auf Interruptereignisse verursachen.

Aufrufen von Unterprogrammen in Interruptprogrammen

Sie dürfen Unterprogramme und Interruptprogramme in einer Ebene verschachteln, d.h.
Sie dürfen ein Unterprogramm aus einem Interruptprogramm aufrufen. Wird ein Unterprogramm
aus einem Interruptprogramm aufgerufen, nutzen beide Programme die Akkumulatoren und den
logischen Stack gemeinsam.
Von der S7- -200 unterstützte Arten von Interrupts
Die S7--200 unterstützt die folgenden Arten von Interruptprogrammen:
Kommunikationsschnittstellen--Interrupts: Die S7--200 erzeugt Ereignisse, mit denen Ihr
-
Programm die Kommunikationsschnittstelle steuern kann.
E/A--Interrupts: Die S7--200 erzeugt Ereignisse für verschiedene Zustandsänderungen
-
unterschiedlicher E/A. Durch diese Ereignisse kann Ihr Programm auf die schnellen Zähler,
Impulsausgaben und auf steigende oder fallende Flanken an den Eingängen reagieren.
Zeitgesteuerte Interrupts: Die S7--200 erzeugt Ereignisse, mit denen Ihr Programm in
-
bestimmten Zeitabständen reagieren kann.
S7- -200 Befehlssatz
Kapitel 6
167

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis