首页 理论教育LabVIEW2012中文版虚拟仪器文件I/O格式的最佳选择

LabVIEW2012中文版虚拟仪器文件I/O格式的最佳选择

【摘要】:采用何种文件I/O选板上的VI取决于文件的格式。文件I/OVI和函数可在文本文件和电子表格文件中读取或写入数据。二进制文件是存储数据最为紧凑和快速的格式。除扩展精度和复数外,二进制文件中含有数据在内存中存储格式的映象。修改数据记录文件格式将导致该文件不可用。

采用何种文件I/O选板上的VI取决于文件的格式。LabVIEW可读写的文件格式有文本文件、二进制文件和数据记录文件三种。使用何种格式的文件取决于采集和创建的数据及访问这些数据的应用程序。

根据以下标准确定使用的文件格式:

➢如需在其他应用程序(如MicrosoftExcel)中访问这些数据,使用最常见且便于存取的文本文件。

➢如需随机读写文件或读取速度及磁盘空间有限,使用二进制文件。在磁盘空间利用和读取速度方面二进制文件优于文本文件。

➢如需在LabVIEW中处理复杂的数据记录或不同的数据类型,使用数据记录文件。如果仅从LabVIEW访问数据,而且需存储复杂数据结构,数据记录文件是最好的方式。

1.何时使用文本文件

如磁盘空间、文件I/O操作速度和数字精度不是主要考虑因素,或无需进行随机读写,应使用文本文件存储数据,方便其他用户和应用程序读取文件。

文本文件是最便于使用和共享的文件格式,几乎适用于任何计算机。许多基于文本的程序可读取基于文本的文件。多数仪器控制应用程序使用文本字符串。

如需通过其他应用程序访问数据,如文字处理或电子表格应用程序,可将数据存储在文本文件中。如需将数据存储在文本文件中,使用字符串函数可将所有的数据转换为文本字符串。文本文件可包含不同数据类型的信息。

如果数据本身不是文本格式(例如,图形或图表数据),由于数据的ASCII码表示通常要比数据本身大,因此文本文件要比二进制和数据记录文件占用更多内存。例如,将-123.4567作为单精度浮点数保存时只需4个字节,如使用ASCII码表示,需要9个字节,每个字符占用一个字节。

另外,很难随机访问文本文件中的数值数据。尽管字符串中的每个字符占用一个字节的空间,但是将一个数字表示为字符串所需要的空间通常是不固定的。如需查找文本文件中的第9个数字,LabVIEW须先读取和转换前面8个数字。

将数值数据保存在文本文件中,可能会影响数值精度。计算机将数值保存为二进制数据,而通常情况下数值以十进制的形式写入文本文件。因此将数据写入文本文件时,可能会丢失数据精度。二进制文件中并不存在这种问题。

文件I/OVI和函数可在文本文件和电子表格文件中读取或写入数据。

2.何时使用二进制文件

磁盘用固定的字节数保存包括整数在内的二进制数据。例如,以二进制格式存储0~40亿之间的任何一个数,如1、1000或1000000,每个数字占用4个字节的空间。

二进制文件可用来保存数值数据并访问文件中的指定数字,或随机访问文件中的数字。与人可识别的文本文件不同,二进制文件只能通过机器读取。二进制文件是存储数据最为紧凑和快速的格式。在二进制文件中可使用多种数据类型,但这种情况并不常见。(www.chuimin.cn)

二进制文件占用较少的磁盘空间,且存储和读取数据时无需在文本表示与数据之间进行转换,因此二进制文件效率更高。二进制文件可在1字节磁盘空间上表示256个值。除扩展精度和复数外,二进制文件中含有数据在内存中存储格式的映象。因为二进制文件的存储格式与数据在内存中的格式一致,无需转换,所以读取文件的速度更快。

文本文件和二进制文件均为字节流文件,以字符或字节的序列对数据进行存储。

文件I/OVI和函数可在二进制文件中进行读取写入操作。如需在文件中读写数字数据,或创建在多个操作系统上使用的文本文件,可考虑用二进制文件函数。

3.何时使用数据记录文件

数据记录文件可访问和操作数据(仅在LabVIEW中),并可快速方便地存储复杂的数据结构。

数据记录文件以相同的结构化记录序列存储数据(类似于电子表格),每行均表示一个记录。数据记录文件中的每条记录都必须是相同的数据类型。LabVIEW会将每个记录作为含有待保存数据的簇写入该文件。每个数据记录可由任何数据类型组成,并可在创建该文件时确定数据类型。

例如,可创建一个数据记录,其记录数据的类型是包含字符串和数字的簇,则该数据记录文件的每条记录都是由字符串和数字组成的簇。第一个记录可以是(“abc”,1),而第二个记录可以是(“xyz”,7)。

数据记录文件只需进行少量处理,因而其读写速度更快。数据记录文件将原始数据块作为一个记录来重新读取,无需读取该记录之前的所有记录,因此使用数据记录文件简化了数据查询的过程。仅需记录号就可访问记录,因此可更快更方便地随机访问数据记录文件。创建数据记录文件时,LabVIEW按顺序给每个记录分配一个记录号。

从前面板和程序框图可访问数据记录文件。

每次运行相关的VI时,LabVIEW会将记录写入数据记录文件。LabVIEW将记录写入数据记录文件后将无法覆盖该记录。读取数据记录文件时,可一次读取一个或多个记录。

如开发过程中系统要求更改或需在文件中添加其他数据,则可能需要修改文件的相应格式。修改数据记录文件格式将导致该文件不可用。存储VI可避免该问题。

前面板数据记录可创建数据记录文件,记录的数据可用于其他VI和报表中。

4.波形文件

波形文件是一周特殊的数据记录文件,它记录了发生波形的一些基本信息,如波形发生的起始时间、采样的时间间隔等。