INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Messdatenverwaltung



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!

16.04.2010, 15:49
Beitrag #1

bonestruca Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Feb 2009

8.6
-
de

70176
Deutschland
Messdatenverwaltung
Guten Tag,
ich habe mit Hilfe von LabVIEW in letzter Zeit sehr, sehr viele Messdaten erfasst. Jeder Messschrieb ist eine ASCII-Textdatei mit 3-10 aufgezeichneten Kanälen, 100-500 MB groß. Zur Zeit liegen diese Dateien in einer Ordnerstruktur auf einem Netzlaufwerk, das von der Größe jedoch mittlerweile an seine Grenzen kommt. Welche sinnvollen Möglichkeiten gibt es diese Daten zu archivieren, bzw. katalogisieren um sie datenspeicherschonend aufzubewahren ?

Macht es Sinn die Daten in einer Datenbank zu speichern, spare ich mir dadurch Platz ? Lohnt sich der Aufwand ?
Gibt es eventuell schon die eierlegende Wollmilchsau, der ich die Textdateien per Drag&Drop reinschiebe, diese sie mir komprimiert, Einträge in einer entsprechenden Datenbank macht, die dann wiederum durch ein Frontend leicht zugänglich ist ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
17.04.2010, 08:27
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.696
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Messdatenverwaltung
' schrieb:ich habe mit Hilfe von LabVIEW in letzter Zeit sehr, sehr viele Messdaten erfasst.
Wie sich das gehört ...
Zitat:Jeder Messschrieb ist eine ASCII-Textdatei
Hä? (<= fränkisch für "selbst Schuld")
Zitat:100-500 MB groß.
Das kommt davon, warum nimmst du auch ASCII.
Zitat:Netzlaufwerk, das von der Größe jedoch mittlerweile an seine Grenzen kommt.
Wundert mich nicht.
Zitat:Welche sinnvollen Möglichkeiten gibt es diese Daten zu archivieren, bzw. katalogisieren um sie datenspeicherschonend aufzubewahren ?
Von vorne herein TDMS! Das ist ein (spezifisches) Binärformat, das vom LV hervorragend unterstützt wird. Auch Excel und diverse andere Programme verstehen TDMS.

Zitat:Gibt es eventuell schon die eierlegende Wollmilchsau, der ich die Textdateien per Drag&Drop reinschiebe, diese sie mir komprimiert, Einträge in einer entsprechenden Datenbank macht, die dann wiederum durch ein Frontend leicht zugänglich ist ?
Nee, aber kannst du ganz leicht selbst machen. Signalverlauf aus Textfile (CVS?) lesen - Signalverlauf in TDMS speichern - fertig.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.04.2010, 13:44
Beitrag #3

bonestruca Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Feb 2009

8.6
-
de

70176
Deutschland
Messdatenverwaltung
Lade ich eine 80MB Textdatei in LabVIEW und speicher den Inhalt in eine TDMS-Datei, so ist dieses 151 MB groß.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.04.2010, 13:56
Beitrag #4

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Messdatenverwaltung
Da geht was bei der Konvertierung schief. Zeig mal dein VI.

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.04.2010, 07:20
Beitrag #5

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Messdatenverwaltung
am kleinsten bekommt man Messdaten immer noch in dem man die Fließkommazahlen als SGL Array Blockweise abspeichert und anschließend komprimiert, vielleicht noch mit einem kleinen Header, damit man die Daten später wieder identifizieren kann ...

TDM(S) ist auch nicht schlecht, und man kann die Dateien direkt in Excel einlesen, da gibts ein Addon für Excel, dass NI zur Verfügung stellt ...

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.04.2010, 06:52
Beitrag #6

bonestruca Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Feb 2009

8.6
-
de

70176
Deutschland
Messdatenverwaltung
Hatte vergessen nen transpose zu machen nach dem Auslesen, deswegen die riesige tdms Datei. Nachdem ich nun den ausgelesenen Array als Single konvertiert habe, komme ich auf ca. 2/3 der Textdateigröße. Komprimiere ich diese nun noch mit Winzip komme ich sogar auf 1/20. Das wäre ein gutes Ergebnis. Die komprimierte Textdatei kommt lediglich auf 1/10.

Die Verwendung von Excel kommt übrigens bei mehreren millionen Zeilen nicht in Frage. Ich arbeite mit Matlab. Habe schon gesehen, dass auch hier durch eine Art Plugin mit TDMS gearbeitet werden kann. Jedoch kann man damit den "Textheader" der TDMS nicht auslesen.

Ist es möglich einen Array blockweise in eine TDMS Datei zu speichern ? Ansonsten macht das wenig Sinn für mich, da mein PC beim Verarbeiten der mehreren hundert MB großen Matrizen Probleme mit dem Arbeitsspeichern bekommt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
23.04.2010, 08:21 (Dieser Beitrag wurde zuletzt bearbeitet: 23.04.2010 08:23 von dimitri84.)
Beitrag #7

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Messdatenverwaltung
' schrieb:..., komme ich auf ca. 2/3 der Textdateigröße.
Auf diese Größenordnung bin ich auch immer gekommen. In etwa.

Zitat:Die Verwendung von Excel kommt übrigens bei mehreren millionen Zeilen nicht in Frage. Ich arbeite mit Matlab. Habe schon gesehen, dass auch hier durch eine Art Plugin mit TDMS gearbeitet werden kann. Jedoch kann man damit den "Textheader" der TDMS nicht auslesen.
Was kann denn Matlab, deiner Meinung nach, was LabVIEW nicht kann? Bleib doch einfach in LabVIEW.

Zitat:Ist es möglich einen Array blockweise in eine TDMS Datei zu speichern?
Du meinst, damit du beim lesen nur jeweils die Blöcke bekommst, und nicht alles auf einmal geladen wird? Das musst du garnicht. Einer der Vorteile von binären Dateien ist, dass du beliebig zu einem Zeitpunkt/Messwert springen kannst. (Das geht mit Textdateien nicht so einfach.) Beim TDMS-Read gibt es oben zwei Eingänge: Offset und Länge. Damit kannst du dir deine Blöcke selbst bauen.

siehe auch: LVF-Link

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.04.2010, 08:54
Beitrag #8

bonestruca Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Feb 2009

8.6
-
de

70176
Deutschland
Messdatenverwaltung
' schrieb:Auf diese Größenordnung bin ich auch immer gekommen. In etwa.
Wenn man sich mal minimal bemüht und das kurz nachrechnet macht das auch durchaus Sinn. Habe mit 5 Nachkommastellen gespeichert, im Ascii sind das 6*8=48 Bit. Single Precision macht 32 Bit pro Zahl. 2/3. passt.

' schrieb:Was kann denn Matlab, deiner Meinung nach, was LabVIEW nicht kann? Bleib doch einfach in LabVIEW.
Ich bin viel flexibler in Matlab was das Rechnen mit den Daten anbelangt. Per Befehle in der Kommandozeile kann ich mir Ruckzuck wichtige Sachen ausrechnen oder Plotten lassen. Vorteile auch bei der Stapelverarbeitung von Messdateien, bei der Geschwindigkeit und bei der Darstellung in Grafiken.

' schrieb:Du meinst, damit du beim lesen nur jeweils die Blöcke bekommst, und nicht alles auf einmal geladen wird? Das musst du garnicht. Einer der Vorteile von binären Dateien ist, dass du beliebig zu einem Zeitpunkt/Messwert springen kannst. (Das geht mit Textdateien nicht so einfach.) Beim TDMS-Read gibt es oben zwei Eingänge: Offset und Länge. Damit kannst du dir deine Blöcke selbst bauen.

Nein, mein Problem ist nicht das Lesen sondern das Schreiben. Ich bekomme Probleme wenn ich eine große Matrix mit Messdaten auf einmal in eine Datei schreiben möchte. Save as Spreadsheet bietet mir die Möglichkeit append to file, dadurch kann ich meine Matrix aufsplitten und immer nur kleine Teile auf einmal schreiben. Das geht mit Write Data (TDMS) nicht. Habe es nun per Data Storage versucht, damit kann ich blockweise schreiben, aber dafür Variabelen nur als Double speichern. Was soll das denn ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.04.2010, 10:50
Beitrag #9

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.696
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Messdatenverwaltung
' schrieb:immer nur kleine Teile auf einmal schreiben. Das geht mit Write Data (TDMS) nicht.
Das kann ich fast nicht glauben.
TDMS ist ein Stream. LV (ab 2009) kann in DAQmx-Task Daten direkt in der Task per TDMS schreiben. Da sollte es nicht möglich sein, das auch im Datenfluß zu machen?

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.04.2010, 15:51
Beitrag #10

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Messdatenverwaltung
Solange man die TDMS-Datei nicht zwischen den Schreibvorgängen schließt, wird natürlich "appendet". Seh' grad nicht das Problem.

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: