LabVIEWForum.de - x und y Komponente aus Datei einlesen

LabVIEWForum.de

Normale Version: x und y Komponente aus Datei einlesen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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
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]
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
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...
Ok, hast recht, hätte mir klar sein sollen. Blush

Vielen Dank für deine Hilfe!

Gruß shaltow
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
Ganz einfach ohne Schleife:

[attachment=43738]

Beste Grüße,
NWO
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...
Referenz-URLs