Definition und Zweck:
Ein Interrupt (Unterbrechung) ist ein Mechanismus in Computersystemen und SPSen, der es einem externen oder internen Ereignis mit höherer Priorität ermöglicht, die normale Ausführung des aktuellen Programms zu unterbrechen und die Kontrolle an eine spezielle Unterbrechungsroutine (Interrupt Service Routine – ISR) zu übergeben. Nach der Bearbeitung der Interrupt-Routine kehrt die Steuerung zum unterbrochenen Programm zurück und setzt die Ausführung an der Stelle fort, an der sie unterbrochen wurde.
Das Hauptziel von Interrupts ist es, eine schnelle und deterministische Reaktion auf zeitkritische Ereignisse zu gewährleisten, die außerhalb des normalen, zyklischen Programmflusses liegen.
Typen von Interrupts in der SPS:
- Hardware-Interrupts: Ausgelöst durch externe Hardware-Ereignisse (z.B. ein schneller Zähler, der einen Überlauf meldet; ein Not-Halt-Signal; ein Kommunikationsereignis).
- Software-Interrupts: Ausgelöst durch Programmbefehle oder Fehler im Programm (z.B. Division durch Null, Speicherzugriffsfehler – oft als „Exceptions“ behandelt).
- Zeit-Interrupts: Ausgelöst durch einen internen Zeitgeber nach einem bestimmten Intervall (z.B. für feste Zykluszeiten oder periodische Aufgaben).
- Prozessalarm-Interrupts: Ausgelöst durch die Überschreitung von Grenzwerten oder Alarmsignalen.
Relevanz in der Automatisierung:
Interrupts sind ein grundlegendes Konzept für die Echtzeitfähigkeit von SPSen und ermöglichen eine effiziente Verarbeitung von Ereignissen:
- Schnelle Reaktion: Garantiert, dass auf kritische Ereignisse innerhalb einer bestimmten Zeit reagiert wird, unabhängig von der aktuellen Programmlaufzeit.
- Effiziente Ressourcennutzung: Anstatt ständig Eingänge im Hauptprogramm abzufragen (Polling), wird der Prozessor nur bei Bedarf durch einen Interrupt aktiviert.
- Datenintegrität: Ermöglicht das Sperren von Datenbereichen während der Interrupt-Routine, um Datenkonsistenz zu gewährleisten.
- Motion Control: Für die hochpräzise Synchronisation von Achsen und die schnelle Reaktion auf Geber-Signale.
- Zähler: High-Speed-Counter nutzen Interrupts, um Zählerstände an die SPS zu übermitteln.
Die Priorität von Interrupts ist wichtig: Ein Interrupt mit höherer Priorität kann einen Interrupt mit niedrigerer Priorität unterbrechen (siehe Interrupt-Priorität).
→ Siehe auch: Task, Zyklus, Interrupt-Priorität, Echtzeitfähigkeit, SPS, High-Speed-Counter

