19.02.2009, 19:21
Beitrag #1
|
pete3000
LVF-Grünschnabel
Beiträge: 46
Registriert seit: Nov 2008
8.5
2008
de
23456
Deutschland
|
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.
Hier mein bisheriger Versuch:
---
Messdaten_lesen.vi (Größe: 79,92 KB / Downloads: 237)
Beispiel_Messdaten.txt (Größe: 33,65 KB / Downloads: 291)
|
|
|
19.02.2009, 19:44
Beitrag #2
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Messdaten aus speziell formatierter Messdatendatei auslesen
Stell das Read From Textfile VI auf "Zeilenlesen" um, lies deine 5 Header-Zeilen ein und ab da den Rest des Files ein:
Ach ja, Sequenz brauchst du nicht, und das Express-VI auch nicht.
Messdaten_lesen2.vi (Größe: 20,48 KB / Downloads: 224)
Gruß, Jens
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!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
20.02.2009, 01:35
(Dieser Beitrag wurde zuletzt bearbeitet: 20.02.2009 01:46 von pete3000.)
Beitrag #3
|
pete3000
LVF-Grünschnabel
Beiträge: 46
Registriert seit: Nov 2008
8.5
2008
de
23456
Deutschland
|
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:
Beispiel_Messdaten_neu.txt (Größe: 25,17 KB / Downloads: 277)
|
|
|
20.02.2009, 14:22
(Dieser Beitrag wurde zuletzt bearbeitet: 20.02.2009 14:23 von pete3000.)
Beitrag #4
|
pete3000
LVF-Grünschnabel
Beiträge: 46
Registriert seit: Nov 2008
8.5
2008
de
23456
Deutschland
|
Messdaten aus speziell formatierter Messdatendatei auslesen
Ich bin jetzt so weit, dass ich einen Block mit den Messwertepaaren als 1D-String-Array auslesen kann.
Anschließend ist dann Schluss und ich bekomme das Array einfach nicht so umgemodelt, dass ich 2 Arrays mit den X- bzw. Y-Werten rausbekomme.
Hab das Programm in der derzeitigen Form nochmal hochgeladen. Vielleicht kann mir ja jemand weiterhelfen?
---
Messdaten_lesen3.vi (Größe: 11,26 KB / Downloads: 231)
---
Messdaten_lesen3.vi (Größe: 11,25 KB / Downloads: 212)
---
TXT-Datei mit den Messdaten ist weiterhin die neue Version aus meinem Beitrag zuvor...
|
|
|
20.02.2009, 15:32
(Dieser Beitrag wurde zuletzt bearbeitet: 20.02.2009 15:32 von pete3000.)
Beitrag #5
|
|
|
20.02.2009, 20:08
Beitrag #6
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Messdaten aus speziell formatierter Messdatendatei auslesen
Ein Array schreit immer nach einer Behandlung in einer FOR-Schleife:
Gruß, Jens
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!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
21.02.2009, 12:07
(Dieser Beitrag wurde zuletzt bearbeitet: 21.02.2009 14:47 von Lucki.)
Beitrag #7
|
|
|
23.02.2009, 14:56
Beitrag #8
|
pete3000
LVF-Grünschnabel
Beiträge: 46
Registriert seit: Nov 2008
8.5
2008
de
23456
Deutschland
|
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)
---
Messdaten_lesen_Block_auswaehlen.vi (Größe: 22,88 KB / Downloads: 226)
|
|
|
23.02.2009, 15:40
Beitrag #9
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Messdaten aus speziell formatierter Messdatendatei auslesen
Hier ein Bsp, das alle 3 Blöcke auf einmal einliest.
Messdaten_3_Bloecke_lesen.vi (Größe: 23,44 KB / Downloads: 229)
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!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
23.02.2009, 15:54
(Dieser Beitrag wurde zuletzt bearbeitet: 23.02.2009 15:55 von pete3000.)
|
pete3000
LVF-Grünschnabel
Beiträge: 46
Registriert seit: Nov 2008
8.5
2008
de
23456
Deutschland
|
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...
|
|
|
| |