Sicherheit durch den Watchdog Decoderbaustein von LDT
Tipp Watchdog
Schon auf mittleren Anlagen bekommt der PC mit seiner Steuerungssoftware und dem Digitalsystem eine wichtige Bedeutung. Der Ausfall einer dieser Komponenten kann im Zweifelsfall einen nicht unerheblichen Schaden anrichten. Hier soll es darum gehen, wie der PC- Betrieb einer Modellbahnanlage sicherer gemacht werden kann.Wie kann eine Software wissen, ob sie noch funktioniert ?
Um die Antwort gleich vorweg zu nehmen: nein, sie kann nicht wissen, ob sie noch arbeitet. Warum dies so ist, soll an einem Beispiel erläutert werden.
In der Welt der Mikrocontroller und -prozessoren gibt es durchaus Überwachungsfunktionen, die Watchdog (Wachhund) genannt werden. Diese arbeiten nach einem einfachen Prinzip: ein Zähler wird auf einen Wert gesetzt und durch den Prozessortakt kontinuierlich heruntergezählt. Erreicht er den Wert 0, wird ein sogenannter Interrupt (eine Unterbrechung) eingeleitet und ein an einer bestimmten Stelle befindlicher Programmcode ausgeführt. Von Zeit zu Zeit muss nun das normale Programm diesen Zähler wieder neu setzen, damit 0 nie erreicht wird. Geschieht das trotzdem, muss wohl das Programm "abgeschmiert" sein und man kann dies entsprechend verarbeiten oder anzeigen.
Auch die in den PCs üblichen Prozessoren besitzen solche Techniken, nur: Windows erlaubt keine Zugriffe auf die Hardware. Damit fällt der Prozessor als Wachhund aus. Wer sich etwas besser auskennt wird bemerken, das man ja unter Windows statt der "Interrupts" nun "Events" nutzen kann. Stimmt, nur leider sind die ja Software und wie das zu überwachende Programm mit ein und derselben Hardware ausgeführt und die könnte ja ...
... tut sie auch, nämlich ausfallen und damit wirkungslos sein.
Software kann also ohne externe Hilfe nicht wissen, ob sie noch arbeitet.
Das gilt auch für den PC: er selbst hat keine Ahnung, ob er sich in Betrieb befindet oder nicht. Nur ein externer Beobachter (z.B. der Benutzer) kann das erkennen.
Überwachung ohne externe Hardware
Aber Software kann überwachen, ob eine Hardware noch arbeitet, wenn diese geeignete Informationen liefern kann.
So kann Railware bei den Digitalsystemen Lenz, Intellibox und TwinCenter prüfen, ob sie noch betriebsbereit sind. Dazu läuft ein eigener Softwareprozess, der in der Windows- Welt "Thread" genannt wird und innerhalb von Railware natürlich "Watchdog" heißt. Er prüft in regelmäßigen Abstanden (alle 2 Sekunden), ob noch eine Kommunikation auf Basis der seriellen Schnittstelle möglich ist. Ist dies nicht der Fall, wird nach kurzer Zeit ein Alarm erzeugt. Wenn also das Digitalsystem abschaltet, dann wird dies erkannt.
Jedes Gleisbild meldet einmal pro Sekunde einen Impuls (blauer Pfeil) an das Interfaceprogamm im PC. Die serielle Kommunikation (grüner Pfeil) auf der "CTS" Leitung wird ebenfalls überwacht und an den Watchdog gemeldet. Bleiben die Impulse aus, wird nach längstens 5 Sekunden ein Alarm über die an der Soundkarte angeschlossenen Lautsprecher ausgegeben.
Fällt jedoch ein Digitalsystem, ein Booster, der PC oder die Steuersoftware mit Gleisbild- und Interfaceprogramm selbst aus, dann bleibt das für die Anlage unbemerkt.
99,5% Sicherheit durch den Watchdog Baustein
Mehr Sicherheit bietet nur die Überwachung mit einem externen Watchdog Baustein. Ein solcher Baustein wurde in Zusammenarbeit mit Littfinski Datentechnik LDT entwickelt und ist dort zu beziehen.
Der erste Ausgang muss spätestens alle 5 Sekunden angesprochen werden, andernfalls fällt ein Relais ab. Dies trennt bei einem Fehler die Verbindung vom Digitalsystem zu den Boostern. Ein 2. Relais steht zur optionalen Verwendung zur Verfügung.
Einmal pro Sekunde (Blauer Pfeil) meldet jedes Gleisbildprogramm mit einem kurzen Impuls ein Lebenszeichen ("Hello") an das Interface. Fällt es bei einem Absturz des Gleisbildes aus oder trat ein schwerer Ausnahmefehler auf, dann unterbricht ein unabhängiger Watchdog Prozess in Railware das Senden an den externen Watchdog Baustein. Spätestens nach 5 Sekunden unterbricht dieser die Boosterimpulse (roter Weg).
Alle 3 Sekunden, die Zeit ist einstellbar, sendet der interne Prozess im Railware Interface ein Digitalkommando (Grüner Pfeil) an den Watchdog Baustein. Wird dieser nicht empfangen weil das Interfaceprogramm ausgefallen ist, der Watchdog Prozess steht, Windows abgestürzt ist, die Hardware des PC defekt ist oder er abgeschaltet wurde, das V24 Kabel abgefallen ist, das Digitalsystem ausfällt oder der versorgende Transformator defekt ist, dann unterbricht der Watchdog Baustein nach spätestens 5 Sekunden die Digitalimpulse (roter Weg) zu den Boostern.
Das hier vorgestellte Verfahren erkennt nicht nur den Ausfall der Steuerungssoftware allein. Es erkennt auch zuverlässig einen Ausfall des Betriebssystems, einen schweren Ausnahmefehler (Bluescreen), das Abschalten des PCs (Stromausfall) sowie einen Ausfall des Digitalsystems und trennt spätestens nach 5 Sekunden die Verbindung zwischen dem Digitalsystem und den Boostern. Dadurch fehlen Digitalbefehle und -spannung und alle Loks bleiben stehen.
Einstellungen in Railware 5
Die Einstellungen zum Betrieb des Watchdogs finden sich in den Systemoptionen im Dialog "Sicherheit".
Watchdog Polling aktiv
Aktiviert einen selbstständigen Softwareprozess (Thread) im Interfaceprogramm zur Ansteuerung des Watchdog Bausteins.
Modul/Arbeitsweise
Hier muss der Typ und die Arbeistweise des verwendeten Watchdog Bausteins festgelegt werden. Dies ist normalerweise entweder "WD-DEC" oder "WD-DEC (2 Kabel)".
Intervall
Legt den Intervall fest mit dem der Watchdog Baustein angesprochen wird. Der Wert kann sinnvoll zwischen 1 und 4 Sekunden liegen. Empfohlen sind 3 Sekunden.
1. Adresse
Die im Watchdog Baustein programmierte Adresse des ersten Ausgangs. Der Watchdog Baustein kann wie jeder andere Decoder in seiner Adresse eingestellt werden.
Stop bei Ausnahmefehler, Exception GPF
Ist diese Option eingeschaltet, dann wird auch bei einem auftretenden Ausnahmefehler der Watchdog Baustein nach 5 Sekunden abschalten.
Bei Kurzschluss Watchdog/Digitalsystem aus
Wird das Railware Power Management verwendet, dann kann bei einem per Rückmelder festgestellten Kurzschluss der Watchdog abgeschaltet werden. Dann ist die Anlage nach 5 Sekunden stromlos. Dies ist dann zu empfehlen, wenn das installierte Power Management nicht über die Fähigkeit zur Abschaltung einzelner Booster verfügt.
Das Interfaceprogramm informiert über Statusänderungen durch die beiden Meldungen "Watchdog ein" und "Watchdog aus". Außerdem befindet sich dort unten rechts ein zusätzlicher Schalter, mit dem die Booster manuell aus und einschaltbar sind. Bei den Betriebssarten "2-Kabel" erfolgt die manuelle Abschaltung dann sofort und ohne 5 Sekunden Verzögerung.
Für alle unterstützten Betriebsarten finden Sie die Anschlussbelegungen hier.
Zu dieser Seite haben beigesteuert: Rainer Hönel
und
Dieter Hinz
.
Page last modified on Samstag 29 September, 2007 20:39CEST by Rainer Hönel .
Der Inhalt dieser Seite unterliegt folgenden Lizenzbestimmungen: Copyright.