首页 理论教育LabVIEW文件IO:文本文件和高速数据流文件TDMS的使用

LabVIEW文件IO:文本文件和高速数据流文件TDMS的使用

【摘要】:图3-72 文件I/OVI3.文本文件文本文件是最常用的文件类型。如果文件过大,超过了I32的表示范围,则需要分段读取。在.lvm文件中,LabVIEW保存高达6位精度的数据。图3-80 程序框图图3-81 程序框图和前面板运行效果图3-82 读写lvm文件7.高速数据流文件TDMS提供了一整套简单易用的API,如图3-83所示。

1.几种主要的文件存储类型

LabVIEW中可以用于存储和读取的主要文件类型如下。

(1)文本文件和表单文件

文本文件和表单文件将字符串以ASCII编码格式存储在文件中,如.txt文件和Excel文件。这种文件类型最常见,可以在各种操作系统下由多种应用程序打开,如记事本、Word、Excel等第三方软件,因此这种文件类型的通用性最强。但是相对于其他类型文件,它消耗的硬盘空间相对较大,读/写速度较慢,也不能随意地在指定位置写入或读出数据。如果需要将数据存储为文本文件,必须先将数据转换为字符串才能进行存储。

(2)二进制文件

二进制文件是一种最有效率的文件存储格式,它占用的硬盘空间最少而且读写速度最快。它将二进制数据,如32位整数以确定的空间4字节来存储,因此不会损失精度,而且可以随意地在文件指定位置读/写数据。二进制文件的数据输入可以是任何数据类型,如数组和簇等复杂数据,但是在读出时必须给定参考。

(3)基于文本的测量文件

基于文本的测量文件(.lvm文件)将动态数据按一定的格式存储在文本文件中,它可以在数据前加上一些信息,如采集时间等,可以用Excel等文本编辑器打开查看其内容。

(4)高速数据流文件

高速数据流文件(.tdms文件)将动态类型数据存储为二进制文件,同时可以为每一个信号添加一些有用的信息,如信号名称和单位等。在查询时可以通过这些附加信息来查询所需要的数据。它被用来在NI的各种软件之间交换数据,比lvm文件占用空间更小,读/写速度更快,非常适合存储数量庞大的测试数据。详见第6章。

2.文件I/O功能函数

大多数的文件I/O操作都包括三个基本的步骤:打开一个已有的文件或者新建一个文件;对文件进行读写;关闭文件。LabVIEW在“函数选板”→“编程”→“文件I/O”中提供了很多有用的工具VI,如图3-72所示。

978-7-111-49442-3-Chapter03-82.jpg

图3-72 文件I/OVI

3.文本文件

文本文件是最常用的文件类型。文本文件是由若干行字符构成的计算机文件,根据本文存储方式的不同有多种格式,如doc、txt、inf等。通常文本文件是指能够被系统终端或者简单的文本编辑器接受的格式,可以认为这种文件是通用的、跨平台的。对通用的英文文本文件而言,ASCII码是最为常见的编码标准;而如果需要存储带重音符号的英文或其他的非ASCII字符,则必须选择一种字符编码,如UTF-8。

LabVIEW中的文本文件读写采用图3-72所示的“写入文本文件”和“读取文本文件”两个函数完成的。这两个函数是多态函数,可以接收文件引用和文件路径两种输入。

从“读取文本文件”函数的count端子可知,该端子为一个I32型整数。当将其他类型的整数连入到该端子时,将自动转换为I32型整数。如果文件过大,超过了I32的表示范围,则需要分段读取。

【例3-17】 将数据写入文本文件

程序框图和前面板运行效果分别如图3-73和图3-74所示。

978-7-111-49442-3-Chapter03-83.jpg

图3-73 程序框图

978-7-111-49442-3-Chapter03-84.jpg

图3-74 前面板运行效果

运行该VI,当文件对话框出现时,选择文件存储位置,可以使用默认文件名或输入文件名。

【例3-18】 读取文本文件

程序框图和前面板运行效果分别如图3-75和图3-76所示。

978-7-111-49442-3-Chapter03-85.jpg

图3-75 程序框图

978-7-111-49442-3-Chapter03-86.jpg

图3-76 前面板运行效果

前面板是一个文本显示控件。

4.电子表格文件

电子表格文件是一种特殊的文本文件,它将文本信息格式化,并在格式中添加空格、换行等特殊标记,以便Excel等电子表格软件读取。使用LabVIEW提供的电子表格函数可以方便地实现表格的生成和读写操作。

【例3-19】 将数据写入电子表格文件

程序框图如图3-77所示。

对同一个文件,如果想要将新数据添加至文件末尾,可将写入电子表格功能函数的“添加至文件?”输入电子设置为T(True),每次执行产生的新数据将存储在文件的末尾。

【例3-20】 读取电子表格文件

程序框图和前面板运行效果分别如图3-78和图3-79所示。

5.二进制文件

在众多的文件类型中二进制文件是存取速度最快、格式最紧凑、冗余数据最少的文件存储格式,在高速数据采集时常用二进制格式存储文件,以防止文件生成速度大于存储速度的情况发生。

【例3-21】 波形存储为二进制文件形式

978-7-111-49442-3-Chapter03-87.jpg

图3-77 程序框图

978-7-111-49442-3-Chapter03-88.jpg

图3-78 程序框图

978-7-111-49442-3-Chapter03-89.jpg

图3-79 前面板运行效果

程序框图如图3-80所示。

【例3-22】 读取二进制文件

程序框图和前面板运行效果如图3-81所示。

6.基于文本的测量文件

基于文本的测量文件(.lvm)可用于保存写入测量文件Express VI生成的数据。该文件是用制表符分隔的文本文件,可在电子表格应用程序或文本编辑应用程序中打开。.lvm文件不仅包括ExpressVI生成的数据,还包括该数据的头信息,如生成数据的日期和时间等。在.lvm文件中,LabVIEW保存高达6位精度的数据。

对lvm文件的读写如图3-82所示。

978-7-111-49442-3-Chapter03-90.jpg

图3-80 程序框图

978-7-111-49442-3-Chapter03-91.jpg

图3-81 程序框图和前面板运行效果

978-7-111-49442-3-Chapter03-92.jpg

图3-82 读写lvm文件

7.高速数据流文件

TDMS提供了一整套简单易用的API,如图3-83所示。TDMS文件写入程序框图如图3-84所示。TDMS文件读取程序框图如图3-85所示。

978-7-111-49442-3-Chapter03-93.jpg

图3-83 TDMS

978-7-111-49442-3-Chapter03-94.jpg

图3-84 TDMS文件写入

978-7-111-49442-3-Chapter03-95.jpg

图3-85 TDMS文件读取