Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
ich habe mal ein paar Frage bezüglich der Datenspeicherung (Erfassung), in dem gezeigten Bsp. werden verschiedene Kurvenformen dargestellt und später als XML Datei gespeichert. Die gespeichert Daten sollen dann mit einem anderem VI gelesen, bearbeitet und protokolliert werden. Bei kurzen Messvorgängen ist es kein Problem.
Nun sollte diese Messung ein paar Stunden (Tage) dauern:
1) ist es sinnvoll die Messdaten als XML zu speichern? Wenn nicht, was ist dafür besser geeignet.
2) Wo werden die Daten während des Messvorgangs gespeichert und wo sind hier die Grenzen (was die Messdauer angeht)?
Gruß
kcccp
Anzeige
02.08.2010, 21:27 (Dieser Beitrag wurde zuletzt bearbeitet: 02.08.2010 21:29 von GerdW.)
also XML halte ich bei diesen Datenmengen für zumindestens den Dateityp, der die größten Dateien erzeugt.
Wenn du die Daten mit einem anderen VI weiterverarbeiten willst, würde ich direkt als Binärdaten speichern...
Außerdem halte ich es für extrem sinnvoll, die Daten nicht erst in der Schleife zu sammeln, um irgendwann später den gesammelten riesen Berg an Daten speichern zu wollen (und vorher noch speicher-aufwendig zu konvertieren!). Solche Datensammelwut endet schneller, als du denkst, in einem "Out of memory"-Fehler...
Wieso hat deine TimedWhileLoop eine Priorität von 65000? Was hast du denn sonst noch so am Laufen, dass du die Priorität dermaßen hoch ansetzen musst?
vielen dank erstmal für die schnelle Antwort, war gestern aus dem Haus, deshalb konnte auch nicht antworten.
1) „würde ich direkt als Binärdaten speichern...“
- wie sieht es mit TDMS aus?
2) „Wieso hat deine TimedWhileLoop eine Priorität von 65000“
- also in dem hochgeladenen VI hab ich Signalgeneratoren für die Signalerzeugung verwendet. In dem richtigen VI werden 6-AI (cRIO) in einem „TimedWhileLoop“ erfasst und in einem anderen dargestellt. Die Erfassung hat bei mir eine höhere Priorität als die Darstellung (dass war eigentlich die Erfassungsschleife daher auch 65000). Außerdem hab ich noch folgendes Problem dass die Schleifen immer langsamer werden, wie kann ich dass vermeiden?
Anbei ein neues VI, was sagst du dazu?
Gruß
kcccp
04.08.2010, 20:32 (Dieser Beitrag wurde zuletzt bearbeitet: 04.08.2010 20:33 von GerdW.)
"wie sieht es mit TDMS aus?"
Auf alle Fälle arbeiten diese VIs schneller. Hab ich persönlich noch nicht benutzt, ich nutze entweder Text-Dateien oder (selbst-definierte) Binärfiles.
"Außerdem hab ich noch folgendes Problem dass die Schleifen immer langsamer werden, wie kann ich dass vermeiden?"
Einfach auf die ExpressVIs verzichten. Insbesondere das "Build Graph" wird zum Speicherfresser - was allerdings hinter einer schönen Fassade versteckt ist. Diese (und ähnliche) Probleme wirst du über kurz oder lang bei (fast) allen ExpressVIs feststellen. Also: versuche ohne auszukommen.
(Hintergrund: für den Graph wird ein Buffer angelegt, der immer weiter wächst, je mehr Daten du reinschreibst. Würdest du sowas selbst machen/programmieren, könntest du ruckzuck eine Größenbegrenzung einbauen...)
"Anbei ein neues VI, was sagst du dazu?"
Dieses VI gehört zumindestens in die Kategorie der am meisten (Festplatten-)Speicherplatz belegenden VIs. Könnte an den Plots liegen, die da als Default abgespeichert werden - und für den fremden Betrachter vollkommen irrelevant sind... Schon mal was von ZIP gehört?