LabVIEWForum.de
txt File einlesen und bestimmte Spalten plotten - 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: txt File einlesen und bestimmte Spalten plotten (/Thread-txt-File-einlesen-und-bestimmte-Spalten-plotten)

Seiten: 1 2


txt File einlesen und bestimmte Spalten plotten - Lecojon - 07.04.2010 17:12

hi,
ich hab einen auftrag bekommen, im LV ein programm zu schreiben. allerdings hab ich sehr wenig schimmer von LV. das programm wird noch sehr umfangreich, denk ich, aber ich möchte zunächst einfach anfangen. ich habe folgenden datensatz und ich möchte erstmal bestimmte spalten über
PC-Zeit (1.spalte) plotten.

GPS_100303_000001.tram
PC-Zeit(s),GPS-UTC,Breite_deg,Laenge_deg,Geschw_m/s,Richtung_deg,Mode,std_lat,std_lon,std_alt,loc
1.30, 82800, 49.016503, 8.437605, 13.48, 231.18, 2, 2.6, 1.8, 3.3, 0
2.30, 82801, 49.016426, 8.437457, 14.01, 231.91, 2, 2.6, 1.8, 3.3, 0
3.30, 82802, 49.016349, 8.437301, 14.47, 233.68, 2, 2.6, 1.8, 3.3, 0
4.31, 82803, 49.016272, 8.437137, 14.91, 235.21, 2, 2.6, 1.8, 3.3, 0
..... usw

habe auch einen ansatz gemacht, aber ab hier ist schluss und ich komme nach googeln etc. nicht mehr weiter.
habe alles als string eingelesen, mit dem umwandeln in arrays klappt es nicht ganz, weil ich den hintergrund nicht verstehe....zuletzt dann das plotten....
wär gediegen, wenn mir jemand helfen könnte, am besten nicht allzu hoch erklären....
hier mein prog, was ich bisher habe (in LV-Version 8.5).

danke, im voraus


txt File einlesen und bestimmte Spalten plotten - Y-P - 07.04.2010 19:41

Bitte LVF-Regeln beachten (Groß- und Kleinschreibung). Rulez
Könntest Du bitte eine Bsp.Textdatei hochladen?

Gruß Markus


txt File einlesen und bestimmte Spalten plotten - Lecojon - 09.04.2010 10:34

Hi,

askla, ich bemühe mich GROß/klein zu schreiben. Txt-Datei liegt vor.
Ich hoffe es ist ok, wenn ich mich durch dieses Forum dumm und dämlich frage, aber LV liegt mir so gar nicht.
Manches steht in der Hilfe erklärt, aber meistens häng ich echt...


Hey, danke.

Bis dann

PS: Ich werde echt viel fragen, als Gegenleistung biete ich Gitarre und Basstunden anBig Grin


txt File einlesen und bestimmte Spalten plotten - SeBa - 09.04.2010 10:59

Hab dir mal auf die Schnelle was zusammen geklickt.
Damit kannst du ja experimentieren.

Lv80_img[attachment=25633]

[attachment=25637][attachment=25638]


Gruß SeBa


txt File einlesen und bestimmte Spalten plotten - Lecojon - 09.04.2010 19:23

LV 8.5

"Auf die Schnelle"...gediegenBig Grin

1) Ok, danke, sah auf den ersten Blick krank aus, dann hab ich versucht das ganze nochmal selber zu basteln, hat ganz gut geklappt...so nach 1,5 Std.Big Grin, bis auf, dass ich nicht weiß wie ich beim XY-Graph beim "caption text" den pfeil nach links bekomme so wie du es gemacht hast- so wie es da steht kann ich es nicht verbinden - dasselbe gilt für "StringsAndValues."
(im frontpanel habe ich diagramm und Ring hinzugefügt , dann auf create--->property node---->caption--->text)

2) Den ersten Block verstehe ich--Einlesen eben als String-- danach kommen diese ganzen arrays, die ich nicht verstehe,hab auch in der Hilfe nachgeschaut, aber da ist es nur abstrakt erklärt---offenbar eine Umwandlung der Strings in Integers oder so---. Was machen "delete from array" und "index array" genau + die ganzen Konstanten?

3) Warum eine For und eine While -Schleife? Aus C++ weiß ich, dass man entweder for oder while verwendet hat.
while: so lange duchlaufen bis...!
for: durchläuft alle zeilen...

4) Wie kann ich es so programieren, dass mir das Diagramm von vorn herein eine Spalte (z.B. nur die 3. Spalte) über die 1. Spalte darstellt?
als kleine alternative, damit ich mal einen Vergleich hab....

5) für was die "wait" Funktion in der while-Schleife? Funktioniert auch ohne...

Hoffe sind nicht zu viele Fragen auf einmal...

ok, wahrscheinlich dochBig Grin

bis denn

Lv85_img


txt File einlesen und bestimmte Spalten plotten - GerdW - 09.04.2010 20:22

Hallo Lecojon,

zur ersten Frage:
Rechtsklick auf die Property und "Set to write"... (Vieles lässt sich in LV mit einem Rechtsklick erledigen!)

2. Frage:
Du meinst sicherlich die "IndexArray" Funktion - die macht genau das, was der Name sagt: ein Element eines Arrays indizieren...

3. Frage:
Zu AnschauungszweckenSmile
Die For-Schleife deshalb, weil LV "AutoIndexing" verwendet, d.h. die FOR-Schleife durchläuft automatisch alle Array-Einträge...

4. Frage:
Einfach beide Spalten indizieren und plotten.

5. Frage:
Die While-Schleife läuft mit User-Interaktion (Abfrage des Stopp-Buttons). Damit dort nicht zuviel CPU-Zeit verbraten wird (durch "superschnelle" Abarbeitung) packt man da eine (kurze) Wartezeit mit rein...


txt File einlesen und bestimmte Spalten plotten - SeBa - 10.04.2010 12:08

Hi,

ein paar Fragen wurden ja schon beantwortet.

Die index array und delete from array vis dienen dazu, deine Textdatei in die Bestandteile Header und Daten aufzusplitten.
Das Einlesen als String ist noetig, da die Datei eben auch Strings enthaelt. Enlesen als DBL wuerde da nicht klappen.

Die Forschleife wird benutzt, um das Cluster fuer den Ring zu bilden. Die Whileschleife brauchst du, damit dein Programm laeuft.


txt File einlesen und bestimmte Spalten plotten - Lecojon - 10.04.2010 18:07

LV 8.5

Ok, so langsam wird es klarerBig Grin, trotzdem gibt es noch viiiele dunkle Stellen,LV ist ja komplett anders als andere Prog.-sprachen:

1) Wenn ich eine Datei habe mit Text und Daten, dann benutze ich also "delete from array",um den Text sozusagen "rauszulöschen" aus einem array.
In dem angehägten Bildchen habe ich da "index (row)=0" und "length =2", d.h. die ersten beiden Zeilen werden rausgelöscht (meine txt-Datei hat ein 2-Zeilen Header) so hab ichs verstanden....aber von 0-2, das sind doch 3 Zeilen.....??

2) Index array: jetzt gehts wohl um die Zahlen....
Jetzt stehen da die beiden Konstanten 1 und 0. Was passiert da genau?
index (row)=1 ........ heißt das 1D arrays? ....
disabled index (col)=nix.......warum hier nix?
index row=index(col)=0.......offenbar Beginn in der 0.Zeile und 0. Spalte?

3) String to number: spricht für sich selbst, aber warum das T/F constant boolean?
4) Bundle 1 in der FOR-Schleife: scheint String vom Header den Integers(I32) zuzuordnen.....Ein Bundle ist wohl eine Zuordnung....

5) Index array 2 in der While-Schleife: index(row)=0...dachte, alles was ich im Ring wähle wird über Spalte 0 geplottet, aber als ich mal ne 4 eingegeben hab, hat mir das Diagramm irgendwas hingekritzelt, was mit gar nix etwas zu tun hat. wie kann ich die Spalte ändern, über welche geplottet werden soll?
Es ist ja so, dass die X-Achse ja fest zugeordnet ist....

komm mit meinen Experimenten nicht sehr weit, weil ich keinen Durchblick habe.....ich stells mir ziemluich einfach vor, so wie in anderen Programmiersprachen, einafch eine Zahl ändern und schon hab ichs....

6) In der Datei sind eigentlich Integer- und Double-Werte....erkennt das LV automatisch beim lesen? Sehe i-wie keine Definitionen....könnte mir vllcht was mit Fract/Exp String To Number -T/F vorstellen...

Danke mal im voraus, falls jemand Zeit hat mir diesen ganzen "Anfängermist" zu beantworten ^^

*programm ist auch weiter oben geuploaded/upgeloadet


txt File einlesen und bestimmte Spalten plotten - GerdW - 10.04.2010 18:19

Hallo Lecojon,

1) ""index (row)=0" und "length =2", d.h. die ersten beiden Zeilen werden rausgelöscht"
Es werden 2 Zeilen (length!) ab Index=0 gelöscht... Also nicht "Zeilen 0-2", sondern "2 Zeilen ab Zeile 0"

2) IndexArray kann entweder einzelne Elemente (alle Indizes angegeben) indizieren - oder Spalten/Zeilen/Seiten (bei 3D)/etc, wenn die entsprechenden Indizes freigelassen werden... Kontext-Hilfe?

3) Haste mal die Kontext-Hilfe zur Funktion gelesen?

4) Ein Bundle erzeugt einen Cluster ("record" in Pascal, "structure" oder "union" in anderen Programmiersprachen)... Kontext-Hilfe?

6) automatisch? Nein. Aber DBL kann ja auch I32-Werte speichern...

Du da wirklich Anfängerfragen stellst: bei NI.com gibt es kostenlose 3h- und 6hLabVIEW-Kurse, wo man die LabVIEW-Grundlagen lerntSmile


txt File einlesen und bestimmte Spalten plotten - Lecojon - 11.04.2010 00:11

Natürlich lese ich die Kontext-Hilfen, die sind aber auf englisch und auf Deutsch würd ich wahrscheinlich auch nicht viel mehr kapieren. Mein Pech ist nur, ich muss mir das alles irgendwie selber beibringen. Was anderes außer fragen, fragen, fragen, googeln, Beispielprogs angucken fällt mir nicht ein.
Ich brauch erstmal einfach einige Beispiel-Programme, um zu sehen, was da so läuft.....deswegen hat mir das vom SeBa erstmal bisschen geholfen, um zu sehn wie man was verknüpft....

echt danke....jetzt ist mir das mit dem "delete array" echt sehr klar, jetzt kann ich mir was drunter vorstellen....
Auf deine Gratis-NI.com-Kurse bin ich auf der Seite nicht gestoßen...kostet alles über 1000 Eus....

Gruß
Lecojon