LabVIEW

LabVIEW是一种程序开发环境

LabVIEW简介

LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。LabVIEW软件是NI设计平台的核心,也是开发测量或控制系统的理想选择。 LabVIEW开发环境集成了工程师和科学家快速构建各种应用所需的所有工具,旨在帮助工程师和科学家解决问题、提高生产力和不断创新。

LabVIEW解析

与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。VI指虚拟仪器,是 LabVIEW 的程序模块。LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在 LabVIEW 中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称G代码。LabVIEW 的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。

LabVIEW特点

尽可能采用了通用的硬件,各种仪器的差异主要是软件。可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。用户可以根据自己的需要定义和制造各种仪器。

LabVIEW是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。

LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。图形化的程序语言,又称为“G”语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。利用 LabVIEW,可产生独立运行的可执行文件,它是一个真正的32位/64位编译器。像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。

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基本版: 图形化用户界面开发 数据采集 仪器控制 报告生成和文件I/O

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

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

LABVIEW附件模块

由于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版)