Hi, habe ich schon quer durchs Forum gelesen und Google bemüht aber nichts passendes gefunden. Ich habe eine Füllstands Messtechnik für meinen Brunnen. Diese stellt den Füllstand über ein Display dar. Es gibt aber auch die Möglichkeit eine RS232 dort anzuschließen die dann fröhlich im 10min Tackt Daten mit 9600 Baut rausschiebt. Sieht wie folgt aus #00 200408113410 368 429 2380 68 5440 R1- ? #00 200408114410 368 429 2380 68 5440 R1- ? #00 200408115410 368 429 2380 68 5440 R1- ? Habe mir schon ComVisu und SerialcomGrapher angeschaut, aber dort kann ich -wie ich es verstehe- nicht die Daten verabreiten wie sie wie oben dargstellt werden. Mich würde von den Daten nur -Datum/Zeit --> 200408122410 -Füllhöhe --> 2380 interessieren. Bin für jeden Tip dankbar.
Nachdem die Daten schon so schön in Spalten formatiert sind, schreit das nach Gnuplot
Ich handle sowas immer mit einem Python script und pyplot. Villeicht nicht der eleganteste, aber einfachste Weg.
Daten mit einem Script in eine Datenbank schreiben (z.B.: influxDB) und die Daten dann mit Grafana visualisieren.
Ich würde es mit Hterm aufzeichnen und abspeichern, dann mit dem Hexeditor HxD die Leerzeichen durch TAB (0x09) ersetzen und das Hashtag durch 0D 0A, wenn das nicht sowieso schon drin steckt. Danach kann man es in Excel oder Libre Office Calc importieren und Grafiken erstellen lassen. http://www.der-hammer.info/pages/terminal.html https://mh-nexus.de/en/hxd/ https://www.libreoffice.org/download/download/
:
Bearbeitet durch User
Ich würde auch Gnuplot verwenden. Kann mit den obigen Daten umgehe ohne sie umzuformatieren. Hier ein Beispiel wobei ich deine Daten etwas interessanter gemacht habe. Folgendes in Datei test.dat: #00 200408113410 368 429 2380 68 5440 R1- ? #00 200408114410 368 429 2480 68 5440 R1- ? #00 200408115410 368 429 2290 68 5440 R1- ? #00 200408110411 368 429 2380 68 5440 R1- ? #00 200408111411 368 429 2480 68 5440 R1- ? #00 200408112411 368 429 2290 68 5440 R1- ? und mit den folgenden Gnuplot Kommandos bekommst du das Bild im Anhang. # ============================================================ # Kommentarzeichen der Datendatei umdefinieren set datafile commentschars "§" # siehe http://gnuplot.sourceforge.net/docs_4.2/node76.html set xdata time set timefmt "%Y%m%d%M%H" set grid set yrange [2100:2600] set format x "%m.%d %H:%M" plot "test.dat" using 2:5 wi linespoint lw 3 # ============================================================
Als Batch in einer Command Shell:
1 | for /f "tokens=1-5" %%a in (x.dat) do @echo %%b %%e>y.dat |
Gruß WIRO
WIRO schrieb: > for /f "tokens=1-5" %%a in (x.dat) do @echo %%b %%e>y.dat könntest du mir nicht Windows Nutzer auch aufzeigen, was das bewirkt. Es kommt mir so vor als würdest du einfach eine Datei mit 2 Spalten erzeugen?! Was hat man davon? Das Datumformat ist immer noch zu interpretieren. Gerhard
@Gerhard: Genau, das hat der TO ja so gewollt. Man kann den Datum-Zeit-String b. B. auch zerlegen:
1 | for /f "tokens=1-5" %%a in (x.dat) do ( |
2 | set s=%%b |
3 | echo %s:~4,2%.%s:~2,2%.20%s:~,2%,%s:~6,2%:%s:~8,2%:%s:~10,2%: %%e>y.dat |
4 | ) |
ergibt:
1 | 08.04.2020,11:54:10: 2380 |
Gruß WIRO
Hier noch eine Korrektur:
1 | copy nul y.tmp |
2 | setlocal enabledelayedexpansion |
3 | for /f "tokens=1-5" %%a in (x.dat) do ( |
4 | set s=%%b |
5 | echo !s:~4,2!.!s:~2,2!.20!s:~,2!,!s:~6,2!:!s:~8,2!:!s:~10,2!: %%e>>y.tmp |
6 | ) |
7 | endlocal |
WIRO
Danke! Nun gut, ich hatte ihn so verstanden, dass er die Werte grafisch aufbereiten will. Wäre mit Gnuplot halt sehr einfach geworden ohne erst das bestehende Format umzumodeln. Aber da sich der TO nicht mehr meldet und auch nicht geschrieben hat, auf welcher Plattform er es macht ... G
Nachdem der TE von ComVisu und SerialcomGrapher redet, will er wohl eine graphische Darstellung
Hi, sorry, habe jetzt erst wieder reingeschaut. Habe mir nun GNUPlot mal angeschaut, habe auf Anhieb auch die Daten reinbekommen. Das "Y" bei "set timefmt" musste nur klein, da das Jahr nur zweistellig reinkommt. Aber das hatte ich schnell gefunden. Im Grunde also schon recht gut. Daten sammele ich bisher noch über nen RS232 Daten logger in eine TXT. Bisher habe ich leider noch keine möglichkeit gefunden im GNUPlott die Daten direkt von der COM auszulesen und weiter zuverarbeiten. Gruß Stefan
Stefan schrieb: > Bisher habe ich leider noch keine möglichkeit gefunden im GNUPlott die > Daten direkt von der COM auszulesen und weiter zuverarbeiten. Hab da leider wenig Ahnung aber viel Bedarf. Eine Suche nach "gnuplot realtime data" kommt über https://stackoverflow.com/questions/44470965/how-can-you-watch-gnuplot-realtime-data-plots-as-a-live-graph-with-automatic-up zu http://hxcaine.com/blog/2013/02/28/running-gnuplot-as-a-live-graph-with-automatic-updates/ Gnuplot has some useful commands we can use: pause reread Wenn man den COMx Datenstrom in eine Datei leitet könnte das funzen.
Toby P. schrieb: > Hab da leider wenig Ahnung aber viel Bedarf. Naja eigentlich ganz einfach ;-) Ich würde gerne die Veränderung des Füllstandes loggen und Graphisch darstellen/auswerten können. Ich stelle mir das grob vor wie bei den Aktien Charts. Dort wird der Interday, also der aktuelle Tag dargestellt und mit ein Klick kann man zwischen Wochen/Monats/Jahres Übersicht umstellen. Fakt ist ich kann Basteln, bin in der Lage Daten aus einer RS232 in Putty etc auszulesen und habe auch schon mit LogView rumgespielt. Aber Programmieren is bei mir leider nich. Ich brauche irgendwas OutOfTheBox. Gruß Stefan
Stefan schrieb: > Ich würde gerne die Veränderung des Füllstandes loggen und Graphisch > darstellen/auswerten können. So etwas mache ich mit Excel via VBA. Funzt gut, aber ohne proggen geht das leider nicht. Auch ist es nicht für den Dauerbetrieb nutzbar. Sind die Daten in Excel kann man sich über verschiedene Tabs das so einrichten wie man es braucht. Dann gibt es Excel Datalogger. Out of the box ist der wohl der hier: https://www.aggsoft.com/serial-data-logger/screenshots.htm Kostet aber und hab ich auch nicht getestet. Out of the Box kenne ich nur die Logo von Siemens. Die neuen Versionen schreiben über Netzwerk direkt nach Excel. Je nach Datenmenge wird Excel aber immer langsamer und platzt irgendwann. Alternativ gibt es die Möglichkeit den Datenstrom in eine Datenbank zu schreiben (z.B. SQlite) und dann mit MSquery per ODBC abzufragen. Dann platzt auch Excel nicht und die abfrage funzt ohne eine Zeile Code. OpenOffice kann glaube ich auch OCBC abfragen, dann braucht nicht mal ne Excel Lizenz.
Toby P. schrieb: > Dann platzt auch Excel nicht und die Abfrage funzt ohne eine Zeile Code. Nachtrag: Das schreiben in die Datenbank muss man aber proggen. Evtl über nen Freelancer. Sehr viel Aufwand wird das nicht sein.
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.