图书简介:
第1章 走进labVIEW的世界
综述
1.1 什么是labVIEW及其作用
1.2 演示示例
练习1.1:温度系统示例
练习1.2:频率响应示例
1.3 小结
练习1.3:更多完美示例
第2章 虚拟仪器:连接计算机和现实世界
综述
2.1 在现实世界中使用labVIEW
2.2 labVIEW的发展历程
2.3 什么是数据采集
2.4 什么是gpib
2.5 使用串行通信
2.6 现实应用:为什么要分析
2.7 pxl和vxi简介
2.8 连通性
2.9 labVIEW附加工具包
2.10 labVIEW real—time、fpga、pda和embedded
2.11 小结
第3章 labVIEW环境
综述
3.1 前面板
3.2 框图
3.3 labVIEW工程
3.4 子vi、图标和连接器
练习3.1:启动labVIEW
3.5 对齐网格
3.6 下拉菜单
3.7 浮动选项卡
3.8 工具条
3.9 弹出菜单
3.10 帮助
3.11 express vi
3.12 将子vi显示为可扩展节点
3.13 关于子ⅵ的一些内容
练习3.2:前面板和框图基础
3.14 小结
第4章 labVIEW基础
综述
4.1 创建v
练习4.1:编辑练习
4.2 基本控件和指示器及其完成的趣味功能
4.3 连线
4.4 运行vi
练习4.2:创建一个温度计
4.5 实用提示
4.6 小结
练习4.3:比较练习
练习4.4:非常简单的计算
第5章 基础部分续
综述
5.1 加载和保存vi
5.2 调试技术
练习5.1:调试
5.3 创建子vi
5.4 编制文档
5.5 打印简介
练习5.2:创建一个子ⅵ
5.6 小结
练习5.3:求平均值
练习5.4:除以零(谁说不可能?)
第6章 使用结构控制程序执行
综述
6.1 两种循环
练习6.1:计算循环次数
6.2 移位寄存器
练习6.2:移位寄存器示例
6.3 case结构
6.4 对话框
第7章 labVIEW的复合数据:数组和簇
第8章 labVIEW令人振奋的图形显示:图表和图形
第9章 探索字符串和文件i/o
第10章 信号测量和产生:数据采集
第11章 labVIEW中的数据采集
第12章 labVIEW中的仪器控制
第13章 高级labVIEW数据结构和函数
第14章 labVIEW高级数据概念
第15章 labVIEW高级特性
第16章 labVIEW中的连通性
第17章 labVIEW的编程艺术
附录a 光盘内容
附录b labVIEW附加工具包
附录c labVIEW的开源工具:openg
附录d labVIEW面向对象编程
附录e labVIEW资源
附录f labVIEW认证考试
术语表
展开
译者序
LabVIEW在工业测量和控制领域掀起了一场变革,彻底改变了可扩展性测试、测量和控制应用程序的开发过程,使工程师和科学家能够迅速而经济地连接测量与控制硬件、分析数据、共享结果并发布系统。
本书作者具有15年以上从事LabVIEW开发与教学方面的丰富经验,对LabVIEW的原理和内部机制理解深刻,通过深入浅出、风趣的阐述,使读者能够轻松快速地理解并掌握LabVIEW的基础知识和高级技巧。本书旨在帮助读者快速启动并能容易地运行LabVIEW,将以往复杂的数据采集工作变得异常简便,集中时间和精力于结论的分析和有创意的概念上,使得学习LabVIEW变得轻松有趣,使读者最终成为LabVIEW的开发专家。本书是NI公司提供的CLAD,CLD和CLA等认证考试的必备书籍。读者可以根据书中提供的标注图标快速找到NI最新的考试重点,使得本书成为比其他书籍更有价值的学习工具。本书包含大量的同步练习,读者只需按照书中步骤循序渐进地操作,即可实现具有实用意义的VI,学习效率也将大大提高。读者可以登录http://labviewforeveryone.com网站,获得更新的实例、练习、勘误表及其他相关资源和信息。
本书由西安交通大学电子与信息工程学院乔瑞萍等翻译。李振安在翻译过程中给予了技术支持与指导,郑江、李东平、高飞、王婷婷等参与了部分章节的翻译工作,在此向他们表示感谢。翻译是细致而艰辛的工作。对于本书的部分内容,我们使用LabVIEW软件进行了同步操作,为翻译工作做出了最大的努力。但因时间紧迫,工作繁忙,加之译者水平有限,难免不妥之处,恳请读者批评指正。
前言
LabVIEW是一种图形化编程语言,作为数据采集和仪器控制软件的标准,被广泛应用于工业界、学术界和研究性实验室。LabVIEW是功能强大、灵活的多平台仪器和分析软件系统,可运行于Windows,Mac OS X和Linux系统上。LabVIEW还可以运行在PDA(PalmOS,PocketPC或Windows CE设备)、实时平台上,甚至可以将LabVIEW程序嵌入到FPGA芯片和32位微处理器中。创建自己的LabVIEW程序或虚拟仪器(VI)是很容易的。LabVIEW的直观用户界面使得编写和使用程序变得令人激动且有趣!
LabVIEW来源于传统设计语言的顺序特性并以易用的图形化设计环境为特色,包括数据采集(DAQ)、数据分析、结果显示等必需的所有工具。使用图形化设计语言,也称为G语言,可以采用能编译成机器代码的图形框图编程。无数完美的科学和工程应用软件证明,LabVIEW有助于在很短的时间内解决多种问题,并毫无疑问地可以写出“传统的”代码。
超越实验室
LabVIEW已进入虚拟仪器应用的广泛领域,很难说清楚它始于何处。正如其名字所暗示的,它来源于实验室并且仍流行于多种实验室——从世界各地主要的研究所和开发实验室,到多行业的研发实验室、全世界各大学的教学实验室,特别是电子与机械工程,以及物理学科。LabVIEW的推广在很多方向超出了实验室范围——向上(航天飞机)、向下(海军潜艇)和世界各地(从北海的油井到新西兰的工厂)。采用最新的Intemet功能,LabVIEW应用软件不仅可物理地配置到很多地方,也可以虚拟地应用于网络应用软件。越来越多的人创建基于网站的控制或监视LabVIEW应用软件系统,实现远程访问并立刻得到实验室所发生的即时信息。虚拟仪器系统以其在硬件和开发时间方面的低成本和其极大的灵活性而闻名。
虚拟仪器的扩展世界
也许描述LabVIEW应用软件的扩展(或增强)的最好方法就是对其进行概括总结。很多场合都需要某些测量——对于烤炉、冷库、温室、绝对无尘室或液体容器,一般要测量其温度。除温度之外,用户还要测量压力、应力、位移、应变、PH值等。事实上任何地方都可以使用个人计算机。LabVIEW推动了PC和测量仪器的结合,这不仅仅是因为它容易使用,还因为它带来了很多功能,包括分析和显示测量结果、根据需要进行全球范围的传输等。
在测量和分析之后,下一个逻辑步骤一般是根据结果改变(控制)某个目标。例如,先测量温度,然后点燃炉子或打开冷却器。LabVIEW很容易做到这些,监测和控制正是LabVIEW的强项。有时是直接监测和控制,有时通过与可编程逻辑控制器(PLC)通信进行,这样的系统一般称为数据采集与监视控制系统(SCADA)。
应用案例
LabVIEW的一些应用案例如下:
● 模拟心脏跳动。
● 控制冰淇淋的制作过程。
● 探测航天飞机的氢气泄漏。
● 监测幼小鸵鸟的进食方式。
● 动力系统建模,以分析动力特性。
● 测量实验室训练老鼠的物理效果。
● 伺服电机和步进电机的运动控制。
● 计算机和其他电子设备中的电路板测试。
● 虚拟现实系统中的仿真运动。
● 为TPS报告自动产生封面表格。
● 允许通过网络远程导航氦气飞艇并反馈信息。
本书目标
本书的目的在于帮助读者快速启动并容易地运行LabVIEW,使读者最终成为LabVIEW的开发专家。通过补充许多示例和练习,示范了如何获得关于LabVIEW的其他信息资源的技巧,并给出了LabVIEW应用软件的特性描述。用户可以打开、检查、使用并修改本书附带的程序(登录华信教育资源网www.hxedu.com.cn可注册下载本书相关程序文件),也可以在http://labviewforeveryone.com网站上获得更新的实例、练习、勘误表和其他相关资源与信息。用户也可以从http://ni.com/labview网站上下载最新的LabVIEW评估版。
本书希望读者拥有计算机操作系统方面的基本知识。如果没有太多计算机经验,那么读者应该花些时间去熟悉自己的计算机。例如,读者应该知道如何进入菜单、打开并保存文件、备份磁盘和使用鼠标。若有使用其他语言(C,Java或FORTRAN等)的编程经验,则更有帮助,但对使用LabVIEW来说这不是必需的。
在通读本书并做完所有的练习后,读者应该能轻易地完成如下工作:
● 编写LabVIEW程序,调用虚拟仪器或VI。
● 使用各种调试技术。
● 使用内置的LabVIEW函数和VI。
● 创建并保存自己的VI,以作为子VI或子程序使用。
● 设计定制的图形化用户界面(GUI)。
● 以文件方式保存数据并在图表或图形中显示。
● 使用DAQ插件板创建应用程序。
● 使用内置分析函数处理数据。
● 优化所编写LabVIEW程序的速度和性能。
● 使用状态机和事件结构等先进技术。
● 使用LabVIEW的内置Web服务器和远程面板特性,控制自己的VI,并通过Internet或在网络上发布数据。
● 使用LabVIEW创建自己的仪器应用程序。
本书可帮助读者使用LabVIEW快速开发自己的仪器和分析应用程序。全书分为两大部分:基础知识和高级主题。基本知识部分包括九章,讲授LabVIEW的基础编程。高级主题部分包括八章,以进一步拓展读者的技能,并介绍有用的编程技巧和优化策略。建议用户先学习第一部分以掌握基础知识,然后在时间较紧的情况下,在高级部分可以直接跳到想要学习的部分。在这两部分中,为方便学习,各章有特定的结构,如下所列:
● 综述、目标和关键术语描述涵盖了本章的主要概念。
● 正文部分讨论特定主题。
● 在练习部分进一步讨论补充信息。
● 小结总结章节中讲授的重要概念和技巧。
● 许多章节的附加练习部分用新的题材提供更多的练习。
基础知识
第1章介绍LabVIEW并讨论LabVIEW的特性和用途。
第2章给出虚拟仪器的总体概念,使用LabVIEW执行数据采集、GPIB、串行端口通信和数据分析。
第3章介绍LabVIEW环境,包括LabVIEW Project Explorer、虚拟仪器(VI)的实质部分、帮助窗口、菜单、工具、选项卡和子VI。
第4章和第5章介绍LabVIEW的基础编程——使用控件和指示器(例如数值、布尔量和字符串);连线、创建、编辑、调试和保存VI;创建子VI;保存结果。了解为什么LabVIEW被认为是数据流编程语言。
第6章描述LabVIEW的基础编程结构:While循环、For循环、移位寄存器、Case结构、顺序结构和公式节点。讲述怎样在程序中加入定时器,介绍如何使用易用的框架联合While循环和Case结构建立可扩展的应用程序。
第7章学习怎样在程序中使用两个重要的数据结构——数组和簇,探索LabVIEW操作数组和簇的内置函数。此外,还将讲授LabVIEW中的错误簇和如何执行恰当的错误处理。
第8章详述LabVIEW中各种可用的图表和图形,并讲授如何使用它们来生动直观地显示数据。同时也将介绍波形、时间戳和动态数据类型。
第9章讨论字符串数据类型、字符串函数和表。学习怎样分解字符串,使用规则的表达式句法。讨论怎样把数据写入文件和从文件中读取数据,使用LabVIEW的简单文件I/O VI。
高级主题
第10章讲述一些信号、数据采集及模拟和数字I/O方面的理论知识,介绍一些硬件知识及一些在仪器中很有用的通用缩写词。第10章还将讨论用于数据采集的Measurement & Automation Explorer(MAX)软件安装,以及配置NI-DAQmx设备。
第11章以第10章学习的数据采集为基础,讲述怎样在LabVIEW中使用DAQmx VI进行数据采集。示例LabVIEW中易用且功能强大的DAQmx任务,同时做一些练习以读写模拟量数据和数字量数据。然后提供一些关于数据采集应用的高级模板,如数据流文件访问或触发采集。
第12章讨论怎样在LabVIEW中使用外部仪器。我们将学习有关GPIB、串行端口、以太网和其他类型仪器的接口,以及怎样使用LabVIEW的VISA框架方便地与它们通信。
第13章包括一些重要的特性,如局部和全局变量、属性节点、调用节点和功能强大的用于事件驱动的事件结构,还将学习到有关状态机和队列消息处理器的应用框架、消息和同步函数:队列、通告程序、信号量、聚集和并发事件。还将介绍更多的LabVIEW GUI组件,如树、子面板、图形和语音等。
第14章讨论更多的文件I/O,说明怎样使用二进制文件及配置文件,以及高级文本文件函数。读者将会明白怎样同时读取和产生外部代码模块,如DLL和共享库。
第15章展示如何使用VI设置选项配置VI的行为和外观。学习功能强大的VI Server,以及怎样才能动态地控制LabVIEW、VI和控件。还将介绍LabVIEW的实用工具,如查找功能和VI的层次窗口。
第16章介绍LabVIEW的连接功能,如在网络上显示、通过网络远程控制VI、通过共享变量方式共享数据、联网和报告生成。
第17章给出LabVIEW的一些编程风格和一些新的提示,如怎样通过导入图片或使用控件编辑器,为应用程序添加定制外观。第17章描述一些好的编程技巧,使用它们可以使程序运行更快、占用更少的内存、更容易地转向其他平台,提高总体执行效率。
附录A为本书附带文件的概要和描述、用于安装LabVIEW评估版的高级指导以及本书讨论到的示例和练习(为适应版本更新,中译本已不附带光盘,读者可通过NI网站http://ni.com/labview下载最新评估版)。
附录B介绍NI公司和第三方提供的附加工具包,以增强LabVIEW的功能。
附录C介绍免费的软件和OpenG组织,它为LabVIEW协作开发附加工具包。
附录D介绍LabVIEW中的面向对象程序设计技术,包括以往的LabVIEW面向对象编程和一些新出现的观点。
附录E包括各种LabVIEW资源的链接,如用户组、论坛和各种其他在线的LabVIEW资源。
附录F介绍LabVIEW开发者资格认证考试,怎样准备,以及认证的好处。
书末附有术语表。
本书的习惯用法介绍如下。
粗体字 粗体字表示VI名字、函数名字、菜单、菜单项和选项卡。此外,还用粗体字注释VI的输入和输出,例如“从TCP Functions板上选择TCP Read”。
斜体字 斜体字表示强调、交叉引用、对关键术语或概念的介绍。例如,“control reference是一个指向LabVIEW控件或指示器的对象,可以管理其属性。”
等宽字体 等宽字体表示的是使用键盘输入的文字或字符,还可以表示文件和路径。代码部分、编程示例、句法示例、消息和计算机自动显示在屏幕上的响应信息以这种字体显示。例如“在文本框中,输入C:datadatafile.txt作为文件名”。
注意 标记需要特别注意的信息。
警告 标记常见的缺陷,或需要注意以防出现问题的特殊信息。
提示 引起读者注意,可以使用提示使得操作更高效。
当我们看到该图标时,表示要讨论的主题是LabVIEW开发者资格认证(Certified LabVIEW Developer,CLD)考试主题。如果想要通过CLD考试,请多关注!附录F中提供有关认证程序、认证好处、怎样学习以及参加考试的预期等方面的详细信息。
第6章将会介绍LabVIEW的Express技术,它为通用任务提供可配置的自动编程。该图标表示此处参照Express Technology主题部分。
关于路径的注意事项
在不同的平台下指定路径名有着不同的约定。例如,Windows路径采用“X:LABVIEWMINE.LLBBINGO.VI”的形式。同样的路径在Mac OS X系统中会表示为“硬盘驱动器名:LabVIEW:Mine.llb:Bingo.vi”。在Linux或Mac OS X机器中,路径会是“/usr/labview/mine.llb/bingo.vi”。本书中当告知在哪里查找示例VI时,会从LabVIEW目录或子目录中列出默认路径,而不是指定一个完整的路径。为简化命名,将会使用Windows的标准路径描述;如果使用Mac OS X或UNIX机器,请在必要的地方替换冒号或斜杠。
第三版新增内容
本书第一版是针对LabVIEW初学者的书,为LabVIEW 4.0编写,出版于1997年。在此之后,Prentice Hall和其他出版商出版了很多LabVIEW的专业书籍。本书的第二版更新到LabVIEW 6.1,并且增加了一些新的主题。
第三版新增内容如下:
● 包含LabVIEW新的Express VI和Express技术。
● 自动工具。
● 静态VI参考。
● Call by Reference高级选项。
● 事件结构和事件驱动编程。
● 动态数据。
● 变量。
● 类型定义。
● 配置(INI)文件VI。
● 从LabVIEW中调用DLL。
● 共享变量。
● 定制探针。
● 查找和替换。
● XML。
● 管道。
● 错误处理设计模式、提示和窍门。
● While循环+Case结构设计模式。
● 状态机和队列消息处理器设计模式。
● 规范表达式。
● 框图禁止和条件禁止结构。
● 使用NI-DAQmx和LabVIEW DAQmx Ⅵ。
● LabVIEW工程管理器。
● 对齐网格。
● 定时结构(定时循环和定时顺序结构)。
● 生成高级报告。
● 多态VI。
● 使用队列、通知、信号量、聚集和并发事件时的消息和同步。
● 树形控件、Tab控件、拖放、子面板、滚动条和分隔条。
LabVIEW安装说明
如果拥有LabVIEW的许可版本,并需要安装,请查看软件附带的安装说明。否则,可以安装一个30天试用期的LabVIEW评估版。建议用户登录http://ni.com/labview获得最新的LabVIEW评估版,该版本是可以下载的。评估版会在30天后失效。然后,可以从National Instruments的网站http://ni.com上购买许可证,激活安装的LabVIEW使之成为许可版本。另外,读者需要访问本书附带文件中的EVERYONE目录。该目录包括本书的练习及其解答。可以把EVERYONE目录复制到自己的计算机上以保存所做的练习(也可以从http://labviewforeveryone.com网站上获得更新的示例、练习、勘误表和其他有关资源和信息)。
展开