LabVIEW是一种程式开发环境,由美国国家仪器(NI)公司研製开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显着区别是:其他计算机语言都是採用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程式,产生的程式是框图的形式。
LabVIEW软体是NI设计平台的核心,也是开发测量或控制系统的理想选择。 LabVIEW开发环境集成了工程师和科学家快速构建各种套用所需的所有工具,旨在帮助工程师和科学家解决问题、提高生产力和不断创新。
基本介绍
- 中文名:LabVIEW
- 国家:美国
- 公司:美国国家仪器(NI)公司
- 类型:软体
解析
与 C 和BASIC 一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函式馆。LabVIEW的函式馆包括数据採集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW也有传统的程式调试工具,如设定断点、以动画方式显示数据及其子程式(子VI)的结果、单步执行等等,便于程式的调试。
LabVIEW标誌

LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种用图示代替文本行创建应用程式的图形化程式语言。传统文本程式语言根据语句和指令的先后顺序决定程式执行顺序,而 LabVIEW 则採用数据流编程方式,程式框图中节点之间的数据流向决定了VI及函式的执行顺序。VI指虚拟仪器,是 LabVIEW 的程式模组。
LabVIEW 提供很多外观与传统仪器(如示波器、万用表)类似的控制项,可用来方便地创建用户界面。用户界面在 LabVIEW 中被称为前面板。使用图示和连线,可以通过编程对前面板上的对象进行控制。这就是图形化原始码,又称G代码。LabVIEW 的图形化原始码在某种程度上类似于流程图,因此又被称作程式框图代码。
特点
儘可能採用了通用的硬体,各种仪器的差异主要是软体。
可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。
用户可以根据自己的需要定义和製造各种仪器。
未来
虚拟仪器研究的另一个问题是各种标準仪器的互连及与计算机的连线。目前使用较多的是IEEE488 或 GPIB协定。未来的仪器也应当是网路化的。
LabVIEW(Laboratory Virtual instrument Engineering Workbench)是一种图形化的程式语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标準的数据採集和仪器控制软体。LabVIEW 集成了与满足 GPIB、VXI、RS-232和 RS-485 协定的硬体及数据採集卡通讯的全部功能。它还内置了便于套用TCP/IP、ActiveX等软体标準的库函式。这是一个功能强大且灵活的软体。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。
图形化的程式语言,又称为 “G” 语言。使用这种语言编程时,基本上不写程式代码,取而代之的是流程图或框图。它儘可能利用了技术人员、科学家、工程师所熟悉的术语、图示和概念,因此,LabVIEW是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据採集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。
利用 LabVIEW,可产生独立运行的执行档,它是一个真正的32位/64位编译器。像许多重要的软体一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。
它主要的方便就是,一个硬体的情况下,可以通过改变软体,就可以实现不同的仪器仪表的功能,非常方便,是相当于软体即硬体!现在的图形化主要是上层的系统,国内现在已经开发出图形化的单片机编程系统(支持32位的嵌入式系统,并且可以扩展的),不断完善中(大家可以搜寻 CPUVIEW 会有更详细信息;)
虚拟仪器
虚拟仪器(virtual instrument)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智慧型化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬体及作业系统为依託,实现各种仪器功能。虚拟仪器主要是指这种方式。
虚拟仪器实际上是一个按照仪器需求组织的数据採集系统。虚拟仪器的研究中涉及的基础理论主要有计算机数据採集和数位讯号处理。目前在这一领域内,使用较为广泛的计算机语言是美国NI 公司的 LabVIEW。
虚拟仪器的起源可以追溯到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。PC机出现以后,仪器级的计算机化成为可能,甚至在 Microsof t公司的 Windows 诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0 以前的版本。对虚拟仪器和 LabVIEW 长期、系统、有效的研究开发使得该公司成为业界公认的权威。目前LabVIEW 的最新版本为 LabVIEW2014,LabVIEW 2009 为多执行绪功能添加了更多特性,这种特性在 1998 年的版本 5 中被初次引入。使用 LabVIEW 软体,用户可以藉助于它提供的软体环境,该环境由于其数据流编程特性、LabVIEW Real-Time 工具对嵌入式平台开发的多核支持,以及自上而下的为多核而设计的软体层次,是进行并行编程的首选。
普通的 PC 有一些不可避免的弱点。用它构建的虚拟仪器或计算机测试系统性能不可能太高。目前作为计算机化仪器的一个重要发展方向是制定了VXI 标準,这是一种插卡式的仪器。每一种仪器是一个插卡,为了保证仪器的性能,又採用了较多的硬体,但这些卡式仪器本身都没有面板,其面板仍然用虚拟的方式在计算机萤幕上出现。这些卡插入标準的 VXI 机箱,再与计算机相连,就组成了一个测试系统。VXI 仪器价格昂贵,目前又推出了一种较为便宜的 PXI 标準仪器。
套用领域
LABVIEW有很多优点,尤其是在某些特殊领域其特点尤其突出。
测试测量:LABVIEW最初就是为测试测量而设计的,因而测试测量也就是现在LABVIEW最广泛的套用领域。经过多年的发展,LABVIEW在测试测量领域获得了广泛的承认。至今,大多数主流的测试仪器、数据採集设备都拥有专门的LabVIEW驱动程式,使用LabVIEW可以非常便捷的控制这些硬体设备。同时,用户也可以十分方便地找到各种适用于测试测量领域的LabVIEW工具包。这些工具包几乎覆盖了用户所需的所有功能,用户在这些工具包的基础上再开发程式就容易多了。有时甚至于只需简单地调用几个工具包中的函式,就可以组成一个完整的测试测量应用程式。
控制:控制与测试是两个相关度非常高的领域,从测试领域起家的LabVIEW自然而然地首先拓展至控制领域。LabVIEW拥有专门用于控制领域的模组----LabVIEWDSC。除此之外,工业控制领域常用的设备、数据线等通常也都带有相应的LabVIEW驱动程式。使用LabVIEW可以非常方便的编制各种控制程式。
仿真:LabVIEW包含了多种多样的数学运算函式,特别适合进行模拟、仿真、原型设计等工作。在设计机电设备之前,可以先在计算机上用LabVIEW搭建仿真原型,验证设计的合理性,找到潜在的问题。在高等教育领域,有时如果使用LabVIEW进行软体模拟,就可以达到同样的效果,使学生不致失去实践的机会。
儿童教育:由于图形外观漂亮且容易吸引儿童的注意力,同时图形比文本更容易被儿童接受和理解,所以LabVIEW非常受少年儿童的欢迎。对于没有任何计算机知识的儿童而言,可以把LabVIEW理解成是一种特殊的“积木”:把不同的原件搭在一起,就可以实现自己所需的功能。着名的可程式玩具“乐高积木”使用的就是LabVIEW程式语言。儿童经过短暂的指导就可以利用乐高积木提供的积木搭建成各种车辆模型、机器人等,再使用LabVIEW编写控制其运动和行为的程式。除了套用于玩具,LabVIEW还有专门用于中小学生教学使用的版本。
快速开发:根据笔者参与的一些项目统计,完成一个功能类似的大型套用软体,熟练的LabVIEW程式设计师所需的开发时间,大概只是熟练的C程式设计师所需时间的1/5左右。所以,如果项目开发时间紧张,应该优先考虑使用LabVIEW,以缩短开发时间。
跨平台:如果同一个程式需要运行于多个硬体设备之上,也可以优先考虑使用LabVIEW。LabVIEW具有良好的平台一致性。LabVIEW的代码不需任何修改就可以运行在常见的三大台式机作业系统上:Windows、Mac OS 及 Linux。除此之外,LabVIEW还支持各种实时作业系统和嵌入式设备,比如常见的PDA、FPGA以及运行VxWorks和PharLap系统的RT设备。
开发系统
每位LabVIEW用户的起点都是开发系统,这一开发系统也是图形化编程的基础环境。 以下软体包的功能相辅相成,可帮助用户满足当前和未来的需求。
LabVIEW包括基本版,完整版和专业版。
LabVIEW基本版:
- 图形化用户界面开发
- 数据採集
- 仪器控制
- 报告生成和档案I/O
LabVIEW完整版:
- 700多个数学/分析函式
- 外部代码集成 (.dll)
- 网际网路连线
- 高级用户界面开发
LabVIEW专业版:
- 套用发布 (creat.exe)
- 开发管理
- 原始码控制
- 网路通信
附属档案模组
由于LabVIEW的模组化特性,可通过添加NI和第三方的附加软体来满足顾客的项目需求。 下方列出的各种LabVIEW函式和高级工具可用于帮助用户开发特定套用并将其部署至终端。
- 集成部署硬体:结合可程式自动化控制器(PAC),设计、原型与部署硬体终端,如实时系统和基于现场可程式门阵列(FPGA)的系统。
例如:LabVIEW Real-Time模组,LabVIEW FPGA模组,用于ARM微控制器的NI LabVIEW嵌入式模组,NI LabVIEW Mobile模组,NI LabVIEW触控萤幕模组,NI LabVIEW无线感测器网路模组,LabVIEW C代码生成器,NI实时管理程式 - 信号处理、分析和连线:添加用于声音和振动测量、机器视觉、RF通信、瞬时与短时信号分析等的专用图像和信号处理函式。
例如:LabVIEW视觉套用开发模组,声音和振动测量套件,声音与振动工具包,NI LabVIEW网际网路工具包,NI LabVIEW高级信号处理工具包,NI LabVIEW自适应滤波器工具包,NI LabVIEW数字滤波器设计工具包,NI LabVIEW MathScript RT模组,频谱测量工具包,NI LabVIEW调製工具包,NI LabVIEW机器人模组,LabVIEW生物医学工具包,LabVIEW电能套件,ECU测量和校準工具包,用于LabVIEW的GPS仿真工具包,用于固定WiMAX的测量套件,NI WLAN测量套件,汽车诊断指令集,LabVIEW GPU分析工具。 - 控制与仿真:使用高级控制算法、动态仿真与运动控制软体,设计、仿真并执行控制系统。
例如:NI LabVIEW PID和模糊逻辑工具包,NI LabVIEW控制设计与仿真模组,NI LabVIEW系统辨识工具包,NI LabVIEW仿真接口工具包,LabVIEW NI SoftMotion模组。 - 数据管理、记录与报表生成:快速记录、管理、搜寻採集的数据并将其导出至第三方软体工具(如:Microsoft Office和工业标準的资料库)。
例如:NI LabVIEW数据记录与监控模组,NI LabVIEW Microsoft Office报表生成工具包,NI LabVIEW资料库连线工具包,NI LabVIEW DataFinder工具包,NI LabVIEW SignalExpress。 - 开发工具和验证:用户可利用代码分析仪和单元测试架构,评估图形化代码质量并根据开发需求实现回归测试和验证等操作的自动化。
例如:NI LabVIEW VI分析仪工具包,NI LabVIEW状态图模组,NI LabVIEW桌面执行跟蹤工具包,NI需求管理软体,NI Real-Time执行跟蹤工具包,NI LabVIEW单元测试架构工具包 - 套用发布:通过创建可执行程式、安装程式和DLL,将LabVIEW应用程式发布给用户;或者通过网路或网际网路共享用户界面。
例如:NI LabVIEW应用程式生成器 (Windows版)
版本信息
简单回顾一下LabVIEW最近的发展历史(也仅限于我能够收集到的版本),从这里也可以间接的体会到LabVIEW的发展速度有多快。从LabVIEW的软体版本来看(我能收集到的),应该有LabVIEW 5系列、LabVIEW 6系列、LabVIEW 7系列和LabVIEW 8系列。发布年份可能有误,以NI为準。
LabVIEW 1.0 发布于:1986年,运行在苹果公司的Macintosh平台上。
LabVIEW 2.0 发布于:1988年,1990年虚拟仪器面板和结构化数据流获两项美国专利。
LabVIEW 3.0 发布于:1994年
LabVIEW 4.0 发布于:1996年
LabVIEW 5.0 发布于:1998年
LabVIEW 5.1.1 发布于:2000年3月
LabVIEW 6.02 发布于:2001年2月
LabVIEW 6.1 发布于:2002年1月
LabVIEW 7.0 发布于:2003年5月
LabVIEW 7.1 发布于:2004年4月
LabVIEW 7.1.1 发布于:2004年11月
LabVIEW 8.0 发布于:2005年10月
LabVIEW 8.0.1 发布于:2006年2月
LabVIEW 8.20 发布于:2006年8月
LabVIEW 8.2.1 发布于:2007年3月
LabVIEW 8.2.1f4 发布于:2007年9月
LabVIEW 8.5 发布于:2007年8月
LabVIEW8.5.1 发布于:2008年4月
LabVIEW8.6 发布于:2008年8月
LabVIEW8.6.1 发布于:2009年2月
LabVIEW 2010 发布于:2010年8月
LabVIEW 2011 发布于:2011年8月
LabVIEW 2012 发布于:2012年8月
LabVIEW 2013 发布于: 2013年8月
LabVIEW 2014 发布于: 2014年8月
从NI的LabVIEW版本号,可以看出:
1、 系列号:5、6、7、8表示新的系列,软体结构或功能可能有重大改进(付费升级)
2、 版本号:5.x、6.x、7.x、8.x表示软体有新的内容或比较大的改进(付费升级)
3、 版本号:5.x.x、6.x.x、7.x.x、8.x.x表示软体较上个版本进行了修补(免费升级)
参考书籍

书 名:LabVIEW实用工具详解
作 者:陈树学 编着
出 版 社:电子工业出版社
出版时间:2014-9-1
版 次:1
页 数:466
字 数:806000
印刷时间:2014-9-1
本: 16开
纸 张:胶版纸印
印 次:1
包 装:平装
书 名:LabVIEW宝典

作 者:陈树学,刘萱
出 版 社:电子工业出版社
出版时间:2011-3-1
版 次:1
页 数:603
字 数:973000
印刷时间:2011-3-1开
本: 16开
纸 张:胶版纸印
印 次:1
包 装:平装
书名:我和LabVIEW--一个NI工程师的十年编程经验

作 者:阮奇桢 着
丛 书 名:部落格藏经阁丛书
出 版 社:北京航空航天大学出版社
出版时间:2009-09-01
版 次:1
页 数:412
装 帧:平装
开 本:16开