Siemens 6ES7223-1BH22-0XA0 EM 223 Digital Input / Output Module 6ES7223-1BH22-0XA0 用户手册

产品代码
6ES7223-1BH22-0XA0
下载
页码 538
S7-200 Befehlssatz
Kapitel 6
157
Tabelle 6-46 Interruptereignisse, Fortsetzung
CPU 224XP
CPU 226
CPU 224
CPU 221
CPU 222
Beschreibung
EVENT
28
HSC0
Externes Rücksetzen
ja
ja
ja
29
HSC4
CV=PV (aktueller Wert =
voreingestellter Wert)
ja
ja
ja
30
HSC4
Richtungswechsel
ja
ja
ja
31
HSC4
Externes Rücksetzen
ja
ja
ja
32
HSC3
CV=PV (aktueller Wert =
voreingestellter Wert)
ja
ja
ja
33
HSC5
CV=PV (aktueller Wert =
voreingestellter Wert)
ja
ja
ja
Verarbeitung von Interruptprogrammen durch die S7-200
Das Interruptprogramm wird in Reaktion auf ein zugeordnetes internes oder externes Ereignis
ausgeführt. Nachdem die letzte Operation eines Interruptprogramms ausgeführt wurde, wird die
Steuerung wieder an das Hauptprogramm übergeben.Sie können das Interruptprogramm
beenden, indem Sie die Operation Interruptprogramm bedingt beenden (CRETI) ausführen.
Tabelle 6-47 führt einige Richtlinien und Einschränkungen für die Verwendung von
Interruptprogrammen in Ihrem Programm auf.
Tabelle 6-47 Richtlinien und Einschränkungen für die Verwendung von Interruptprogrammen
Richtlinien
Mit der Interruptbearbeitung können Sie schnell auf besondere interne oder externe Ereignisse reagieren. Sie
sollten Ihr Interruptprogramm so aufbauen, dass es eine bestimmte Aufgabe ausführt und anschließend die
Steuerung wieder an das Hauptprogramm übergibt. Programmieren Sie möglichst kurze Interruptprogramme
mit präzisen Angaben, so dass die Programme schnell bearbeitet werden können und andere Prozesse nicht
lange unterbrochen werden. Missachten Sie diese Richtlinie, kann es zu unvorhersehbaren Zuständen
kommen, die den Betrieb der vom Hauptprogramm gesteuerten Geräte stören können. Für
Interruptprogramme gilt die Devise ”je kürzer, desto besser”.
Einschränkungen
Sie dürfen die Operationen Alle Interruptereignisse sperren (DISI), Alle Interruptereignisse freigeben (ENI),
Modus für schnellen Zähler definieren (HDEF) und Bearbeitung beenden (END) nicht in einem
Interruptprogramm verwenden.
Systemunterstützung für Interrupts
Kontakte, Spulen und Akkumulatoren können von Interrupts beeinflusst werden. Deshalb speichert
das System den Stack, die Akkumulatoren und die Sondermerker (SM), die den Status von
Akkumulatoren und Anweisungen anzeigen, und lädt sie später neu. Dadurch wird verhindert, dass
das Hauptprogramm durch eine Verzweigung zu oder von einem Interruptprogramm gestört wird.
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 von 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.