魏志遠,曲 波,孫 勇,王榮剛
(1.中機試驗裝備股份有限公司,吉林 長春 130103;2.吉林石油集團吉松質量技術檢測有限責任公司,吉林 松原 138000)
TDMS文件是NI公司近年來首推的測試測量數據存儲格式,該文件格式是一種二進制數據存儲文件類型,以數據流的文件形式存儲數據,占用磁盤空間小,適合存儲大量數據,具有高速、方便、易存等諸多優(yōu)點,是目前技術人員存儲數據的主要格式之一,但其他工具不支持TDMS文件的無縫讀寫。本文在比較和分析TDMS文件結構特點的基礎上,編寫了將TDMS文件批量轉換成其他常用格式文件的軟件,為進一步運用其他軟件分析對應的數據做好準備。
TDMS文件原始數據部分分為3個層次:文件(File)、通道組(ChannelGroups)和通道(Channels),如圖1所示。圖1中,文件層次可包含任意數量的通道組,通道組又可以包含任意數量的通道。每個通道包含一個一維數據值數組。
圖1 TDMS文件結構
通過了解TDMS文件的格式,可以根據其格式對數據進行解析,轉換成其他工具所需要的數據格式,實現(xiàn)的流程框圖如圖2所示。
圖2 軟件的流程框圖
TDMS文件是NI公司首推的測試測量數據存儲格式,與NI公司的各式軟件,如LabVIEW、LabWindows等友好兼容,無縫交互自然毋庸置疑。本文基于LabVIEW軟件平臺,將TDMS文件批量轉換成其他常用文件格式,實現(xiàn)了利用其他工具對數據的無縫讀寫。
以下介紹幾個主要的TDMS函數:
讀取指定的.tdms文件并以數據類型輸入端指定的格式返回數據。
列出TDMS文件輸入端指定的.tdms文件中包含的組名稱和通道名稱。
設置指定的.tdms文件、通道組或通道的屬性。
使數據寫入指定的.tdms文件。
讀取TDMS文件:借助樹形控件獲取選擇文件夾中的.tdms文件,程序如圖3所示。Init_Open_Close.vi中包含Initialize.vi、Validate.vi、Add Item.vi,實現(xiàn)了取選擇文件夾中的.tdms文件。獲取.tdms文件通道名稱程序如圖4所示。
圖3 讀取文件夾中TDMS文件
圖4 獲取.tdms文件通道名稱
TDMS文件合并:首先將讀取文件的路徑以數組索引方式分別讀出,利用For循環(huán)移位寄存器功能進行數據填充,之后新創(chuàng)建一個TDMS文件,并將數據以固定格式寫入,完成文件合并功能,如圖5所示。
圖5 TDMS文件合并
圖6 TDMS文件分別轉換成.csv數據
圖7 合并TDMS文件
圖8 合并完成后分別轉換成.csv數據
LabVIEW軟件平臺提供了豐富的文件格式,可以將數據以電子表格的形式或文本文檔的格式寫入。本文以寫入電子表格為例,生成數據文件格式為.csv(如圖6所示),批量整合生成一個TDMS文件與一個.csv數據文件程序如圖7、圖8所示。
通過對NI公司TDMS文件結構的分析,編寫能夠解析TDMS文件的軟件,實現(xiàn)了批量轉換TDMS文件為所需要的文件格式,提高了效率。