《LabVIEW虚拟仪器程序设计教程》主要介绍了利用LabVIEW 2018进行虚拟仪器程序设计的方法和技巧,详细讲解了虚拟仪器的概况、LabVIEW 2018编程环境及其基本操作、数据类型与运算、程序结构、图形显示、子VI属性节点和人机界面设计、文件I/O、网络与通信编程、LabVIEW数据库编程、数据采集以及信号分析与处理。《LabVIEW虚拟仪器程序设计教程》每个章节都配有大量的编程实例,可以让读者更加快捷地掌握相应的编程方法,并能熟练运用。 《LabVIEW虚拟仪器程序设计教程》针对高等院校学生的特点,以软件开发设计思想为主线,按照循序渐进、逐步深入、重在实践的原则来编写,适合作为高等院校电子电路相关专业的教材,也可供虚拟仪器程序设计人员作为参考书。
·针对高等院校学生的特点,以软件开发的设计思想为主线,按照循序渐进、逐步深入、重在实践"的原则,辅以大量典型示例帮助读者深入学习。
·通过理论与实践相结合的方式,介绍LabVIEW虚拟仪器程序设计的方法和技巧,讲解细致,逻辑清晰。
·富有针对性的习题可使读者巩固所学知识,更好地理解重点和难点,并做到举一反三,融会贯通。
现代科学技术、生产和国防的重要特点之一,就是进行大量的测试和统计。现代工业大生产中,用在测试上的工时和费用已占整个生产成本的20%~30%,因此提高测试水平、降低测试成本、减少测试误差、提高测试效率,对国民经济的各个领域都是至关重要的。测试手段的现代化,已被公认为科学技术和生产现代化的重要条件和明显标志。
在这样的大环境下,虚拟仪器(Vitual Instrumentation,VI)应运而生,它突破了以往传统仪器的特点,充分利用不断发展和完善的计算机技术,以通用计算机和标准总线技术为平台,利用计算机的硬件资源,并辅以软件作为虚拟仪器的开发平台。用户利用面向测量仪器的控制和管理的视窗软件平台LabVIEW、一台普通的计算机、若干软件包和基本的硬件电路(如数据采集电路、GPIB仪表、VXZ仪表等)就可以构建一套完整的测试系统,并具备数据处理的功能和友好的人机界面(通常称为虚拟面板)。现如今,基于LabVIEW的虚拟仪器已经成为一种业界领先的工业标准化、图形化编程工具,主要用来开发测试测量、控制系统。
美国国家仪器公司(National Instruments,NI)作为虚拟仪器技术的主要倡导者,无论是在硬件还是软件上都做出了突出的贡献,其推出的图形化编程语言 LabVIEW是目前国际上成功的图形化集成开发环境,并在众多领域得到了广泛应用。LabVIEW自1986年问世以来,经过不断改进和版本升级,已经从初简单的数据采集和仪器控制的工具发展成为科技人员用来设计、发布虚拟仪器软件的图形化平台,并具有强大的功能和易用性。
《LabVIEW虚拟仪器程序设计教程》针对高等院校学生的特点,以软件开发设计思想为主线,按照循序渐进、逐步深入、重在实践的原则,加入大量示例来帮助读者学习。此外,《LabVIEW虚拟仪器程序设计教程》通过理论与实例相结合的方式,介绍了利用 LabVIEW 2018进行虚拟仪器程序设计的方法和技巧。
全书共分11章,主要内容如下。
第1章介绍仪器的发展、虚拟仪器相关知识、虚拟仪器的分类、虚拟仪器的开发环境。
第2章介绍LabVIEW基础、LabVIEW 2018的安装、LabVIEW 2018的编程环境和LabVIEW 2018的基本操作。
第3章介绍LabVIEW的数据类型和基本操作,包括基本数据类型、数据操作、数组、字符串与路径、簇和矩阵等。
第4章介绍LabVIEW中的程序结构,重点介绍了LabVIEW中的顺序结构、循环结构、条件结构、事件结构、禁用结构、公式节点、定时结构等。
第5章介绍LabVIEW的图形显示,包括波形显示、XY图与Express XY图、强度图与强度图表、数字波形图、三维图形等。
第6章介绍LabVIEW中子VI、属性节点和人机界面设计,主要介绍了子VI的创建和属性节点的应用,并重点介绍了下拉列表、对话框、菜单等高级控件的应用和人机界面设计的基本技巧。
第7章介绍LabVIEW中的文件I/O操作,主要包括文件操作基本函数、文本文件、电子表格文件、二进制文件、波形文件、测量文件、配置文件、XML文件及TDMS文件的写入与读取等操作。
第8章介绍网络与通信编程,包括TCP通信、UDP通信、串行通信及其他通信技术。
第9章介绍数据编程的相关知识,包括LabVIEW数据库基础、LabSQL数据库访问、ADO数据库访问和LabVIEW SQL Toolkit数据库访问。
第10章介绍数据采集的相关知识,包括数据采集的基础知识、DAQ设备的安装与测试、NI-DAQmx 基础及DAQmx数据采集应用编程实例。
第11章介绍LabVIEW中信号的分析与处理,包括信号的发生、波形调理与波形测量、信号的时域与频域分析、滤波器、窗函数及逐点分析等内容。
《LabVIEW虚拟仪器程序设计教程》PPT教学课件和案例源文件可通过http://www.tupwk.com.cn/downpage下载。服务邮箱:476371891@qq.com。
《LabVIEW虚拟仪器程序设计教程》主要由张峤、朱世宇、孙令翠、陆鹏编写,由谢箭主审。参加编写、校对的还有曾凡琳、张书欣,他们在《LabVIEW虚拟仪器程序设计教程》的编写过程中,都做了大量的工作,在此表示感谢。
由于编者水平有限,书中疏漏之处在所难免,敬请读者指正。
第1章 虚拟仪器基础 1
1.1 仪器的发展 1
1.2 虚拟仪器概述 2
1.2.1 虚拟仪器的发展 2
1.2.2 虚拟仪器的概念 2
1.2.3 虚拟仪器的构成 3
1.2.4 虚拟仪器的特点 4
1.2.5 虚拟仪器的优势 4
1.3 虚拟仪器的分类 5
1.4 虚拟仪器的应用领域 6
1.5 虚拟仪器的开发环境 7
1.5.1 虚拟仪器开发软件 7
1.5.2 G语言的概念 7
习题 8
第2章 LabVIEW编程环境及基本操作 9
2.1 LabVIEW概述 9
2.1.1 什么是 LabVIEW 9
2.1.2 LabVIEW发展史 9
2.1.3 LabVIEW的优势 10
2.2 LabVIEW 2018的安装 11
2.2.1 计算机环境要求 11
2.2.2 LabVIEW 2018的安装过程 11
2.3 LabVIEW 2018编程环境 15
2.3.1 LabVIEW 2018的启动 15
2.3.2 LabVIEW 2018菜单栏和
工具栏 17
2.3.3 LabVIEW 2018选板 27
2.3.4 LabVIEW 2018帮助系统 30
2.4 LabVIEW 2018的基本操作 32
2.4.1 VI的创建 32
2.4.2 数据流的编程机制 35
2.4.3 VI的运行与调试 36
2.4.4 LabVIEW的初步操作 38
习题 45
第3章 数据类型与运算 46
3.1 基本数据类型 46
3.1.1 数值型 46
3.1.2 布尔型 51
3.1.3 枚举 53
3.1.4 时间类型 56
3.1.5 路径 58
3.2 数据运算 59
3.2.1 数值函数选板 59
3.2.2 布尔函数选板 62
3.2.3 比较函数选板 64
3.3 数组 67
3.3.1 数组的创建 68
3.3.2 数组的算术运算 72
3.3.3 数组函数及操作 72
3.4 字符串与路径 88
3.4.1 字符串控件 89
3.4.2 字符串运算 92
3.5 簇 95
3.5.1 簇的创建 95
3.5.2 簇函数及操作 98
3.5.3 错误输入及错误输出簇 104
3.6 矩阵 105
习题 107
第4章 LabVIEW的程序结构 108
4.1 顺序结构 108
4.1.1 LabVIEW程序数据流编程 108
4.1.2 顺序结构的组成 109
4.1.3 顺序结构中的数据传递 112
4.1.4 顺序结构应用举例 113
4.2 循环结构 114
4.2.1 For循环 114
4.2.2 While循环 119
4.2.3 循环结构外部与内部数据交换 120
4.2.4 自动索引 121
4.2.5 移位寄存器及反馈节点 124
4.3 条件结构 127
4.3.1 条件结构的组成 127
4.3.2 条件结构的配置及操作 128
4.3.3 条件结构内部与外部的数据交换 130
4.3.4 条件结构应用举例 130
4.4 事件结构 131
4.4.1 事件驱动概念 131
4.4.2 事件结构的组成 132
4.4.3 事件结构的配置与操作 133
4.4.4 事件结构的应用举例 135
4.5 变量 136
4.5.1 局部变量 136
4.5.2 全局变量 138
4.5.3 使用局部变量和全局变量的注意事项 141
4.6 禁用结构 142
4.6.1 程序框图禁用结构 142
4.6.2 条件禁用结构 143
4.7 公式节点 145
4.8 定时结构 147
4.8.1 定时循环 147
4.8.2 定时顺序 149
习题 150
第5章 图形显示 152
5.1 波形显示 152
5.1.1 波形图 153
5.1.2 波形图表 160
5.2 XY图与Express XY图 163
5.2.1 XY图 164
5.2.2 XY图实例 165
5.2.3 Express XY图 167
5.3 强度图与强度图表 168
5.3.1 强度图 168
5.3.2 强度图表 169
5.4 数字波形图 170
5.4.1 数字数据 171
5.4.2 数字波形图 171
5.5 三维图形 172
5.5.1 三维曲面图 173
5.5.2 三维参数图 174
5.5.3 三维曲线图 175
5.6 混合信号图 177
5.7 其他图形控件 178
习题 180
第6章 子VI属性节点和人机界面设计 181
6.1 子VI 181
6.1.1 创建子VI 181
6.1.2 定义子VI属性 183
6.2 属性节点 186
6.3 调用节点和引用句柄 189
6.4 人机界面设计 191
6.4.1 下拉列表控件和枚举控件 191
6.4.2 列表框控件 193
6.4.3 表格与树形控件 197
6.4.4 树形控件 199
6.4.5 对话框控件 202
6.4.6 菜单控件 204
6.4.7 选项卡控件 212
6.4.8 多面板设置 213
6.4.9 设置光标目标 215
6.5 生成.exe文件和安装文件 216
6.5.1 生成.exe文件 216
6.5.2 生成安装文件 219
习题 221
第7章 文件I/O 222
7.1 文件操作 222
7.1.1 文件的相关概念 222
7.1.2 文件的基本类型 223
7.2 文件操作基本函数 224
7.2.1 打开/创建/替换文件函数 225
7.2.2 关闭文件函数 225
7.2.3 格式化写入文件函数 225
7.2.4 扫描文件函数 226
7.3 文本文件 226
7.4 电子表格文件 228
7.5 二进制文件 230
7.6 波形文件 232
7.7 测量文件 234
7.8 配置文件 236
7.9 XML文件 238
7.10 TDMS文件 240
习题 244
第8章 网络与通信编程 246
8.1 TCP通信 246
8.1.1 TCP简介 246
8.1.2 TCP函数 246
8.1.3 实例 249
8.2 UDP通信 251
8.2.1 UDP简介 251
8.2.2 UDP函数 251
8.2.3 实例 253
8.3 串行通信 255
8.3.1 串行通信简介 255
8.3.2 串行通信函数 256
8.3.3 实例 258
8.4 LabVIEW中的其他通信技术 259
8.4.1 共享变量 259
8.4.2 LabVIEW的Web服务器 260
8.4.3 SMTP E-mail VI 260
8.4.4 IrDA函数 260
8.4.5 蓝牙VI和函数 260
习题 260
第9章 LabVIEW数据库编程 261
9.1 LabVIEW数据库基础 261
9.1.1 LabVIEW数据库访问方法 261
9.1.2 开放数据库互连基础 262
9.1.3 ADO数据访问技术 265
9.2 LabSQL数据库访问 266
9.2.1 安装LabSQL 266
9.2.2 LabSQL工具VI简介 266
9.2.3 LabSQL应用举例 268
9.3 ADO数据库访问 270
9.3.1 LabVIEW中对ADO的调用 270
9.3.2 ADO数据库访问应用举例 272
9.4 LabVIEW SQL Toolkit数据库访问 274
习题 275
第10章 数据采集 276
10.1 数据采集的基础 276
10.1.1 奈奎斯特采样定理 276
10.1.2 输入信号类型 277
10.1.3 信号接地与测量系统 278
10.1.4 数据采集系统构成 279
10.2 DAQ设备的安装与测试 281
10.2.1 数据采集卡的安装 281
10.2.2 数据采集卡的测试及配置 282
10.3 NI-DAQmx简介 285
10.3.1 传统的NI-DAQ与NI-DAQmx 285
10.3.2 NI-DAQmx数据采集控件 286
10.3.3 NI-DAQmx数据采集VI 286
10.3.4 DAQ助手的使用 288
10.4 DAQmx数据采集应用编程实例 291
10.4.1 模拟信号输入 291
10.4.2 模拟信号输出 294
10.4.3 数字I/O 295
10.4.4 计数器 296
习题 298
第11章 信号分析与处理 299
11.1 信号发生 299
11.1.1 波形生成 299
11.1.2 生成信号 305
11.2 波形调理和波形测量 308
11.2.1 波形调理 308
11.2.2 波形测量 310
11.3 信号时域与频域分析 312
11.3.1 信号的时域分析 312
11.3.2 信号的频域分析 314
11.4 滤波器 319
11.4.1 Butterworth滤波器 320
11.4.2 贝塞尔滤波器 321
11.5 窗函数 322
11.5.1 信号加窗前后频谱对比实例 322
11.5.2 利用窗函数分辨小幅值信号 323
11.6 逐点分析 324
习题 325
参考文献 326