0.1 LabVIEW概述
0.1.1 LabVIEW简介
作为美国国家仪器公司(National Instrument,NI)推出的虚拟仪器开发平台,LabVIEW以其直观、简便的编程方式,众多的源码级的设备驱动程序,多种多样的对分析和表达功能的支持,为用户快捷地构建自己在实际生产中所需要的仪器系统创造了基础条件。
由于采用了图形化编程语言——G语言,LabVIEW产生的程序是框图的形式,易学易用,特别适合硬件工程师、实验室技术人员、生产线工艺技术人员的学习和使用,可以在很短的时间内掌握并应用到实际中去。因此,硬件工程师、现场工程技术人员及测试技术人员学习LabVIEW驾轻就熟,不必去记忆那些眼花缭乱的文本式程序代码,可在很短的时间内学会并应用LabVIEW。
LabVIEW程序又称为虚拟仪器,它的表现形式和功能类似于实际的仪器,但LabVIEW程序很容易改变其设置和功能。因此,LabVIEW特别适用于实验室、多品种小批量的生产线等需要经常改变仪器和设备参数和功能的场合,以及对信号进行分析、研究、传输等场合。
总之,由于LabVIEW能够为用户提供简明、直观、易用的图形编程方式,能够将烦琐复杂的语言编程简化成为以菜单提示方式选择功能,并且用线条将各种功能连接起来,十分省时简便,深受用户青睐。与传统的编程语言比较,LabVIEW图形编程方式能够节省85%以上的程序开发时间,其运行速度却几乎不受影响,体现出了极高的效率。使用虚拟仪器产品,用户可以根据实际生产需要重新构建新的仪器系统。例如,用户可以将原有的带有RS-232 接口的仪器、VXI总线仪器,以及GPIB仪器通过计算机连接在一起,组成各种各样新的仪器系统,由计算机进行统一管理和操作。
可以预见,由于LabVIEW拥有上述其他编程语言无法比拟的优势,已经成为该领域的一朵奇葩,最终将引发传统仪器产业的一场新革命。
0.1.2 G语言与虚拟仪器
从LabVIEW研制开发的过程可以看到,虽然LabVIEW本身是一个功能比较完整的软件开发环境,但它是为替代常规的BASIC或C语言而设计的,LabVIEW是编程语言而不仅仅是一个软件开发环境。作为编写应用程序的语言,除了编程方式不同外,LabVIEW具备编程语言的所有特性,因此又称为G语言。
G语言是一种适用于任何编程任务,具有扩展函数库的通用编程语言。与BASIC和C语言一样,G语言定义了数据模型、结构类型和模块调用语法规则等编程语言的基本要素,在功能完整性和应用灵活性上不逊于任何高级语言,同时G语言丰富的扩展函数库还为用户编程提供了极大的方便。这些扩展函数库主要面向数据采集、GPIB和串行仪器控制,以及数据分析、数据显示和数据存储。G语言还包括常用的程序调试工具,提供设置断点、单步调试、数据探针和动态显示执行程序流程等功能。G语言与传统高级编程语言最大的差别在于编程方式,一般高级编程语言采用文本编程,而G语言采用图形化编程方式。
G语言编写的程序称为虚拟仪器(Virtual Instruments,VI),因为它的界面和功能与真实仪器十分相似,在LabVIEW环境下开发的应用程序都被冠以.vi后缀,以表示虚拟仪器的含义。一个VI由交互式用户接口、数据流框图和图标连接端口组成,各部分功能如下。
(1)VI的交互式用户接口因为与真实物理仪器面板相似,又称前面板。前面板包含旋钮、刻度盘、开关、图表和其他界面工具,允许用户通过键盘或鼠标获取数据并显示结果。
(2)VI从数据流框图接收指令。框图是一种解决编程问题的图形化方法,实际上是VI的程序代码。
(3)VI模块化特性。一个VI既可以作为上层独立程序,也可以作为其他程序(或子程序)的子程序。当一个VI作为子程序时,称为SubVI。VI图标和连接端口的功能就像一个图形化参数列表,可在VI与SubVI之间传递数据。
正是基于VI的上述功能,G语言最佳地实现了模块化编程思想。用户可以将一个应用分解为一系列任务,再将每个任务细分,将一个复杂的应用分解为一系列简单的子任务,为每个子任务建立一个VI,然后,把这些VI组合在一起完成最终的应用程序。因为每个SubVI可以单独执行,所以很容易调试。进一步而言,许多低层SubVI可以完成一些常用功能,因此,用户可以开发特定的SubVI库,以适应一般的应用程序。
G语言是LabVIEW的核心,熟练掌握G语言的编程要素和语法规则,是开发高水平LabVIEW应用程序最重要的基础。换句话说,要真正掌握LabVIEW开发工具,必须把它作为一个编程语言,而不仅仅是作为一个编程环境来学习,这正是本书着力强调并贯穿于全书的重点内容。
虚拟仪器的概念是LabVIEW的精髓,也是G语言区别于其他高级语言最显著的特征。正是由于LabVIEW的成功,才使虚拟仪器的概念为学术界和工程界广泛接受;反过来也正是因为虚拟仪器概念的延伸与扩展,才使LabVIEW的应用更加广泛。
总之,LabVIEW建立在易于使用的图形数据流编程语言G语言基础之上。G语言大大简化了科学计算、过程监控和测试软件的开发,并可以在更广泛的范围内得以应用。