标准和高级TDMS函数
- 更新时间2025-08-27
- 阅读时长3分钟
TDMS选板上有标准和高级TDMS VI和函数。高级TDMS VI和函数用于高级文件I/O操作,例如,.tdms的异步读取和写入。
注: 无需使用高级TDMS VI和函数时,使用标准TDMS VI和函数。错误使用高级TDMS VI和函数可能损坏.tdms文件。使用高级TDMS VI和函数时,如禁用了缓存,读取或写入的数据大小必须是硬盘分区大小的整数倍。
与标准TDMS VI和函数相比,高级TDMS VI和函数有下列优点:
- 独立写入元数据和原始数据 - 标准TDMS VI和函数同时写入元数据和原始数据。高级TDMS VI和函数可独立写入元数据和原始数据。使用TDMS设置通道信息函数将元数据写入.tdms文件,然后使用高级TDMS异步写入函数将原始数据写入.tdms文件。

注:将数据写入.tdms文件时,数据中包含元数据和原始数据。关于.tdms文件元数据和原始数据的详细信息,请访问ni.com的技术支持文档。 - (Windows)异步读取和写入数据 - 标准TDMS VI只能同步读取或写入数据。当缓存大小有限或有大量数据需读取或写入时会造成读写速度下降。高级TDMS VI和函数可异步读取或写入数据。使用TDMS配置异步读取或TDMS配置异步写入函数在后台分配缓存并开始异步写入或读取。
- (Windows)直接访问外部数据实现数据流速度最优化 - 与标准TDMS VI和函数不同,高级TDMS VI和函数使用户可以直接访问LabVIEW外部的数据,例如,控制数据流设备的设备驱动器的DMA缓存。也可将DMA缓存区的数据直接异步写入.tdms文件,或从.tdms文件直接读取数据至DMA缓存区。直接访问DMA缓存区的外部数据可减少大量数据拷贝,提高数据流的速度。

注:要使用该项功能,要从数据流设备驱动程序API返回的外部数据值引用。将外部数据值引用连接至高级TDMS异步读取(数据引用)或高级TDMS异步写入(数据引用)函数的数值引用输入端,即可对外部数据进行操作。 - 覆盖现有数据 - 与标准TDMS VI和函数不同,高级TDMS VI和函数可覆盖.tdms文件中的部分数据。使用TDMS设置下一个写入位置函数指定写入现有数据的偏移量。
- 写入数据前预留文件大小 - 与标准TDMS VI和函数不同,高级TDMS VI和函数可预留写入文件的文件大小,避免文件系统层的文件分隔。使用TDMS预留文件大小函数在写入数据至.tdms文件之前预留文件的磁盘空间。