Hallo zusammen, gerade beschäftigt mich folgende Problemstellung: Ein Messsystem, bestehend aus Mini-PC und Sensor, der über RS232 angeschlossen ist, soll über mehrere Wochen autonom betrieben werden und Daten aufzeichnen. Ich komme in dieser Zeit nicht mehr an das System ran, es sollte also so stabil wie möglich laufen. Es geht mir jetzt erst mal nur um den Mini-PC, das Betriebssystem und die Software zum auslesen der Sensordaten. Zur Verfügung steht ein Mini-PC (Pokini Z), auf dem laut Hersteller Windows XP/7 oder Linux laufen kann. Nachdem meine Linux-Kenntnisse sehr eingeschränkt sind, würde ich gerne Windows verwenden. Die Software zur Datenerfassung ist in Matlab geschrieben und kann auch als exe kompiliert werden. Inwiefern es da Probleme mit 32/64 Bit gibt, muss ich noch testen. Link zum Mini-PC Pokoni Z: http://www.pokini.de/de/produkte/fanless-pcs/pokini-z Meine Anforderung an die Ausfallsicherheit des Systems ist, dass über den gesamten Zeitraum halbwegs regelmäßig Messungen gemacht werden können. D.h. es ist kein Beinbruch, wenn mal ein paar Stunden keine Daten aufgezeichnet werden. Das System sollte aber in der Lage sein, z.B. nach einem Stromausfall oder einem "hängen" des Betriebssystems oder der Anwendungssoftware neu zu starten und den Betrieb wieder aufzunehmen. Meine Fragen sind daher zunächst einmal: Ist die genannte Hardware/Software dafür geeignet oder ist ein Scheitern quasi vorprogrammiert? Welche Fehlerquellen sind möglich, worauf sollte geachtet werden? Welche Möglichkeiten gibt es, die Zuverlässigkeit des Systems vor dem eigentlichen Versuch auf Herz und Nieren zu prüfen? Über ein paar nützliche Hinweise, Links, Suchbegriffe etc. würde ich mich freuen.
Ja nach BIOS kann man PCs so einstellen, dass sie nach Stromausfall automatisch wieder starten. Hänger zu erkennen ist freilich eine deutlich schwierigere Aufgabe, da normale PCs dafür üblicherweise keine Mechanismen enthalten.
Du hast viel geschrieben, aber das wichtige hast du weggelassen. Welche Art von Daten (Analog, Digital) willst Du aufzeichnen? Was heißt autonom? Gibt es einen Stromanschluß oder muss das System autark laufen? Vielleicht reicht ja auch ein Raspi oder ein Arduino.
Deine Hardware sieht soweit robust genug aus. Eigentlich würde ich Linux Empfehlen, da es für diesen fall einige vorteile hat (kleinerer Footprint, Software Watchdog, root als ro Mountbar oder gar ins Ram ladbar usw.) aber dir dass alles zu erklären oder eine schritt-für-schritt Anleitung hinzuwerfen hab ich jetzt keine lust zu. Evtl. könntest du nen USB Watchdog nehmen, aber die dinger sind schei*e teuer. PS: Die Daten mit nem µC + SD Karte aufzuzeichnen dürfte die beste lösung sein. Wäre aber je nach Protokoll viel aufwändiger.
:
Bearbeitet durch User
Hallo und danke für die bisherigen Antworten. > Welche Art von Daten (Analog, Digital) willst Du aufzeichnen? Es ist ein digitaler Sensor, der wie gesagt über RS232 angeschlossen ist. > Was heißt autonom? Gibt es einen Stromanschluß oder muss das System > autark laufen? Stromanschluss ist vorhanden, kann aber wie gesagt auch mal für ein paar Stunden ausfallen. > PS: Die Daten mit nem µC + SD Karte aufzuzeichnen dürfte die beste > lösung sein. Wäre aber je nach Protokoll viel aufwändiger. Wobei hier die Ausfallsicherheit - gerade bzgl. der Firmware - evtl. auch nicht ganz Problemlos wäre. Matlab-code ist halt auch einfach schnell geschrieben. > Ja nach BIOS kann man PCs so einstellen, dass sie nach Stromausfall > automatisch wieder starten. Danke für den Tipp. Muss ich mal nachschauen, ob das im BIOS einstellbar ist. Der Pokini verfügt laut Manual auch über einen Hardware-Watchdog. Weiß jemand, wie der bedient wird? Muss ich ihn im Anwendungsprogramm regelmäßig zurücksetzen und falls ja, wie wird das gemacht?
Z.B. Shuttle DS67U-Serie ist auch Fanless und für Dauerbetrieb explizit zugelassen. Hat sogar serielle Schnittstellen.
Markus R. schrieb: > Nachdem meine Linux-Kenntnisse sehr > eingeschränkt sind, würde ich gerne Windows verwenden. Freundlich gesagt: Das ist eine selten dämliche Idee, besonders wenn es ausfallsicher laufen soll. Wie wärs wenn du dir einfach grundlegende Kenntnisse anlernen würdest!?
Horst schrieb: > Markus R. schrieb: >> Nachdem meine Linux-Kenntnisse sehr >> eingeschränkt sind, würde ich gerne Windows verwenden. > > Freundlich gesagt: Das ist eine selten dämliche Idee, besonders wenn es > ausfallsicher laufen soll. Wie wärs wenn du dir einfach grundlegende > Kenntnisse anlernen würdest!? ... ich bin ja ein ausdrücklicher Linuxfreund, und froh seid Jahren kein windows mehr bedienen zu müssen. Ich würd' aber niemals auf die Idee kommen jemanden, der in absehbarer Zeit ein stabiles System aufsetzen muss und keine Ahnung von Linux hat, ihm genau das zu empfehlen. Wenn sich Markus jetzt "Mal eben" in Linux einarbeitet, und da evtl 2-3 Tage versenkt, kommt da am ende garantiert eswas schlechteres aus als wenn er 2-3 Tage in ne Windowslösung steckt, da hat er dann nämlich 2-3 Tage zeit Probleme zu lösen und muss nicht Werkzeug lernen. Das nen Linux, bei gleichem Kenntnisstand die wahrscheinlich sinnvollere Lösung ist ist da ein ganz anderes Thema.
Markus R. schrieb: >> PS: Die Daten mit nem µC + SD Karte aufzuzeichnen dürfte die beste >> lösung sein. Wäre aber je nach Protokoll viel aufwändiger. > Wobei hier die Ausfallsicherheit - gerade bzgl. der Firmware - evtl. > auch nicht ganz Problemlos wäre. Matlab-code ist halt auch einfach > schnell geschrieben. Arg viel kann man da nicht falsch machen (zummindest nicht beim reinen Loggen nicht), man braucht sich nochnichtmal um das FS zu kümmern, einfach Roh auf die Karte Schreiben. Richtig Programmiert schläft das ding die meiste Zeit und wartet auf Interrupts vom uart, spi und Timer. D.h. die Chance auf Hardware-Fehler ist ebenfalls verschwindend Gering. >> Ja nach BIOS kann man PCs so einstellen, dass sie nach Stromausfall >> automatisch wieder starten. > Danke für den Tipp. Muss ich mal nachschauen, ob das im BIOS einstellbar > ist. > > Der Pokini verfügt laut Manual auch über einen Hardware-Watchdog. Weiß > jemand, wie der bedient wird? Muss ich ihn im Anwendungsprogramm > regelmäßig zurücksetzen und falls ja, wie wird das gemacht? Bei Downloads&Treiber gibts ganz unten nen Download samt. Laut readme setzt der Treiber den timer von selbst zurück, er resetet also, wenn sich dass komplette OS aufhängt.
Horst schrieb: > Freundlich gesagt: Das ist eine selten dämliche Idee, besonders wenn es > ausfallsicher laufen soll. Wie wärs wenn du dir einfach grundlegende > Kenntnisse anlernen würdest!? und was soll denn an Linux ausfallsicherer als an Windows sein? Linux hat genauso seine macken wie auch Windows. Da kann es z.b. bei 2 LAN Anschlüssen nach einem Kernelupdate passieren, das eth0 und eht1 getauscht sind. Genauso wie bei USB-Serial Adaptern, ohne Anpassung vom UDEV hat man bei mehre Adapter jedes mal ein andere Bezeichnung. Dazu kommen noch die aktuellen Problem bei Linux das nicht immer alle Stromspardinge funktionieren, also braucht das System sehr oft mehr Energie als unter Windows.
Markus R. schrieb: > Sensor, der über RS232 angeschlossen ist, An RS232 können auch zwei Empfänger gleichzeitig lauschen. Wenn die Ausfallsicherheit so wichtig ist: Häng parallel zum PC noch eine minimale, uC-Basierte, Batterie-gepufferte Backup-Lösung an die Leitung. Arduino + SD-Card + RTC Hardware gibt's billig fertig (nur noch ein paar i2c + SPI-Drähte legen). Software ebenso, bzw. ist leicht aus den Arduino-Modulen zusammenzustöpseln.
Peter II schrieb: > Da kann es z.b. bei 2 > LAN Anschlüssen nach einem Kernelupdate passieren, das eth0 und eht1 > getauscht sind. Genauso wie bei USB-Serial Adaptern, ohne Anpassung vom > UDEV hat man bei mehre Adapter jedes mal ein andere Bezeichnung. Falsch konfiguriert. Kann man mit "udev" problemlos lösen solche "Probleme". Gruß, Flo
Flo schrieb: > Falsch konfiguriert. Kann man mit "udev" problemlos lösen solche > "Probleme". Da muss man das Problem erst mal kennen. Sich mit udev beschäftigen. Das macht man nicht alles ein 1-2Tagen. Unter Windows hat man diesen Problem nicht, da fragt man sich doch auch warum das Linux nicht ohne eingriff hinbekommt.
Peter II schrieb: > Unter Windows hat man diesen Problem nicht, Neuer Adapter, also neue MAC Adresse, kann die alten Einstellungen wirkungslos machen. Das kann gut oder schlecht sein, je nachdem was man erreichen will. Für einen Klon ist es gut. Beim Ersatz eines defekten Adapters hingegen wäre eine Identifikation durch Slot-Id angenehmer als eine durch MAC-Adresse. > da fragt man sich doch auch > warum das Linux nicht ohne eingriff hinbekommt. Tut es, nur hängt das von der Distribution ab. Selbst ähnliche Distris können sich unterschiedlich verhalten. So ist Centos fast eine freie Version vom Redhat Enterprise Linux, liefert aber bei einer neuen Adresse einen zweiten Adapter mit neuem Namen (vgl. Windows), während das beim Original nicht so ist. Die von dir erwähnte Vertauschung durch Update ist mir bei Netzwerkadaptern in Linux noch nicht passiert. Bei Disks freilich schon, da habe ich ein System, das bei jedem Boot die /dev/sdN anders sortiert als beim Boot vorher. Mit Id statt Nummer im /etc/fstab ist das aber egal. Da dies bei den Disks in verschiedenen parallel startenden Treibern und deren Zeitverhalten begründet ist, mag es Distris geben, bei denen neue Kernels und insbesondere neue Startup-Verfahren sich anders verhalten. Wenn eine Distri dann Name und Konfiguration eines Adapters an die erkannte Reihenfolge statt an die MAC Adresse koppelt, dann gibts potentiell Probleme.
:
Bearbeitet durch User
Markus R. schrieb: >> Was heißt autonom? Gibt es einen Stromanschluß oder muss das System >> autark laufen? > Stromanschluss ist vorhanden, kann aber wie gesagt auch mal für ein paar > Stunden ausfallen. Bei einer Linux-Lösung könnte man das Filesystem des OS Read-Only mounten, und z.B. 2 Filesysteme zum Loggen bei denen immer nur abwechselnd eines read-write gemountet ist. Dann kann da bei Stromausfall höchstens ein Messwert verloren gehen, nicht aber das ganze System durch schwere Dateisystemfehler unbrauchbar werden. Bei Windows hast Du diese Möglichkeiten nicht. Daher musst Du das Problem plötzlicher Stromausfall anders angehen: ne kleine USV und die unbedingt mit einer passenden Agent-Software auf dem PC verbinden die den PC sauber runterfährt wenn der Akku zur Neige geht.
Gerd E. schrieb: > Stromausfall höchstens ein Messwert verloren gehen, nicht aber das ganze > System durch schwere Dateisystemfehler unbrauchbar werden. Wann hast du das letzte Mal einen schweren Dateisystemfehler erhalten, der nicht durch einen Hardwarefehler provoziert wurde? Unprovozierte Dateisystemfehler sind bei stabilen Filesystemen ziemlich aus der Mode gekommen. In diesen Sinn wär es naheliegender, die Hardwarefehler zu vermeiden, wenn relativ einfach möglich. Etwa durch Verwendung von ECC RAMs. Alternativ die Planlose Version: 2 Logger unterschiedlicher Technik.
:
Bearbeitet durch User
Gerd E. schrieb: > Bei Windows hast Du diese Möglichkeiten nicht. auch bei Windows geht das, wenn man unbedingt will.
Markus R. schrieb: > Windows XP/7 Meine Erfahrung aus der Praxis ist, dass zumindest Windows XP nach zwei bis drei Wochen Dauerbetrieb ohne Neustart gerne mal zufriert. Keine Ahnung warum, ist halt meine Beobachtung hier im Betrieb. Sieht aus, als ob irgendwas langsam den Arbeitsspeicher auffrisst. Muss auch nicht an nur Windows liegen, aber die Linux-Terminals in den Maschinen laufen im Gegensatz dazu Monatelang fehlerfrei durch.
Nase schrieb: > Meine Erfahrung aus der Praxis ist, dass zumindest Windows XP nach zwei > bis drei Wochen Dauerbetrieb ohne Neustart gerne mal zufriert. > Keine Ahnung warum, ist halt meine Beobachtung hier im Betrieb. Sieht > aus, als ob irgendwas langsam den Arbeitsspeicher auffrisst. dann liegt es vermutlich an einer Fremdsoftware. WinXP hat keine Problem über 1 Jahr Uptime zu erreichen. Leider musste ich mein spielsystem vor 2 Monaten neu booten, das war über 400Tage ohne Neustart aktiv. jetzt sind es nur noch 40Tage.
Nase schrieb: > Meine Erfahrung aus der Praxis ist, dass zumindest Windows XP nach zwei > bis drei Wochen Dauerbetrieb ohne Neustart gerne mal zufriert. Ich habe auch mit einigen normalen XP Systemen zu tun, die 24x7 in Steuerungen und Ähnlichem eingesetzt werden. Die sind durchaus solide im Dauereinsatz, vorausgesetzt die Anwendungssoftware ist es. Wenn Anwendungssoftware irgendwelche Lecks hat, etwa wenn ein Oracle-Server igendwann an der harten Grenze von 16 Mio Handles in Windows zum Stehen kommt, dann ist das nicht dem Windows anzulasten.
Ist der PC denn auch an das Internet angeschlossen, oder wirklich autark? Falls ersteres würde ich die alle Update-Funktionen ausschalten, inkl. Windowsupdate und Virus-Update. Lass das System doch jetzt mal ein paar Wochen im Test laufen. Noch eine UPS gegen Stromausfall dazu und dann kann man vielleicht sehen, wo noch etwas klemmt.
:
Bearbeitet durch User
Danke Lukas S. für den Hinweis mit dem Watchdog. Damit sollten sich zumindest Hänger des OS "beheben" lassen. Aber wie sieht es mit Fehlern der Anwendungssoftware aus? A. K. schrieb: > Wenn Anwendungssoftware irgendwelche Lecks hat, etwa wenn ein > Oracle-Server igendwann an der harten Grenze von 16 Mio Handles in > Windows zum Stehen kommt... Genau das meine ich. Gibt es erprobte Methoden, so etwas zu detektieren und z.B. einen Reset durchzuführen? Einen zusätzlichen Datenlogger als reinen Empfänger auf die RS232 Leitung zu legen wird nicht funktionieren, da der Sensor mit Befehlen angesteuert werden muss. Ich hatte aber vor, mehrere Datenspeicher redundant zu beschreiben (SSD, SD-Karte, USB-Stick?).
Markus R. schrieb: > Aber wie sieht es mit Fehlern der Anwendungssoftware aus? kann man meist einfach im Taskmanager beobachten. Einfach mal jeden Tag auf dem Speicher und die Handle anzahl von der Anwendung schauen. Wenn es jeden Tag mehr wird, dann stimmt etwas nicht. Da kann man aber auch einfach abhelfen, in dem man die Software z.b. jeden Tag neu startet. > Genau das meine ich. Gibt es erprobte Methoden, so etwas zu detektieren > und z.B. einen Reset durchzuführen? dafür hast du doch den WatchDoc. - Frage doch mal beim Hersteller ob es dazu ein paar mehr Infos gibt.
Markus R. schrieb: > Einen zusätzlichen Datenlogger als reinen Empfänger auf die RS232 > Leitung zu legen wird nicht funktionieren, da der Sensor mit Befehlen > angesteuert werden muss. Wird nur etwas komplizierter. Der zweite Logger braucht dann einen Watchdog (Monoflop, oder per Software) an der RS232 Schnittstelle und eine kleine Schnittstellenanpassung, die beide Tx der Logger auf einer Leitung zum Sensor zulässt, ohne dass die Pegel aus dem Ruder laufen. Wenn der Watchdog Inaktivität erkennt, dann übernimmt der zweite Logger aktiv den Job der Sensoransteuerung. Andernfalls schnüffelt er bloss passiv mit und protokolliert als zweiter Speicher.
:
Bearbeitet durch User
Markus R. schrieb: > Der Pokini verfügt laut Manual auch über einen Hardware-Watchdog. Weiß > jemand, wie der bedient wird? Muss ich ihn im Anwendungsprogramm > regelmäßig zurücksetzen und falls ja, wie wird das gemacht? Unter Downloads ganz unten bei Software gibt es das ZIP-File: WatchDog zum runterladen. Packe das aus und ließ mal die readme.txt, da steht so einiges beschrieben.
sry, wurde ja schon gesagt ;) hatte die seite vor dem mittagessen noch offen...
Markus R. schrieb: > Aber wie sieht es mit Fehlern der Anwendungssoftware aus? AFAIK hat Windows (so wie linux mit /dev/watchdog<x>) auch nen Software Interface zum Watchdog. Leider spukt Google nur "How to remove Windows Internet Watchdog virus" dazu aus. Am besten (zuverlässigsten) wäre natürlich nen zusätzlicher Software Watchdog im Kernel. Aber du kannst dir ne eigene Watchdog App schreiben die deine Anwendung überwacht (mit irgendwas Pingartigem über localhost oder mit pipes oder Fifos). >Ich hatte aber vor, mehrere Datenspeicher redundant zu beschreiben (SSD, >SD-Karte, USB-Stick?). Am besten (und einfachsten) wäre hier nen Software Raid1. Funfact: Mein Laptop sowie die Billig Allwinner SBCs hier haben ebenfalls nen Echten Hardware Watchdog. Gut zu wissen :)
:
Bearbeitet durch User
Es ist egal,ob Windows oder Linux. Für diesen zweck ist ein PC einfach das schlimmste, was man sich antun kann. Natürlich kann man es hinkriegen, aber die Ausfallsicherheit beim PC ist ein Witz. Wenn es nur darum geht einen digitalen Sensor zu loggen, dann ist ein MC das einzig sinnvolle. Es gibt nichts, was absturzsicherer ist, da kein OS oder andere Layer vorhanden sind. Einen MC kannst du auch problemlos mit einem Akku puffern, in den Schlafmodus versetzen, wieder aufwachen lassen und deine Messung machen und ab in den Schlafmodus. Wenn du völlig sicher gehen willst, lässt du einen zweiten MC daneben laufen, der den ersten jede paar Minuten überwacht und gegebenfalls resettet. Und ein Matlab Programm für Langzeitmessungen ist lachhaft. Überleg dir das 100mal. Das hatten wir schon an der Uni verworfen, da es eine Glückssache ist. Digitale Sensoren sind ja leicht logbar. Die Auswertung kannst du in Matlab machen, wenn du die Daten beteits hast, aber eine direkte Auswertung vor Ort ist blödsinn. Mach das System so minimalistisch, wie es geht. Einen PC zum Aufzeichnen einen Digitalen Sensors ist genauso, wie 350m zur Post mit einem 1000PS Auto über eine Feldstrasse zu fahren. Nimm doch das Fahrrad.
Root schrieb: > Mach das System so minimalistisch, wie > es geht. Einen PC zum Aufzeichnen einen Digitalen Sensors ist genauso, > wie 350m zur Post mit einem 1000PS Auto über eine Feldstrasse zu fahren. > Nimm doch das Fahrrad. Aber der PC ist doch schon vorhanden. Warum dann noch ein Fahrrad kaufen?
Weil dich der exorbitante Verschleiß des 1000-PS-Autos bei solchen Kurzstrecken schnell sehr viel mehr kosten wird als ein gutes Fahrrad!
kaltstart schrieb: > Weil dich der exorbitante Verschleiß des 1000-PS-Autos bei solchen > Kurzstrecken schnell sehr viel mehr kosten wird als ein gutes Fahrrad! was soll den an einen PC schneller verschleißen?
Naja, wenn der PC schon da ist, dann ist ja alles eh zu spät. Der PC ist dafür einfach nicht gebaut. MC mit SD Karte wäre hier die Lösung gewesen. Das mit dem PC ist einfach reine Glückssache. Es kann gutgehen, ist aber eindeutig die anfälligste Methode, wegen dem riesiegen Overhead.
über mehrere Wochen !! Die Unzuverlässigkeit steigt entsprechend mit der Komplexität der eingesetzten Software. Wiki: Programme mit einer Fehlerdichte von weniger als 0,5 Fehlern pro 1000 Zeilen Code gelten als stabile Programme. Betriebssystem, ein Haufen Treiber, Matlab, Windows 10 upgrade blocker ;-) Als großes Problem sehe ich auch eine zuverlässige Stromversorgung/Pufferung. 10 Watt (das Netzteil hat 18 Watt bei 12 Volt) Zuverlässiger Betrieb mit automatischer Umschaltung etc. (Temperatur??) Stromversorgung könnte teurer kommen als ein Low-Power uC Lösung. Ist alles machbar - ich würde mir das aber nicht mit einem PC antun. Wenn du wirklich nach Zuverlässigkeit suchst dann Keep it simple [and] stupid.
Root schrieb: > Der PC ist dafür einfach nicht gebaut. für was er denn gebaut? Wenn er für 24/7 betrieb ausgelegt ist?
Peter II schrieb: > Linux hat genauso seine macken wie auch Windows. Da kann es z.b. bei 2 > LAN Anschlüssen nach einem Kernelupdate passieren, das eth0 und eht1 > getauscht sind. Die meisten Distributionen haben schon ziemlich lange statische Device-Namen. USB-Sticks werden üblicherweise anhand des Labels (wenn vorhanden) eingehängt. Ansonsten falle ich (ähnlich wie du) auf: "Linux hat genauso seine macken wie auch Windows" zurück. Ich würde aber auch Linux bevorzugen, hier muss zwar öfter manuell eingegriffen werden, aber meiner Erfahrung nach ist es einfacher. Für mich ist ein manuelles Eingreifen unter Windows immer eher anstrengend... ;-)
a) ich würde den Rechner mit Win 7 betreiben b) ich würde den Rechner jede Nacht booten c) der Rechner unterstützt lt. Handbuch Auto On. Ein Stromausfall ist also kein Problem, der Rechner startet automatisch wenn die Stromversorgung wiederkehrt. Du musst nur daran denken die von Dir verwendete Software in den Autostart-Ordner zu legen. d) der Rechner benötigt max. 10 Watt und hat einen weiten Eingansspanungsbereich von 10-15 Volt. Die Pufferung über einen Bleigelakku, eine kleine Autobatterie o.ä. ist mit etwas Zusatzbeschaltung kein Problem.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.