首页 理论教育实例演示:二进制文件的读写

实例演示:二进制文件的读写

【摘要】:3)通过写入二进制文件函数节点将正弦波VI产生的正弦波数据写入文件。使用读取二进制文件VI读取数据时,必须指定数据类型,方法是将所需要类型的数据连接到读取二进制文件VI的数据类型输入端。

尽管二进制文件的可读性比较差,是一种不能直接编辑的文本格式,但是由于它是LabVIEW中格式最为紧凑、存取效率最高的一种文件格式,因而在LabVIEW程序设计中这种文件类型得到了广泛的应用。

1.二进制文件的写入

使用写入二进制文件函数VI演示二进制文件写入的流盘操作。操作步骤如下。

1)使用文件对话框VI打开文件对话框,选择文件路径。

2)使用打开/创建/替换文件函数节点创建一个新的文件。

3)通过写入二进制文件函数节点将正弦波VI产生的正弦波数据写入文件。

4)使用关闭文件节点关闭数据文件。

VI的前面板及运行结果如图7-132所示,VI的程序框图如图7-133所示。

978-7-111-53194-4-Chapter07-257.jpg

图7-132 程序前面板及运行结果

978-7-111-53194-4-Chapter07-258.jpg

图7-133 程序框图

信号源是正弦波发生器,输出的是一个正弦波形数组。可以看到,在存储数据时,是将双精度数组数据直接写入文件的,而没有经过数据转换,因此写入二进制文件的速度是很快的。(www.chuimin.cn)

需要注意的是,应该把文件的打开和关闭操作放在While循环的外面。如果单独将打开文件的操作放在循环里面,将会重复打开文件;如果单独将关闭文件的操作放在循环内部,在循环第一次运行结束后,文件引用句柄将被关闭,在循环第二次运行时,关闭文件VI将试图关闭一个不存在的文件应用句柄,程序会报错;如果同时将文件打开和关闭操作放在循环内,虽然程序能够运行,但数据文件中只能记录最近一次采集的数据。

2.二进制文件的读取

读取二进制数据文件时需要注意两点:一是计算数据量;二是必须知道存储文件时使用的数据类型。

操作步骤如下。

1)使用文件对话框VI打开一个文件对话框,选择文件路径。使用打开/创建/替换文件函数将指定的文件打开。

2)利用获取文件大小函数节点计算文件的长度,并根据所使用数据类型的长度计算出数据量,本例中的数据类型为双精度数据,每个双精度数据占用8B,所以数据量等于文件长度除以8。使用读取二进制文件VI读取数据时,必须指定数据类型,方法是将所需要类型的数据连接到读取二进制文件VI的数据类型输入端。

3)读取完毕,使用关闭文件函数节点关闭数据文件。

VI的前面板及运行结果如图7-134所示,VI的程序框图如图7-135所示。

978-7-111-53194-4-Chapter07-259.jpg

图7-134 程序前面板及运行结果

978-7-111-53194-4-Chapter07-260.jpg

图7-135 程序框图