Messdaten aus speziell formatierter Messdatendatei auslesen
Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Messdaten aus speziell formatierter Messdatendatei auslesen
Hallo zusammen,
ich hab es erfolgreich hinbekommen, dass meine Messdaten in eine TXT-Datei geschrieben werden und dass vor den eigentlichen Messwerten jeweils ein Datenkopf mit weiteren Infos geschrieben wird:
Nun möchte ich eben diese Datei wieder auslesen, aber es klappt noch nicht richtig, denn u.a. konnte ich z.B. nicht herausfinden, wie ich einen Zeiger auf die Anfangsposition der Messdaten setzen kann. Ich habe versucht die Schreibaktion vom Ende her in eine Leseaktion umzuwandlen.
Messdaten aus speziell formatierter Messdatendatei auslesen
Vielen Dank für deine Antwort und das VI, Jens!
Wenn ich die Messdatei auf einen einzelnen Messwertblock zusammenstreiche, funktioniert es wunderbar:
Hätte ich wahrscheinlich erwähnen sollen, dass es mehrere Blöcke sind. Mein Fehler! (Hab außerdem den letzten Messwert gelöscht, da scheint in der Messwertaufnahme irgendwie immer ein Außreißer drin zu sein...)
Momentan wird ja durch die Konstante "-1" von Zeile 6 bis zum Dateiende alles eingelesen. Das sieht dann so aus:
Mal von dem "Grafikfehler" (?) abgesehen, der jetzt erstmal nebensächlich ist: Wie bekomme ich es hin, dass ich nur einen bestimmten Messwertblock eingelesen bekomme (es sind jeweils 401 Zeilen) ? Hab ein bißchen rumprobiert, steck aber leider wieder in einer Sackgasse.
Um das Ganze zu vereinfachen, hab ich mal eine neue korrigierte Messdatei hochgeladen, in der dann 3 Blöcke von Messwerten existieren, jeweils mit 5 Zeilen Info-Kopf davor:
Messdaten aus speziell formatierter Messdatendatei auslesen
Hatte spontan ne Idee, die auch funktioniert hat. Bin allerdings mit der programmiertechnischen Umsetzung nicht zufrieden, weil sie doch recht umständlich scheint. Ich müsste das Ganze noch in einer Schleife für jedes der 401 Elemente ausführen. Geht das evtl. auch eleganter?
Messdaten aus speziell formatierter Messdatendatei auslesen
Erstmal vielen Dank an Jens G und Lucki für die Unterstützung! :top2:Hatte auch selbst mit dem "Spreadsheet String to Array" rumprobiert, aber irgendwie hab ich wohl was nicht ganz richtig gemacht. Dank eurer Hilfe klappt dieser Teil jetzt aber.
Ich hab mal etwas weiter programmiert und kann nun einen der insgesamt 3 Messwertblöcke zur Darstellung im XY-Graph auswählen.
Leider musste ich dabei feststellen, dass mir dabei einzelne Messwerte zu Beginn oder am Ende fehlen (je nachdem wie ich die Paramter für die einzulesenden Zeilen einstelle), wenn ich einen anderen Block als den ersten auswähle! Der letzte Wert wird dann teilweise als 0 angegeben, obwohl dort ein noch ein Messwert existiert. Ich krieg es mal wieder einfach nicht hin, dass er alle Messwerte eines Blocks einliest und hab keine Ahnung, was nun schon wieder nicht stimmt...
Hab euch das aktuelle VI nochmal hochgeladen, vielleicht könnt ihr mir ja weiterhelfen... (TXT-Datei mit den Messdaten ist weiterhin die letztgenannte weiter oben)
Kleiner "Schönheitsfehler" besteht noch bei deiner zuletzt hochgeladenen Text-Datei: Es fehlt ganz am Schluß ein Return-Zeichen. So wie es jetzt ist, kommt beim 3. Block eine Fehlermeldung, da die letzte Zeile nicht mit einem Zeilenvorschub abgeschlossen ist, und das erwartet das VI.
Mal noch was anderes: Ich halte dein Dateiformat für sehr unflexibel.
Kritikpunkte: Was ist, wenn du mal nicht 401 Messpunkte pro Messung aufnimmst? Von Vorteil fände ich, wenn im Header auch die Anzahl der Messpunkte steht, dann könnte man das auswerten und dann die entsprechende Anzahl an Zeilen lesen.
Gleiches gilt für die Anzahl der Messungen, die du zusammen in eine Datei packst. Das könnte man sicherlich dynamisch machen, aber für dich wäre es sicher einfacher, wenn auch diese Info irgendwo am Anfang im Header der Datei steht.
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Messdaten aus speziell formatierter Messdatendatei auslesen
' schrieb:Hier ein Bsp, das alle 3 Blöcke auf einmal einliest.
[attachment=44547:Messdate...ke_lesen.vi]
Kleiner "Schönheitsfehler" besteht noch bei deiner zuletzt hochgeladenen Text-Datei: Es fehlt ganz am Schluß ein Return-Zeichen. So wie es jetzt ist, kommt beim 3. Block eine Fehlermeldung, da die letzte Zeile nicht mit einem Zeilenvorschub abgeschlossen ist, und das erwartet das VI.
Mal noch was anderes: Ich halte dein Dateiformat für sehr unflexibel.
Kritikpunkte: Was ist, wenn du mal nicht 401 Messpunkte pro Messung aufnimmst? Von Vorteil fände ich, wenn im Header auch die Anzahl der Messpunkte steht, dann könnte man das auswerten und dann die entsprechende Anzahl an Zeilen lesen.
Gleiches gilt für die Anzahl der Messungen, die du zusammen in eine Datei packst. Das könnte man sicherlich dynamisch machen, aber für dich wäre es sicher einfacher, wenn auch diese Info irgendwo am Anfang im Header der Datei steht.
Danke, danke, danke, Jens!
Das Return-Zeichen fehlte wohl, weil ich die Messdaten manuell editiert hatte. Hab's dann wohl am Ende fälschlicherweise gelöscht.
Danke auch für die Kritik an meinem Dateiformat! Freu mich immer über Verbesserungsvorschläge! Werd das dann im endgültigen Programm entsprechend umsetzen...