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 eine Frage zur Signaldarstellung. Meine Aufgabe ist es mehrere analoge Signale fortlaufend über einen unbestimmten Zeitraum aufzuzeichnen.
Dazu speichere ich die Signale in eine .lvm Datei, pro auf gezeichneter Stunde entsteht so jeweils eine Datei von ca. 20mb Größe.
Eigentlich sollte die Datenflut auch mit einer großen Festplatte kein Problem dastellen. Also Signale speichern klappt auch schon wunderbar.
Das Problem stellt sich eher bei der Auswertung der aufgezeichneten Daten.
Ich habe noch überhaupt keine Idee wie ich das bewerkstelligen könnte.
Klar hab ich mir schon ein VI gebastelt dass die Daten auf einem XY-Graphen darstellt. Aber
wegen der Größe der einzelnen Dateien dauert leider das erstmalige Laden sehr lange und ich weis noch nicht wie ich ein
fortlaufendes Programm gestallten soll ohne mir bei jedem Schleifendurchlauf diese oder ähnlich lange Wartezeiten einzuhandeln.
Hätte jemand einen Tipp für mich wie sich so was handelbar gestalten lässt?
Oder geh ich grundsätzlich den falschen Weg mit einer .lvm
Hm...bei solchen Datenmengen bietet sich doch ne Datenbank an!
Da hast du dann auch keinen Verwaltungsaufwand, das macht die DB für dich! Du schickst deine Daten über SQL-Befehle an die DB und liest sie auch wieder auf diese Weise aus! Vom Wegschicken der Lese-Anfrage bis zum Empfang der Daten blendest du "bitte warten" ein bzw. schaltest den Mauszeiger auf "busy"...das zusammenklauben der Daten aus der DB passiert automatisch!
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
mit Datenbanken und vorallem mit DB-Technik in LV kenn ich mich leider nicht besonders gut aus. Brauch ich um mit Datenbanken in LV zu arbeiten noch ein
RDBMS?
Außerdem versteh ich den Vorteil gegenüber jetzigen Variante nicht ganz.Die Warterzeiten wären doch die selben?!
Im moment habe ich sozusagen zwei Programme. Eines drausen im Feld zur Aufzeichnung der
Daten und ein anderes hier im Haus zur Auswertung. So wäre zumindestens mein Plan.
18.03.2009, 22:35 (Dieser Beitrag wurde zuletzt bearbeitet: 18.03.2009 22:37 von schrotti.)
Ums Lesen des Inhalts wirst du nicht rumkommen, und das dauert halt eine gewisse Zeit. Du kannst natürlich deine Daten binär speichern, dann geht es etwas schneller. Aber 20 MB dateien sind nicht gerade riesig. Auf meinem fünf Jahre alten Rechner dauert es ca 125 ms eine 23 mb große tdms-Datei zu lesen. Eine 21 mb Ascii-Datei lesen und String in DBL umwandeln dauert ca. 4000 ms und die hat garantiert weniger Zeilen als tdms gehabt. Kann mir nicht recht vorstellen, warum das stören sollte (bei beiden nicht). Vllt hast du irgendeinen anderen Fehler eingebaut. Lade dein VI einfach hoch. Am besten mit einer kleinen Beispieldatei.
ich habe eine mögliche lösung gefunden. und zwar speichere ich die daten jetzt nicht mehr in ein lvm file sondern in ein tdms.
dadurch wird zwar komischerweise die daten menge größer aber die ladezeit des öffnenden programms wird erheblich kürzer.
' schrieb:komischerweise die daten menge größer aber die ladezeit des öffnenden programms wird erheblich kürzer.
Ein tdms file gewinnt sehr schnell an Größe, wenn du jedesmal immer nur ein paar Werte speicherst. Also am besten die Messwerte puffern und alle X Sekunden oder Minuten speichern und evtl am Ende defragmentieren.