Definition und Konzept:
Ereignisgesteuerte Programmierung (engl. Event-Driven Programming) ist ein Programmierparadigma, bei dem der Fluss des Programms nicht durch eine feste, sequentielle Abfolge von Befehlen bestimmt wird, sondern durch Ereignisse (Events). Code-Abschnitte (Event-Handler) werden nur dann ausgeführt, wenn ein bestimmtes Ereignis auftritt.
Ein Ereignis kann alles sein, was das System beeinflusst oder in ihm geschieht, z.B. eine Benutzerinteraktion (Mausklick, Tastendruck), eine Änderung eines Sensorwerts, ein Alarm, ein Timer-Ablauf oder eine Nachricht von einem anderen System. Das Programm „wartet“ im Grunde auf Ereignisse und reagiert auf diese.
Relevanz in der Automatisierungstechnik:
Ereignisgesteuerte Programmierung ist besonders dominant und wichtig in folgenden Bereichen der Automatisierung:
- HMI-Anwendungen (Human Machine Interface): Bedienoberflächen sind klassische Beispiele. Ein Button wird gedrückt (Ereignis), daraufhin wird der Code ausgeführt, der mit diesem Button verknüpft ist (z.B. eine Variable in der SPS setzen, ein Bild wechseln). Auch das Eintreffen eines Alarms ist ein Ereignis, das eine entsprechende Anzeige auslöst.
- SCADA-Systeme: Reaktion auf Alarme, Prozesswertänderungen, Benutzereingaben.
- Kommunikation: Viele Kommunikationsprotokolle arbeiten ereignisgesteuert, d.h., es wird nur eine Nachricht gesendet, wenn sich ein Wert ändert oder ein bestimmtes Ereignis eintritt (z.B. Report by Exception).
- Echtzeitsysteme: In Echtzeitbetriebssystemen können Aufgaben (Tasks) ereignisgesteuert ausgelöst werden (z.B. durch einen Interrupt), um schnell auf kritische Ereignisse zu reagieren.
Vorteile:
- Reaktionsfähigkeit: Systeme können schnell auf Änderungen oder Benutzerinteraktionen reagieren.
- Ressourceneffizienz: Code wird nur ausgeführt, wenn er benötigt wird, was CPU-Last und Energie sparen kann (im Gegensatz zu ständigem Polling).
- Flexibilität: Ermöglicht die Erstellung dynamischer und interaktiver Anwendungen.
- Modularität: Event-Handler können als separate Module entwickelt werden.
Obwohl die SPS selbst primär zyklisch arbeitet, werden in den HMI-Ebenen und in der Kommunikation oft ereignisgesteuerte Prinzipien verwendet, um eine effiziente und interaktive Benutzerführung zu gewährleisten.
→ Siehe auch: HMI (Human Machine Interface), SCADA (Supervisory Control and Data Acquisition), Ereignisprotokoll, SPS, Zyklus, Interrupt

