TDMS文件格式是NI推荐的文件格式,用于将基于时间的测量数据保存到磁盘,以实现高性能、可用性和复用性。借助NI-DAQmx 9.0,TDMS文件写入功能现在直接集成到NI-DAQmx驱动程序中,能够以最简单、最快速的方式将数据流式传输到磁盘,速率可高达1.2 GB/s。
NI-DAQmx 9.0或更高版本安装了一个新的VI,即DAQmx Configure Logging VI。此VI可用于配置在DAQ选板上的单个VI内如何将数据写入到TDMS文件中。 这样一来,此VI不仅易于使用,并且易于集成到现有的数据采集应用中,而且经过后台优化后,这也是将数据写入磁盘的最快方式。
图1. DAQmx Configure Logging (TDMS) VI可用于在开始任务之前设置如何将数据记录到TDMS文件中。
为了提高文件写入速度,NI-DAQmx可以直接从设备缓冲区将数据流式传输到硬盘,并绕过Windows、LabVIEW和TDMS缓冲区。Voltage -Continuos Input.vi将原始数据写入TDMS文件,进一步提高了性能并降低了磁盘占用空间。在写入原始数据的同时,度量标尺信息也会同时写入文件,供日后读取TDMS文件时使用。通过这些优化,写入速率最高可达1.2 GB/s。选择“帮助”(Help) >>“查找示例...”(Find Examples...)打开NI示例查找器,即可找到示例。在该查找器中,选择“硬件输入和输出”(Hardware Input and Output) >>“DAQmx”>>“模拟输入”(Analog Input) >>“Voltage - Continuous Input.vi”,打开此示例。
图2. NI示例查找器。
将数据存储到TDMS文件后,可以在LabVIEW、DIAdem、TDMS Excel附加工具或其他TDMS支持的接口中使用TDMS文件API和TDMS文件查看器来读取和查看采集的数据。了解有关TDMS写入和读取接口的更多信息。
在基于PC的数据采集系统中,影响高速数据流盘的主要因素是磁盘I/O带宽、CPU带宽和总线带宽。假设专业开发人员为磁盘I/O和总线提供了足够的带宽,那么NI-DAQmx数据压缩功能可以显著提升高速高速数据流盘应用程序的性能。
NI-DAQmx会显著影响流式传输到磁盘的性能,因为它在移动和换算设备采集的数据时会占用CPU带宽。因此,在CPU带宽受限的系统上,NI-DAQmx能否高效地利用CPU至关重要。
NI-DAQmx提供了一个非常简单的数据压缩方式,即将样本末端的位省略掉,并将得到的样本封装到内存。开发人员可将NI-DAQmx配置为省略样本中的一个或多个最低有效位。例如,可以将具有24位分辨率和32位采样容量的通道配置为仅返回20个最高位。这样总共省略了12个位,其中包括8个未使用的位,因而可将所需的磁盘空间减少37.5%。但在某些情况下,样本包含了未使用的位,这样省略掉这些位并不会“丢失”数据。例如,一个具有12位分辨率和16位采样容量的通道包含4个未使用的位。舍弃这4个位不会带来造成数据丢失,却可以减少25%的所需磁盘空间。NI-DAQmx不执行任何其他无损或有损压缩算法,例如LZW或JPEG。
图3. NI-DAQmx数据压缩功能可提高高速流盘的性能。