“Write To Measurement File” Express VI: 写入测量文件Express VI
写入TDM或TDMS文件的最简单方法是使用文件I/O面板中的 “Write To Measurement File” Express VI 。
DAQmx任务作为VI所必需的唯一输入或着是您正在写入到磁盘的信号,如图2所示:
![](/servlet/rtaImage?eid=ka03q0000012k05&feoid=00N3q00000HUsuI&refid=0EM3q000001e0vh)
图2 您可以将数据直接连接到 "Write to Measurement File " Express VI
在 “Write To Measurement File" Express VI 的配置对话框中,您可以选择写入TDM或是TDMS文件。
另外,您可以使用配置对话框向文件添加属性:如“描述”,你自定义的属性或者是源于DAQmx任务的属性,如图3所示:
![](/servlet/rtaImage?eid=ka03q0000012k05&feoid=00N3q00000HUsuI&refid=0EM3q000001e0vc)
图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) 生成一个测量值数组。
![](/servlet/rtaImage?eid=ka03q0000012k05&feoid=00N3q00000HUsuI&refid=0EM3q000001e0vN)
图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)在文件级保存更多描述性信息。
![](/servlet/rtaImage?eid=ka03q0000012k05&feoid=00N3q00000HUsuI&refid=0EM3q000001e0vI)
图5 “Set Properties” VI (使用设置属性VI)可以在文件级保存其他描述性信息
图6说明了使用 “Open Storage" VI (开放存储VI)读取数据的最简单形式。此处, “Open Storage" VI 将文件引用传递至 "Read Data" VI (读取数据VI),然后将所有数据从TDM或TDMS文件读取到存储器中,并显示在波形图上。
![](/servlet/rtaImage?eid=ka03q0000012k05&feoid=00N3q00000HUsuI&refid=0EM3q000001e0vD)
图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。
![](/servlet/rtaImage?eid=ka03q0000012k05&feoid=00N3q00000HUsuI&refid=0EM3q000001e0v8)
图7 在通道级别将数据写入TDMS文件
注意,"Write Data" VI 除信号输入外还有两个输入。在图7中,所有来自 "DAQ Assistant" 的通道都具有相同的组和通道名称。如果组和频道名称输入未连接,则默认为“无标题”。
图8 显示了使用 "TDM Streaming" VI 读取数据的最简单形式。在此,TDMS打开文件VI将文件引用传递给TDMS读取文件VI,然后将 "Main Group" 组中的所有数据从TDMS文件读取到存储器中,并显示在波形图上。
![](/servlet/rtaImage?eid=ka03q0000012k05&feoid=00N3q00000HUsuI&refid=0EM3q000001e0v3)
图8 从TDMS文件读回数据
写入某些数据类型时,TDMS数据模型会自动创建某些属性。但是,在许多情况下,您可能想要创建一个特定于您的特定需求属性,例如被测设备,序列号和测试温度。您可以使用 TDMS "Set Properties" VI来实现此目的,使用它可以在文件,组或通道级别写入属性,如图9所示。
![](/servlet/rtaImage?eid=ka03q0000012k05&feoid=00N3q00000HUsuI&refid=0EM3q000001e0uy)
图9.在将数据写入文件之前,在三个不同的级别上编写自定义属性
“LabWindows" 商标已获得Microsoft Corporation的许可使用。Windows是Microsoft Corporation在美国和其他国家(地区)的注册商标。