Hallo zusammen,
ich hab mir ein Python Skript geschrieben für meine 32x 280AH Zellen um die Kapazität und die Entladekurve zu visualisieren. Der Messdatenexport mit der EB Tester Software V1.8.5 ist ja vom Format ziemlich gruselig. Kommas werden sowohl als Dezimal- als auch als Spaltentrennzeichen verwendet. Außerdem wird der Ladestrom vorzeichenlos angegeben - laden und entladen lässt sich somit nicht unterscheiden. Vielleicht hab ich mich nur dumm angestellt und hab den entscheidenden Haken nicht gesetzt - dann wäre es super wenn ihr mir sagen könntet wie es besser geht.
Für alle anderen wollte ich das Skript teilen.
Vorraussetzungen:
- Installiertes Python (ich hab 3.8.8)
- CSV Exportdateien liegen im selben Ordner wie das Skript (andernfalls kann man den Ordnerpfad noch als Parameter übergeben, aber das hab ich noch nicht getestet)
- Angenommen wird das folgendes Ladeprotokoll verwendet wurde:
- CSV Dateien enthalten diese Zeichenfolge bevor die Messdaten starten: "Time(S),Cur(A),Vol(V)"
Handling unter Windows:
1. Python installieren
2. .py Skriptdatei in den Messdatenordner kopieren
3. oben in dem Ordnerpfad "cmd" eintippen
4. Python Pakete installieren durch (separates) eintippen in Command Window:
pip install numpy
pip install matplotlib
pip install pathlib
vielleicht auch noch
pip install glob
Sollte noch irgendwas fehlen einfach die .py Datei öffnen und schauen welche Bibliotheken noch importiert werden. Aber ich denke die anderen sind alle in python vorinstalliert.
5. im Command Window dann eintippen:
python.exe visualize_ebc40_export.py
Sowas sollte dann rauskommen (csv Dateinamen werden in die Legende übernommen):
Skript könnt ihr beliebig anpassen - vielleicht hilfts ja dem ein oder anderen.
Hast aber schöne Zellen... hatte auch mal überlegt wie man die übereinander legen kann, aber verworfen. Mal sehen ob ich das mal noch machen.
Um einen besseren Output zu bekommen, der auch im Toll selber wieder zu importieren geht, habe ich auch englische Zahlen umgestellt, dann ist der Dezimaltrenner ein Punkt. davon sind die bei der Software wohl ausgegangen.
Guter Hinweis mit dem Umstellen auf englische Zahlen. Damit würde das Skript nicht funktionieren. Wäre aber einfach zu fixen, indem man den Teil auskommentiert der den Dezimaltrenner durch einen Punkt ersetzt und direkt den "line" String verwendet um in die Einzelstrings zu splitten:
'ziemlich gruselig' ist ja nett geschmeichelt...
Habe das gleiche Problem... Mein EBC A40L exportiert ebenfalls Kommas als Dezimal- und auch als Spaltentrennzeichen. Das passiert wohl, wenn 'englische' Software unter einem 'deutschen' Betriebssystem läuft (habe deutsche Version von Windows 10 Pro). Die erzeugten Dateien können nicht eingelesen werden. Auch die Dateien vom Andy nur zum Teil, und wenn ja, dann mit falscher Y-Achsen-Skalierung.
Daraus leite ich einmal vorsichtig ab, dass es hier wohl 2 Probleme gibt:
1. Beim Export der CSV-Dateien ein Problem gibt (wie soll man entscheiden, ob ein Komma gerade einen Spalten-Trenner darstellen soll oder einen Dezimaltrenner).
2. Beim Einlesen (vermutlich will das Programm hier die deutsche Dezimaltrennung anwenden, und das passt dann mit Andys Dateien auch nicht.
Ich habe eine große Datei kräftig eingekürzt, und dann Kommas als Spaltentrenner benutzt, die Sekunden als Integer so stehen lassen, und die Ströme in Milliampere mit der Endung 'e-3' versehen (und damit das Komma wieder um 3 Stellen nach links verschoben), ebenso die Spannungen:
-----------EB Tester Software-----------;;
Device:EBC-A40L;;
Mode:C-CV 40,00A 3,40V;;
Begin Volt:2,749V;;
Cutoff Volt:3,400V;;
Capacity:286,80Ah;;
Energy:961,81Wh;;
Avg Volt:3,35V;;
Title:EB Tester Software;;
------------www.zketech.com--------------;;
Time(S),Cur(A),Vol(V);;
0,0,3291e-3
0,0,3291e-3
1,40,3262e-3
13,34,3262e-3
25,33333e-3,3255e-3
37,40,3254e-3
49,40,3248e-3
66,40,3444e-3
Diese Datei kann die Software dann darstellen... Den Header habe ich unverändert gelassen, und damit wird er auch korrekt unterhalb der Grafik angezeigt.
Hallo,
leider habe ich auch das Problem, dass meine Daten von getesteten Zellen nicht mehr dargestellt werden. Alle Daten sind in der gespeicherten Tabelle nur durch Komma getrennt.
Habe versucht, die Lösung von Herbert_123 zu übernehmen, scheitere aber nach Installation von Python, vermutlich mangels Python-Kenntnissen, an der Befehlseingabe und erhalte immer Befehl nicht erkannt (sinngemäß).
Auch endet die Python-Datei nach dem Entpacken nicht mit .py.
Kann mir jemand helfen?
Herzlichen Dank für jeden Hinweis
Viele Grüße Markus
Hallo roterhof1000,
ich hab die Datei nochmal runtergeladen und mit 7zip entpackt. Ich erhalte da eine visualize_ebc40_export.py Datei. Aber du hast Recht - ein bischen Erfahrung mit Python kann nicht schaden. 100%ig ist das nicht beschrieben. Ist halt nur gerade schwer zu sagen woran es hakt...
Ich hab mal versucht daraus eine ausführbare .exe Datei zu machen. Aber das ist beim ersten Versuch gescheitert und ich kenn mich damit nicht richtig aus. Wenn jemand anders weiß wie das geht wäre so eine .exe für den ein oder anderen sicherlich hilfreich.
Viele Grüße