Using the LabVIEW Timestamp Data Type in DIAdem

Updated Oct 26, 2020

I am able to save LabVIEW timestamps in a TDMS file and read them in DIAdem correctly if I use the 128-bit time stamp numeric data type in LabVIEW. However, if I convert the timestamps to a different numeric data type like double or extended precision floating-point, save it to the TDMS file as a channel and display it as time in DIAdem, the timestamps are incorrect.

The easiest way to get around this situation is to avoid using the timestamps as numbers, so that DIAdem is able to import the time information correctly. 

However, in situations where using timestamps as numbers is inevitable (i.e. when using the Absolute Time reference from VeriStand) all you need to do is apply an offset to the channel in DIAdem by adding 60,084,288,000.00 to the numeric value before changing the display format to Time. You can do this by selecting the Analysis panel in DIAdem and using the Offset Correction function in the Basic Mathematics group.

Additional Information

The reasonfor this offset is that LabVIEW and DIAdem use different references to measure time. LabVIEW timestamps measure time since 01-01-1904 00:00:00 and DIAdem timestamps measure time since 01-01-0000 00:00:00, so there is an offset of 60,084,288,000.00 seconds.

Using the 128-bit timestamp numeric data type in the TDMS file in LabVIEW works fine because when the timestamps are read by DIAdem, it automatically reads them using the Time format, but if you save the timestamps as numbers, formatting them as time fails because DIAdem uses its own time reference instead of LabVIEW's.