第2.2节 什么是LabVIEW?
在本《札记》中,从开始到现在大概也数不清有多少次提到了LabVIEW这个词,到底什么是LabVIEW?包括我在内的许多初学者也都曾经提出过类似这样的问题,那么到底什么是LabVIEW?
其实,关于这个问题,我想无须做更多的解释,仅从它的名称中我们就可以得到非常精准的答案:
LabVIEW 是 Laboratory Virtual Instrument Engineering Workbench(实验室虚拟仪器集成环境) 英文首字母的缩写组合。
它是由美国国家仪器公司(National Instruments,简称NI公司)创造、开发的一个系统级、功能强大、而又十分灵活、高效的“虚拟仪器”应用软件开发工具(环境)。
LabVIEW核心概念是:虚拟仪器(技术);它的最大特点是:采用G(Graphical programming 图形编程)语言进行虚拟仪器应用程序设计、开发。所以,LabVIEW的程序也被称作为:VI(Virtual Instrument 虚拟仪器)。
用比较通俗的解释就是:LabVIEW是一个符合工业标准的系统级虚拟仪器应用软件开发平台,它包括了采用图形化的虚拟仪器应用程序的设计方法及项目管理、调试、运行、发布等等一整套环节。
纯个人观点
实际上最容易引起混乱的就是:经常用G语言来指代LabVIEW。其实这应该是两个不同的概念。
先看G语言:G语言应该是泛指具有图形化编程能力的所有的编程语言,而并不是“LabVIEW”的专用代名词。因为安捷伦公司的VEE Pro也是一种基于图形化的编程语言(均属测量领域)。我目前使用的网页设计方法也是基于图形化的设计方法和操作来实现网页设计的。
而LabVIEW应该指的是:一个基于图形化编程方法的虚拟仪器应用软件开发环境。它包括了:基于图形化程序设计的方法、调试、运行、发布等等一系列环节。
所以,不应该简单的把LabVIEW称为G语言,因为它是众多G语言中的一种。
但是多年来大家已经习惯了这样叫法,这里我们还是尊重大家的传统习惯吧!但至少应该保持概念上的清晰。
虚拟仪器及虚拟仪器技术的缔造者,美国NI公司,成立于1976年。
在70年代前后,美国的HP(Hewlett-Packard)公司设计、开发一种用于计算机和仪器通讯的串行接口系统,简称为:HP- IL(Hewlett-packard Interface Loop)。后来又经过不断的改进成为一种并行通讯接口 HP-IB(Hewlett-Packard Instrument Bus) 或称为 GPIB (General Purpose Interface Bus)。
由于GPIB接口总线——有效的解决了计算机和仪器通讯的问题,后来被国际电工委员会Institute of Electrical and Electronics Engineers,简称:IEEE,批准接纳成为国际标准,也就是人们所熟知的IEEE-488-1975(IEEE-488.1),及后来修订的 IEEE-488-1987(IEEE-488.2)。实际上,IEEE-488.1定义了GPIB接口的硬件电器标准,而IEEE-488.2则定义了 GPIB的软件语法规则。
后来,NI公司在此基础上开发出了488.1的硬件扩展版,即HS-488,将GPIB总线的传输速率从1Mbytes/s提高到8Mbytes/s,即后来成为国际标准的IEEE-488-2003。
80年代初期,NI公司凭借着在GPIB开发上所获得的成功,已经成为基于个人计算机的GPIB控制器的稳定开发商和供应商。他们在商务活动中敏感的发现:当时,所有的仪器控制程序都是使用BASIC语言设计、开发的,而对于那些精通测试、测量工作的科学家和工程技术人员来讲,使用BASIC语言来编制仪器控制程序,可能不是一件很愉快的事,应该是一种负担或者是一种不堪忍受的磨难(肯定不是快乐)!
NI公司的精英们设想:如果能够发明一种很实用、很方便的仪器控制软件开发工具或软件开发平台,必将彻底改变那些测试、测量科学家和工程技术人员对仪器控制程序设计的态度。可是在当时,NI公司并非是财大气粗的大公司,搞这样的开发、研究风险是相当大的。应该说:这是每个制定政策的人都十分清楚的问题。即便如此,他们还是下定了决心,于1983年4月开始,迈出实现这个伟大发明梦想的第一步。
大约是经过了三年多艰苦卓绝的不懈努力,这些天才的发明家,终于实现了他们当初的梦想。 LabVIEW 1.0(Mac版)诞生,那是在1986年。20年后,NI公司为纪念这一伟大的创举诞生20周年,在2006年发布了LabVIEW 8.20特别纪念版。而2008年我们正在使用的版本是: LabVIEW 8.6。
毫无疑问,LabVIEW的诞生,确实引发了测试、测量仪器领域的一场革命。特别是它以创新的“虚拟仪器”、“软件就是仪器”的概念,以及采用图形化编程的手法,以及所提供的强大的内在分析、处理能力和性能优异的硬件模块支持,逐渐成为测试、测量应用工程师极为有力的帮手。
我对 LabVIEW的“崇拜”和“热衷”,完全是源于它,使我在项目研究和虚拟仪器应用程序的设计中,体会到了无限的快乐和无比强大的成就感。但是,并非是所有学习过和使用过LabVIEW的人,都能够象我一样体会到快乐和成就感,特别是那些刚刚涉足测试、测量领域的年轻人。
事实上,问题出在,LabVIEW 是一个十分强大而又非常复杂的编程环境,即便是一个LabVIEW编程高手,如果缺乏对测量知识或硬件电路的充分了解和掌握,也可能无法实现所需的设计工作。 换句话说:LabVIEW很强大,但它还是针对的测试、测量领域,缺乏这方面的基础知识,你仍无法真正地领略到它的强大所在。这也是激发我写此《札记》的原动力,我真诚的希望通过本《札记》所介绍的数据采集基本知识和相关的应用实例能够在这方面对他们有所帮助和提高。
纯个人观点:
我个人一直有这样一个观点:是Apple(美国苹果公司)公司不断创新的技术成就和新技术成果地不断涌现,成就了NI的发明者。应该说:美洲大陆上两个最伟大的公司,在同一个伟大的时代,各自做出了伟大的发明。直到如今,他们在我的心目中,仍旧是世界上最伟大的两个电子公司。
第一,Mac(苹果计算机)电脑的成功设计,的确让NI公司的发明家真正的领会到了什么是图形化操作。图形化操作——就是用图标代替代码,用鼠标点击、拖拽图标来实现对电脑的操控。这的确给用户带来了巨大的实用性和灵活性,可以说:图形化操作对电脑的普及和发展起到了相当积极的推动作用。反观当时的PC 机,还在使用DOS操作系统,并且根本就没有鼠标。
第二,Mac电脑本身强大的内存及图形处理能力,在当时绝对是可以堪称世界第一流的。Mac电脑本身所具备的先进技术性能,事实上,已经成为实现他们伟大发明的助推器。
第三,Mac 电脑以其灵活、开放的体系架构,提供了丰富的I/O扩展能力,这包括:GPIB控制器、模数转换器和数字I/O等等。应该讲,这些能力也恰恰也是“虚拟仪器”本身所需要的。
我的个人主页设计全部是在iMac电脑上完成的,而我只使用苹果的Safari浏览器和火狐的Firefox浏览器。甚至在卧室里,我也可以使用苹果的iPod Touch来浏览我的个人主页。
下面给出大家公认的、LabVIEW的一些基本特点:
LabVIEW是以创新的图形化编程方法,来大大的提高了程序设计的效率。也可以说:使用它完全可以达到“所想”即可以“所得”的程度,这样更能激发人的创造性思维。可以毫不夸张这样讲:就整个自动化测量和自动化控制行业来看,目前,还没有比LabVIEW更好、更优秀、更合适的程序设计语言。
LabVIEW开发的程序是基于数据流的运行方式,它有意、无意的适应了当代计算机的多线程技术和多核技术的发展。目前我们所使用的计算机多为双核,但是 当四核、八核、N核的计算机商业化后,LabVIEW将更加显现出它强大无比的威力(NI公司已于2008年加入“多核”计算机协会)。
LabVIEW已经渗透到工业测量的各个领域,已经成为事实上的工业标准。与此同时在嵌入式、FPGA、PDA、DSP、实时控制等领域也发挥着巨大的作用。学习使用它可以使你始终处于技术发展的前沿,并受用终身。
LabVIEW内置了丰富的数据分析、处理函数,其数量多达数百个。从实际应用的角度出发,它还提供了大量的实例供使用者参考。NI的网站更是内容丰富,资料齐全。这些都为LabVIEW的学习者提供了极大的帮助。
LabVIEW本身内置了图形代码编译器,可以说:这绝对是世界上最好的动态编译器。它在你在进行程序代码设计地同时,就同步、实时地进行程序代码编译,只有当你的程序出现错误时你才会感觉到它的存在,并引领你到发生错误的地点及提供修改意见指导。
当然,LabVIEW的优点和特点不止这些,以后我们将会慢慢地涉及、体会到。现在要说的是:鼓起你的勇气,去热烈地拥抱它吧!它带给你的决不是一时的快意,而是从自动化测量工作中获得永恒的快乐!
我必须再次承认:对于LabVIEW,绝对是存在着我个人偏爱的观点和态度。因为我不想再去设计A/D、D/A转换电路。就这些电路而言,它们的更新发展速度实在是太快了,我没有能力和精力去不断的完善和改进电路设计。在我这个年龄段,根本就不会去学习、使用其它任何计算机语言来编写复杂的分析、处理程序, 我只想做我应该作好的测试、测量工作。恰恰是LabVIEW的出现,满足了我的这个需求:即不用搞新的硬件电路设计,又能够设计编写近乎专业级的测试分析、处理应用程序。
虽然,LabVIEW是以“虚拟仪器”为核心概念诞生的,并且以图形化编程语言来进行程序设计,但为了照顾其他使用不同语言的“虚拟仪器”设计者,虚拟仪器的缔造者NI公司还提供了其它两种不同方式的“虚拟仪器”软件开发环境:
LabWindows/CVI——基于标准C的虚拟仪器软件开发环境
Measurement Studio——基于.net构架的语言,如:VB、C#、VC++语言的虚拟仪器软件开发环境。
而本《札记》的内容完全是基于LabVIEW的,并不涉及其它那两种开发环境。
题外话:
Apple 公司和NI公司都是具有着极强的一致性和相似性的美国公司,都是即设计软件,又设计硬件;都是在各自的领域,与时俱进不断的发展。这大概也是我长久以来一直钟爱他们产品的一个主要原因吧!
既然LabVIEW是一种图形化的编程语言,那么它到底好在那里?它本身会有那些其它编程语言不一样的特点?……..。
下面我们就试着解开这些疑问吧!