LabVIEWForum.de
x und y Komponente aus Datei einlesen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: x und y Komponente aus Datei einlesen (/Thread-x-und-y-Komponente-aus-Datei-einlesen)



x und y Komponente aus Datei einlesen - shaltow - 27.02.2013 20:19

Hallo zusammen!

Ich habe leider in der Suche nichts passendes gefunden. Dazu kommt noch das "Problem", dass ich nur LabVIEW 6 zum programmieren besitze, hoffe aber trotzdem, dass mir jemand helfen kann.

Ich möchte aus einer txt./dat. -Datei folgendes auslesen:

4.76597853879864,20.69722
4.75723361156807,20.59333
4.74852071708361,20.50954
4.73983967966268,20.46163
4.73119032490503,20.41397

Die erste Zahl ist die x-Komponente, die zweite die y-Komponente. Getrennt sind diese durch ein Komma. Jetzt möchte ich diese Datei einlesen, den Graphen plotten lassen und die x- und y-Komponente getrennt voneinander bearbeiten können. In LabVIEW 2012 ist dies für mich kein Problem, allerdings gibts das von mir verwendete VI in LabVIEW 6 noch nicht. Deswegen muss ich das mit den "älteren" VIs machen. Mein ersten Versuche liefern mir leider entweder nur die erste Zeile oder ich bekam einen String den ich nicht richtig zerlegen konnte. Wie kann ich LabVIEW sagen, dass es in jeder Zeile die Zahl vor dem Komma und die danach separieren soll, dies in jeder Zeile und mir dann als Array/Cluster/... ausgeben?

Kann mir einer Dabei helfen?

Wie gesagt benutze LabVIEW 6 (englisch).

Viele Grüße, shaltow


RE: x und y Komponente aus Datei einlesen - GerdW - 27.02.2013 20:50

Hallo shaltow,

auch LabVIEW6 kannte schon die Funktion SpreadsheetStringToArray. Also:
- Textdatei komplett lesen,
- mit besagter Funktion und dem Formatstring "%.;%f" in ein DBL-Array umwandeln
- 1. und 2. Spalte indizieren...
[attachment=43735]


RE: x und y Komponente aus Datei einlesen - shaltow - 27.02.2013 21:17

Hallo GerdW,

vielen Dank. Ich habe jetzt nur noch ein Problem. Die eingelesenen Werte haben alle nur zwei Nachkommastellen, ich bräuchte aber alle Stellen. Das von dir verwendete VI zum Einlesen der Datei finde ich gerade nicht, ich verwende "Read Characters From File". Liegt es daran oder muss man noch irgendeinen Befehl angeben, damit er alle Stellen angibt?

Gruß shaltow


RE: x und y Komponente aus Datei einlesen - GerdW - 27.02.2013 21:29

Hallo shaltow,

Rechtsklick auf die numerische Anzeige und Formatierung ändern? Einfach mehr Nachkommastellen anzeigen lassen!?
Das solltest du aber in deiner LabVIEW-Nutzung schon gelernt haben (egal ob LV2012 oder LV6)...

P.S.:
Bitte Profil anpassen, wenn du normalerweise (?) LV2012 verwendest...


RE: x und y Komponente aus Datei einlesen - shaltow - 27.02.2013 22:26

Ok, hast recht, hätte mir klar sein sollen. Blush

Vielen Dank für deine Hilfe!

Gruß shaltow


RE: x und y Komponente aus Datei einlesen - shaltow - 27.02.2013 23:46

Eine Frage hätte ich noch:

Wenn ich jetzt die Daten aus dem Array abfragen und plotten will, würde ich dies über eine While-Schleife machen. Dafür muss ich angeben wie oft ich diese durchführen lassen will. Aber nicht jede Datei hat genau gleich viele Einträge und somit auch die Arrays nicht. Kann ich irgendwie der While-Schleife sagen, dass die Werte aus den Arrays nur solange abfragt werden sollen bis die Datei am Ende angelangt ist?

Im Anhang habe ich mal meine Version angehängt.

Gruß shaltow


RE: x und y Komponente aus Datei einlesen - NWOmason - 28.02.2013 06:32

Ganz einfach ohne Schleife:

[attachment=43738]

Beste Grüße,
NWO


RE: x und y Komponente aus Datei einlesen - GerdW - 28.02.2013 07:16

Hallo shaltow,

Zitat:Wenn ich jetzt die Daten aus dem Array abfragen und plotten will, würde ich dies über eine While-Schleife machen.
Abgesehen von NWOs richtiger Antwort:
Du liegst falsch, wenn du eine While-Loop verwenden würdest. Schließlich willst du doch ein "FOR each element in array DO ..." programmieren! Und da kommt das Auto-Indexing der FOR-Loop ins Spiel, das automatisch ein Element nach dem anderen abarbeitet. Auch das solltest du mit deiner LabVIEW-Erfahrung schon gehört haben...