LabVIEW(英语:Laboratory Virtual Instrumentation Engineering Workbench,实验室虚拟仪器工程平台)是由美国国家仪器公司所开发的图形化程序编译平台,发明者为杰夫·考度斯基(Jeff Kodosky),程序最初于1986年在苹果电脑上发表。LabVIEW早期是为了仪器自动控制所设计,至今转变成为一种逐渐成熟的高级编程语言。图形化程序与传统编程语言之不同点在于程序流程采用"资料流"之概念打破传统之思维模式,使得程式设计者在流程图构思完毕的同时也完成了程序的撰写。

LabVIEW
LabVIEW的图标
开发者美国国家仪器公司
首次发布1986年,​38年前​(1986
当前版本LabVIEW NXG 5.0 LabVIEW 2020(2020年5月,​4年前​(2020-05
编程语言可视化程式设计语言
操作系统WindowsmacOSLinux
平台跨平台[1]
语言英语简体中文
许可协议专有软件
网站http://www.ni.com/labview/

LabVIEW率先引入了特别的虚拟仪表的概念,用户可透过人机界面直接控制自行开发之仪器。此外LabVIEW提供的函数库包含:信号截取、信号分析、机器视觉、数值运算、逻辑运算、声音震动分析、资料存储等。目前可支持WindowsUNIXLinuxmacOS等操作系统。由于LabVIEW特殊的图形程序简单易懂的开发接口,缩短了开发原型的速度以及方便日后的软件维护,因此逐渐受到系统开发及研究人员的喜爱。目前广泛的被应用于工业自动化之领域上。LabVIEW默认以 多线程执行程序,对于程式设计者更是一大利器。此外LabVIEW通讯接口方面支持:GPIBUSBIEEE1394MODBUS串列端口并发端口IrDATCPUDPBluetooth.NETActiveXSMTP等接口。

近年来 LabVIEW 除了可以在 PC 上面撰写之外,另外支持即时系统(Real-time OS)以及可编程逻辑门数组(Field Programmable Gate Array, FPGA)。用户可以透过 LabVIEW 开发环境设计、编译程序后下载至微处理器(Micro-processor)或 FPGA晶片,最终达到独立运作(Stand-alone)的功能。但目前主要还是支持 NI 自行生产的嵌入式系统系列产品,通称 NI-RIO 系列产品。比如:PCI/PXI R系列 DAQ卡片、CompactRIO、single-boardRIO、myRIO...等。

数据流编程

LabVIEW编程语言,也被称为G语言,是一种数据流编程语言。程序员通过绘制导线连接不同功能的节点,图形化的程序框图(LV原始码)结构决定程序如何执行。这些线传递变量,所有的输入数据都准备好之后,节点便马上执行。这可能出现同时使用多个节点的情况,G语言天生地具有并行执行能力。内建的调度算法自动使用多处理器多线程硬件,可以跨平台地在可运行的节点上复用线程。

图形化编程

LabVIEW将创建用户界面(称为前面板)的工作自然地融合到开发周期当中。LabVIEW的程序/子程序被称为虚拟仪器(VI)。每个VI都有三个组成部分:程序框图(Block Diagram)、前面板(Front Panel)和图标/连接器(Icon/Connector)。连接器是用来供其他的程序框图调用本VI之用。程序员可以利用前面板上的控制控件将数据输入正在运行的VI,或者用显示控件将运算结果输出。前面板还可以作为程序的接口:每个虚拟仪器(VI)既可以把前面板当作用户界面,作为一个程序来运行;也可以作为一个节点放到另一个VI程序框图中,通过连接器面板连接起来,而前面板则定义VI的输入和输出。这意味着每个VI,在作为子程序嵌入到一个大型的项目之前,都可以很方便地进行测试。

图形化的方法还允许非程序员通过拖放虚拟化形式的VI的方法来生成程序,控制他们已经熟悉的实验室装置。在LabVIEW编程环境下,借助已经提供的大量例程和文档,可以很容易地创建小型应用程式。这是好的一方面。编写复杂的算法或大规模的代码时,程序员需要对LabVIEW特殊的语法具有广泛的了解,并且通晓LabVIEW内存管理的拓扑结构。最先进的LabVIEW开发系统提供了创建独立应用程式的可能性。此外,还可以创建分布式应用,通过客户机/伺服器模式进行通信。由于G语言天生的并行性特性,这很容易实现。

计时系统

LabVIEW使用1904年1月1日(Epoch参考日期)作为“零”(起始)时间。使用1904年1月1日作为起始时间的软件还有苹果公司的Mac OS 9,Palm OS,MP4,Microsoft Excel(可选)。

版本

LabVIEW 8.X

 
LabVIEW的编辑环境-人机界面
 
LabVIEW的编辑环境-程序框图
 
利用LabVIEW之图形接口开发之光学模拟软件之人机界面。

LabVIEW 8.X之版本中引入了面向对象(OOP)之程式设计概念,使LabVIEW更接近一个完整的编程语言。LabVIEW 8.20版的命名是为了庆祝LabVIEW第20周年。目前最新的版本为LabVIEW 8.6。LabVIEW 8.5新增的功能如下:

  • 轻松集成如多核心处理器的最新技术
  • 以新功能管理软件开发,如图形化合并VI的功能
  • 以新的BLAS信号处理程序库,更迅速地分析资料
  • 以新的状态图程式设计方式,开发完整的应用

LabVIEW 2009

LabVIEW 2010

NI LabVIEW 2010新特性
LabVIEW 2010平台类软件在更新时,新特性直接由客户请求驱动、具有更强大的定时与同步功能、获得改进的后端编译器可生成经优化的机器码并将应用程式在运行时的执行性能提升20%。这款最新版LabVIEW增加了编程特性,为应用程式注入更多性能与性能;无论您是首次使用还是长期使用NI LabVIEW 2010的专家,都能获得效率的提升。

NI LabVIEW 2010内含:LabVIEW的新功能、各类LabVIEW模块、LabVIEW因特网工具包、针对其余LabVIEW平台的更新和缺陷修复。NI标准服务项目的用户可立即下载LabVIEW 2010。访问服务资源中心,以便下载其他LabVIEW产品并了解特殊且随需应变的培训模块。
LabVIEW 2010平台特性
LabVIEW 2010开发系统特性

  • 凭借新型后端编译器技术和自定义代码优化, 加快运行代码的速度
  • 通过14类直接源于用户反馈的新型改进, 简化开发
  • 消除与子VI调用相关的开销
  • 将经编译的原始码保存至单独文件内, 简化团队开发
  • 通过将原始码封装至配有打包的项目库的单一文件内, 简化代码部署和发布

NI LabVIEW 2010 Real-Time模块特性

  • 经优化的主机/目标终端数据传输, 搭配网络流
  • 联网目标里新的、基于Web的监测与配置
  • 能够通过Web服务发布变量

NI LabVIEW 2010 FPGA模块特性

  • 新型选件针对分布式编译
  • 可导入Xilinx内核生成器 (CORE Generator) IP
  • 通过程序生成规范, 更好地管理位流文件 (bitfile)与设置
  • 精确至周期的仿真结合ModelSim

NI LabVIEW 2010 MathScript RT模块特性

  • NI实时 (Real-Time)目标上的确定性执行
  • 自动检测针对MathScript节点输出变量
  • 优化的LabVIEW MathScript窗口文本编辑器

LabVIEW 2011

LabVIEW 2012

LabVIEW 2013

LabVIEW 2014

LabVIEW 2015

LabVIEW 2016

LabVIEW 2017

LabVIEW 2018

此版LabView加入了对于Python的支持,可于Labview调用Python程序。

LabVIEW 2019

LabVIEW 2020

此版本加入了物件的接口功能,也让AF的抽象消息透过接口进行继承。

  1. ^ LabVIEW Development Systems. [2009-10-06]. (原始内容存档于2017-05-09) (英语). 

外部链接