LabVIEW开发实战:Labview简介

1、什么是Labview

2、数据流的概念

3、选择LabVIEW的原因

4、LabVIEW 学习捷径

5、 LabVIEW的工作环境

6、 LabVIEW自带编程示例

7、起源与发展历程

8、小结

1、什么是Labview

        LabVIEW (Laboratory Virtual Instrument Engineering Workbench)是一种用图标代替文本行创建应用程序的图形化编程语言。


        传统文本编程语言根据语句和指令的先后顺序决定程序的执行顺序,而LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了程序的执行顺序。在这方面,它不同于传统的编程语言,如VisualBasic、 C、C++或Java,这些语言使用文本方式编程。

        而LabVIEW不仅仅是一款编程语言,它还是为科学家和工程师等设计的一-种编程开发环境和运行系统,编程只是这些人员工作的一部分。它用图标表示函数,用连线表示数据流向。LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。


        用户界面在LabVIEW中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称G(Graphics) 代码。LabVIEW 的图形化源代码在某种程度.上类似于数据流流程图,因此又被称作程序框图代码。前面板上的每一个控件对应于程序框图中的-一个对象,当数据“流向”该控件时,控件就会根据自己的特性以一定的方式显示数据,例如开关、数字或图形。


        LabVIEW程序被称为VI ( Virtual Instrument), 即虚拟仪器,这是因为它的很多界面控件与操作都模拟了现实世界中的仪器,例如示波器与万用表等。LabVIEW的核心概念就是“软件即是仪器”,即虚拟仪器的概念。LabVIEW 还包含了大量的工具与函数用于数据采集、分析、显示与存储等。这些工具都是向导式的工具,用户只需要一步步按照提示就可以实现与仪器的连接和参数的设置。而程序员也不用去记忆这些大量的函数,因为这些函数都以图标与名称的形式存在于一个小小的函数面板上,当需要用到某个函数时把它从函数面板上拖放到程序框图中就可以了。这一切都是图形化带来的好处。


    由于LabVIEW可以用来创建通用的应用程序,因此被称为一种通用的编程语言。但是它在测试、测量和自动化等领域具有更大的优势,因为LabVIEW 提供了大量的工具与函数用于数据采集、分析、显示和存储。同时它还提供了大量常用于自动化测试测量领域的图形控件。这使得用户可以在数分钟内完成-套完整的从仪 器连接、数据采集到分析、显示和存储的自动化测试测量系统。因此它被广泛地应用于汽车、通信、航空、半导体、电子设计生产、过程控制和生物医学等各个领域,涵盖了从研发、测试、生产到服务的产品开发所有阶段。NI网站上的应用案例供读者参考: htp://www.ni.com/solutions/。


        LabVIEW不仅可以用来快速搭建小型自动化测试测量系统,还可以用来开发大型的分布式数据采集与控制系统。在美国Lawrence Livermore国家实验室,一个花费2000万美金的极为复杂的飞秒激光切割系统就是基于LabVIEW开发的。该系统中,4台WindowsNT工作站用网络连接起来,LabVIEW用来给激光提供测量、控制和自动定序,同时作为半熟练操作者的高层用户界面。几乎安装了所有类型的IO硬件: DAQ、GPIB、串行、远程控制SCXI、VME/VXI以及IMAQ成像。由于这个项目的极端重要性,因此本项目采取了正式的软件质量保证过程。软件开发总共用了4个年度,创建了约600个VI。

LabVIEW开发实战:Labview简介_第1张图片

2、数据流的概念


        LabVIEW编程开发环境与标准C或Java开发系统的一个重要区别是:标准语言编程系统采用基于文本的代码行编程;而LabVIEW则使用图形编程语言,通常被称为G语言,在称为框图的图形框架内编程。图形编程消除了文本编程中设计的许多语法细节,如(;)和( {})的放置经常会让人煞费
苦心。在LabVIEW中就不用担心这样的问题,即使是某个地方出现了连接错误,LabVIEW也会明确地指出错误,而不是像文本编程语言那样模棱两可。图形编程语言中最需要关注的是应用程序中的数据流,因为其简单的语法使程序变得更加简洁易懂。
        LabVIEW使用科学家和工程师们熟悉的术语、图标和概念,依靠图形符号而不是文本语言来定义程序的功能。LabVIEW的运行基于数据流的原理,一个函数只有收到必要的数据后才可以运行。基于这些特点,对于没有编程经验的人来说也是可以学会LabVIEW的。

LabVIEW开发实战:Labview简介_第2张图片

3、选择LabVIEW的原因

        选择LabVIEW开发测试和测量应用程序的一大决定性因素是其开发速度。通常,使用LabVIEW开发应用系统的速度比使用其他编程语言快4~10倍。这一惊人速度背后的原因在于LabVIEW易用易学,因为LabVIEW是专为测量、数据分析并提交结果而设计的,且LabVIEW拥有如此功能众多的图形用户界面又易于编程,使得它对于仿真、结果显示、通用编程甚至讲授基本编程概念也同样是很理想的语言。它所提供的工具使创建测试和测量应用变得更为轻松。
        LabVIEW的具体优势主要体现在以下几个方面:
        (1)提供了丰富的图形控件,并采用图形化的编程方法,彻底把工程师们从复杂枯涩的文本编程工作中解放出来。
        (2)内建的编译器在用户编写程序的同时就在后台自动完成了编译。因此用户在编写程序的过程中如果有语法错误,它会被立即显示出来。
        (3)由于采用数据流模型,它实现了自动的多线程,从而能充分利用处理器尤其是多处理器的处理能力。
        (4)通过DLL、CIN节点、ActiveX、 .NET或MATLAB脚本节点等技术,可以轻松实现LabVIEW与其他编程语言混和编程。
        (5)通过应用程序生成器可以轻松地发布EXE、动态链接库或安装包。
        (6) LabVIEW 提供了大量的驱动与专用工具,几乎能与任何接口的硬件轻松连接。
        (7) LabVIEW 内建了600多个分析函数,用于数据分析和信号处理。
        (8) NI同时提供了丰富的附加模块,用于扩展LabVIEW在不同领域中的应用,例如实时模块、PDA模块、FPGA模块、
数据记录与监控(DSC) 模块、机器视觉模块与触摸屏模块等。
        (9)LabVIEW 开发环境可以运行在Windows、Mac或Linux系统的计算机上,用LabVIEW编写的应用程序可以运行在
上述系统上,还可以运行在Microsoft Pocket PC、Microsoft Windows CE、Palm OS以及多种嵌入式平台上,包括
FPGA、DSP、ARM等微处理器上。
        (10)LabVIEW用户无法作为仪器的生产者,但是可以定义仪器的功能。使用计算机、插入式硬件和LabVIEW能共同组成
一个可完全配置的虚拟仪器,以完成用户的任务。使用LabVIEW,用户可以根据需要创建所需的任何类型的虚拟仪器,而
其成本仅仅是传统仪器的一部分。当需求变化时,还可以立即修改虚拟仪器。
        (11)LabVIEW拥有庞大的函数和子程序库,这些库可以帮助用户完成编程中的大部分任务,使得LabVIEW用户免于被传统
编程语言中指针、内存分配以及其他莫名的编程问题所困扰。
        (12)LabVIEW也包含特定的应用程序库代码,如数据采集( DAQ).通用功能接口总线(GPIB)、串行接口仪器控制、数据分析
、数据显示、数据存储、Internet 通信等。分析库包含了大量实用的函数,如信号产生、信号处理、滤波器、窗口、统计、
回归、线性代数、矩阵运算等。

4、LabVIEW 学习捷径

在学习与使用LabVIEW的日子里,学习LabVIEW 的最佳捷径就是——大胆尝试。

        (1)LabVIEW 入门非常容易,但是要想编写出色的程序或者稍微大型的系统,则必须学会LabVIEW 的高级编程知识。

        (2)通过LabVIEW的联机帮助和范例查找器( Example Finder) 中的相关实例提升编程水平。

LabVIEW开发实战:Labview简介_第3张图片

5、 LabVIEW的工作环境

        一个 LabVIEW程序由一个或多个虚拟仪器组成,虚拟仪器在后面简称为VI。而之所以称做

虚拟仪器,是因为它们的外观和操作通常是模拟了实际的物理仪器。然而,在这些面板之后,它们有着类似于流行的编程语言,如C和B语言中的主程序、函数、子程序等。

        一般每个VI都由3个主要部分组成:前面板、框图和图标。

注:全局变量是一种特殊的VI,只有前面板,没有框图,对图标可以编辑,但是很少有人

编辑。

                前面板是VI的交互式用户界面,它模拟了物理仪器的前面板。前面板包含旋钮、按钮、.

图形及其他控件(输人控件)和显示控件(输出控件),而且通过编程,可以使用鼠标和

键盘作为输入设备。

LabVIEW开发实战:Labview简介_第4张图片

        框图是VI的源代码,由LabVIEW的图形化编程即G语言构成。框图是实际可执行的程

序。框图由低级VI、内置函数、常量和程序执行控制结构等构成,用连线将合适的对象

连接起来定义它们之间的数据流。前面板上的对象对应于框图上的终端,这样数据就可

以从用户传递到程序,再回传给用户。

LabVIEW开发实战:Labview简介_第5张图片

在编写LabVIEW应用程序时,往往需要在一个主程序中调用多个子程序,那么为了实现

VI之间的调用,VI就必须有连接器图标。被另外一个VI所使用的VI称为子VI,也可

以称为子程序。图标是VI的图形表示,会在另外的VI框图中作为一个对象使用,连接

器用于从其他框图中连线数据到当前VI。连接器定义了VI的输人和输出,类似于子程

序的参数。

6、 LabVIEW自带编程示例

        与其他编程语言不同的是,LabVIEW 拥有庞大的自带编程示例,这有助于学习- .般的编程

技术并了解完成通用硬件输入/输出和数据处理任务的应用程序。通过NI范例查找器可以找到相关的范例。

有几个途径可以进入NI范例查找器,一为在启动页面的右下角单击“查找范例”;

        二为在启动LabVIEW编程界面后选择“帮助”菜单,从中选择“查找范例”菜单项。

浏览方式可以设置为任务或者目录结构。按任务浏览时,目录结构即按照任务编辑,可以很

明了地根据自己的项目任务来选择相近的实例。

使用NI范例查找器,还可以根据关键字直接搜索相关的示例,如Serial、Excel等,NI范例查找器将直接定位到相关的示例。

7、起源与发展历程


        早在20世纪80年代初引入个人计算机之前,几乎所有使用可编程仪器的实验室都通过专门的仪器控制器用于控制他们的测试系统。这些价格昂贵而且功能单一的控制器通过一个必 备的端口控制使用IEEE-488总线(即GPIB总线)的仪器。到了1983 年,随着个人计算机的出现, National Instruments公司成为个人计算机的GPIB硬件接口的主要供货商。然而当时用于控制仪器的软件表现却不太好,当时几乎100%的仪器控制程序都是用BASIC语言开发的。虽然BASIC有一定的优势,例如简单、可读性强的指令集以及可交互功能等,但是它存在-一个根本性的问题:像其他文本编程语言一样,如果要通过计算机控制仪器,无论是科学家、工程师还是技术人员都必须懂得编程。他们必须把他们的应用软件和仪器使用的知识转化为文本行,而这种过程多半是繁重而单调乏味的,尤其是对那些从来没有编程经验的人来说。

National Instruments 公司有自己的编程团队,其任务是致力于开发用于控制仪器的BASIC程序。他们敏感地注意到了仪器编程工作压在工程师和科学家身上的负担,那就是开发出一种用于,开发仪器软件程序的新工具。但是这种工具将采用什么形式呢?两位NI公司的创始人Jim Truchard和Jeff Kodosky博士,连同Jack MacCrisken(后来成为一名顾问),开始着手开发这种软件工具。Truchard主要研究能够显著地改进科学工作者和工程师们进行测试开发方式的工具。他想到的软件产品模型是电子数据表格。电子数据表格解决了Truchard、 Kodosky 和MacCrisken都同样面临的问题,即如何使非编程的计算机用户能够使用计算机。只不过电子数据表格处理的是财务计划制定者的问题,而这个三人组想的是如何帮助工程师和科学工作者。这三个人的口号是:发明出一种软件工具,它对工程师和科学工作者的影响力要和电子数据表格对财务界的影响力一样大。不过对此他们当时并没有一个具体明确的概念。


        当1984年苹果公司推出了Macintosh 计算机之后,情况出现了重要的转机。他们看到了这台小机器上的图形化特性后,就知道“图形化”就是他们今后要走的道路。因为相对于输入- -串串的命令行进行操作,人们使用鼠标和图形化界面时所发挥的创造力和高效率是前所未有的。图形.化前面板是人与测量程序交互的最佳途径。前面板与实际仪器的面板十分相似,实际上,这些程序就是虚拟仪器。理论上这是一个很好的概念,但当他们去实际操作的时候,这个概念却带来了意想不到的难题。在最初的构想下,使用交互式面板作为用户界面来写测量程序,居然要比用传统的BASIC还要困难得多。


        所以,他们决定深入研究能否发明一种创新的方式,通过Macintosh的图形化界面来建立一个更简单易用的具有交互面板的程序。他们研究了相当数量的图解技术,但每次都还是回归到数据流结构,因为这是最常用、也是最有效的方式。一旦他们能找出如何将结构化编程的概念与数据流相结合,一切问题就将迎刃而解。虚拟仪器技术由结构化的数据流框图和交互式面板组成。将图标与面板相结合的方式使虚拟仪器在其他程序框图中也能被调用。这样就能按照各种不同的需求灵活
地构建复杂的多层次系统。


    最后,他们必须要做的就是建立-一个软件环境,能使科学家和工程师们可以简单快速地构建起虛拟仪器程序。为了不被烦心的日常工作打扰,他们与一群年轻的毕业生一起选择了一处远离公司的办公室研究这个项目。怀着改变世界的使命感,这个小组设立了一个远大的目标。面对许多开发上的挑战,有时甚至怀疑能否开发出LabVIEW,以及是否能让人们愿意购买和使用。1985年6月他们开始编写程序代码,到10月完成了原型。1986年4月正式宣布了LabVIEW的诞生,同时NI的名字首次出现在杂志封面上。不过他们低估了后期调试所需耗费的大量时间,因此直到1986年10月LabVIEW 1.0才正式发布。

自LabVIEW 1.0 发布的20年以来,LabVIEW 从来没有停止过创新的步伐。不断地改进、更新与扩展,使LabVIEW牢牢占据了自动化测试、测量领域的领先地位。LabVIEW 图形化开发方式已经彻底改变了测试、测量和控制应用系统的开发。如今仍然在不断地扩张它的应用领域。

8、小结

        LabVIEW是功能强大而又灵活的仪器应用和分析软件系统,它使用图形化编程语言,有时

也称为G语言,创建成为虚拟仪器或VI的程序。用户与程序通过前面板进行交互。每个前面板

有一个与之对应的框图,也就是VI的源代码。LabVIEW有很多内置函数,便于进行编程。在框

图中,将部件连接起来显示数据流向。

使用NI范例查找器可以查找所学主题相关的示例,可以通过任务或目录结构来浏览示例。

你可能感兴趣的:(基于NI平台HIL台架测试,Labview)