本节书摘来自异步社区《LabVIEW 虚拟仪器程序设计从入门到精通(第二版)》一书中的第1章,第1.1节,作者 林静 , 林振宇 , 郑福仁
第1章 LabVIEW概述
LabVIEW 虚拟仪器程序设计从入门到精通(第二版)
1.1 LabVIEW的基本知识
LabVIEW 虚拟仪器程序设计从入门到精通(第二版)
1.1.1 什么是LabVIEW
LabVIEW是Laboratory Virtual Instrument Engineering Workbench的缩写,是一款使用图形符号来编写程序的编程环境。在这方面,它不同于传统的编程语言,如Visual Basic、C、C++或Java,这些语言使用文本方式编程。而LabVIEW不仅是一款编程语言,它还是为科学家和工程师等设计的一种编程开发环境和运行系统,编程只是这些人员工作的一部分。LabVIEW开发环境可以运行在Windows、Mac或Linux系统的计算机上,用LabVIEW编写的应用程序可以运行在上述系统上,还可以运行在Microsoft Pocket PC、Microsoft Windows CE、Palm OS以及多种嵌入式平台上,包括FPGA、DSP、ARM等微处理器上。
使用LabVIEW功能强大的图形编程语言能够提高编程的效率,这种语言被称做G语言,即图形编程语言。使用传统的编程语言需要花费几周甚至几个月才能编写的程序,用LabVIEW只需几个小时就能完成。因为LabVIEW是专为测量、数据分析并提交结果而设计的,且LabVIEW拥有如此功能众多的图形用户界面又易于编程,使得它对于仿真、结果显示、通用编程,甚至学习基本编程概念也同样是很理想的语言。
与标准的实验室仪器相比,LabVIEW提供了更大的灵活性,因为它是基于软件的。LabVIEW用户无法作为仪器的生产者,但是可以定义仪器的功能。使用计算机、插入式硬件和LabVIEW能共同组成一个可完全配置的虚拟仪器,用以完成用户的任务。使用LabVIEW,用户可以根据需要创建所需的任何类型的虚拟仪器,而其成本仅仅是传统仪器的一小部分。当需求变化时,还可以在瞬间修改虚拟仪器。
LabVIEW拥有庞大的函数和子程序库,这些库可以帮助用户完成编程中的大部分任务,使得LabVIEW用户免于被传统编程语言中指针、内存分配以及其他莫名的编程问题所困扰。LabVIEW也包含特定的应用程序库代码,如数据采集(DAQ)、通用功能接口总线(GPIB)、串行接口仪器控制、数据分析、数据显示、数据存储、Internet通信等。分析库包含了大量实用的函数,如信号产生、信号处理、滤波器、窗口、统计、回归、线性代数、矩阵运算等。
LabVIEW图形化的本质使它理所当然地可以作为一个数据显示软件包,可以任何我们想要的方式显示输出结果,图表、图形和用户自定义图形仅是可选输出方式中的一部分。
图1-1所示为自动润滑检测的应用。
图1-2所示为运用LabVIEW进行编程的工作环境。
1.1.2 数据流的概念
LabVIEW编程开发环境与标准C或Java开发系统的一个重要区别是:标准语言编程系统采用基于文本的代码行编程;而LabVIEW则使用图形编程语言,通常被称做G语言,在称为框图的图形框架内编程。
图形编程消除了文本编程中设计的许多语法细节,如(;)和({})的放置经常会让人煞费脑筋。在LabVIEW中就不用担心这样的问题,即使是某个地方出现了连接错误,LabVIEW也会明确地指出错误,而不是像文本编程语言那样模棱两可。
图形编程语言中最需要关注的是应用程序中的数据流,因为其简单的语法使程序变得更加简洁易懂。图1-3和图1-4所示为用LabVIEW编写的程序前面板和程序框图。
LabVIEW使用科学家和工程师们熟悉的术语、图标和概念,依靠图形符号而不是文本语言来定义程序的功能。LabVIEW的运行基于数据流的原理,一个函数只有收到必要的数据后才可以运行。基于这些特点,对于没有编程经验的人来说也是可以学会LabVIEW的。