Hallo Experten,
ich habe eine kleine Betriebsdatenerfassung für Maschinen mit Python programmiert, die zwar grundsätzlich zufriedenstellend läuft aber leider am Stück nur max. mehrere Wochen
Aufbau:
raspi zero (teilweise auch raspi 3b+), Touchscreen mit Adafruit 480x 320 resistive Touchdisplay, raspbian
stretch (wie laut adafruit final getestet: release März 2018). Anzeige/ GUI mit Python und Tkinter programmiert.
Ein gpio-Eingang (als pullup intern geschaltet) ist mit einem reed-kontakt verbunden, der ein zyklisch bewegtes Teil an einer Maschine abfragt. Im Programm wird ermittelt, wie lang das letzte "Maschine-läuft"-Signal am Eingang her ist
und bei Überschreiten eines Wertes muss eine Eingabe am T.-Screen erfolgen, welche Art von Störung vorliegt
Bei einigen Geräten geben drei Ausgänge zusätzlich ein Signal zu einem Relais für eine Ampel aus.
Das ganze läuft ohne Netzwerkanbindung.
Problem:
der Bildschirm steigt aus, d.h. keine Touchfunktion mehr und meistens zusätzlich kein Videosignal am Bildschirm.
Wie ich jetzt erst herausfand: das hdmi-Signal, das sonst parallel vorliegt, ist auch tot. Das Programm läuft aber im Hintergrund weiter: der Eingang wird weiterhin abgefragt und auf drei Ausgängen korrekt Signale ausgeben!
Bisherige Versuche:
da das Programm immehin 800 Zeilen hat und der Zero in Richtung 100% läuft, habe ich den 3+B getestet: gleiches Problem.
Ausstehende Versuche:
Einsatz geschirmter Kabel zum Reedkontakt (Kabellänge immerhin 6m) , obwohl soweit ich das erkenne keine falschen Impulse ankommen.
Testen eines ähnlichen Touchscreens von joy-it.
Testen von empfohlenen, höherwertigen SD-Karten (obwohl das Programm hier keine Daten permanent liest oder speichert), ggf. auch Industrie-SD-Karte
Vereinfachung der Programmierung der Bildschirmaktualisierung: in der Hauptschleife, die auch den Zustand des Eingangs abfragt wird mehrfach pro Sekunde per ".config"-Befehl aktualisiert. Ich möchte dies zukünftig nur bei Änderungen anstoßen.
Wer kann mir hier weitere Tips geben? Gibt es andere Dinge, die auf der Testliste ggf. fehlen ?
Bin ich hier im Allgemeinen Bereich im Forum richtig (dies ist mein erster Beitrag)?
Ich habe schon sehr viel Zeit in die Anwendung gesteckt und es ist schon echt frustrierend, hier quasi unmittelbar vor der Ziellinie aufzugeben obwohl sie ja grundsätzlich läuft
Vielen Dank schon mal im Voraus!