Herunterladen Diese Seite drucken

Von Der S7-200 Unterstützte Arten Von Interrupts - Siemens S7-200 System Administration Handbuch

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

Werbung

S7-200 Systemhandbuch
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.
Kommunikationsschnittstellen-Interrupts:
Die serialle Kommunikationsschnittstelle der S7-200 kann von Ihrem Programm gesteuert
werden. Die Kommunikation über diese Schnittstelle wird frei programmierbare Kommunikation
genannt. Bei der frei programmierbaren Kommunikation definiert Ihr Programm die Baudrate, die
Bits pro Zeichen, die Parität und das Protokoll. Sende- und Empfangsinterrupts erleichtern die
programmgesteuerte Kommunikation. Ausführliche Informationen hierzu finden Sie in dem
Abschnitt zu Sende- und Empfangsoperationen.
E/A-Interrupts
Zu den E/A-Interrupts gehören Interrupts bei steigender oder fallender Flanke, Interrupts des
schnellen Zählers und Impulsfolge-Interrupts. Die S7-200 kann bei einer steigenden und/oder
fallenden Flanke an einem Eingang (entweder E0.0, E0.1, E0.2 oder E0.3) einen Interrupt
erzeugen. Die Ereignisse Steigende Flanke und Fallende Flanke können für jeden dieser
Eingänge erfasst werden. Mit diesen Ereignissen können auch Fehlerbedingungen angezeigt
werden, die bei Auftreten des Ereignisses sofort beachtet werden müssen.
158

Quicklinks ausblenden:

Werbung

loading