da dies mein erster Post in diesem Forum ist, seid bitte nicht zu hart mit mir. Auch, falls dieser Post im falschen Themenbereich gelandet ist.
Bei mir auf der Arbeit haben wir eine Messvorrichtung, die 10 Kraftkanäle und 2 weitere Kanäle mitschreibt. Die nenne ich jetzt zum Verständnis mal A, B und F1-F10. Diese ist so eingestellt, dass sie nach gewissen Intervallen (z.B. alle 10 Minuten) alle 12 Kanäle in eine separate txt-Datei speichert. Neben den F-Mitschrieben sowie den Temperaturmitschrieben ist der Bruchzeitpunkt wichtig. Bisher handhaben wir es so, dass regelmäßig geschaut wird, ob eine Probe gebrochen ist, alle Messwerte mit einem Makro in Excel überführt werden und anschließend eine händische Auswertung in Excel erfolgt. Da es um eine riesige Anzahl an Proben geht und außerdem Excel nicht die Schnellste Methode ist, möchte ich das ganze gern in Python automatisieren. Falls es wichtig ist: Die Steuerung der Messungen läuft über Catman.
Hierfür zunächst meine Erfahrungen in Python, bevor ich berichte was ich mir vorstelle und wobei ich Hilfe benötige:
Meine Versuchsauswertungen erfolgen in 90% der Fälle in Python mit Pandas, Numpy, Stats und Matplotlib. Auch wenn meine Codes meistens sehr Chaotisch sind funktioniert das alles sehr gut. Ich würde behaupten, dass ich für meine Zwecke gut genug mit diesen Paketen umgehen kann.
Keine Erfahrung habe ich mit GUIs (außer mal das Grundprinzip angeschaut und ein Paar Test-Programme erstellt) und OOP.
Was ich mir vorstelle:
Ich benötige ein Tool, was wirklich jeder bedienen kann. Dieses soll drei Funktionen erfüllen.
1. Überwachung der Messung: Auf Knopfdruck soll es in gewissen Intervallen die aktuellste txt-Datei auslesen, prüfen ob die Werte im zulässigen Bereich sind, und eine Benachrichtigung (z.B. per Mail) versenden, falls dies nicht der Fall ist. Die Rohdateien bestehen aus zwei Zeilen, wobei die erste Zeile die Benennungen der Messkanäle und die zweite Zeile die Messwerte sind.
2. Archivierung der Daten: Zum einen sollen alle Messwerte aus den einzelnen txt-Dateien in eine große überführt werden. Zum anderen soll über eine Eingabe eines Start- und Endzeitpunkts (Datum und Uhrzeit) sowie der Wahl von Messkanälen (ideal per Checkbox, z.B. F1, F2, F5, A, B) eine Datei mit den Werten dieser Kanäle in dem gewählten Zeitraum erstellt werden (für Diagramme in Latex).
3. Auswertung der Daten: Es soll in einer separaten Datei jeweils der Bruchzeitpunkt (siehe 1.) für den entsprechenden Messkanal dokumentiert werden. Mithilfe der Daten aus 2. soll die mittleren Kraft und die mittleren Werte für die Kanäle A und B über den Prüfzeitraum berechnet werden und ebenfalls in der Datei mit dem Bruchzeitpunkt dokumentiert werden. Es soll eine PNG-Datei erstellt werden, in der die in 2. gewählten Messdaten geplottet werden, wobei die Labels der Kurven benannt werden können (entsprechend der Probenkennung).
und für kürzere Berichte in Word ein Plot der Kurven als Bild erstellt werden, wobei die Namen der Kurven (Kraftkanäle) benannt werden können (Probennamen). Zudem soll diese Datei die entsprechende Dauer bis zum Bruch sowie die Mittelwerte der Messkurven enthalten.
Ich bin mir nicht sicher, ob soweit klar ist was ich benötige

Nun zu meinen Fragen.
Wie bereits erwähnt, habe ich bisher Versuchsauswertungen immer in kleinen "Programmen" gemacht, die allerdings immer nur für eine spezielle Messdatei funktionieren. Der Grund: Es hat sich nicht gelohnt das allgemeiner zu verfassen.
Wie sollte ich vorgehen, wenn ich das kleine Projekt systematisch, effizient und funktionierend angehen werde?
Ich habe noch nie ein Programm erstellt, welches quasi im "Dauerbetrieb" ist, und erstrecht nicht mit GUI.
Aus dem Grund kann ich leider keinen Beispielcode einfügen, da keiner vorliegt.
Ich erwarte keine "Code"-Hilfe o.Ä. (auch wenn ich da vermutlich später Hilfe benötige). Ich würde mich allerdings sehr über Tipps und Anregungen zu den folgenden Punkten freuen:
- Wie gehe ich mit Plan vor? Wild drauf losschreiben hat mich dahin gebracht wo ich jetzt bin, und da komme ich nicht weiter.
- Welche Themen sollte ich mir noch einmal genauer anschauen, damit das kein Schuss ins blaue wird (GUI ist klar, aber was noch?)
- Sollte ich erst die Funktionen erstellen, die die oben gewünschten Punkte durchführen und das ganze anschließend im GUI verpacken, oder direkt alles in einem machen?
- Habe ich irgendwo völlig falsche Vorstellungen, wobei sich Erfahrene nur vor den Kopf hauen?
Wie gesagt: Ich bin über jede Anregung dankbar, der mir hilft, so vorzugehen, dass anschließend kein Chaos entsteht. Das ist mein erstes "größeres" Python-Projekt.
Vielen Dank im Voraus für eure Hilfe,
vielen Dank im Voraus für eure Kritik,
vielen Dank im Voraus für eure Sprüche á la "Mensch bist du blöd, so schwer ist das doch gar nicht", "Das ist ein völlig falscher Ansatz",
und liebe Grüße

Mmmm