LabVIEWForum.de
Werte aus FIFO kontinuierlich in csv Datei schreiben - 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: Werte aus FIFO kontinuierlich in csv Datei schreiben (/Thread-Werte-aus-FIFO-kontinuierlich-in-csv-Datei-schreiben)



Werte aus FIFO kontinuierlich in csv Datei schreiben - Stefan_r - 17.12.2013 15:18

Guten Tag,
Ich versuche gerade Messwerte von einem FPGA auf meinem Host(-Windows) in eine CSV-Datei zu schreiben. Prinzipiell funktioniert das auch schon sehr gut.
Jedoch sieht es momentan so aus, dass ich in einer While Schleife jeweils 10000 Werte aus dem FIFO auslese und innerhalb der While-Schleife in eine CSV Datei Speicher.
Jetzt zu meinem Problem:

Ich brauche die Werte jedoch ordentlich in einem Vektor. Nicht in einer Matrix.
Für jeden Schleifendurchgang wird dabei ein Vektor angelegt, über das Terminal "append" kann ich mich ja entscheiden ob alte Werte überschrieben oder in einer neuen Zeile eingefügt werden sollen.
Ich würde es jetzt aber gerne hinbekommen, dass beim nächsten Schleifendurchgang die Werte an das Ende der CSV Datei angehangen werden, ohne einen Zeilenumbruch.

Gibt es dafür eine gute Lösung?



Schon mal vielen Dank im Voraus,

Stefan


RE: Werte aus FIFO kontinuierlich in csv Datei schreiben - jg - 17.12.2013 15:54

Vermutung: Du arbeitest mit "Write To Spreadsheet File" ?!

Lösung: Darauf verzichten und mit "Write to Text File" arbeiten.

Gruß, Jens


RE: Werte aus FIFO kontinuierlich in csv Datei schreiben - Stefan_r - 19.12.2013 10:31

Danke erst mal für die schnelle Antwort.

Wie kann ich denn einstellen, dass die Datei weiter beschrieben werden soll und nicht neu erstellt werden?


RE: Werte aus FIFO kontinuierlich in csv Datei schreiben - GerdW - 19.12.2013 10:35

Hallo Stefan,

indem man die Schreib-/Leseposition festlegt. Wenn man "anhängen" will, sollte man am Dateiende schreiben...

Außerdem kann ein Blick in die LabVIEW-Hilfe auch nie schaden:
[attachment=47836]


RE: Werte aus FIFO kontinuierlich in csv Datei schreiben - Stefan_r - 19.12.2013 10:40

Also ich benutze "Write to Text File Function", mit den Terminals prompt, file,text,error in, error out, refnum out, cancelled
Welcher der Terminals soll dafür vorgesehen sein? Angeschlossen habe ich file und text im Moment. Ein Refnum in wäre was ich brauche oder nicht?

Dann gibt es noch "Set File Position Function" wenn ich das richtig sehe? Wie genau ist dort jedoch das Zusammenspiel?


edit: Danke das mit der Hilfe habe ich übersehen. Ich schau mir das noch mal in Ruhe an. Also kann File auch eine RefNum bekommen


RE: Werte aus FIFO kontinuierlich in csv Datei schreiben - GerdW - 19.12.2013 10:44

Hallo Stefan,

üblicherweise muss man eine Resource "öffnen", bevor man sie nutzen kann. Das ist so bei DAQmx, bei simplen Konstrukten wie Melder/Queues - und auch bei Dateien... (Und nach der Nutzung sollte man das "schließen" nicht vergessen.)

Also:
- Datei mittels "FileOpen" öffnen: man bekommt eine RefNum.
- Evtl. Schreib-/Leseposition mittels SetFilePosition setzen.
- Schreib-/Leseoperation durchführen. Wenn du das in einer Schleife machst, brauchst du nicht dauernd SetFilePosition aufrufen: das erläutert ja die Hilfe.
- Zum Schluß FileClose aufrufen...

Edit:
Wenn du ein Beispiel haben willst, brauchst du dir nur WriteToSpreadsheetFile anschauen. Einfach mal in BD gucken...


RE: Werte aus FIFO kontinuierlich in csv Datei schreiben - Stefan_r - 19.12.2013 11:01

Danke, habe es jetzt hinbekommen.
Der Spagat zwischen "das Tool kann es von alleine" und "wenn du mehr Optionen willst mach es ganz anders" ist als Anfänger manchmal etwas verwirrend.

Der entscheidende Tipp war dass man in den File Terminal auch eine Ref schreiben darf.