首页 理论教育LabVIEW2015电子表格文件的读写操作

LabVIEW2015电子表格文件的读写操作

【摘要】:LabVIEW 2015中文版提供了两个VI用于写入和读取电子表格文件,它们分别是写入电子表格文件VI和读取电子表格文件VI。下面以两个实例分别介绍这两个函数存取电子表格文件的方法。图7-120所示的程序可能有些不容易理解,问题在于两个写入电子表格文件VI的执行次序问题。2)使用读取电子表格文件VI将保存在文件中的数据逐个读出。

要将数据写入电子表格,必须格式化字符串为包含分隔符(如制表符)的字符串。

写入电子表格文件VI或数组至电子表格字符串转换函数可以将来自图形、图表或采样的数据集转换为电子表格字符串。

LabVIEW 2015中文版提供了两个VI用于写入和读取电子表格文件,它们分别是写入电子表格文件VI和读取电子表格文件VI。下面以两个实例分别介绍这两个函数存取电子表格文件的方法。

写入电子表格文件VI可以将一个一维或二维数组写入文件,如果没有在文件路径输入端口指定文件路径,则程序会弹出一个“文件”对话框,提示用户给出文件名。除了文件路径输入端口以外,此VI的二维数据和一维数据输入端口分别用于连接将要存储为文件的二维和一维数组。“添加至文件?(新文件:F)”输入端口用于连接一个布尔变量,如果变量的值为TRUE,则输入的数据追加到已有文件的后面,如果是FALSE,则输入的数据将覆盖原有的文件。“转置?(否:F)”数据输入端同样也连接一个布尔型变量,如果是TRUE,则将输入的数组做转置运算,然后将运算的结果存储为电子表格文件。在格式数据输入端口可以更改数组中数据的格式。

1.写入电子表格文件VI的使用

写入电子表格文件VI的演示程序的程序框图如图7-121所示。

图7-121中的程序将For循环产生的正弦与余弦数据存储在电子表格文件data中,用Microsoft Excel打开这个文件,可以发现文件中有两行,第一行为余弦数据,第二行为正弦数据,用Microsoft Excel的绘图功能分别汇出这两行数据的散点图分别如图7-122和图7-123所示。

图7-120所示的程序可能有些不容易理解,问题在于两个写入电子表格文件VI的执行次序问题。更容易理解且更常用的方法是将数据合并成一个二维数组,将二维数组一次性写入电子表格文件。程序框图如图7-124所示。

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

图7-121 程序框图

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

图7-122 用存储在电子表格文件中的余弦数据绘图

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

图7-123 用存储在电子表格文件中图的正弦数据绘图

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

图7-124 使用写入电子表格文件VI写入二维数组

本程序充分印证了电子表格的特性,也是这种文件格式最大的好处,可以用其他电子表格处理软件来处理文件中的数据。

2.电子表格文件的读取

电子表格文件的读取演示程序的程序框图如图7-125所示,使用读取电子表格文件VI读取用写入电子表格文件VI存储的正弦与余弦波形文件。

如果不在读取电子表格文件VI的文件路径端口连接任何路径,那么程序将打开“文件路径”对话框,让用户选择存储的电子表格文件的路径。在读取电子表格文件VI中另外几个比较重要的端口有行数(全部:-1)、读取起始偏移量(字符:0)和转置(否:F)。

将读取的电子表格文件的数据使用波形图控件在前面板上显示,程序的前面板及运行结果如图7-126所示。

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

图7-125 程序框图

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

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

在程序前面板中,波形图控件显示出了用读取电子表格文件VI读取的电子表格中的数据。两条正弦余弦曲线就是上一节中用写入电子表格VI存储的正弦、余弦数据。(www.chuimin.cn)

“文件I/O”函数还可用于流盘操作,它可以减少函数因打开和关闭文件与操作系统交互的次数,从而节省内存资源。流盘是一项在进行多次写操作时保持文件打开的技术,如在循环中使用流盘。如将路径控件或常量连接至写入文本文件、写入二进制文件或写入电子表格文件函数,则函数将在每次函数或VI运行时打开关闭文件,增加了系统占用。避免对同一文件进行频繁的打开和关闭操作,可提高VI效率。

在循环之前放置打开/创建/替换文件函数,在循环内部放置读或写函数,在循环之后放置关闭文件函数,即可创建一个典型的流盘操作。此时只有写操作在循环内部进行,从而避免了重复打开、关闭文件的系统占用。

对于速度要求高、时间持续长的数据采集,流盘是一种理想的方案。数据采集的同时将数据连续写入文件中。为获取更好的效果,在采集结束前应避免运行其他VI和函数(如分析VI和函数等)。

3.文件I/O函数的流盘操作

使用写入电子表格文件VI演示文件I/O函数的流盘操作。操作步骤如下。

“打开/替换/创建”VI的操作端口设置为“create or open”,即创建文件或替换已有文件。文件名的后缀并不重要,但习惯上常取“txt”或“dat”。

4.利用While循环将数据写入电子表格文件

5.使用关闭文件函数节点关闭文件

信号源是一个随机噪声。VI的前面板和程序框图如图7-127和图7-128所示。

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

图7-127 连续写入电子表格文件前面板

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

图7-128 连续写入电子表格文件程序框图

可以使用Windows操作系统的文本编辑工具查看文件中的数据。图7-129所示是用记事本打开的所存储的数据文件。从图中可以看出,数据共有一列20行,每一行对应一次数据采集,每次数据采集包含一个数据。

下面使用读取电子表格文件VI演示数据读取中的流盘操作。步骤如下。

1)使用“打开/替换/创建”VI打开一个文件,它的操作端口设置为“open”,即打开已有文件。

2)使用读取电子表格文件VI将保存在文件中的数据逐个读出。将这些数据打包成数组送入波形图显示。

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

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

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

图7-129 写入电子表格文件中的数据

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

图7-130 连续读取电子表格文件程序前面板及运行结果

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

图7-131 连续读取电子表格文件程序框图