魏志远,曲 波,孙 勇,王荣刚
(1.中机试验装备股份有限公司,吉林 长春 130103;2.吉林石油集团吉松质量技术检测有限责任公司,吉林 松原 138000)
TDMS文件是NI公司近年来首推的测试测量数据存储格式,该文件格式是一种二进制数据存储文件类型,以数据流的文件形式存储数据,占用磁盘空间小,适合存储大量数据,具有高速、方便、易存等诸多优点,是目前技术人员存储数据的主要格式之一,但其他工具不支持TDMS文件的无缝读写。本文在比较和分析TDMS文件结构特点的基础上,编写了将TDMS文件批量转换成其他常用格式文件的软件,为进一步运用其他软件分析对应的数据做好准备。
TDMS文件原始数据部分分为3个层次:文件(File)、通道组(ChannelGroups)和通道(Channels),如图1所示。图1中,文件层次可包含任意数量的通道组,通道组又可以包含任意数量的通道。每个通道包含一个一维数据值数组。
图1 TDMS文件结构
通过了解TDMS文件的格式,可以根据其格式对数据进行解析,转换成其他工具所需要的数据格式,实现的流程框图如图2所示。
图2 软件的流程框图
TDMS文件是NI公司首推的测试测量数据存储格式,与NI公司的各式软件,如LabVIEW、LabWindows等友好兼容,无缝交互自然毋庸置疑。本文基于LabVIEW软件平台,将TDMS文件批量转换成其他常用文件格式,实现了利用其他工具对数据的无缝读写。
以下介绍几个主要的TDMS函数:
读取指定的.tdms文件并以数据类型输入端指定的格式返回数据。
列出TDMS文件输入端指定的.tdms文件中包含的组名称和通道名称。
设置指定的.tdms文件、通道组或通道的属性。
使数据写入指定的.tdms文件。
读取TDMS文件:借助树形控件获取选择文件夹中的.tdms文件,程序如图3所示。Init_Open_Close.vi中包含Initialize.vi、Validate.vi、Add Item.vi,实现了取选择文件夹中的.tdms文件。获取.tdms文件通道名称程序如图4所示。
图3 读取文件夹中TDMS文件
图4 获取.tdms文件通道名称
TDMS文件合并:首先将读取文件的路径以数组索引方式分别读出,利用For循环移位寄存器功能进行数据填充,之后新创建一个TDMS文件,并将数据以固定格式写入,完成文件合并功能,如图5所示。
图5 TDMS文件合并
图6 TDMS文件分别转换成.csv数据
图7 合并TDMS文件
图8 合并完成后分别转换成.csv数据
LabVIEW软件平台提供了丰富的文件格式,可以将数据以电子表格的形式或文本文档的格式写入。本文以写入电子表格为例,生成数据文件格式为.csv(如图6所示),批量整合生成一个TDMS文件与一个.csv数据文件程序如图7、图8所示。
通过对NI公司TDMS文件结构的分析,编写能够解析TDMS文件的软件,实现了批量转换TDMS文件为所需要的文件格式,提高了效率。