Textfile auslesen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO) +---- Thema: Textfile auslesen (/Thread-Textfile-auslesen) |
Textfile auslesen - schroepel - 31.03.2009 09:32 Hallo, ich hab folgendes Problem: Ich habe ein Textfile mit einigen tausend Messwerten in Binärcode und möchte das grafisch auswerten bzw. mit anderen Messwerten vergleichen. Leider weis ich nicht wie ich die Daten einlesen und aufbereiten kann. Das Textfile beinhaltet in der ersten Spalte einen Timecode der von 0 bis 2000 µs aufwärts zählt, die Spalten selbst sind immer durch Leerzeichen getrennt. Die nächsen vier Spalten beinhalten Positionswerte in µm, wobei dort jeder Wert als BCD mit 16 Bit angegeben ist. Irgendwie bekomme ich das aber nicht hin die Daten sauber einzulesen. Gibt es da überhaupt eine Möglichkeit die Werte herauszufiltern oder geht das nur mit Tabellenkalkulationsdateien? Bei der ganzen Sache geht es darum die X/Y-Bewegung von einem Scanner nachzuvollziehen. Vielen Dank für eure Hilfe. Gruß, Marco Textfile auslesen - ImExPorty - 31.03.2009 10:21 Hallo schroepel, wie mein Nick... schon aussagt spiele/beschäftige ich mich öfters mit der ersten großen Hürde der Signalanalyse (den Datenstrukturen[Viren der Messtechnik]). Somit erst mal etwas positives: Es gab bisher immer eine Möglichkeit die Daten in das Zielsystem einzukoppeln. Selbst für eigenständige Applikationen können Konverter erstellt werden, die auch die kompliziertesten Strukturen so aufbereiten, dass es wieder Spaß macht damit zu arbeiten. Da Dir mit LV eine vollwertige Programmiersprache zur Verfügung steht geht es auf jeden Fall. Die "einigen tausend Messwerten in Binärcode" stellen erst einmal keine Herausforderung dar. Die Schwierigkeit besteht immer in der Interpretation der Daten. Das heißt: Was bedeutet was. Bei binären Dateien von einer Spaltenstruktur zu sprechen ist unüblich. Das Leerzeichen kann als Trennzeichen aufgefaßt werden (wobei hier die Frage ist ob es sich wirklich um ein Leerzeichen handelt oder nur ein nicht darstellbares Zeichen vorliegt[woher kommt die Info]) Zählt der Timecode tatsächlich eine Realzahl von 0 bis 2000 µs oder wird dieser durch einen Int-Wert abgebildet der mit einem Skalierungsfaktor hochzählt (komischer Zahlenbereich), was passiert danach? Um Dir direkte/genauer Infos geben zu können wäre es hilfreich von Dir noch: die Strukturbeschreibung des "Dateiformates" mit Hinweisen auf Quelle (Hersteller) sowie Beispiele bereitgestellt zu bekommen (am besten im Vergleich mit einem Datensatz, dessen Werte bekannt sind) Textfile auslesen - schroepel - 02.04.2009 09:37 Hallo allerseits, also ich hab mich nochmal informiert, die Messwerte für die Positionen werden im Betrieb raus geschrieben und dann in einer Textdatei mit Semikolon als Trennzeichen dargestellt. Es sind nun übrigens auch keine Binärzahlen mehr. Hier mal ein Beispiel:[attachment=17567] In der ersten Spalte befindet sich wie gesagt der Timecode ab dem Starttrigger (Start der Messung und Positionsausgabe an den Scanner). In der zweiten und dritten Spalte befinden sich die Ist-Positionen in X- und Y-Richtung die vom Scanne ausgegeben werden. In der vierten und fünften Spalte befinden sich die Soll-Positionen (X/Y), in der sechsten und siebenten Spalte PosAck X/Y Die Datenmenge ist gar nicht so hoch wie ich erst dachte, da die Messzeit nur ca. 2ms beträgt und die Daten mit knapp 100 KHz ausgegeben werden. Ich glaub ich bin auch schon ein Stück weitergekommen was das auslesen einer solchen Textdatei betrifft, aber trotzdem habe ich immer noch Stellen wo ich einfach nicht weiter komme. Aber vor erstmal eine kurze Beschreibung zur Thematik. Bei der ganzen Sache geht es um die Auswertung von Positionsdaten eines Galvanometerscanners mit X/Y-Verstellung. Zum einen werden die Positionsdaten direkt vom Scanner ausgegeben und in die besagte Textdatei exportiert. Und zum anderen werden die Positionsdaten über ein optisches Messsystem (PSD) erfasst. Die beiden Positionsinformationen sollen dann verglichen werden um die Positionsausgabe vom Scanner bewerten zu können. Außerdem soll die Positioniergeschwindigkeit bzw. die Totzeit von Positionsausgabe bis zur Scannerbewegung ermittelt werden. Zusätzlich erhalte ich vom Scanner immer ein sogenanntes PosAck-Signal, das Signal ist bei Scannerstillstand 1 und bei Bewegung 0. Also könnte ich ja damit die Positionierzeit ermitteln. Aber irgendwie hab ich ein Problem damit die richtige Zeit auszulesen, weil ich es nicht schaffe dem digitalen Signalverlaufsgraph meine Zeiten aufzudrücken. Könnt ihr mir da vielleicht weiterhelfen, denn eigentlich brauch ich ja nur die Positionen der Flanken zuermitteln oder? Gruß Marco [attachment=17568] [attachment=17569] |