【摘要】:尽管二进制文件的可读性比较差,是一种不能直接编辑的文本格式,但是由于它是LabVIEW中格式最为紧凑,存取效率最高的一种文件格式,因而在LabVIEW程序设计中这种文件类型得到了广泛的应用。通过写入二进制文件函数节点将正弦波VI产生的正弦波数据写入文件。使用读取二进制文件VI读取数据时,必须指定数据类型,方法是将所需类型的数据连接到读取二进制文件VI的数据类型输入端。VI的前面板及运行结果如图8-130所示,VI的程序框图如图8-131所示。
尽管二进制文件的可读性比较差,是一种不能直接编辑的文本格式,但是由于它是LabVIEW中格式最为紧凑,存取效率最高的一种文件格式,因而在LabVIEW程序设计中这种文件类型得到了广泛的应用。
例8-6:二进制文件的写入。
使用文件对话框VI打开文件对话框,选择文件路径。
使用打开/创建/替换文件函数节点创建一个新的文件。
通过写入二进制文件函数节点将正弦波VI产生的正弦波数据写入文件。
使用关闭文件节点关闭数据文件。
VI的前面板及运行结果如图8-128所示,VI的程序框图如图8-129所示。
在本例中,信号源是正弦波发生器,输出的是一个正弦波形数组。可以看到,在存储数据时,是将双精度数组数据直接写入文件的,而没有经过数据转换,因此写入二进制文件的速度是很快的。
图8-128 例8-6程序前面板
图8-129 例8-6程序框图
需要注意的是,应该把文件的打开和关闭操作放在While循环的外面。如果单独将打开文件的操作放在循环里面,将会重复打开文件;如果单独将关闭文件的操作放在循环内部,在循环第一次运行结束后,文件引用句柄将被关闭,在循环第二次运行时,关闭文件VI将试图关闭一个不存在的文件应用句柄,程序会报错;如果同时将文件打开和关闭操作放在循环内,虽然程序能够运行,但数据文件中只能记录最近一次采集的数据。(www.chuimin.cn)
例8-7:二进制文件的读取。
读取二进制数据文件时需要注意两点:一是计算数据量;二是必须知道存储文件时使用的数据类型。
本实例的操作步骤如下:
使用文件对话框VI打开一个文件对话框,选择文件路径。使用打开/创建/替换文件函数将指定的文件打开。
利用获取文件大小函数节点计算文件的长度,并根据所使用数据类型的长度计算出数据量,本例中的数据类型为双精度数据,每个双精度数据占用8个字节,所以数据量等于文件长度除以8。使用读取二进制文件VI读取数据时,必须指定数据类型,方法是将所需类型的数据连接到读取二进制文件VI的数据类型输入端。
读取完毕,使用关闭文件函数节点关闭数据文件。
VI的前面板及运行结果如图8-130所示,VI的程序框图如图8-131所示。
图8-130 例8-7的程序前面板
图8-131 例8-7的程序框图
相关推荐