10-26-2006 03:29 AM
10-26-2006
11:29 AM
- last edited on
05-19-2025
10:21 AM
by
Content Cleaner
Hi ccabek,
DIAdem, LabVIEW and CVI sit on top of a data management layer called the Universal Storage Interface (USI). The C library you are using creates only the TDM header file, but does not provide the USI layer with which this TDM file can be read. USI is installed by each of these 3 host applications, and the most recent version of USI always wins and always stays on the computer (even if the installing application is uninstalled). There is a similar api to the one you are using with LabVIEW wrapper VIs, and each VI has a little documentation attached to it-- here's an excerpt from the VI that declares a block of interleaved binary values:
Note that interleaved (Block) channels described in a TDM file will only load correctly in LabVIEW or DIAdem when USI version 1.1.1.2245 or later is installed (LabVIEW 8.0, DIAdem 9.1 SP2, or later versions).
Note that interleaved (Block) channels with "Block Length (# samples)" = 0 in a TDM file will only load correctly in LabVIEW or DIAdem when USI version 1.2 or later is installed (LabVIEW 8.0, DIAdem 10.0, or later versions.)
In short, a TDM header which declares an interleaved binary block requires that DIAdem 9.1 with SP2 is installed.
Note that the SP2 will force you to uninstall DIAdem 9.1 before installing SP2. Despite the SP2 name, it really is a full DIAdem installation.
Finally, if you really are declaring BlockLength = 0, you will need DIAdem 10.0 or later. You can always install the evaluation version of DIAdem 10.0, then uninstall it, and you will retain the newer USI version.
That should help,
Brad Turpin
DIAdem Product Support Engineer
National Instruments