Re: Watchdog Kategorie: Programmierung (von Rolf klinger - 29.09.2009 16:52) | ||
Als Antwort auf Watchdog von drickes - 27.09.2009 20:20 | ||
| ||
Mal ein ganz anderer Weg� Hallo, wie so viele Mitstreiter habe ich auch ein komfortables Heizungsprogramm mit der CC2-Station konstruiert. Besonders während der Entwicklung gab es einige Abstürze, die auch meinen Gedanken zu einer Watchdog geführt haben. Diesen habe ich mit einem parallel laufenden OpenMicro-Chip realisiert. Dieser Watchdog verwendet einen Eingang für einen wiederkehrenden Impuls, gibt zwei Betriebszustände über LED aus und schaltet ein Hilfsrelais. Dieses Hilfsrelais ist in Ruhe geschlossen und schaltet die Versorgungsspannung (12V DC) der CC2-Station. Funktion: Die CC2 liefert permanent ein Lebenszeichen und gibt pro Sekunde einen Impuls aus. Diesen Impuls empfängt OpenMicro. Bleibt der Impuls länger als (bei mir) 2 Minuten aus, dann zieht das Relais für kurze Zeit an und fällt wieder ab, die Versorgungsspannung der CC2-Station wird also kurzzeitig unterbrochen und wieder eingeschaltet; also ein Hardware-Reset. Wenn innerhalb von 30 Minuten mehr als drei Abschaltungen erfolgen, dann liegt wahrscheinlich ein grö�eres Problem an und das Relais bleibt angezogen, die CC2-Station bleibt ausgeschaltet und ein Hilfsschütz, von der CC2 gesteuert, fällt ebenfalls ab und die Heizung läuft mit der ungeregelten Steuerung des Kessels(nur Grenzwerte und alle Pumpen) als Notbetrieb weiter. Diesen Zustand nutze ich auch als Schornsteinfegerschaltung. Die Wartezeit nach einem Ausfall ist wichtig, damit mir der Watchdog nicht beim download über den XPort dazwischenfunkt. Das Problem der Uhrzeit (bei Start alles 00:00)habe ich dadurch gelöst, dass die Uhrzeit und Datum jede Minute zwischengespeichert wird (externes EEPROM) und mit jedem Neustart geladen wird. Irgendwann greift DCF77 wieder ein und korrigiert die Uhrzeit. RESET speichert einen Zähler in der CC2, der abgefragt werden kann. Diese Schaltung läuft bereits seit einem Jahr fehlerfrei, und hat sich bei mir bestens bewährt. Die von Drickes geschilderte Problemlösung würde ich dadurch realisieren, das nach einem RESET immer erst das Notprogramm läuft, und dann auf das Hauptprogramm umgeschaltet werden muss (per Hardware oder Software. Bei Interesse würde ich gerne alle Details offenlegen. Rolf > Hallo > > Nach längerer Zeit, in der ich meine mittlerweile recht umfangreiche Heizungssteuerung und > die Heizungsanlage in betrieb genommen habe, taucht nun für mich ein Problem auf. > Ich bin dabei in das Steuer bzw Regelprogramm "selbstlernende Module" bezüglich des > regelverhaltens zu integrieren. Hierbei kommt es hin und wieder vor das sich das Programm > "aufhängt".Ich stelle mir vor mit dem Watchdog vom pcf8583.c2-Modul diese Aufhänger > abzufangen. > Meine Vorstellung: Bei einem Aufhänger wird vom Watchdog ein QUIT -1 ausgelöst und danach > ein Notprogramm gestartet. > 1) Normalprog wird gestartet mit Port P1H.0 auf GND (Kippschalter ein) > 2) wenn Prog läuft Kippschalter aus > 3) wenn Aufhänger Watchdog löst Reset aus > 4) Notprogramm wird gestartet weil Port P1H.0 nicht auf GND > > Erste Versuche mit dem Watchdog, einfaches einbinden mit pcf8583.init(1,1,1,20,1), > haben nicht funktioniert. > Nun meine Frage:Ist meine Vorstellung überhaupt zu verwirklichen ? > > Für Hinweise wäre ich dankbar. > > Gruss an alle > | ||
Antwort schreiben Antworten: Re: Watchdog (von drickes - 29.09.2009 19:36) Re: Watchdog (von Rolf klinger - 29.09.2009 23:34) Re: Watchdog (von Rolf klinger - 30.09.2009 12:13) |