1.引言
现代科技的发展日新月异。计算机技术则尤为如此。计算机强大的处理能力,使得它成为一种很好的工具,其应用范围也越来越广泛。在工业自动化和测试及测量领域,传统的方法有许多重复建设,显然已经不能适应时代发展的需要了。如何利用先进的计算机技术提高效率则成为该领域迫切需要解决的问题。1986年,美国NI公司(Nation Instrument)提出了虚拟仪器的概念,提出了"软件即仪器"的口号,彻底打破了传统仪器只能由生产厂家定义,用户无法改变的局面,从而引起仪器和自动化工业的一场革命。随着现代软件和硬件技术的飞速发展,仪器的智能化和虚拟化已经成为未来各级实验室以及研究机构发展的方向。虚拟仪器,顾名思义,它应具有传统仪器的功能,又有别于其传统仪器。它的特点体现在其灵活性上,它能够充分利用和发挥现有计算机先进技术,使仪器的测试和测量及自动化工业的系统测试和监控变得异常方便和快捷。
LabVIEW(Laboratory Virtual Instrument Engineering Workbench实验室虚拟仪器工程平台)是一个程序开发环境。类似于C、BASIC。但LabVIEW的特点在于,它使用图形化编程语言G在流程图中创建源程序,而非使用基于文本的语言来产生源程序代码。LabVIEW还整合了与诸如满足GPIB、VXI、RS-232和RS-485以及数据采集卡等硬件通讯的全部功能。内置了便于 TCP/IP、Active X等软件标准的库函数。虽然LabVIEW是一个通用编程系统,但是它也包含为数据采集和仪器控制特别设计的函数库和开发工具。LabVIEW程序被称为虚拟仪器(VIs),是因为它们的外观和操作能模仿实际的仪器。由于LabVIEW所使用的术语、图标和概念都是技术人员、科学家、工程师所熟悉的,故而即使用户没有多少编程经验,同样也能利用LabVIEW来开发自己的应用程序。
创建虚拟仪器的过程共分三步:(1)虚拟仪器的交互式用户接口被称为前面板,因为它模仿了实际仪器的面板。前面板包含旋钮、按钮、图形和其它的控制与显示对象。通过鼠标和键盘输入数据、控制按钮,可在计算机屏幕上观看结果。(2)虚拟仪器从流程图中接收命令(用G语言创建)。流程图是一个编程问题的图形化解决方案。流程图也是虚拟仪器的源代码。(3)一个虚拟仪器的图标和连接就象一个图形(表示某一虚拟仪器)的参数列表。这样,其它的虚拟仪器才能将数据传输给一个子仪器。图标和连接允许将此仪器作为最高级的程序,也可以作为其它程序或子程序中的子程序(子仪器)。
2.2图形化编程环境
该环境包含前面板、流程图、图标和连接。在软件启动时,系统会建立一个缺省名为Untitled.1的文件(VI)。该文件包含两个窗口,一个用以编辑前面板,另一个用作编辑流程图。前面板就象是虚拟仪器的用户接口,尤如实际仪器的面板。前面板基本上是控制和显示对象的集合。用以控制模拟仪器输入设备,为虚拟仪器的流程图提供数据。显示模拟仪器的输出设备及流程图中获得或产生的数据 。
流程图窗口用以编辑虚拟仪器的图形化源代码。通过连线将输出、接收数据的对象连接起来创建流程图,就能实现特定的功能,控制执行的流程。需特别指明的是:LabVIEW运行是数据流驱动的。简单地说,就是只有当所有的输入数据都准备好的时候,一个节点才能执行其功能,当节点执行完后,它所有的输出端口都会产生一个数据值。数据都是从源端流到目的端。数据流不同于执行一个传统程序的控制流方法(通过执行一系列的指令来实现的)。控制流执行是指令驱动。而数据流执行是数据流驱动或依赖数据的。这里提到的节点是程序执行的元素。它们类似于传统编程语言中的状态、操作、函数和子程式。LabVIEW包含广泛用于数学计算、比较、转换、输入/输出的函数库。另一类节点类型是结构。结构就是传统编程语言的循环、条件描述的图形表示,不断的重复和执行代码。 LabVIEW也提供了用于连到外部基于文本的代码和用于计算基于文本的公式的特殊节点。