Error -2544 When Reading a TDMS File With Advanced Asynchronous Read in LabVIEW

Updated Aug 30, 2023

Reported In

Software

  • LabVIEW
  • Measurement Studio

Issue Details

I wrote a file with the Measurement Studio TDMS .NET API which does not support advanced asynchronous functions. When reading the file with the TDMS Advanced Asynchronous Read Function, it produced error -2544: "With operating system buffering disabled, array sizes and file positions for the Advanced TDMS Vls and functions must be integer multiples of the hard disk sector size. Use the TDMS Advanced Open function to retrieve the sector size.”

How can I fix this error, is there a way of reading TDMS files created with the synchronous file operations?

Solution

The Measurement Studio TDMS .NET API does not support writing files such that they can be read using the Advanced Asynchronous Read as performed by streaming. In order to be able to read this file with LabVIEW Advanced Asynchronous Read VI, you need to convert the file that can be read using synchronous, buffered reads, and output it using Asynchronous Write setting the channel information and reserved files correctly. You can stream a data file created with the .NET API convert it and then stream it out.