第3.1节 LabVIEW图形化编程语言基本单元——VI
前面我们多次说过,LabVIEW图形化编程语言的核心概念就是虚拟仪器。
在LabVIEW开发环境下,已明确的定义出LabVIEW程序中最小的可执行单元就是VI(虚拟仪器)。
既然 VI(虚拟仪器)是LabVIEW中最小的、可执行的程序单元。那么VI本身又包含那些基本元素呢?或者说VI是由那些基本元素构成的呢?
LabVIEW开发环境提供了构成VI的三个基本元素
1、前面版(Front panel)
前面版是VI特有的组成部分之一,用来在计算机的屏幕上显示人机对话、交互式用户操作界面,亦可构成模拟真实仪器的操作面板。它可以放置诸如开关、滑动条、仪表盘、图形、图表、LED等等控件,所有这些控件都可以在LabVIEW开发环境所提供的控件选项板上找到。
前面版正是虚拟仪器所必须的含有的部件之一,也是用户唯一可以见到的部分。
在基于文本代码的编程语言中,比如C、Java,仅编写一个前面版就要写很多程序代码,而在LabVIEW开发环境中,前面版是提供给设计者设计VI所必须的提供的要素之一。
2、程序框图( Block diagram)
程序框图是放置LabVIEW图形化语言程序源代码的地方。
LabVIEW图形化语言采用的是用图形方式表示的程序或算法,构成图形化语言程序代码的基本要素后面会讲到。程序框图为程序设计者编程时所使用,最终用户也是无法看到的。
程序款图是提供给设计者设计VI所必须的提供的要素之一。
3、图标和连接器(Icon and Connector)
LabVIEW图形化语言的每个VI都有自己的图标和连接器。图标构成区别不同VI的图形符号,而连接器定义了VI的输入和输出(当然也可以不进行定义)。
图标和连接器指定了程序中数据流进、流出的路径。它们也只提供给程序设计者,最终用户也是无法看到的。
每个VI的前面版、后面版的右上角都有一个属于这个VI的图标,以用来与其它VI相区别。程序的设计者可以设计、修改这个图标。
现在可以说基本上比较清晰了,在LabVIEW环境下,任何一个VI都包含LabVIEW开发环境提供的“三件套”:前面版、程序框图及图标和连接器。
前面版构成VI的人机对话界面和数据、图形显示界面;程序框图用来放置VI的可执行程序代码,图标和连接器构成区别不同VI的图形符号,而连接器也定义了VI的数据输入和输出。
注意:VI是可以有一定的层次结构的,也就是说:每个VI都可能定义成为子VI,而每个VI里面也可能包含多个子VI。
思考题:最简单的VI(虚拟仪器)是什么样?
说到这里,我就曾想到过,那么最小的(最简单的)VI(虚拟仪器)应该是什么样的?试一试,发现最小的VI就是在LabVIEW开发环境下,新创建一个VI,然后直接再将它保存(或者称为空VI)。
的确,它包含了前面版、程序框图、连接器和图标,尽管我们没有添加任何代码或修改任何属性。这也是最简单的虚拟仪器。
这个例题说明:LabVIEW的核心要素就是虚拟仪器,这也源于LabVIEW诞生的初衷,VI也源自虚拟仪器英文的首字母的缩写,尽管这个最简单的VI丝毫没有一点虚拟仪器的样子。
如果LabVIEW真的变成通用的编程语言,那VI还是虚拟仪器的英文的首字母缩写吗?
与基于文本编程语言相比
LabVIEW图形化编程语言与基于文本的编程语言(C、Java)相比,除了一个使用图形化的方法编程,而另一个使用文本的方法编程外,还有一个区别,就是VI必须在LabVIEW开发环境下进行编程、调试等,或者说是撰写图形化的源代码;而C、Java则可以事先使用“记事本”等进行源代码的编写、整理等(当然这要具备很高的能力)。
而最大的区别在于,图形化编程语言的效率要远远大于基于文本的编程语言,这是最被人看重的特点和优点。
小结
本节简要介绍了,在LabVIEW开发环境下,VI是虚拟仪器应用程序的最小运行单元,并介绍了VI的基本构成。
而我们所期待的虚拟仪器设计,简单的讲,是在LabVIEW开发环境下,按设计需求或用户的要求完成构成VI“三件套”的设计、调试、文档编制等等工作。
这些也正是我们学习LabVIEW后,所期待能够实现或完成的。