LabVIEW编程实例:电子表格文件读取

LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
与 C 和BASIC 一样,LabVIEW 也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW 的函数库包括数据采集、数据分析及数据存储等等。
问题引出
在使用LabVIEW软件编写大型测试程序时,很多时候需要将原始采样数据或者分析处理后的数据在硬盘上存储为文件,而存储的格式可以是直观的普通的文本文件,也可以是占用空间小的二进制文件,除了这些外,LabVIEW中还提供了一种更为简洁的文件格式的支持,即电子表格文件的支持,在LabVIEW中可以利用其提供的现成函数,方便的对数据进行电子表格文件的存储与读取操作。
电子表格是格式化的文本文件,在电子表格中,一般用制表符隔开各列,用行结束符隔开各行,该文件可以使用微软的Excel软件打开,也可以当作普通文本使用文本编辑器进行打开。
下面通过一个例子演示如何在LabVIEW中读写电子表格文件。
示例说明
该例功能是,读取仪器所测量的数据,数据文件格式为csv文件,其文件内容如下:第一列为数据序号;第二列为数据记录时间;第三列为测量所得的仪器信号数据(每3分钟测量一次)。本程序读取该电子表格文件中的信号数据,最后将信号数据在波形图控件上进行显示,前面板如图所示:

在前面板上放置了如下控件:波形图显示控件,用于显示信号数据;四个数值显示控件,分别显示最大值、最小值和平均值以及时间的选择;三个布尔控件,用于程序开始与结束以及坐标类型选择。
程序框图实现
程序框图设计如下图所示:

这儿用到了公式节点,读电子表格文件函数,以及字符串到时间标识的转换。

字符串到时间标识的转换的关键在于先要对字符串进行扫描,得到年月日等各个字段的数据,然后通过名称绑定的方式输出能够被“日期/时间至秒转换”函数识别的簇。字符串扫描比较简单,难点在于“日期/时间至秒转换”函数的“输入簇”参数如何设置。其步骤如下:
1.在程序框图中添加“获取日期/时间(秒)”和"秒至日期/时间转换"函数,为"秒至日期/时间转换"函数输出端创建显示控件。

2.为新创建的显示控件"日期时间记录"添加"按名称捆绑"函数

3. 得到的"按名称捆绑"函数中已经包含了各项元素名称

4. 拖动得到的"按名称捆绑"函数的各个元素名

5. 将"日期时间记录"的“显示为图标属性”取消
6. “显示为图标属性”取消后效果如下:

7.将"日期时间记录"转换为输入控件

8. 按照下图连接刚刚生成的各个函数

9. 逐项连接”字符串扫描“函数的输出和”按名称绑定“函数的输入项目
(注意:”字符串扫描“函数输出项从上往下依次是:年、月、日、时、分、秒)

10. 将"日期时间记录"转换为常数

关于公式节点的使用:公式节点是一种便于在程序框图上执行数学运算的节点。在公式节点中可以使用算术表达式来实现算法过程,用户无须使用任何外部代码或应用程序,在创建方程时无须连接任何基本算术函数。除接收文本方程表达式外,公式节点还接收c语言中的if语句、while循环、for循环和do循环。这些程序的组成元素与在c语言程序中的元素相似,但不完全相同。
在LabVIEW中使用公式节点进行编程的一般步骤如下:
1. 创建新的公式节点
2. 在框中输入文本行表示的数学公式和文本语句
3. 添加输入/输出数据端口,并命名(与公式中变量同名)
4. 将数据端口与公式节点的输入/输出端口进行连接,通过输出端口得到计算结果
而关于“读取电子表格文件”函数,可参见帮助,此文不在赘述。
运行程序,我们可以看到,通过时间的选择,我们可以显示不同时间段的数据,且数据记录的时间和大小都可以在界面上显示出来。
总结
本例演示了在LabVIEW中,如何将波形数据存储为电子表格文件,以及如何从电子表格文件中读取出进行波形显示的方法,从这儿也可看出,相对于其它如C语言编程语言,在LabVIEW中读写电子表格文件是非常简单方便的,这也充分体现了LabVIEW作为图形化的编程语言,其具有开发迅速、简洁方便的特点。