Archiv verlassen und diese Seite im Standarddesign anzeigen : Einsetzen vom Watch Dog
Hallo,
ist das Einsetzen vom Watch Dog in Endprodukten auf jedem Fall nötig?
Gruss
Senmeis
nötig ist es nur,
wenn der Programmierer sicherstellen will das sich das System unter keinen Umständen längere Zeit aufhängen kann.
In sehr komplexen Systemen de Betriebssicherheit wegen sinnvoll, in Überschaubaren tut es ein Resttaster auch, vor Allem deshalb, weil dann auffällt wenn etwas nicht stimmt. Der WD startet einfach neu, und die unerklärlichen Ursachen von Programmunterbrechungen werden nie aufgedeckt.
Es ist eine sicher nützliche aber nur bedingt sinnvolle Krücke für die Fälle, in denen es gilt dauerhafte Ausfälle sicher zu unterbinden.
Hi,
das kommt immer drauf an was man damit anstellen will.
Bei der Entwicklung ist der WD total fehl am Platz! Nur im Endprodukt macht der Sinn.
besonders wichtig ist der WD um Schaden abzuwenden. Das kann ein materieller Schaden sein, aber es könne ja auch Menschen zu Schaden kommen.
Versagt der Programmablauf bei einer gefährlichen Maschine, so macht die ja das weiter was der µC zuletzt befohlen hat. Stürzt der µC ab, macht die Maschine weiter. Der WD löst einen Reset aus und setzt das WD-bit. Der programmstart erkennt das WD-bit und führt ein programm aus mit der die Maschine auf jeden Fall in einen unbedenlichen Zustand gebracht wird und hält dann an bis ein Servicetechniker sich die Sache anguckt.
Das können kleinigkeiten sein wie eine Waschmaschine die den Wassereinlauf stoppt wenn der WD "bellt" aber auch große Sachen wie Aufzüge, Baukräne, Bremsen von Fahrzeugen, Chemische Prozesse, CNC-Maschinen, uvm.
Gruß
Elmar
Hi,
bei mir hat jedes Produkt von Geburt an einen WD.
Fuer meine Anwendungen ist der absolut wichtig: da bei mir praktisch immer ein oder zwei serielle Datenkanaele vorhanden sind,die mit anderen Geraeten 'sprechen' muessen,...darf es nicht passieren ,dass die Com abreisst. Wird eines der Geraete abgeschaltet...und wieder eingeschaltet,so hilft mir der WD ungemein alles wieder auf ein Gleis zu fuehren.
Richtig ,was Winne schrieb: manche Probleme die auftreten koennen fegt der WD unter den Tisch und man wird wohl nie erfahren wo der Fehler lag...
Kombiniert mit dem WD ist (oft) auch ein Brown_Out Detector (Unterspannungserkennung) MC arbeitet nur wenn auch die Versorgungsspannung OK ist !
Damit kann der geistige Vater des Produktes ruhig schlafen....die kleinen Kaefer dagegen arbeiten unermuedlich 24/24h.
Mein Favorit TC1232 oder MAX1232...auf DIL Sockel...das vereinfacht das Debugging:
Chip raus (beim '51) 10uF rein...und raus mit den Fehlern.
lange lebt der WD
lange lebt das Produkt
Hallo Ed,
ich dachte, du wuerdest gerade am Lago M. "Das grosse Fressen" nachspielen :rolleyes:
Fuer den WD habe ich noch keine vernuenftige Anwendung gefunden (im Gegensatz zum Brown Out).
Da gibts z.B. bei mir eine Geraeteserie mit HV, 5kV oder auch 10kV, bei der Inbetriebnahme muessen die feinen Spitzen in der Mechanik abgebrannt werden (Corona-Entladung), d.h. anfangs knallt es gehoerig im Karton. Ab und an schmiert dann doch der µC ab, (wenn es der Mechaniker mit der Rauhigkeit uebertrieben hat), da hilft auch kein WD.
Aber was hat der WD mit "Com" zu tun? - normalerweise kannste dort mit Timeouts arbeiten.
Bin gerade zurueck aus Luino (Lago M.)...durch Nacht und Nebel.
Kein Mensch unterwegs...zwischen Mailand und Piacenza hoechstens 20 Autos gesehen;)Ganzen Tag gefressen...jetzt Nase voll...ist eben Tradition...so vergehen die Jahre;)
Ich starte meine Coms immer ueber WD ist Praktisch und ungefaehrlich ...das Timeout ist ja im WD einstellbar.
Die Sache mit dem Coronaeffekt.... wird der Coronaeffekt genuetzt oder ist es nur eine voruebergehende Situation ? Ich habe frueher viel mit CoronaEff. zu tun gehabt.
Generatoren (bis etwa 10 KW) fuer Oberflaechenbehandlung mittels C-Effekt...das ermoeglicht Annahme von Farb- und Klebstoff auf Polyaethylen usw
Das kann ich gut verstehen,bei Hochspannung , absichtlich erzeugt oder bei spontaner Elektrostatik stehen einem oefters woertlich und sachlich die Haare zu Bergen:eek:
Da gibt es nur '' ERDUNG '' doppelte Abschirmung...
Ich starte meine Coms immer ueber WD ist Praktisch und ungefaehrlich ...das Timeout ist ja im WD einstellbar.Hallo,
wie geht das denn?
meinst du damit, dass deine WD-refresh Kommandos in der Interruptroutine fuer die ser. Schnittstelle stehen? - oder kann der WD auch einen IRQ ausloesen und dort haste Code f. com stehen?
P.S.:
der c-effekt ist nur in den ersten 1-2h, ist ja alles im uhv.
Hallo Rudo,schoenen Feiertag,
...hier kommen x SMS mit Weihnachtsgruessenundweuenschen an... oft nur ... Nummern . Ein echt NUMERISCHES Weihnachten :D auch bei dir ?
Die WD / Com Geschichte ist einfach...wie bei Mickey Mouse ...ist auf der Gegenseite keine Aktivitaet,so ruft /restartet mein MC/WD andauernd ....bis eine typische Antwort vom Slave kommt (normalerweise 1 Ascii Byte)...dann geht das Kontrollloop los ....loopt und loopt...geht irgendwo der Strom weg oder wird der COM Stecker gezogen....no Prob...sobald Spannung da Stecker drin ...laeuft alles wie gewuenscht los und keiner braucht sich darum kuemmern...wuerde ja auch keiner akzeptieren bei meinen 'Kisten' einen Reset_Knopf zu suchen und zu druecken :eek:
In meiner Welt bewaehrt sich diese Arbeitsweise seit Jahren.
Zum C_Effekt: wir hatten Metallwalzen mit uebergezogenem Silikonschlauch...der C-Eff funktionierte so sehr 'soft'.....wenn es knallte bedeutete das ein Loch im Schlauch :D
20 000V....das war noch ohne MC...da gab es einen grossen stabilen ResetKnopf kein WD.
Ciao Gruss !
Hallo Ed, ich wuensche dir auch angenehme Festtage.
Mein Handy ist immer aus, keine Chance f. sms-Spam. Ich glaube, dass ich noch nicht mal die Mailbox aktiviert habe.:D
Deine WD-Anwendung verstehe ich jetzt, das geht natuerlich nur bei Minisystemen, die nur wenig Zeit zur Initialisierung benoetigen.
Etwas aehnliches hat mal die Fa. Siemens ihren Kunden "geschenkt": ab einer bestimmten Chip-Revision liess sich der WDT nicht mehr per SW abschalten und nach dem Reset biss dann kurze Zeit spaeter der Hund zu. Jede SW, die nicht den WDT benutzte, konnte dann nicht mehr anlaufen. Es passte ja auch 'vortrefflich' zu deren Emulator, bei dessen Benutzung man den WDT immer abschalten musste ;)
Siemens,die haben fuer den Hund gearbeitet:mad:und fuer die Katz.
Richtig, meine sind Minisysteme...so simpel wie nur moeglich...
( smart -reduced to the max !)
Ciao , gleich geht die naechste FressRunde los :eek:
Hi,
Deine WD-Anwendung verstehe ich jetzt, das geht natuerlich nur bei Minisystemen, die nur wenig Zeit zur Initialisierung benoetigen.
Nicht zwingend. Ein Reset löscht ja nicht den Speicher, nur die SFR und den PC und den Stackpointer.
Am WD-Bit erkennt der Programmstart ja dass was passiert ist und kann daher auch schnell nachgucken was passiert ist. Wenn jede Funktion eine Nummer trägt die in einer Speicherzelle gespeichert wurde, kann man nach einem WD Reset schnell da weiter machen wo es geknallt hat. Einfach nur die SFR initialisieren und das Modul aufrufen dessen Nummer zuletzt gemerkt wurde. Man kann auch diese Nummer in eine zweite Speicherzelle schreiben. Knallt es an der selben Stelle noch mal, kann man entsprechend drauf reagieren und einen Notlaufbetrieb aufrechterhalten wo die Schwachstelle nicht mehr benutzt wird.
So kann der WD auch bequem Timeouts handhaben!
Im Zusammenhang mit dem "Round Robin" Verfahren (simples Multitasking) kann der Watchdog einen klemmenden Task schnell wieder funktionsfähig machen oder ganz abstellen ohne dass die anderen Funktionen auch nur leiden!
Manchmal benutze ich den WD einfach um Tasks abzubrechen die gerade nichts machen können. Wartet der Task auf ein ereignis, so resettet der Task beim warten nicht den WD. Bellt der WD weil das Ereignis zu lange auf sich warten lässt, so wird der Task abgebrochen und wird später noch mal probiert. Das vereinfacht das Programm der einzelnen Tasks. Den WD kann man also als simples Werkzeug für Timeouts benutzen wenn man Multitasking betreibt.
Das Main sieht ja am fehlenden WD-Bit wann es eine komplettinitialisierung machen muß um das Multitasking vorzubereiten (Kaltstart). Ein weiteres Flag erzählt dem, dass der Task freiwillig zuende ging und verhindert ebenfalls Komplettinitialisierung. Ist das WD-bit gesetzt, so kann man dem Task auch eine höhere priorität verpassen da der ja noch auf was wartet was ja jetzt da sein kann.
Gruß
Elmar
Schoen beschrieben , Elmar !
Grosses oder kleines System WD oder nicht ....
Da die Dinger -Mikrocontroller- genannt schon darauf hinweisen,dass es sich um etwas ''kleines'' handelt enthalte ich mich Groesseres damit zu machen :D
Groessere Sachen darf man mit PC erledigen...:rolleyes:
Mein Krimskrams, den ich zusammenstricke entsteht meisst daraus, dass irgendwo irgendjemand nicht ausreichend weit gedacht hat.....die Loesung : MML (MikeyMouseLogic) die stecke ich dann in den MC. Und das geht flott: wenige Tage gegenueber Wochen oder gar Monate fuer SERIOESE Loesungen.
Einzige Gefahr: mit MC kann man oft mittels einer minimalen Schaltung komplexe Probleme loesen. Die Loesung passt oft in einen Kubikzentimeter....
aber da sagt der Kunde : Was ? fuer einen CM3 soll ich 1-2-3000€ bezahlen ?
Also alles in eine schoene Profi -Verpackung- stecken...dann wird es schon als wertvoll angesehen .
Aber auf jeden Fall muss ein SuperVisor Chip drinstecken !
Ich bevorzuge einen EXTERNEN WD Chip gegenueber einem INTERNEN.
Dem WD habe ich viel zu verdanken :)
Hi,
kommt ja imemr drauf an was man machen will. Viele kleine µC sind oft besser als ein "dicker" PC. gerade wenn die Apllikation über eine große Fläche verteilt ist. Die µC verteilt man ebenfalls und vernetzt die mit einem Bus. Früher hat man ja "Supercomputer" (z.B. PDP-11) benutzt die dann über Beindicke Kabel mit hunderten Aderpaaren irgendwas gesteuert hatten.
Heute "würzt" man alles mit µCs, vernetzt die und kontrolliert oder steuert das dann zentral über Netzwerk mit einem PC.
Allerdings kommt man auch ohne µC aus dank USB-over_ethernet. Aber vereinzelte µC die ein kontroliertes herunterfahren der Anlage bei PC-ausfall einleiten sind trozdem nicht wegzudenken.
Gruß
Elmar
Hi,
Da die Dinger -Mikrocontroller- genannt schon darauf hinweisen,dass es sich um etwas ''kleines'' handelt enthalte ich mich Groesseres damit zu machen :D
Das kann man so nicht sagen. "Controller" bedeutet schlicht und ergreifend "Steuerung". und "Mikro" bezieht sich auf die Technologie.
Wie viele Chips und andere Komponenten da werkeln ist nicht bestimmt! Es gibt keine "Ein-chip-und-gut" Lösungen. netzteil und andere Komponenten (Quarz, diverse Beschaltung) gehören zu einem microcontrolersystem dazu.
Selbst meine PDP-11 war als "Microcontroller" im Einsatz. Die diente rein dazu einen Röntgenstrahlenbelichter zu steuern, mehr nicht!
Gruß
Elmar
Powered by vBulletin® Version 4.1.12 Copyright ©2012 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.