User manual

S7-200 Befehlssatz Kapitel 6
157
Tabelle 6-46 Interruptereignisse, Fortsetzung
CPU 224XP
CPU 226
CPU 224
CPU 221
CPU 222
BeschreibungEVENT
28 HSC0 Externes Rücksetzen ja ja ja
29 HSC4 CV=PV (aktueller Wert =
voreingestellter W ert)
ja ja ja
30 HSC4 Richtungswechsel ja ja ja
31 HSC4 Externes Rücksetzen ja ja ja
32 HSC3 CV=PV (aktueller Wert =
voreingestellter W ert)
ja ja ja
33 HSC5 CV=PV (aktueller Wert =
voreingestellter W ert)
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 V erwendung 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
Kontakt e, Spulen und Akkumulator en können von Int er rupts beeinflusst werden. Deshalb speichert
das System den Stack, die Akkumulatoren und die Sonderm er ker (SM) , die den Status von
Akkumulatoren und Anweisungen anzeigen, und lädt sie später neu. Dadurch wird verhi nder t, dass
das Hauptprogr am m durch eine V er zwei gung zu oder von einem Inter ruptprogramm 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 is t, 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.