12 LabVIEW大学实用教程(第三版) 2.1在现实世界中使用LabVIEW LabVIEW是一个功能强大的仿真工具,常用于从外部数据源获取数据,并拥有众多与这些功 能实现相关的专用VI。例如,LabVIEW能够控制插卡式数据采集或DAQ设备采集或产生模拟信 号和数字信号。可以使用DAQ设备和LabVIEW监控温度、向外部系统发送信号、检测未知信号的 颊率。LabVIEW也可以通过GPB总线或计算机内的USB接口、以太网、火线(也称为EEE1394) 及串行口很容易地实现数据传输。GPB总线常常用来与示波器、扫描仪和万用表通信,实现从远 端遥控仪器。LabVIEW软件能够控制复杂的VXI硬件仪器系统、以太网或USB接口的仪器。在采 集或收到数据后,还可以使用LabVIEW的很多分析VⅥ对数据进行处理和操作。 很多时候大家会发现,除仪器之外与其他应用软件和计算机共享数据也是很有用的.LabVIEW 拥有的内置函数能够使这个过程更加简单,它支持各种网络协议,能够调用外部已有的代码、动态 链接库(DLL)和ActiveX组件。 本章接下来将讨论使用LabVIEW设计完成的一些任务。但是,在开始讨论LabVIEW能够做 什么之前,花一些时间探讨LabVIEW是如何成为功能强大的工具的。下节将给出简单的历史回顾, 展示LabVIEW的发展历程,以及大量功能和特性的介绍。 2.2 LabVIEW的发展历程 1983年,NI开始寻找最小化编程仪器系统所需时间的方法。通过努力,LabVIEW虚拟仪器概 念出现了 直观的前面板用户界面,结合新颖的框图编程方法,产生了一个高效的、基于软件的 图形化仪器系统。 LabVIEW第一版于1986年发布并只能用于Macintosh系统。虽然Mac系统没有广泛地用于测 量和仪器应用软件,但是它的图形化特色很好地融合了LabVIEW技术,直到更多的通用操作系统 开始支持LabVIEW技术。 1990年,根据用户多年的反馈,结合新的软件技术,NI对LabVIEW进行了重新编写。更重要 的是,LabVIEW的特色编译器,能够使V的执行速度与C语言编程创建的程序相当。美国专利局 发布的很多专利认可了LabVIEW的技术刨新性。 随着其他图形化操作系统的出现,NI将成熟的LabVIEW技术移植到了其他系统平台:PC和工 作站。l992年,基于便捷式的体系结构,NI发布了用于Windows的LabVIEW和用于Sun的LabVIEW 1993年,用于Macintosh、Windows和Sun操作系统的LabVIEW3面世。在某个平台上编写的 LabVIEW3程序能够在其他平台上运行。这种多平台特性使用户获得了选择开发平台的机会,因 为他们确信可以在其他平台上运行其VI(这一功能比JAVA的出现早很多年)。1994年,LabVIEW 支持的平台已经包含Windows NT、Power Macs和HP工作站。1995年开始可以应用于Windows95。 1996年,LabVIEW4发布,以其更加灵活的开发环境配置为特色,用户能够创建自已的工作 空间与他们所在的行业、经验水平和开发习惯相匹配。另外,LabVIEW4为高级仪器系统添加了 高效的编辑和调试工具,还有基于OLE的通信功能和分布式执行工具 LabVIEW5和5.1(1999年)的贡献在于通过引进内置的wb服务器、动态编程和控制框架 (服务器入集成ActiveX技术,以及基于称为DataSocket协议的易用的互联网数据共享技术, 改进了开发工具。最终实现了在大部分执行的程序中允许使用撤销(Udo)功能 ①DataSocket协议已经被NI Publish and Subseribe Protoo(NI-PSP)所继承。关于NMPSP和DataSocket VI的更多 信息参见第16章
第2章虚拟仪器:连接计算机和现实世界 13 20O0年,LabVIEW6(有时也称为6i)推出,它支持Linux开源操作系统,同时还推出了一套 全新的3D控件,在某些时候,对于计算机行业这种风格的确重要(率先发布Aple公司的iMac和 G4Cube)。LabVIEW6做出了很大的贡献,提供了直观易用的编程界面(特别针对非程序员),也 支持大量的高级编程技术,例如面向对象开发、多线程、分布式计算等。不要被LabVIEW的图形 化特性所迷惑:作为开发工具,LabVIEW可以与C+和Visual BASIC媲美 就像大家所发现的 一样,LabVIEW的长处就是它非常有趣 2001年,LabVIEW6.1推出了面向事件编程、LabVIEW远程网络控制、远程前面板、通过红 外设备(DA)通信的VISA支持及其他一些改进。 2OOI年还推出了LabVIEW Real-.Time (LabVIEW RT),允许将LabVIEW开发的VI下载到N 的RT系列设备中的RT引擎并实时运行(在本章的最后,将讨论LabVIEWRT的更多内容)】 2003年,LabVIEW7.0(有时称为7 Express)为初级和高级用户推出了很多新特性。最显著 的就是Expr心ss技术:通过提供容易配置的、可以立即使用的子VI和函数设计工具,使LabVIEW 新用户人门并快速进人状态。对于高级用户,LabVIEW7.0扩展了事件结构的功能,包括用户定义 事件以及动态事件注册框架一事件结构不再是只绑定在特定VI的前面板事件上。其他新增内容 包括树形控件和子面板,用于创建更加灵活而功能强大的用户界面。另外还新增了很多编辑功能 如对齐到网格、调整大小工具、抓取句柄,还有很多其他功能使得使用LabVIEW更加愉悦。 20O3年还发布了LabVIEW PDA和LabVIEW FPGA模块。LabVIEW PDA允许创建在PalmOS 和PocketPC.上运行的LabVIEW程序。LabVIEW FPGA允许创建在NI的现场可编程门阵列FPGA 设备上运行的LabVIEW程序(在本章的后面,将讨论更多LabVIEW PDA和LabVIEW FPGA的 内容) 2004年,LabVIEW7.1增加VISA支持,用于与蓝牙设备的通信、分组单选按钮控件、导航窗 口及其他有用的特性,包括Express技术的发展,例如为实时控制提供精确计时的定时循环(Timed Loop人FPGA目标和同步功能 2005年,LabVIEW8发布了Project Explorer,这是一个DE风格的工作环境,允许开发者管 理虚拟仪器系统的开发。LabVIEW的工程包括VI、硬件资源和配置,以及编译和使用规则。 LabVIEW8还支持Project Library组件,如编辑时用到的灵巧的右击菜单和拖放功能及定制控件。 2.3什么是数据采集 数据采集简称DAQ,是实现测量现实世界信号如电压,并把这些信息发送到计算机用于处理 分析、储存或其他数据操作的简单过程。图2.1显示了某DAQ系统部件。物理现象(图2.1中未显 示出来)代表了现实世界需要测量的信号,如速度、温度、湿度、压力、流量、PH值、启停、放 射性、亮度等。使用传感器(sensor,有时也称为transducer)感应物理现象并按比例产生电信号 例如,热电偶就是一种传感器,它将温度转换成可用AD转换器(模拟到数字)测量的电压信号。 其他传感器包括应变、流量计和压力传感器,分别用于测量材料由于应力、流量和压力引起的偏移 量。在每种情况下,由传感器产生的电信号与所监测的物理现象直接相关 LabVIEW能够控制DAQ设备,如图2.2所示读取模拟输人信号(A/D转换)人产生模拟输出信 号(DA转换入读写数字信号,并操作板卡自带的计数器用于测量频率、产生脉冲信号、测量 交编码器等,与变换器进行信息交换。在模拟输入的情况下,从传感器来的电压值传送到计算机的 插卡式DAQ设备中,该设备再将数据传送到计算机存储器进行存储、处理或执行其他操作
14 LabVIEW大学实用教程(第三版) 信号调理 DAO设备 USB连接 传感器 图2.1DAQ系统 信号调理模块用于“调理”由变换器产生的电信号,使其成为DAQ设备能够接受的形式。例 如,我们可能想到要隔离一个高达120V的高电压输入,以避免烧坏电路板和计算机一代价高昂 的错误。信号调理模块能够应用于各种不同类型的调理:放大、线性化、滤波、隔离等。虽然不是 所有的应用系统都需要信号调理,但多数系统是需要的,并且应注意技术规格,以避免潜在的危险 另外,信息丢失可能比设备损失更严重!噪声、非线性、过载、混叠现象等会严重地破坏数据 LabVIEW也无法补救。信号调理通常不是随意选择的一 最好在开始以前先检查一下。 下 图2.2M提供的各种可用的DAQ设备 在实验室中要使用虚拟仪器的方法采集数据,需要一个DAQ设备,一台配有LabVIEW和DAQ 驱动软件的计算机,并通过一些方法将传感器信号连接到DAQ设备,如连接器模块、电路实验板 电缆或导线。根据应用系统的要求,还需要信号调理装置。 例如,如果要测量温度,需要将温度传感器连接到计算机中DAQ设备的模拟输入通道(通常 要通过信号调理装置,取决于传感器类型)。然后使用LabVIEW的DAQVⅥ读取板上的相应通道 在屏幕上显示温度,将其记录到数据文件,并按照需要分析数据。 警告:内置的LabVIEW数据采集VI只能工作于NI的DAQ设备。如果使用其他供应商提供的电略板 需要从供应商那里获得驱动程序(如果有的话),或者自己编写服动代码,在LabVIEW中使用接 口节点或动态链接库调用它
第2章虚拟仪器:连接计算机和现实世界 15 2.4什么是GPIB HP公司于20世纪60年代后期开发了通用功能接口总线GPB,方便了计算机与仪器之间的通 信。总线是计算机和仪器之间传输数据的手段,GB则提供了一个非常必要的规则和协议来管理 这种通信。电气和电子工程师协会(EEE)在1975年对GPB进行了标准化,成为著名的EEE488 标准(GPB=IEEE488)。GPB原来的目的是提供针对测试和测量仪器之间的计算机控制。然而, 其应用被扩展到其他领域,如计算机到计算机的通信和对万用表、扫描仪和示波器的控制,超出了 这些应用范用。 GPB是并行总线,可以用于多个仪器通信。GPB以字节为单位传输数据(1字节=8位),所 传输的消息常常是以ASCI编码的字符串。如果计算机具有GPB板(或外部GPB接口盒,则只 能执行GPB通信,如图2.3所示,并且还要安装正确的动程子。 串用 图2.3NMI的GPIB板 一个GPB总线可以连接很多台仪器和计算机。每一个设备,包括计算机接口板,都应该有一 个唯一的从0到30之间的GPB地址,这样通过该地址就能指定数据源和目标。 一般将地址0分配 给GPIB接口板。连接到总线的仪器可以使用从1到30之间的地址。GPB需要一个控制器,通常 是十值机。用来字制总线管理功能。在总线上传给仪器命今和数据,控制器指定一个发送(讲) 者和一个或更多接收(听)者。然后数据串通过总线从发送者传送到接收者。LabVIEW的GPBV 自动管理寻址和其他多数总线管理功能,减少了底层编程带来的困扰。下图所示为一个典型的GPB 系统(见图2.4)。 PC,GPB控制器 GPIB板 GPB仪器 GPIB电缆 图2.4包含-个或多个GPB仪器和一个GPIB控制器板的典型GPB系统
16 LabVIEW大学实用教程(第三版) 虽然使用GB是将数据传输到计算机的一种方法,但是它与数据采集有着根本的不同,尽管 两者都是插入计算机中使用的电路板。当数据采集包括直接连接信号的计算机DAQ设备时,使用 特定的协议,GPB能够与另一个计算机或仪器通信,传输设备采集到的数据。 将GPIB作为虚拟仪器系统的一部分使用时,需要GPB接口板或外部接口盒、GPIB电缆 LabVIEW、计算机及与之通信的EEE488兼容仪器(或另一个包含GPIB板的计算机)。按照 LabVIEW或接口板的使用说明,还需要在计算机上安装GPIB驱动软件。 警告:LabVIEW的GPIB VI.只能与NT的GPIB接口板通信,不能与其他生产商的接口板通信。如果有其 他商家的接口板,则需要从商家获得驱动软件(如果有的话)或自己编写驱动代码并集成到 LabVIEW。对于像DAQ美的驱动,编写驱动程序不是件客易的事。 在第10章、第11章和第12章将讨论更多DAQ和GPIB方面的内容。 2.5使用串行通信 串行通信是计算机与外围设备之间通信的另一种常用的数据传输方法,如可编程仪器(或另外 的计算机)为 LabVIEW能够执行串行通信(RS-232,RS422或RS-485标准),使用计算机内置的或外部连 接的申行口(如USB串行口适配器)。串行通信①通过一条通信线路每次从发送端传输1比特数据 到接收端。当数据传输率低或需要远距离传输时可以使用这种方法。过时的串行通信协议RS-232, 与GPB相比速度慢且不可靠,但实现起来却不需要在计算机中安装接口板,仪器也不需要执行 EEE488标准,所以很多设备仍然采用RS-232。 图2.5所示为一个典型的串行通信系统。 串行口 RS-232仪器 R5-232电0 图25典型的(R5-232)串行口系统—包括一个通过申行口连接到计算机的RS-232仪器 由于大多数的PC都有一个或两个内置的RS-232串行口,所以串行通信是很容易做到的 用购买任何特殊的硬件就能实现传送或接收数据。一些较新的计算机没有内置的申行口,但是可以 很容易地购买一个USB到RS-232的串行口转换器,其价格仅相当于一个USB鼠标的价格。虽然现 在大部分的计算机都有内置的USB接口(通用串行总线),但是USB只是一个更加复杂的原本用于 计算机外设的协议,而不是用于与科学仪器通信的。尽管串行通信(RS-232,RS-422,RS485)相 对USB来说已经过时,但是仍然广泛应用于许多工业设备中。 D方加大分是5因方S位是通用的申行通夫之一.所有时心如也