本书是在第一版的基础上修订而成的。这次修订更新、补充了很多内容,以适应科学技术的发展和当前教学改革的需要。全书以测量技术和虚拟仪器原理为主线,以LabVIEW 2014为基本平台,系统介绍了虚拟仪器的原理和概念,详细讲解了虚拟仪器的硬件构成、组建方式,软件编程、信号处理及算法和虚拟仪器设计等内容。本书共7章,第一章是虚拟仪器概述,第2章和第3章分别是虚拟仪器软件LabVIEW的编程基础和扩展编程。第4章讲解数据采集的硬件电路和DAQ软件编程。第5章讨论测试信号的产生、时频域分析及数字处理。第6章讨论总线与网络通信技术。第7章讲解虚拟仪器设计实例,包括高速多功能DAQ主板、输入输出通道及软件设计。本书适用面较广,可作为高等理工科院校自动化类、电子信息类、机械类等专业教材,也可作为相关专业研究生的教材,以及广大科研和工程技术人员的参考书。
虚拟仪器是现代测试技术及仪器发展的一个重要标志,是现代测量技术与信息技术相结合的产物。所谓虚拟仪器,是指在以通用计算机为主体的硬件平台上,由用户设计定义的,具有虚拟面板,而且测试功能由测试软件实现的一种计算机仪器系统。它已经成为21世纪测试技术与仪器技术发展的一个重要方向,并且在众多领域得到了广泛的应用。
该教材以测量技术和虚拟仪器原理为内容的主线,以LabVIEW为基本平台,系统介绍了虚拟仪器的原理和概念,详细讲解虚拟仪器的硬件构成、组建方式,重点在软件编程、信号处理及算法和虚拟仪器设计等内容。
本书第一版于2008年出版,以内容体系的完整性、硬件与软件并重、综合性和实用性等特点,受到读者的欢迎。但是近十年来,虚拟仪器技术随着现代信息技术的发展,技术体系不断更新和完善,软件已多次升级更新,增加了很多功能,编程方法也有变化;同时针对网络技术的发展和普及,学生使用计算机能力的提升等,在教学中也需要持续更新教学内容,因此非常有必要对教材进行修订。
在保留原书体系结构和编写特色的前提下,第二版做了全面修改和补充,主要修改内容包括:(1)在全书中升级LabVIEW软件版本为目前较新和应用较广的2014版,使用汉化界面,更适合学生学习。(2)增加一章讲解LabVIEW软件的扩展编程技术,解决虚拟仪器软件开发中的更深入和较复杂问题。(3)专门扩充一章讲解虚拟仪器的网络化测控系统编程技术。(4)采用新的DAQmx技术,重写了原第5章数据采集软件编程。(5)限于篇幅,删减了原第7章和第8章内容。
全书共7章,第1章虚拟仪器的概述,讨论了虚拟仪器的基本概念、形成和发展、系统结构等内容。第2章虚拟仪器软件LabVIEW编程基础,主要讨论了LabVIEW的编程结构、数组、簇和字符串、图形化数据显示、文件操作等。第3章虚拟仪器软件LabVIEW扩展编程,主要讲解人机界面交互设计、与外部程序的接口技术、多语言的实现技术和生成安装包等。第4章虚拟仪器数据采集技术,讨论了数据采集(DAQ)中的信号调理、A/D转换与数据存储等硬件技术。还探讨DAQ的软件编程方法和实例,包括模拟输入和输出、数字I/O和计数器等。第5章虚拟仪器的测试信号分析与处理技术,讨论了测试信号的产生、时域分析和处理、相关分析和卷积运算、数字滤波器的软件实现、信号和系统的频域分析及软件实现,多种高等数学计算和数据处理等。第6章虚拟仪器系统集成的总线与网络通信技术,包括虚拟仪器网络测试的基本概念,注重讨论基于TC P/IP协议、UDP协议、DataSocket、远程面板和共享变量通信技术的软件编程方法和实例。第7章虚拟仪器设计实例,介绍了虚拟仪器通用硬件平台设计,包括模拟输入一输出通道及DDS信号源等硬件设计,还通过几个典型虚拟仪器设计的实例,讲述了虚拟仪器设计的技术和方法。
此外本书作为新形态教材,增加了微视频讲解、程序实例、参考文档等作为教材的补充资料,通过手机扫描二维码或登录abook网站即可观看,便于读者学习。
本书由电子科技大学自动化学院詹惠琴教授主编,其中第1、4、5章由詹惠琴编写,第2、7章由古军编写,第3、6章由罗光坤编写。
本书可作为自动化类、电子信息类、机电类等专业的教材,也可作为相关专业研究生教材,以及工程技术人员在学习和应用虚拟仪器技术时的参考书。建议教学学时数为32~48学时,其中实验学时约占总学时的三分之一。
由于编者水平有限,对于本书中的错误和不完善之处,恳请读者指正。
詹惠琴,电子科技大学教授,工学博士。毕业于北京航空航天大学自动控制系,曾在航空部公司从事飞机大气数据计算机、传感器及自动测试系统研制工作,后进入高校任教,有30年科研和教学经验。理论基础扎实,技术领域较宽,发表论文几十篇,授权发明专利十多项。任四川省自动化与仪器仪表学会副秘书长和常务理事,单片机及嵌入式系统专委会委员。研究方向:现代测试理论和方法、计算机自动测控技术、虚拟仪器、信号处理、航空电子等。
第1章 虚拟仪器概述
1.1 虚拟仪器的基本概念
1.1.1 虚拟仪器的定义
1.1.2 虚拟仪器的特点
1.2 虚拟仪器的形成和发展
1.2.1 虚拟仪器形成的背景
1.2.2 虚拟仪器的提出
1.2.3 虚拟仪器技术应用
1.2.4 虚拟仪器的发展与展望
1.3 虚拟仪器的系统结构
1.3.1 虚拟仪器的系统组成和基本功能
1.3.2 虚拟仪器的通用仪器硬件平台
1.4 虚拟仪器的软件系统
1.4.1 虚拟仪器的软件层次结构
1.4.2 虚拟仪器的软件开发环境
第2章 虚拟仪器软件LabVIEw编程基础
2.1 LabVIEw编程初步
2.1.1 LabVIEW的基本VI介绍
2.1.2 LabVIEW的基本开发环境
2.1.3 LabVIEW的模板
2.1.4 LabVIEW的数据类型
2.1.5 控件的属性设定
2.1.6 创建VI程序
2.1.7 LabVIEW的项目管理器
2.1.8 使用LabVIEW的帮助
2.2 LabVIEw的程序结构
2.2.1 F0r循环
2.2.2 While循环
2.2.3 条件结构
2.2.4 顺序结构
2.2.5 事件结构
2.2.6 公式节点
2.2.7 VI子程序
2.2.8 局部变量和全局变量
2.3 数组、簇和字符串
2.3.1 数组
2.3.2 簇
2.3.3 字符串
2.4 图形化数据显示
2.4.1 图形控件模板
2.4.2 波形图表
2.4.3 波形图
2.4.4 XY图
2.5 文件操作
2.5.1 基本概念
2.5.2 文件I/0函数
2.5.3 文本文件的读写
2.5.4 电子表格文件的读写
2.5.5 二进制文件的写入和读取
第3章 LabVIEW扩展编程
3.1 人机界面交互设计
3.1.1 对话框
3.1.2 菜单
3.1.3 容器控件
3.1.4 自定义控件
3.2 属性节点及调用节点的应用
3.2.1 属性节点、调用节点概述
3.2.2 控件的属性节点及调用节点
3.2.3 VI的属性节点及调用节点
3.2.4 综合示例
3.3 与外部程序的接口技术
3.3.1 DLL技术
3.3.2 Activex技术
3.4 多语言的实现技术
3.4.1 多语言实现概述
3.4.2 基于INI文件的方法
3.4.3 基于DLL文件的方法
3.5 程序安装包的制作技术
3.5.1 程序安装包制作概述
3.5.2 生成应用程序
……
第4章 虚拟仪器数据采集技术
第5章 虚拟仪器的测试信号分析与处理技术
第6章 虚拟仪器系统集成总线与网络通信技术
第7章 虚拟仪器设计实例
参考文献