LabVIEWForum.de - Speicher- / CPU-Auslastung beim File-abspeichern und einlesen

LabVIEWForum.de

Normale Version: Speicher- / CPU-Auslastung beim File-abspeichern und einlesen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen!
Folgendes Problem:
Ich generiere mir am cRIO Messdaten und im Falle einer fehlerhaften Kommunikation mit dem PC speichere ich diese auf der Festplatte des cRIO in verschiedenen Speicherfiles. (Es gibt je nach Prüflos ein Speicherfile mit Los1.txt, Los2.txt usw.) Soweit so gut.

Wenn für ein paar Tage meine Kommunikation nicht stattfindet, dann kann es schon mal vorkommen, dass eine einzelne Datei ziemlich groß wird (ca. 2-5MB).
Problem 1: Kann es sein, dass meine Messwertspeicherung beim Aufruf der großen Datei und Anfügen einer einzelnen Zeile, CPU-Auslastungen bis ca. 95% verursacht? Im Normalbetrieb erreiche ich so ca. 65%.
Problem 2: Beim Auslesen der Daten kommt es ebenfalls zu derart hohen Auslastungen, die ich mir aber selber dadurch erklären kann, da ja das gesamte File auf einmal ausgelesen wird. Liege ich da richtig?

Im Anhang der Aufbau meiner Abspeicherung bzw. der Auslesung.

Danke im Vorraus!
mfg
Domi
File IO auf einem cRIO kann schon mal dauern.

Ganz schlimm wird es unter VxWorks, wenn du sehr viele Files (ab einigen 100) innerhalb eines Verzeichnis liegen hast.

Gruß, Jens
Es sind maximal 12 Files. Kann das wirklich zum Problem werden, oder liegt es an etwas anderem?
Kann man meinen Aufbau irgendwie verbessern? Der ganze gezeigte Screenshot wird zyklisch aufgerufen!?

mfg
Domi
Hallo,

Zum Schreiben:
Wie schnell wird denn zyklisch das gezeigte Snippet ausgeführt?
Wenn es sehr häufig ausgeführt wird pro Los, dann kann man die Referenz auf die Datei in einem Schieberegister halten und die beiden DateiOperationen Öffnen und Schließen je 1mal ausführen und das Schreiben neuer Daten Xmal.
Alternativ ist vielleicht auch ein Streaming-Dateiformat möglich? Sowas wie *.tdms braucht vielleicht weniger Leistung beim Schreibvorgang...Da würde ich gerne hören, was die cRIO-Experten aus dem Forum hier sagen.

Zum Lesen:
So wie es aussieht liest du das gesamte File ein. Vielleicht könnte man das absichtlich etwas bremsen indem man die FilePosition und die zu lesende Menge vorgibt und die Position "gemächlich" weiterschiebt. Das wäre dann aber eben noch langsamer als ohnehin schon.

Gruß
Referenz-URLs