“Write To Measurement File” Express VI: 写入测量文件Express VI
写入TDM或TDMS文件的最简单方法是使用文件I/O面板中的 “Write To Measurement File” Express VI 。
DAQmx任务作为VI所必需的唯一输入或着是您正在写入到磁盘的信号,如图2所示:
图2 您可以将数据直接连接到 "Write to Measurement File " Express VI
在 “Write To Measurement File" Express VI 的配置对话框中,您可以选择写入TDM或是TDMS文件。
另外,您可以使用配置对话框向文件添加属性:如“描述”,你自定义的属性或者是源于DAQmx任务的属性,如图3所示:
图3 选择要写入TDM或TDMS文件后,还可以在配置对话框中配置用户定义的属性
“Write To Measurement File” Express VI 是开始数据写入TDM和TDMS文件的最简单方法。但是,您在写入数据的结构上几乎没有灵活性。为了实现TDM数据模型的全部优点以及要拥有编写有序且有文档记录的数据,您需要利用 “Data Storage” VIs 搭配或者使用 “TDM Streaming” API。
“Data Storage" VIs: 数据存储VIs
使用 “Data Storage" VIs,您可以将数据写入TDM或TDMS文件。
如图4所示,使用 LabVIEW “Data Storage" VIs 是写入测量数据的最简单形式,一个数据采集任务将为 "Write Data" VI (写入数据VI) 生成一个测量值数组。
图4 “Data Storage" VIs 在通道级记录数据
注意: “Write Data” VI (写入数据VI)除信号输入外,还有两个输入:名称和单位。
通过双击 “Write Data” VI,可以选择要通过配置对话框保存的其他信息,类似于 "Write to Measurement File " Express VI 的过程。
在图4中,所有来自 “DAQ Assistant” 的通道均具有相同的 “名称和单位”。但是,“Data Storage" VIs 会枚举通道名称,以防止命名冲突。可以通过将通道名称数组传递给名称输入或为每个通道使用单独的 “Write Data” VI 来覆盖自动枚举,这两种方法都是可以接受的解决方案。
“Write Data” VI 的另一个好处是,它可以自动计算每个测量阵列的最小值和最大值,并将其保存在TDM或TDMS文件中。
图4概述了 “Data Storage" VIs 如何在通道级记录数据。图5说明了如何使用 “Set Properties” VI (设置属性VI)在文件级保存更多描述性信息。
图5 “Set Properties” VI (使用设置属性VI)可以在文件级保存其他描述性信息
图6说明了使用 “Open Storage" VI (开放存储VI)读取数据的最简单形式。此处, “Open Storage" VI 将文件引用传递至 "Read Data" VI (读取数据VI),然后将所有数据从TDM或TDMS文件读取到存储器中,并显示在波形图上。
图6 “Open Storage” VI 将文件引用传递给 “Read Data” VI, 然后将所有数据从TDM或TDMS文件读取到存储器中,并显示在波形图上
TDM Streaming API: TDM流API
尽管 "Data Storage" VIs 易于使用且具有灵活性,但在将数据写入磁盘时,它们表现出的性能与使用 "TDM Streaming" API 所获得的性能不同。 "TDM Streaming" API旨在以较小的磁盘占用空间高速将数据流传输到磁盘,这就是为什么它也是理想的在实时系统上写入数据的原因。
使用TDM Streaming VI写入测量数据的最简单形式如图7所示。在本示例中, "DAQ Assistant" (DAQ助手) 生成测量值数组并将其传递给 "Write Data" VI。
图7 在通道级别将数据写入TDMS文件
注意,"Write Data" VI 除信号输入外还有两个输入。在图7中,所有来自 "DAQ Assistant" 的通道都具有相同的组和通道名称。如果组和频道名称输入未连接,则默认为“无标题”。
图8 显示了使用 "TDM Streaming" VI 读取数据的最简单形式。在此,TDMS打开文件VI将文件引用传递给TDMS读取文件VI,然后将 "Main Group" 组中的所有数据从TDMS文件读取到存储器中,并显示在波形图上。
图8 从TDMS文件读回数据
写入某些数据类型时,TDMS数据模型会自动创建某些属性。但是,在许多情况下,您可能想要创建一个特定于您的特定需求属性,例如被测设备,序列号和测试温度。您可以使用 TDMS "Set Properties" VI来实现此目的,使用它可以在文件,组或通道级别写入属性,如图9所示。
图9.在将数据写入文件之前,在三个不同的级别上编写自定义属性
“LabWindows" 商标已获得Microsoft Corporation的许可使用。Windows是Microsoft Corporation在美国和其他国家(地区)的注册商标。