Hello,
we are developing datalogging system for our customer and we need to save analog and digital data to TDMS file. There is probably no problem with analog data streaming. But on the other side writing digital data inside TDMS file looks like a problem... So we tried to use background streaming (DAQmx Logging) where size of file is acceptable (8xDI(1B) x 512samples + TDMS header). But we need to log analog and digital data with timestamp channel so we can not use DAQmx background streaming instead we must program our application. When we used TDMS write for digital waveform, digital data result in TDMS viewer and DIAdem is OK but file size is (8x1B for each digital channel). We also look at TDMS by DAQmx logging where internal file structure (attached file tdms_tsdata.png) contains parameter NI_DigitalLine which is bit in data byte index (i think). Another parameter is NI_DataType = 5 (UInt8). From these two params I deduced some ideas and do some tests with unsatysfying results. Only one of tested ways was to write direct UInt8 of DI (entire port) to ensure file size ... 8xDI=1B x samples. However those TDMS can not be correctly read by TDMS Viewer as structure of digital inputs but only as number.
Is there any chance to write manually and effectively digital data in TDMS file (like DAQmx logging)?
Thank you in advance for any hint.
Michal.