国外电子与通信教材系列 PEARSON Prentice Hall LabVIEW 大学实用教程 (第三版) EW LabVIEW for Everyone LabVIEW Graphical Programming Made Easy and Fun For Everyone Third Edition Jeffrey Travis [美] Jim Kring 著 RES 乔瑞萍等译 JIMKRING THIRO OON PDG 電子工業出版社· PUBLISHING HOUSE OF ELECTRONICS INDUSTRY http:/www.phei.com.cn
2001年7月间,电子工业出版社的领导同志邀请各高校十几位通信领域方面的老师,商量引进 国外教材问题。与会同志对出版社提出的计划十分赞同,大家认为,这对我国通信事业,特别是对 高等院校通信学科的教学工作会很有好处。 教材建设是高校教学建设的主要内容之一。编写、出版一本好的教材,意味着开设了一门好的 课程,甚至可能预示着一个崭新学科的诞生。20世纪40年代MT林肯实验室出版的一套28本雷 达丛书,对近代电子学科,特别是对雷达技术的推动作用,就是一个很好的例子 我国领导部门对教材建设一直非常重视。20世纪80年代,在原教委教材编审委员会的领导下 汇集了高等院校几百位富有教学经验的专家,编写、出版了一大批教林:很多院校还根据学校的特点 和需要,陆续编写了大量的讲义和参考书。这些教材对高校的教学工作发挥了极好的作用。近年来 随着教学改革的不断深人和科学技术的飞速进步,有的教材内容已比较陈旧、落后,难以适应教学的 要求,特别是在电子学和通信技术发展神速、可以讲是日新月异的今天,如何适应这种情况,更是 个必须认真考虑的问题。解决这个问题,除了依靠高校的老师和专家撰写新的符合要求的教科书外 引进和出版一些国外优秀电子与通信教材,尤其是有选择地引进一批英文原版教材,是会有好处的 一年多来,电子工业出版社为此做了很多工作。他们成立了一个“国外电子与通信教材系列 项目组,选派了富有经验的业务骨干负责有关工作,收集了230余种通信教材和参考书的详细资料 调来了100余种原版教材样书,依靠由20余位专家组成的出版委员会,从中精选了40多种,内容 丰富,覆盖了电路理论与应用、信号与系统、数字信号处理、微电子、通信系统、电磁场与微波等 方面,既可作为通信专业本科生和研究生的教学用书,也可作为有关专业人员的参考材料。此外 这批教材,有的翻译为中文,还有部分教材直接影印出版,以供教师用英语直接授课。希望这些教 材的引进和出版对高校通信教学和教材改革能起一定作用。 在这里,我还要感谢参加工作的各位教授、专家、老师与参加翻译、编辑和出版的同志们。各 位专家认真负责、严谨细致、不辞辛劳、不怕琐碎和精益求精的态度,充分体现了中国教育工作者 和出版工作者的良好美德。 随着我国经济建设的发展和科学技术的不断进步,对高校教学工作会不断提出新的要求和希 望。我想,无论如何,要做好引进国外教材的工作,一定要联系我国的实际。教材和学术专著不同 既要注意科学性、学术性,也要重视可读性,要深人浅出,便于读者自学;引进的教材要适应高权 教学改革的需要,针对目前一些教材内容较为陈旧的问题,有目的地引进一些先进的和正在发展中 的交叉学科的参考书;要与国内出版的教材相配套,安排好出版英文原版教材和翻译教材的比例 我们努力使这套教材能尽量满足上述要求,希望它们能放在学生们的课桌上,发挥一定的作用。 最后,预祝“国外电子与通信教材系列”项目取得成功,为我国电子与通信教学和通信产业的 发展培土施肥。也恳切希望读者能对这些书籍的不足之处,特别是翻译中存在的问题,提出意见和 建议,以便再版时更正。 中国工程院院士、清华大学教授 “国外电子与通信教材系列”出版委员会主任 3
出版说明 进人21世纪以来,我国信息产业在生产和科研方面都大大加快了发展速度,并已成为国民经 济发展的支柱产业之一。但是,与世界上其他信息产业发达的国家相比,我国在技术开发、教育培 训等方面都还存在着较大的差距。特别是在加人wTO后的今天,我国信息产业面临着国外竞争对 手的严峻挑战。 作为我国信息产业的专业科技出版社,我们始终关注着全球电子信息技术的发展方向,始终把 引进国外优秀电子与通信信息技术教材和专业书籍放在我们工作的重要位置上。在2000年至2001 年间,我社先后从世界著名出版公司引进出版了40余种教材,形成了一套“国外计算机科学教材 系列”,在全国高校以及科研部门中受到了欢迎和好评,得到了计算机领域的广大教师与科研工作 者的充分肯定。 引进和出版一些国外优秀电子与通信教材,尤其是有选择地引进一批英文原版教材,将有助于 我国信息产业培养具有国际竞争能力的技术人才,也将有助于我国国内在电子与通信教学工作中攀 握和跟踪国际发展水平。根据国内信息产业的现状、教育部《关于“十五”期间普通高等教育教材 建设与改革的意见》的指示精神以及高等院校老师们反映的各种意见,我们决定引进“国外电子与 通信教材系列”,并随后开展了大量准备工作。此次引进的国外电子与通信教材均来自国际著名出 版商,其中影印教材约占一半。教材内容涉及的学科方向包括电路理论与应用、信号与系统、数 信号处理、微电子、通信系统、电磁场与微波等,其中既有本科专业课程教材,也有研究生课程教 材,以适应不同院系、不同专业、不同层次的师生对教材的需求,广大师生可自由选择和自由组合 使用。我们还将与国外出版商一起,陆续推出一些教材的教学支持资料,为授课教师提供帮助。 此外,“国外电子与通信教材系列”的引进和出版工作得到了教育部高等教育司的大力支持和 帮助,其中的部分引进教材已通过“教育部高等学校电子信息科学与工程类专业教学指导委员会 的审核,并得到教育部高等教育司的批准,纳人了“教育部高等教育司推荐一国外优秀信息科学 与技术系列教学用书”。 为做好该系列教材的翻译工作,我们聘请了清华大学、北京大学、北京邮电大学、南京邮电大 学、东南大学、西安交通大学、天津大学、西安电子科技大学、电子科技大学、中山大学、哈尔滨 工业大学、西南交通大学等著名高校的教授和骨干教师参与教材的翻译和审校工作。许多教授在国 内电子与通信专业领域享有较高的声望,具有丰富的教学经验,他们的渊博学识从根本上保证了教 材的翻译质量和专业学术方面的严密与准确。我们在此对他们的辛勤工作与贡献表示衷心的感谢。 此外,对于编辑的选择,我们达到了专业对口:对于从英文原书中发现的错误,我们通过与作者联 络、从网上下载物误表等方式,逐一进行了修订:同时,我们对审校、排版、印制质量进行了严格 把关 今后,我们将进一步加强同各高校教师的密切关系,努力引进更多的国外优秀教材和教学参考 书为我国由子与通信教材达到什界先讲水平而察力。由干我们对园内外由子与桶信教育的发展仍 存在一些认识上的不足,在选题、翻译、出版等方面的工作中还有许多需要改进的地方,恳请广大 师生和读者提出批评及建议。 电子工业出版社 4
教材出版委员会 主任 吴佑寿 中国工程院院士、清华大学教授 副主任 林金桐 北京邮电大学校长、教授、博士生导师 杨干里 总参通信部刷部长,中国电子学会会士、副理事长 中国通信学会常务理事、博士生导师 委员 林孝康 清华大学教授、博士生导师、电子工程系副主任、通信与微波研究所所长 教育部电子信息科学与工程类专业教学指导分委员会委员 徐安士 北京大学教授、博士生导师、电子学系主任 樊昌信 西安电子科技大学教授、博士生导师 中国通信学会理事、EEE会十 程时听 东南大学教授、博士生导师 郁道银 天津大学副校长、教授、博土生导师 教育部电子信息科学与工程类专业教学指导分委员会委员 阮秋琦 北京交诵大学勒授域十生导而 计算机与信息技术学院院长、信息科学研究所所长 国务院学位委员会学科评议组成员 张晓材 北京航空航天大学教授、博士生导师、电子信息工程学院院长 教育部电子信息科学与电气信息类基础课程教学指导分委员会副主任委员 中国电子学会常务理事 郑宝玉 南京邮电大学副校长、教授、博士生导师 教育部电子信息与电气学科教学指导委员会委员 朱世华 西安交通大学副校长、教授、博士生导师 教育部电子信息科学与工程类专业教学指导分委员会副主任委员 彭启踪 电子科技大学教授、博士生导师、通信与信息工程学院院长 教育部电子信息科学与电气信息类基础课程教学指导分委员会委员 毛军发 上海交通大学教授、博士生导师、电子信息与电气工程学院副院长 教育部电子信息与电气学科教学指导委员会委员 赵尔沅 北京邮电大学教授、《中国邮电高校学报(英文版)》编委会主任 钟允若 原邮电科学研究院副院长、总工程师 刘彩 中国通信学会副理事长兼秘书长,教授级高工 信息产业部通信科技委副主任 杜振民 电子工业出版社原副社长 王志功 东南大学教授、博士生导师、射频与光电集成电路研究所所长 教育部高等学校电子电气基础课程教学指导分委员会主任委员 张中兆 哈尔滨工业大学教授、博士生导师、电子与信息技术研究院院长 范平志 西南交通大学教授、博士生导师、信息科学与技术学院院长 5
译者序 LabVIEW在工业测量和控制领域掀起了一场变革,彻底改变了可扩展性测试、测量和控制应 用程序的开发过程,使工程师和科学家能够迅速而经济地连接测量与控制硬件、分析数据、共享结 果并发布系统 本书作者具有15年以上从事LabVIEW开发与教学方面的丰富经验,对LabVIEW的原理和内 部机制理解深刻,通过深入浅出、风趣的阐述,使读者能够轻松快速地理解并掌握LabVIEW的基 础知识和高级技巧。本书旨在帮助读者快速启动并能容易地运行LabVIEW,将以往复杂的数据 集工作变得异常简便,集中时间和精力于结论的分析和有创意的概念上,使得学习LabVIEW变得 多松有趣.使读者最终成为LabVIEW的开发专家本书是NI公司提供的CLAD.CD和CLA等认 证考试的必备书籍。读者可以根据书中提供的标注图标快速找到最新的考试重点,使得本书成 为比其他书籍更有价值的学习工具。本书包含大量的同步练习,读者只需按照书中步骤循序渐进地 操作,即可实现具有实用意义的VL,学习效率也将大大提高。读者可以打开、检查、使用并修改 所附光盘中的任何程序,也可以登录htp:/labviewforeveryone.com网站,获得更新的实例、练习 物提表及甘他相关资源和信息 本书由西安交通大学电子与信息工程学院乔瑞萍等翻译。李振安在翻译过程中给予了技术支持 与指导,郑江、李东平、高飞、王婷婷等参与了部分章节的翻译工作,在此向他们表示感谢。 翻译是细致而艰辛的工作。对于本书的部分内容,我们使用LbV正W软件进行了同步操作 为翻译工作做出了最大的努力。但因时间紧迫,工作繁忙,加之译者水平有限,难免不妥之处,恳 请读者批评指正。 译者 2008.6 6
前 言 LabVIEW是一种图形化编程语言,作为数据采集和仪器控制软件的标准被广泛应用于工业界 学术界和研究性实验室。LabVIEW是功能强大、灵活的多平台仪器和分析软件系统 -LabVIEW 可以运行于Windows,.Mac OS X和Linux系统上。LabVIEW还可以运行在PDA(PalmOS,PocketPC 或WindowsCE设备人实时平台上,甚至可以将LabVIEW程序嵌入到FPGA芯片和32位徽处理 器中。创建自己的LabVIEW程序或虚拟仪器(VI)是很容易的。LabVIEW的直观用户界面使得编 写和使用程序变得今人激动日有趣! LabVIEW来源于传统设计语言的顺序特性并以易用的图形化设计环境为特色,包括数据采集 (DAQ人数据分析、结果显示等必需的所有工具。使用图形化设计语言,也称为G语言,可以采 用能编译成机器代码的图形框图编程。无数完美的科学和工程应用软件证明,LabVIEW有助于在 很短的时间内解决多种问题,并毫无疑问地可以写出“传统的”代码。 超越实验室 LabVIEW已经讲入糖拟仪器应用的广泛领域,很难说清楚它始于何处。正如其名字所暗示的 那样,它来源于实验室并且仍然流行于多种实验室 从世界各地主要的研究所和开发实验室,到 多行业的研发实验室、全世界各大学的教学实验室,特别是电子与机械工程和物理学科。 LabVIEW的推广在很多方向超出了实验室范围 一向上(航天飞机入向下(海军潜艇)和世 界各地(从北海的油井到新西兰的工厂)。采用最新的Internet功能,LabVIEW应用软件不仅可物 理地配置到很多地方,也可以虚拟地应用于网络应用软件。越来越多的人创建基于网站的控制或监 视LabVIEW应用软件系统,实现远程访问并立刻得到实验室所发生的即时信息。虚拟仪器系统以 其在硬件和开发时间方面的低成本和其极大的灵活性而闻名。 虚拟仪器的扩展世界 也许描述LabVIEW应用软件的扩展(或增强)的最好方法就是对其进行概括总结。很多场合 都需要某些测量 对于烤炉、冷库、温室、绝对无尘室或液体容器,一般要测量其温度。除温度 之外,用户还要测量压力、应力、位移、应变、PH值等。事实上任何地方都可以使用个人计算机。 LabVIEW推动了PC和测量仪器的结合,这不仅仅是因为它容易使用,还因为它带来了很多功能, 包括分析和显示测量结果、根据需要进行全球范传输等 在测量和分析之后,下一个逻辑步骤一般是根据结果改变(控制)某个目标。例如,先测量温 度,然后点燃炉子或打开冷却器。LabVIEW很容易做到这些,监测和控制正是LabVIEW的强项。 有时是直接监测和控制,有时通过与可编程逻辑控制器(PLC)通信进行,这一般被称为数据采集 与监视控制系统(SCADA)。 应用案例 LabVIEW的一些应用案例如下:
●榄拟心跳动。 ●控制冰淇淋的制作过程。 ●探测航天飞机的氢气泄漏 ●监测幼小鸵鸟的进食方式。 ●动力系统建模以分析动力特性 ●测量实验室训练老鼠的物理效果 ●伺服电机和步进电机的运动控制。 ●计算机和其他电子设备中的电路板测试 ●虚拟现实系统中的仿真运动。 ●允许通过网络远程导航氨气飞艇并反馈信息, ●为TPS报告自动产生封面表格。 本书目标 本书的目的在于帮助读者快速启动并容易地运行LabVIEW,使读者最终成为LabVIEW的开发 专家。本书通过附加示例和练习,示范了如何获得关于LbV正W的其他信息资源的技巧,并给出 了LabVIEW应用软件的特性描述。用户可以打开、检查、使用并修改附带光盘中的任何程序,也 可以在htp:/labviewforeveryone.com网站上获得更新的实例、练习、勘误表和其他相关资源与信息。 光盘也附有用于Windows的LabVIEW8.0评估版,在30天评估期内评估版与商业版有着完全相同 的功能。用户也可以从http:/lmi.com/labview网站上下载最新的LabVIEW评估版。 本书希望读者拥有计算机操作系统方面的基本知识。如果没有太多计算机经验,读者应该花点 时间去熟悉自己的计算机。例如,读者应该知道如何进入菜单、打开并保存文件、备份磁盘和使用 鼠标。若有使用其他语言(C,Java,FORTRAN等)的编程经验,则更有帮助,但对使用LabVIEW 来说这不是必需的。 在通读本书并做完所有的练习后,读者应该能轻易地完成如下工作: ●编写LabVIEW程序,调用虚拟仪器或VM。 ●使用各种调试技术。 ●使用内置的LabVIEw函数和VI ●创建并保存自己的V1,以作为子V1或子程序使用。 ●设计定制的图形化用户界面(GUI)。 ●以文件方式保存数据并在图表或图形中显示。 ●使用DAO插件板创建应用程序 。使用内置分析函数处理数据。 ●优化所编写LabVIEW程序的速度和性能。 ●使用状态机和事件结构等先进技术。 ●使用LabVIEW的内置web服务器和远程面板特性,控制自己的V,并通过Intemet或在网 络上发布数据。 ●使用LabVIEW创建自己的仪器应用程序。 本书可帮助读者使用LbV正W快速开发自己的仪器和分析应用程序。全书分为两大部分:基 础知识和高级主题。基本知识部分包括九章,讲授LabVIEW的基础编程。高级主题部分包括八章, 8
以进一步拓展读者的技能,并介绍有用的编程技巧和优化策略。建议用户先学习第一部分以掌握基 础知识,然后在时间较紧的情况下,在高级部分可以直接跳到想要学习的部分。 在这两部分中,为方便学习,各章有特定的结构,如下所列 ●综述、目标和关键术语描述涵盖本章的主要概念。 ●正文部分讨论特定主题。 ●在练习部分进一步讨论补充信息 。小结总结章节中讲授的重要概念和技巧。 ●许多章节的附加练习部分用新的预材提供再多的练习 基础知识 第1章介绍LabVIEW并时论LabVIEW的特性和用涂 第2章给出虚拟仪器的总体概念,使用LabVIEW执行数据采集、GPIB、串行端口通信和数据 分析。 第3章介绍LabVIEW环境,包括LabVIEW Project Explorer、 虚拟仪器(VI)的实质部分、帮 助窗口、菜单、工具、选项卡和子VL 第4章和第5章介绍LabVIEW的基础编程使用控件和指示器(例如数值、布尔量和字符 申方连线、创建、编辑、调试和保存VI;创建子V;保存结果。了解为什么LabVIEW被认为是 数据流第程语言。 第6章描述LabVIEW的基础编程结构:While循环、For循环、移位寄存器、Case结构、顺序 结构和公式节点。讲述怎样在程序中加人定时器,介绍如何使用易用的框架联合While循环和Cas© 结构建立可扩展的应用程序。 第7章学习怎样在程序中使用两个重要的数据结构 数组和簇,探索LabVIEW操作数组和 簇的内置函数。此外,还将讲授LabVIEW中的错误簇和如何执行恰当的错误处理。 第8章详述LabVIEW中各种可用的图表和图形,并讲授如何使用它们来生动直观地显示数据 同时也将介绍波形、时间截和动态数据类型。 第9章讨论字符串数据类型、字符串函数和表。学习怎样分解字符串,使用规则的表达式句法 讨论怎样把数据写入文件和从文件中读取数据,使用LabVIEW的简单文件IOV 高级主题 第10章讲述一些信号、数据采集及模拟和数字/0方面的理论知识,介绍一些硬件知识及 些在仪器中很有用的通用缩写词。第10章还将讨论用于数据采集的Measurement&Automation Explorer(MAX)软件安装,以及配置NM-DAQmx设备。 第11章以第10章学习的数据采集为基础,讲述怎样在LabVIEW中使用DAQmx VI进行数 据采集。我们将学习LabVIEW中易用且功能强大的DAQmx任务,同时做一些练习以读写模拟量 数据和数字量数据。本章后面提供一些关于数据采集应用的高级模板,如数据流文件访问或触发 采集。 第12章讨论怎样在LabVIEW中使用外部仪器。我们将学习有关GPB、串行端口、以太网和 其他类型仪器的接口,以及怎样使用LabVIEW的VISA框架方便地与它们通信。 第13章包括一些重要的特性,如局部和全局变量、属性节点、调用节点和功能强大的用于事 件驱动的事件结构,还将学习到有关状态机和队列消息处理器的应用框架、消息和同步函数:队列、 49
通告程序、信号量、聚集和并发事件。还将介绍更多的LabVIEW GUI组件,如树、子面板、图形 和语音等。 第14章讨论更多的文件/O,说明怎样使用二进制文件及配置文件,以及高级文本文件函数。 读者将会明白怎样同时读取和产生外部代码模块如DLL和共享库。 第15章展示如何使用VI设置选项配置VI的行为和外观。学习功能强大的VⅥServer,以及怎 样才能动态地控制LabVIEW、VI和控件。还将介绍LabVIEW的实用工具,如查找功能和VⅥ的层 次窗口。 第16章介绍LabVIEW的连接功能,如在网络上显示、通过网络远程控制VL、通过共享变量 方式共享数据、联网和报告生成。 第17章给出LabVIEW的一些编程风格和一些新的提示,如怎样通过导入图片或使用控件编辑 器,为应用程序添加定制外观。第17章描述一些好的编程技巧,使用它们可以使程序运行更快、占 用更少的内存、更容易地转问其他平台,提高总体执行效率。 附录A中可以找到光盘中所包含文件的概要和描述、用于安装LabVIEW评估版的高级指导以 及本书讨论到的示例和练习。 附录B介绍NI公司和第三方提供的附加工具包,以增强LabVIEW的功能。 附录C介绍免费的软件和OpenG组织,它为LabVIEW协作开发附加工具包 附录D介绍LabVIEW中的面向对象程序设计技术,包括以往的LabVIEW面向对象编程和 些新出现的观点 附录E包括各种LabVIEW资源的链接,如用户组、论坛和各种其他在线的LabVIEW资源。 附录F介绍LabVIEW开发者资格认证考试,怎样准备,以及认证的好处。 书末附有术语表。 本书的习惯用法介绍如下。 粗体字 粗体字表示VⅥ名字、函数名字、菜单、菜单项和选项卡。此外,还用粗体字注 释VI的输入和输出,例如“从TCP Functions板上选择TCP Read”。 斜体字 斜体字表示强调、交叉引用、对关键术语或概念的介绍。例如,“control reference 是一个指向LabVIEW控件或指示器的对象,可以管理其属性。” 等宽字体 等宽字体表示的是使用键盘输人的文字或字符,还可以表示文件和路径。代码部 分、编程示例、句法示例、消息和计算机自动显示在屏幕上的响应信息以这种字 体显示。例如“在文本框中,输人c:data\datafile.txt作为文件名”。 注意 标记需要特别注意的信息。 警告 标记常见的缺陷,或需要注意以防出现问题的特殊信息。 提示 引起读者注意,可以使用提示使得操作更高效。 当我们看到该图标时,表示要讨论的主题是LabVIEW开发者资格认证(Certified LabVIEW Developer,.CLD)考试主题。如果想要通过CLD考试,请多关注!附 录F中提供有关认证程序、认证好处、怎样学习以及参加考试的预期等方面的详 细信息。 在第6章,将会介绍LabVIEW的Express技术,它为通用任务提供可配置的自动 编程。该图标表示此处参照Express Technology主题部分。 ·10
关于路径的注意事项 在不同的平台下指定路径名有着不同的约定。例如,Windows路径采用“X:\LABVIEW\MINE LLB\BINGO.VT”的形式。同样的路径在Mac OS X系统中会表示为“硬盘驱动器名:LabVIEW Mine.11b:Bingo.v1”。在Linux或Mac OS X机器中,路径会是“/usr/1 abview//mine.11b bigo,vi”。本书中当告知在哪里查找示例VI时,会从LabVIEW目录或子目录中列出默认路径 而不是指定一个完整的路径。为简化命名,将会使用Windows的标准路径描述;如果使用Mac OS X 或UNX机器,请在必要的地方替换冒号或斜杠。 第三版新增内容 本书第一版是针对LabVIEW初学者的书,为LabVIEW4.0编写,出版于1997年。在此之后, Prentice Hall和其他出版商出版了很多LabVIEW的专业书籍。本书的第二版更新到LabVIEW6., 并且增加了一些新的主题。 第三版已经完全修订并更新为LabVIEW8.0。新增加了两章,书的页数也增加了两倍!与第二 版相比所做的修改包括以下方面: ●包含LabVIEW新的Express VI和Express技术。 ●包含Certified LabVIEW Developer编号以标记关键部分,这些部分提供了CLD认证考试中 测试的知识点。 ·自动工具 ●静态VI参考 ●Call by Refere ce高级选项。 ●事件结构和事件驱动编程, ●动杰数据 ●变量。 ●类型定义 ●配置(NI)文件VI ●从LabVIEW中调用DLL ●共享变量 ●定制探针。 。查找和替换 ●XML ●管道。 ·错误处理设计模式、提示和窍门。 。While循环+Case结构设计模式 ●状态机和队列消息处理器设计模式。 ●使用队列、通知、信号量、聚集和并发事件时的消息和同步。 ●树形控件、Tb控件、拖放、子面板、滚动条和分隔条。 ●规范表达式。 ●框图禁止和条件禁止结构 ·11