Definition und Zweck:
Die Exception-Behandlung (oder Ausnahmebehandlung, engl. Exception Handling) ist ein Programmierkonzept und -mechanismus, der es ermöglicht, auf unerwartete Ereignisse oder Fehler („Exceptions“ oder „Ausnahmen“) zu reagieren, die während der Laufzeit eines Programms auftreten können. Anstatt das Programm bei einem Fehler sofort abstürzen zu lassen, wird die Kontrolle an eine spezielle Fehlerbehandlungsroutine übergeben.
Das Hauptziel der Exception-Behandlung ist es, eine kontrollierte Reaktion auf Fehler zu ermöglichen, die Robustheit des Programms zu erhöhen, unvorhersehbare Zustände zu verhindern und die Anlagenverfügbarkeit zu maximieren.
Arten von Exceptions und Relevanz in der SPS:
In modernen SPS-Systemen (insbesondere bei der Programmierung in Hochsprachen-ähnlichen Sprachen wie Strukturierter Text – ST) und bei Industrie-PCs können verschiedene Arten von Exceptions auftreten:
- Arithmetische Fehler: Division durch Null, Zahlenüberlauf.
- Speicherzugriffsfehler: Versuch, auf einen ungültigen Speicherbereich zuzugreifen.
- Kommunikationsfehler: Zeitüberschreitungen oder Fehlantworten bei der Kommunikation mit Feldgeräten oder anderen Systemen.
- Hardware-Fehler: Ausfall eines I/O-Moduls.
- Benutzerdefinierte Exceptions: Programmierer können eigene Ausnahmen definieren.
Implementierung und Funktionsweise:
Die Exception-Behandlung erfolgt typischerweise über Sprachkonstrukte wie `TRY…CATCH…FINALLY` (in ST) oder durch spezielle Organisationsbausteine (OBs) in Siemens-SPSen (z.B. OB121 für Programmierfehler, OB122 für E/A-Zugriffsfehler).
Wenn eine Exception auftritt:
- Die normale Programmausführung wird unterbrochen.
- Die Kontrolle wird an die entsprechende Fehlerbehandlungsroutine (Catch-Block oder Fehler-OB) übergeben.
- Die Fehlerbehandlungsroutine kann den Fehler protokollieren, eine Fehlermeldung ausgeben, die Anlage in einen sicheren Zustand fahren oder versuchen, den Fehler zu beheben.
- Optional kann das Programm dann fortgesetzt oder in einen definierten Zustand zurückkehren.
Vorteile in der Automatisierung:
- Erhöhte Robustheit: Verhindert unkontrollierte Programmabstürze.
- Kontrollierte Fehlerreaktion: Ermöglicht die Definition spezifischer Reaktionen auf verschiedene Fehlertypen.
- Verbesserte Diagnose: Fehler können präzise geloggt und analysiert werden.
- Minimierung von Stillstandszeiten: Durch die Möglichkeit einer automatisierten Fehlerbehebung oder eines kontrollierten Stopps.
- Sicherheit: Trägt zur funktionalen Sicherheit bei, indem sie unvorhersehbares Verhalten verhindert.
Die Exception-Behandlung ist ein Zeichen für professionelle und sichere SPS-Programmierung in komplexen Automatisierungssystemen.
→ Siehe auch: Fehlerbehandlungsroutine, SPS-Programmierung, SPS, Organisationsbaustein (OB), ST (Structured Text), Diagnose

