This example program shows how to write any array of clusters to a single TDMS channel, and then shows how to read it back. With the advent of VIMs in LabVIEW 2017 the ability to have an input or output change based on an input makes this task much easier.
Attached is a 2015 version and 2017 version. The 2017 version uses VIMs and is a much cleaner way of using the type adaption functionality. In both examples the array of cluster data is flattened into the data, and the type. The type is written as a TDMS property while the data is written as the channel data. Reading it back will read the type, along with the data and then a variant to data can convert it back into the array of clusters that was first written. This solution is much for flexible since unlike other solutions, doesn't rely on unbundling and bundling data based on the specific type of cluster you are reading or writting. To update the data type just update the type def.
Hardware and Software Requirements
LabVIEW 2017 or newer for the VIM example and LabVIEW 2015 or newer for the non VIM example.
Steps to Implement or Execute Code
Unzip the attached zip, and open and run Main Write Read Example.vi and follow the instructions on the front panel which mention running the VI, changing the cluster, and running it again. Each run will write to a temporary TDMS file, and then read from it.