CSV/XML Dateien auslesen und visualisieren - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: CSV/XML Dateien auslesen und visualisieren (/Thread-CSV-XML-Dateien-auslesen-und-visualisieren) Seiten: 1 2 |
CSV/XML Dateien auslesen und visualisieren - Graf_Nasenbär - 14.11.2010 23:59 Hallo Leute. Ich bin neu hier und auch noch fast ohne Ahnung mit Labview. Mein Problem ist momentan das, dass ich in meinem Techniker-Projekt die Momentwerte einer Photovoltaik-Anlage und den Verlauf z.B. des Tages in einem Graph visualisieren soll. Die Momentwerte werden alle 15 min aktualisiert in einer CSV und auch XML Datei, die ich vom FTP-Server einer Webbox erhalten kann. Leider mangelt es mir schon an der visualisierung der einzelnen Spalten/Reihen der CSV, die ich im Excel öffne die konvertiert werden. Sprich, es bleiben .csv-Dateien, zumindest haben sie diese Endung. Auch die Su-Fu hat mich jetzt noch nicht wirklich weiter gebracht. Meine Frage an euch: Soll ich bei den CSV's bleiben, oder doch lieber zu den XML's wechseln? Ich blick' da ehrlich gesagt noch nicht so ganz durch, sitz' bestimmt schon über 25 Stunden dran, aber irgendwie will es nicht klappen. Ich kann zwar die .csv im Excel über LV öffnen, dann aber hapert's an der Visualisierung der Daten. Liegt es daran, dass ich das mit einer Excel-Application öffnen möchte und LV das dann nicht lesen kann? Oder bin ich ganz auf'm falschen Weg? Ich arbeite mit einem Buch und der Studentenversion 8.5, wo aber weder was von .csv oder .xml Dateien geschrieben steht (also im Buch ;-) ) Im VI wollte ich das so machen, dass es alle 15 min für 10sek Excel öffnet, die aktuellen Daten liest diese dann in numerische Elemente o.ä. geschrieben wird. Funktioniert überhaupt mein Gedankengang? Hier mal ein VI, dass Excel öffnet, aber ich bekomm' die Daten net raus. Wäre super, wenn jmd mir mal unter die Arme greifen könnte mit hilfreichen Tipps, ich möchte das auch so schnell wie möglich fertig bekommen, denn wie schnell is das Jahr rum und dann fangen schon bald die Prüfungen an und da will ich mich nicht mehr mit dem Projekt rumschlagen müssen. Ich danke schonmal im Voraus und wenn ich den Thread nicht da geschrieben habe, wo er hingehören sollte, dann sorry, ich kenn' mich ja hier noch nicht so gut aus ;-) [attachment=30581] CSV/XML Dateien auslesen und visualisieren - Y-P - 15.11.2010 07:29 Wobei Dein hochgeladenes VI aber für LabVIEW 2009 ist. Also bitte , und beim nächsten Mal die Version Deines LabVIEW-VIs mit angeben. Gruß Markus ' schrieb:Ich arbeite mit einem Buch und der Studentenversion 8.5 CSV/XML Dateien auslesen und visualisieren - RHeil - 15.11.2010 09:21 Ich bin mir jetzt nicht sicher, ob ich Deine Aufgabenstellung richtig verstanden habe. Was genau ist das eigentliche Ziel der Aktion? Du hast eine Datenquelle, auf die Du per FTP zugreifen kannst. Dort holst Du Dir eine CSV-Datei (oder auch XML, aber lass uns mal bei CSV bleiben). Was soll nun genau mit diesen Daten geschehen? Soll es nur die Visualisierung in einem Graphen sein? Dann kann ich nur davon abraten, auch noch Excel ins Spiel zu bringen. Du kannst einfach die CSV-Datei mit LabVIEW einlesen und die Daten dann dort ein einen Graphen zeichnen. Je nachdem, wie Dein CSV genau aufgebaut ist, sollte das Einlesen mit der Funktion "Read From Spreadsheet File" funktionieren. Die Anzeige ist dann im einfachsten Fall nur noch einen Draht und einen Graph-Indicator weit entfernt. Oder gibt es irgendeine Anforderung, Excel zu verwenden? Dann beschreib mal bitte genau, was eigentlich die Aufgabe ist. CSV/XML Dateien auslesen und visualisieren - Graf_Nasenbär - 15.11.2010 13:38 @Y-P: Profil ergänzt, Version des VI's wird ab sofort immer mit dabei geschrieben. Anfängerfehler ;-) @RHeil: Die Anforderungen sind wie folgt: Die gesendeten Daten der Anlage (bleiben wir bei CSV) auslesen, in der sehr viele versch. Daten der Anlage gesendet werden. Aus diesen Daten soll ich drei (Momentane Leistung, Tagesertrag und Gesamtertrag) auslesen, sie in einem String darstellen und gleichzeitig in einem Graph visualisieren. Alle 15min wird eine neue Reihe gesendet, bis der Tag voll ist. Am nächsten Tag wird dann eine neue CSV erstellt, die ich dann erneut lesen und visualisieren soll. Wenn ich die CSV's manuell lade (wie das jetzt vom FTP geht, weiß ich auch noch nicht ganz, da mach' ich mich aber jetzt dran. Denke aber mal, dass ich das über einen Webbrowser mache), dann bekomme ich eine gezipte Datei, die ich mit dem Editor und auch Excel starten kann. LV entpackt doch auch gezipte Daten, oder täuscht mich das jetzt? Der Tipp mit Excel kam von meinem Lehrer, aber wenn das anders/einfacher geht, nehme ich gerne jeden Rat an. Wie ich das mache, das ist vollkommen egal, nur das Ergebnis muss stimmen: Anzeigeelement + Graph für Leistung, Tagesertrag, Gesamtertrag. Ich muss dazu nochmal erwähnen, dass ich noch ein LV-Grünschnabel bin, aber die Anforderungen muss ich packen, ohne wenn und aber. Bin wie gesagt für alle Tipps und Tricks zu haben, drückt euch aber bitte nicht allzu fachtechnisch aus, dazu fehlt mir einfach noch die Erfahrung. Danke schonmal! CSV/XML Dateien auslesen und visualisieren - macmarvin - 15.11.2010 14:19 Randbemerkung... Falls du kein FTP Toolkit von NI hast (das kostet normalerweise extra), kannst du auch mit den Datasocket Funktionen Daten von einem FTP-Server lesen. Anbei ein kleines Beispiel inkl. unzip Logik [attachment=30593] [attachment=30594] CSV/XML Dateien auslesen und visualisieren - SeBa - 15.11.2010 15:43 Hi, kleiner LVF-Link von mir. Da glaub ich hab ich so was ähnliches schon mal gezeigt. Zumindest das Einlesen und Plotten solltest du abgucken können. Durchlesen kann ja nicht schaden Randbemerkung von mir: Lass die Finger von Excel. Deinem Lehrer kannste sagen, dass es ne blöde Idee ist Anfänger in die MSO-ActiveX Falle zu schicken. Weiß der wahrscheinlich selbst nicht. Soll er mal vormachen... bis dahin würd ich die LV eigenen Funktionen nutzen. Das ist viel besser geeignet. Gruß SeBa PS: Wenn du dir die Mühe machst solch eine Datei hier hochzuladen, wird dir bestimmt noch besser geholfen. CSV/XML Dateien auslesen und visualisieren - Graf_Nasenbär - 15.11.2010 17:09 Hey. Danke für den Link, und die beiden Randbemerkungen. Ich werd' mich da mal durchrobben :-D Ich häng' mal die CSV's, bzw. die gezipte Datei, so, wie ich sie bekomme, in' Anhang. CSV/XML Dateien auslesen und visualisieren - Graf_Nasenbär - 15.11.2010 21:00 Kann man hier eigentlich nur eine bestimmte Zeit lang seinen Beitrag editieren? Ich will nicht alles zuspamen mit einem Haufen von Beiträgen meinerseits ;-) Was ich eben durch Eile vergaß: Bei der obigen CSV möchte ich die Spalten B, E und I auslesen. Der Tagesertrag wird wohl anders übertragen, sei's drum. Es geht mir in erster Linie darum, dass ich es schaffe, die Zeilen auszulesen und darzustellen wie hier so in etwa. Eigentlich ziemlich genau so in etwa, denn das ist die Seite unserer Anlage. Nur wäre es für ein Techniker-Projekt zu einfach, einfach die Seite in im ActiveX-Objekt dar zu stellen mit dem Webbrowser-Methodenknoten und Container. Klar ist es irgendwie bescheuert, die Daten zu visualisieren, wenn das schon auf einer Webseite gemacht wird, aber wo wäre dann die Schwierigkeit für ein Techniker-Projekt, denn das kann ja jeder LV-Novize, sogar ich Was ich mir auch vorstellen kann, ich weiß aber nicht, ob das geht und bezweifle das fast sogar, weil das jemand gesagt hat, dass es gehen würde, der mir schonmal so "gute" Tipps dazu gegeben hat, ist, dass ich die URL, die auch vom FTP zur oben verlinkten Seite gesendet und von dort aus verarbeitet wird, dass ich diese Daten irgendwie dazu bekomme, auszulesen und zu visualisieren. Soll gehen, aber geht das wirklich? Ich kann doch nur über einen Knoten im ActiveX den kompletten Browser darstellen, oder nicht? Vielen Dank und schönen Gruß an all die freundlichen Helfer! CSV/XML Dateien auslesen und visualisieren - Graf_Nasenbär - 15.11.2010 23:42 Sorry Leute, aber ich muss nochmal nerven. Kann sich das jmd mal anschauen? Ich bekomme hier irgendwie nichts raus. Das liegt bestimmt auch mit daran, dass ich mir keinen Reim draus machen kann, wie ich die "Read Lines from File" zu füttern habe. Oder ist da jetzt grundsätzlich etwas falsch? Ich bekomm' heut nacht bestimmt Alpträume von Labview Was ich damit bezwecken wollte: Einfach einen Versuch starten, eine CSV auszulesen. und am Ende mit einem Graph zu visualisieren. Ohne entzip, ohne alles, einfach nur die CSV, damit ich schonmal etwas voran komme CSV/XML Dateien auslesen und visualisieren - jg - 16.11.2010 08:33 SMA-WR, wusste doch, dass mir das csv-Format bekannt vorkommt Datei komplett einlesen und dann entsprechend behandeln, damit bist du IMHO auf dem richtigen Weg. Dauert aber noch ein wenig, bis du hier landest: [attachment=30615] (Erst einmal kein Screenshot vom Sourcecode, wo bleibt denn sonst der Lerneffekt) Die Datei komplett (per Spreadsheet to Array) in DBL-Zahlen umwandeln, davon rate ich ab. Erst einmal die Header-Zeilen entfernen aus den eingelesenen Daten entfernen. Dann solltest du die Zeile die "erste Spalte" gesondert behandeln, da steht die Uhrzeit drin. Dazu kannst du einen Zeilenstring z.B. per "Match Pattern" beim ersten ";" teilen. Alles vor dem ersten ";" behandelst du als Uhrzeit, alles danach als Spreadsheet-String, das kannst du jetzt in eine Zahlen-Array wandeln. Der Format-String sollte zur Sicherheit so lauten: %.;%f Als Anzeige-Graph schlage ich besser einen XY-Graph vor. Das X-Achsen-Array kannst du dir aus den Zeitwerten der ersten Spalte bauen, die y-Achse aus den DBL-Werten. "Schon fertig". Gruß, Jens |