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 

Dieses Thema hat akzeptierte Lösungen:

Problem beim Streamen in TDMS Datei



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!

25.09.2011, 19:18
Beitrag #2

macmarvin Offline
CLA
***


Beiträge: 445
Registriert seit: Sep 2006

2014
2004
EN

81373
Deutschland
RE: Problem beim Streamen in TDMS Datei

Akzeptierte Lösung

Bei Einzelwerten tut sich die TDMS API schwer. Das NI TDMS per USI ist wohl eher auf Highspeed Streaming optimiert. Das Problem mit den großen Dateien und vorallem mit den großen Index Dateien kommt daher, daß am Anfang eines jeden TDMS Segment ein Segment Header mit ca. 50 Byte mit geschrieben werden muss (+ alle Header landen im _index).
D.h. wenn man Einzelwert schreibt bläht das die Datei ziemlich auf. Dein Usecase müsste da jeweils 2 Segmente pro Iteration anlegen (1 TS Zeit und 1 I32 Test). Anscheinend spart sich die API die Segmentheader, wenn nur ein Kanal geschrieben wird (da gibt's so ne Magic Number für die Segmentlänge die bedeuted, daß diese Segment das letzte/offene ist).

Als Abhilfe gibt es die Minimum TDMS buffersize mit von der TDMS API Werte zwischengepuffert werden und dann Blockweise geschreiben werden.

Alternativ könntest du auch die G based TDMS benutzen, die schreibt keinerlei tdms_index, hat aber in der Orginalversion kein internes Buffering mit drinnen, d.h. Einzelwerte haben immer den Segmetheader Overhead mit dran.

Bei beiden Schreibmöglichkeiten wird dir das TMDS Defrag die Daten + _index wieder schön eindampfen. Mlgw. wäre das für deinen Usecase das Einfachste.

Ich würde dir im allgemeinen die G TDMS empfehlen. Mit der NI USI basierten TDMS API habe ich schon Pferde kotzen sehen. (Die aktuelle USI die mit LV2011 ausgeliefert wird, ist wohl recht stabil, habe ich mir sagen lassen Wink )
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: Problem beim Streamen in TDMS Datei - macmarvin - 25.09.2011 19:18

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Problem mit TDMS und npTDMS Python Jarrao 1 4.166 28.09.2019 15:22
Letzter Beitrag: jg
  Zeitstempel für TDMS Datei Kahlua 4 5.981 04.12.2017 09:59
Letzter Beitrag: jg
  Zeit in Datei schreiben & Problem beim Aufruf der Datei KorsarDerWeide 5 8.157 22.05.2015 13:00
Letzter Beitrag: KorsarDerWeide
  Problem mit der "TDMS -write"-Funktion n4f3ts 1 4.657 26.03.2015 12:00
Letzter Beitrag: n4f3ts
  .tdms: mehrere Signale aus einer Datei lesen Kristin_611 4 7.118 03.02.2015 12:09
Letzter Beitrag: Kristin_611
Question NUR Eigenschaften einer TDMS Datei lesen Lucky 1 4.645 24.11.2014 10:12
Letzter Beitrag: macmarvin

Gehe zu: