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 

In TDMS Datei schreiben und updaten



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!

02.11.2010, 17:16
Beitrag #1

Rainito Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 96
Registriert seit: May 2009

2010
2008
de

89297
Deutschland
In TDMS Datei schreiben und updaten
Hallo Leute,

ich steh vor dem Problem dass mein Messprotokoll im Moment als Textdatei weggeschrieben wird und das ziemlich viel Speicherfrist bei Umwandlungen und aktualisierungen. Jeder rät mir zu TDMS aber irgendwie versteh ich die Logik dahinter nicht wie ich dort was updaten kann. Ich hab mal als Beispiel eine Excel File generiert wie ich mir das ganze vorstelle. Ich hab bestimmte Eingabedaten die ich bei Gelegenheit updaten will und in einer 2. Gruppe meine 8-10 Kanäle in der die Messwerte kontinuierlich geschrieben werden.

Nebeher sollte ein Lesezugriff auch noch möglich sein damit ich mit einem anderen Programm das messprotokoll auch visualisieren kann.

Kann mir da jemand helfen??

Vielen Dank schon mal


Sonstige .zip  Musterprotokoll.zip (Größe: 28,44 KB / Downloads: 423)


Lv10
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.11.2010, 21:34
Beitrag #2

schrotti Offline
LVF-Freak
****


Beiträge: 842
Registriert seit: Feb 2008

2009 - 2011
2006
kA

70180
Deutschland
In TDMS Datei schreiben und updaten
Erst mal zu deinem Upload: xlsx kann ich nicht öffnen und ein Tool zum Umwandeln lad ich mir nicht runter.

Zweitens: Versteh dein Anliegen nicht so recht. Liegt hauptsächlich an deinem schlechten Gebrauch der deutschen Sprache. Es muss doch möglich sein, eine klar verständliche Frage zu stellen, die ohne entstellende Rechtschreib- und Interpunktionsfehler auskommt. Was ist denn zum Beispiel ein Update? Ersetzt oder ergänzt du dabei Daten?

Gruß Julius
Empfehlungen: expressionflow, LavaG , mooregoodideas, OpenG, JKI Blog
Tipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.11.2010, 11:04
Beitrag #3

Rainito Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 96
Registriert seit: May 2009

2010
2008
de

89297
Deutschland
In TDMS Datei schreiben und updaten
Hallo Schrotti,

sorry wenn ich mich etwas unverständlich ausgedrückt habe. Ich versuch es einfach nochmal.

Derzeit scheib ich verschiedene Daten in mein Messprotokoll (Textdatei).

Auf der einen Seite viele Eingabeparameter und Steuerungsparameter die von Zeit zu Zeit einfach aktualisiert werden müssen, d.h. ich ersetze die alten Werte mit den neuen an der gleichen Stelle am Beginn des Messprotokolls.

Auf der anderen Seite schreib ich während der Messung immer eine Messwertreihe bestehend aus 8 oder 9 Messwerten kontinuierlich ab einer bestimmten Zeile ins Protokoll.

Da dieses Messprotokoll bis zu 500.000 Messwertreihen enthalten kann stellt sich die Aktualisierung der Eingabedaten Anfang des Protokolls als Speicherintensiv dar, weil ich das komplette Protokoll mit allen Messwertreihen in einen Array umwandle......die Eingabedaten aktualisier und das Komplette protokoll wieder ablege.

Jetzt ist die Frage ob ich für diese Akualisierung und den vielen Messwertreihen auf ein anderes Datenformat umsteigen soll, das leichter zu handlen ist oder nicht. Hab mir jetzt auch die TDMS Dateien angeschaut aber irgendwie scheint mir das auch umständlich zu sein mit der Datenkonvertierung da meine Eingabedaten unterschiedliche Datentypen vorweisen. Zudem ist bei Tests herausgekommen dass eine TDMS Datei bei annähernd gleicher Anzahl von Messwertreihen um ein vielfaches größer ist (von ~30MB Textdatei auf ~100MB TDMS Datei)

Um meine Daten nochmal darzustellen hab ich das Excelfile generiert wie es auch evtl. in der TDMS Datei aussehen könnte.

Vielleicht hast du ja ein paar Ideen/ Hilfestellungen wie ich mein Speicherproblem durch eine Veränderung im Protokoll in den Griff bekomme.

Vielen Dank.

Gruß


Sonstige .xls  Musterprotokoll.xls (Größe: 69,5 KB / Downloads: 321)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.11.2010, 20:21 (Dieser Beitrag wurde zuletzt bearbeitet: 04.11.2010 20:22 von schrotti.)
Beitrag #4

schrotti Offline
LVF-Freak
****


Beiträge: 842
Registriert seit: Feb 2008

2009 - 2011
2006
kA

70180
Deutschland
In TDMS Datei schreiben und updaten
Ließe sich mit TDMS machen. Selbst bei geschickter Vorgehensweise wird der Speicherverbrauch wahrscheinlich größer sein als bei einer Ascii-Datei, aber, die *.tdms_index kann verworfen und die *.tmds defragmentiert werden. Die häufigen Schreibzugriffe mit gleichzeitig wenig zu schreibenden Daten blähen die Datei ab trotzdem auf. Die "Eingabedaten" könntest du als Eigenschaften der Datei bzw Kanalgruppe realisieren. Du kannst es aber selbstverständlich auch mit Ascii-Dateien ressourcenschonend umsetzen, indem du entweder zwei Dateien benutzt oder der Header, also die Eingabedaten, eine fixe Größe aufweist. Ersteres wurde früher zB von Diadem als natives Dateiformat benutzt. Eine Datei enthielt die Daten, die andere den Header. Bei einer fixe Headergröße musst nicht benutzten Platz mit Platzhaltersymbolen auffüllen. ZB könnte jeder Eigenschaftenname 32 Zeichen und der zugehörige Wert 256 Zeichen lang sein. Wenn du jetzt einen Wert ändern willst muss du nur dessen Position in Bezug auf den Anfang der Datei ermitteln und kannst die 256 Zeichen durch neue ersetzen. Die Position merkst du dir entweder oder ermittelst sie, indem du die Datei durchsuchst. Ein Idee wäre auch, die ersten x-zeilen als Header zu definieren. Oder, wie es die meisten Asciibasierenden Formate machen, du Kennzeichnest den Beginn und das Ende des Headers mit einer einzigartigen Zeichenkette. Die lässt sich leicht suchen etc.

Gruß Julius
Empfehlungen: expressionflow, LavaG , mooregoodideas, OpenG, JKI Blog
Tipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.11.2010, 13:17
Beitrag #5

Rainito Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 96
Registriert seit: May 2009

2010
2008
de

89297
Deutschland
In TDMS Datei schreiben und updaten
Hallo Schrotti,

hab meine ASCI File schon so gestaltet wie mit einem Header (siehe TXT-Dokument). Ich überschreib es auch alles und es funktioniert auch gut....aber bis jetzt hab ich noch keine Möglichkeit gefunden nur immer den Header zu überschreiben sondern Lese die ganze Datei aus.....mit Write data to spreadsheet, dann aktualisier ich die Werte im Array.... und anschließend schreib ich wieder alles in die Datei. Beim Versuch immer nur den header zu schreiben scheiter ich immer wieder. Hab es mit einem fixen Array als header probiert aber das hat auch nichts gebracht.

Ich lad dir mal mein bisheriges VI hoch damit du dir ein bild machen kannst. Schön wär natürlich schon wenn ich mein Fileformat so belassen könnte und nicht alles umstellen müsste. Vielleicht kannst du mir noch aufzeigen wie ich den Header ohne Formatierungsfehler am besten immer wieder an den Anfang der Datei schreiben kann.

Danke.

Gruß

Rainer


Sonstige .vi  Eingabedaten_aktualisieren.vi (Größe: 54,68 KB / Downloads: 358)

Sonstige .txt  07_05_2010_12UHR15_Messplatz_5_Musterprotokoll.txt (Größe: 5,7 KB / Downloads: 279)


Lv10
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.11.2010, 21:34
Beitrag #6

schrotti Offline
LVF-Freak
****


Beiträge: 842
Registriert seit: Feb 2008

2009 - 2011
2006
kA

70180
Deutschland
In TDMS Datei schreiben und updaten
Stell dir die Datei bzw der String, der in der Datei steckt, als ein langes Array vor, wobei jedes Element des Arrays ein Byte ist. Damit enthält jedes Element ein Zeichen. Ein Byte kann 256 verschieden Zeichen codieren (2^8). Wenn du nun einen Teil des Strings auf der Festplatte überschreiben willst, muss der neue String die gleiche Länge wie der zu überschreibende String haben, da sonst darüber hinaus Zeichen überschrieben werden oder Zeichen stehen bleiben, die im String gar nichts mehr zu suchen haben. Das bedeutet, der neue Header muss exakt die gleiche Länge haben wie der alte.

Gruß Julius
Empfehlungen: expressionflow, LavaG , mooregoodideas, OpenG, JKI Blog
Tipp
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  TDMS-Daten direkt schreiben, nicht im RAM halten RabenFlug 2 3.777 12.04.2019 10:23
Letzter Beitrag: RabenFlug
  Datenstrom auf Knopfdruck in Datei schreiben (oder auch nicht) _Markus_ 4 5.952 30.10.2018 09:27
Letzter Beitrag: GerdW
  Zeitstempel für TDMS Datei Kahlua 4 6.021 04.12.2017 09:59
Letzter Beitrag: jg
  DI Daten in Datei schreiben puuk! 10 13.572 15.12.2015 13:08
Letzter Beitrag: GerdW
  Zeit in Datei schreiben & Problem beim Aufruf der Datei KorsarDerWeide 5 8.199 22.05.2015 13:00
Letzter Beitrag: KorsarDerWeide
  Zeiterfassung mit in Datei Schreiben M4st3r M M 1 4.784 11.04.2015 20:47
Letzter Beitrag: jg

Gehe zu: