WatchDog-IC’s
Hallo zusammen,
ich benötige für meine Diplomarbeit einen WatchDog, d.h. eine
elektronische Schaltung die in einem Schaltschrank verbaut ist
und mittels Digitalsignal erkennen kann ob der angeschlossene
PC noch in Betrieb ist, er sich gehängt hat oder die Software
Müll baut. Dazu kann ich mir in der Software ein
Rechtecksignal beliebiger Frequenz und Pausendauer erzeugen
und über den Digitalausgang der eingebauten Meßkarte auf ein
TTL-Signal übertragen. Sollte nun dieses Signal keine Änderung
mehr machen, halt aus den oben genannten Gründen, sollte der
WatchDog das Hauptrelais ziehen und die Anlage ausser Betrieb
setzen.
Genau so funktionieren die Watchdog-IC (WD-IC).
Zusätzlich wird üblicherweise die Betriebsspannung
überwacht.
z.B. von Maxim : MAX690, MAX691, MAX705…usw.
Aquivalenttypen gibts auch von anderen Herstellern
-> z.B. von AD
Die Datenblätter (PDF) kannst Du z.B. von MAXIM oder auch vom
Distributor SE-Electronik runterladen.
Allerdings sind diese IC so nicht zum Einsatz im Schaltschrank
gedacht.
Eigentlich werden WD-IC in Verbindung mit Mikrokontrollern
appliziert. Bei uns bekommt jede Controller-Schaltung
so einen WD-IC.
Änderungen an der Software sind ohne Probleme zu
bewerkstelligen, jedoch sollte es bei dem TTL-Signal bleiben
und auch das er alle Möglichkeiten erkennen kann, die an einem
Rechner so schief gehen können, sodaß kein koordinierter
Ablauf der Steuerung mehr gewährleistet ist.
Das hat weniger mit dem WD zu tun, sondern mit dem Programm-
ablauf.
Ob ein Watchdog (WD)alle Fehler mitbekommt, hängt davon ab an welchen Stellen im Programm das Triggersignal für den WD
erzeugt wird.
Ein WD muß in einer def. Zeitspanne angetriggert werden,
damit kein Reset ausgelöst wird.
Im günstigsten Fall plaziert man das Triggersignal in der Hauptschleife eines Programms. Wenn sich das Programm
dann in einer Unterroutine verlaufen hat und somit nicht
mehr in die Hauptschleife zurückkehrt, dann löst der WD
aus.
Nun steht aber die Frage, ob es im geg. Fall so geht.
Bei einem Multitasking-Ssystem ist es etwas schwieriger,
weil die Hauptschleife im Betriebssystemkernel liegt
und somit gar nicht die Anwendung überwacht wird, sondern
eben das Betriebssystem.
Außerdem ist es oft so, daß ein Programm längere Zeit
in einer Unterroutine verbleiben muß, Dann muß also auch dort
getriggert werden, was die zuverlässigkeit schon wieder
reduziert. Wenn das Programm in dieser Unterroutine hängen
bleibt und nicht zur Hauptschleife zurückkehrt, ist das
ein Fehler, der nicht erkannt würde.
Prinzipiell würde ich sagen das es eine Schaltung aus einem
Kondensator (angepasst auf die Periode des Rechtecks) und
einer Zenerdiode wird. Aber mit meinen schwachen
Elektronikkenntnissen bin ich nicht in der Lage daraus eine
Schaltung zu entwickeln. Wahrscheinlich dürfte auch noch was
sehr elemenentares fehlen.
Wenn es für eine Schaltschrankanwendung sein soll, dann
würde ich eher einen Timerbaustein empfehlen (Monoflop).
Sowas sollte es bei Anbietern von Schaltschrankelektronik
geben. (z.B. Phoenix, Omron, Murata, ASM usw.)
Intelligenter könnte man es evtl noch mit einem
separaten Kontroller machen, der nicht nur ein einfaches
Triggersignal empfängt, sondern spezielle Kennungen
z.B. auch über RS232(COM) und den Programmablauf somit
verfolgen kann (z.B. C-Control). Dieser Kontroller hat
natürlich auch wieder einen WD-IC (siehe oben).
Gruß Uwi