浅析LabVIEW编程语言

2016-06-20 23:07邵林林
关键词:虚拟仪器

邵林林

摘 要:在虚拟仪器领域,广泛应用的是NI公司的LabVIEW语言。LabVIEW语言是一种图形语言开发环境,也称作G语言,它具有高性能的图形化编程方法以及灵活性,其高性能配置模块及功能特别设计用于自动控制和测试测量领域,能为数据采集、仪器控制、测量分析与数据显示等各种应用提供必要的开发工具。本文重点介绍了LabVIEW的应用领域和新手常见错误。本文可作为LabVIEW的初级用户和从事测试与计量、电子开发等行业工程技术人员的参考。

关键词:LabVIEW;虚拟仪器;G语言

中图分类号: TH14 文献标识码: A 文章编号: 1673-1069(2016)17-149-2

0 引言

LabVIEW(Laboratory Virtual Instrument Engineering Workbench,实验室虚拟仪器工程平台) 是美国NI(National Instruments,美国国家仪器)公司推出的一种基于G语言(Graphics Language,图形化编程语言)的虚拟仪器软件开发工具。用LabVIEW设计的虚拟仪器可以脱离LabVIEW开发环境,最终用户看见的是和实际的硬件仪器相似的操作面板。利用LabVIEW,设计者可以像搭积木一样,轻松组建一个测量系统和构造自己的仪器面板,而无需进行任何繁琐的计算机代码编写。

1 概述

作为一个通用的编程系统,LabVIEW有一个庞大函数库,可以完成任何编程任务,这同C语言和BASIC语言一样。这个庞大的函数库包括了数据采集、GPIB、串口仪器控制、数据显示、分析与存储等。LabVIEW可以设置断点、可以单步执行,也可以激活程序的执行过程,以动画方式查看数据在程序中流动,这使得调试程序十分便捷。

LabVIEW软件的特点和优点可以归纳为:

①图形化的编程方式,设计者无需写任何格式的文本代码,是真正的工程师语言;②提供了丰富的数据采集、分析、存储库函数;③既提供了传统的程序调试手段,如设置断点、单步运行,同时提供独到的高亮执行工具,使程序动画式运行,利于设计者观察程序运行的细节,使程序的调试和开发更为便捷;④32bit的编译器编译成32bit的编译程序,保证用户数据采集、测试和测量方案的高速运行;⑤囊括了DAQ、GPIB、PXI、VXI、RS-232/485在内的各种仪器通信总线标准的所有功能函数,使得不懂总线标准的开发者也能够驱动不同总线标准接口设备与仪器;⑥提供大量与外部代码或软件进行连接的机制,诸如DLLs(动态链接库)、DDE(共享库)、ActiveX等;⑦强大的Internet功能,支持常用网络协议,方便网络、远程测控仪器的开发。

2 应用领域

LABVIEW无处不在,工作站,PC,MAC,Linux,Sun,示波器,工业计算机,PC板卡,网络IO,无线,掌上电脑,FPAG,传感器等都有涉及。

测试测量与控制领域:

LabVIEW被誉为“科学家与工程师”语言,它为不熟悉文本式语言编程的设计者在测控领域建立计算机仪器系统——虚拟仪器,提供了一个极为便捷、轻松的图形化设计环境。几乎所有的测试、测量和控制应用都可以分成三部分:采集、分析、表达。LABVIEW就是用于采集、分析、表达实际物理量的应用最早、功能强大的工程软件。

LABVIEW能从下列设备采集数据:GPIB、串口、VXI接口仪器,数据采集卡(DAQ),PXI仪器,图像采集卡(IMAQ),运动控制,PXI实时系列,PLC(通过OPC Server),PDA。

LABVIEW包含以下工具来分析数据:用于差分方程、曲线拟合、微积分、线性代数、统计处理的超过400个分析功能模块,包括软件滤波和谱分析在内的新增的12个快速VIs,用于滤波、加窗、变换、峰值测量、谐波分析、谱分析的信号处理VIs。

LABVIEW包括以下工具来表达数据:在PC上使用图形、图表、表格、仪表容器、3D控件、图形控件等,通过网络使用互联网发布工具、Datasocket、TCP/IP、VI Server、Remote Panels、Email,企业链接工具SQL、FTP、Telnet、HTML。

仿真领域:

LabVIEW不但能够完成一般的数学运算与逻辑运算和输入输出功能,它还有专门的用于数据采集和仪器控制的库函数和开发工具,尤其还带有专业的数学分析程序包,基本上可以满足复杂的工程计算和分析需求。因此,LabVIEW在模拟和仿真领域也得到了广泛应用。

其它领域:

LabVIEW编程耗时只有文本语言的20%左右,因此在快速开发领域,应该优先使用LabVIEW语言。

LabVIEW语言博采众家之长,具有良好的平台一致性,其代码无需修改就可以在三大台式机操作系统(Windows、Mac OS 及Linux)上运行。除此之外,LabVIEW支持第三方软件和内嵌通信协议之多,使得在跨平台领域,LabVIEW有重要的一席之地。

3 开发系统

LabVIEW基本版包含图形化用户界面开发、数据采集、仪器控制、报告生成和文件I/O。

LabVIEW完整版包含700多个数学/分析函数、外部代码集成 (.dll) 、互联网连接和高级用户界面开发。

LabVIEW专业版包含应用发布 (creat.exe) 、开发管理、源代码控制和网络通信。

4 版本历史

回顾LabVIEW的发展历史可以间接的体会到LabVIEW的发展速度有多快,最初的LabVIEW 1.0 发布于1986年,而2014年8月发布的已经是LabVIEW 2014版本了。从LabVIEW的软件版本来看,有LabVIEW 5系列、LabVIEW 6系列、LabVIEW 7系列和LabVIEW 8系列。

5 LabVIEW新手常见错误

犯错误的用户是因为他们没有真正理解LabVIEW框图数据流背后的原理,另外一些用户则是不知道哪些特性可提高LabVIEW编程质量。

错误1:过度使用平铺式顺序结构

许多新手并不完全了解“数据流”执行背后的概念,其中一个现象是他们往往在程序框图中过度使用平铺式顺序结构。这些新手经常依赖平铺式顺序结构来实现程序框图的代码串行执行,而不是使用数据流和节点之间的连线。

错误2:错误使用局部变量

局部变量是共享内存中的一个区域,用于在计算机程序不同部分之间传递数据。局域变量具有非常强大的功能,通常用于文本编程语言,但如果出现竞争条件,就会产生问题。

对于文本编程语言来说,通过变量传递数据是必需的,但LabVIEW则提供了一种数据流方法,可将数据从程序的一个部分移动到另一个部分。LabVIEW固有的并行性机制决定着用户不能过度使用变量。如果过度使用变量,则会出现某个读/写操作赢了“竞争”,而其他操作则输了“竞争”,丢失数据的操作会被忽视,因此在LabVIEW中过度使用变量可能会最终导致数据丢失。

错误3:忽略代码模块化

通常情况下,新LabVIEW用户创建的是“即写即忘”应用程序去完成简单的任务,而没有考虑到以后是否会用到这些代码。随着编程工作越来越多,他们会发现自己在一遍遍地重写同一段代码。其实在编程同时创建一个可复用于其他应用的模块化子VI,就可以节省大量的开发时间。

错误4:创建庞大繁琐的程序框图

许多新LabVIEW用户都会把程序框图编写得非常繁琐庞大。我们难免需要编写较大的程序框图,但庞大的程序框图从也表明该程序缺乏编程架构。如果没有一个基本架构,长期维护该程序是非常困难的,如果以后要添加新功能也会非常困难。

错误5:不重视文档记录

优秀的代码文档可以有效地帮助他人理解自己写的程序,这一点从微软公司的代码文档就能看出来。遗憾的是,许多新手在开发周期末期功能开发结束之后才开始进行文档撰写。这使得用于对代码进行文档记录的时间变得非常少。正确的做法应该是在开发过程中就需抽出时间来开始进行文档记录。文档对于编程人员自身也非常有用,尤其是当他们过段时间回来看代码却不记得当初他们为什么选择某些代码时。

总的来说,LabVIEW作为NI设计平台的核心,其开发环境集成了工程师和科学家快速构建各种应用所需的所有工具,可以帮助工程师和科学家解决问题、提高生产力和不断创新,是开发测量系统和控制系统的理想选择。

参 考 文 献

[1] 王超.LabVIEW2015虚拟仪器程序设计[M].2016.

猜你喜欢
虚拟仪器
基于虚拟仪器技术的机载产品测试系统研制
基于虚拟仪器的电池剩余电量检测系统设计与研究
PCB 刻制机功能开发及在虚拟仪器实验室建设中的应用
虚拟仪器及其在电工电子实验中的应用
一种基于虚拟仪器的电控柴油机实验台的设计
虚拟仪器技术在农业装备测控中的应用
基于虚拟仪器技术的风电场电能质量监测系统
基于虚拟仪器的DMFC实时监控系统
基于虚拟仪器技术的光伏逆变器低电压穿越测试系统
虚拟仪器技术的新进展