Herunterladen Diese Seite drucken

Siemens SIMATIC S7-200 Systemhandbuch Seite 303

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

Werbung

Gemeinsames Nutzen von Daten im Hauptprogramm und in Interruptprogrammen
Sie können Daten in einem Hauptprogramm und in einem oder in mehreren Interruptpro-
grammen gemeinsam nutzen. So kann beispielsweise ein Teil Ihres Hauptprogramms Daten
zur Verfügung stellen, die von einem Interruptprogramm verarbeitet werden und umgekehrt.
Wenn Ihr Hauptprogramm und ein Interruptprogramm Daten gemeinsam nutzen, müssen Sie
sich der Tatsache bewußt sein, daß Interruptereignisse asynchron zum Hauptprogramm ab-
laufen. Deshalb können sie zu jedem beliebigen Zeitpunkt während der Bearbeitung Ihres
Hauptprogramms auftreten. Fehler in der Konsistenz der gemeinsam genutzten Daten kön-
nen durch die Ausführung von Interruptprogrammen entstehen, wenn die Bearbeitung der
Operationen in Ihrem Hauptprogramm von Interruptereignissen unterbrochen wird.
Es gibt eine Reihe von Programmiertechniken, mit denen Sie sicherstellen, daß 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 erlau-
ben keine Unterbrechungen der Anweisungsfolgen, die auf gemeinsam genutzte Daten zu-
greifen.
Bei einem AWL-Programm, das eine einzige Variable gemeinsam nutzt: Handelt es sich
bei den gemeinsam genutzten Daten um eine einzige Byte-, Wort- oder Doppelwortvaria-
ble und ist Ihr Programm in AWL geschrieben, dann dürfen Zwischenergebnisse von
Operationen mit gemeinsam genutzten Daten nur an Adressen im Speicher bzw. in Akku-
mulatoren 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 Doppelwortva-
riable und ist Ihr Programm in KOP geschrieben, dann müssen Sie mit Hilfe der Übertra-
gungsoperationen (MOV_B, MOV_W, MOV_DW, MOV_R) auf die gemeinsam genutzten
Adressen im Speicher zugreifen. Viele KOP-Operationen entsprechen Anweisungsfolgen
in AWL, die unterbrochen werden können. Jede dieser Übertragungsoperationen ent-
spricht jedoch einer einzigen AWL-Anweisung, deren Bearbeitung nicht von Interrupterei-
gnissen beeinflußt 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 Opera-
tionen Alle Interruptereignisse sperren (DISI) und Alle Interruptereignisse freigeben (ENI)
gesteuert werden. An der Stelle in Ihrem Hauptprogramm, an der Sie Operationen anord-
nen, die auf gemeinsamen Speicher zugreifen, müssen Sie die Interruptereignisse sper-
ren. Nachdem alle Operationen, die mit dem gemeinsamen Speicher arbeiten, ausge-
fü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 aller-
dings verzögerte Reaktionen auf Interruptereignisse verursachen.
Automatisierungssystem S7-200, Systemhandbuch
C79000-G7000-C230-02
Operationssatz
10-115

Werbung

loading