第一篇 LabVIEW技术基础 2
第1章 LabVIEW概述 2
1.1 LabVIEW的概述 2
1.1.1 什么是LabVIEW 2
1.1.2 数据流的概念 3
1.2 LabVIEW的工作环境和编程示例 4
1.2.1 LabVIEW的工作环境 4
1.2.2 LabVIEW自带编程示例 5
1.3 小结 6
第2章 LabVIEW前面板设计 7
2.1 LabVIEW前面板控件概述 7
2.1.1 LabVIEW控件类型 7
2.1.2 LabVIEW控件选板 7
2.2 LabVIEW控件选板详细分类 8
2.2.1 数值控件 8
2.2.2 布尔控件 9
2.2.3 字符串与路径控件 9
2.2.4 数组、矩阵、簇控件 10
2.2.5 列表与表格控件 10
2.2.6 图形控件 10
2.2.7 下拉列表与枚举控件 10
2.2.8 容器控件 11
2.2.9 I/O控件 11
2.2.10 引用句柄控件 11
2.2.11 变体与类控件 11
2.3 控件设置 12
2.3.1 快捷菜单 12
2.3.2 属性对话框 12
2.4 前面板对象的操作 18
2.4.1 焦点 18
2.4.2 控件的布置 18
2.5 定制控件 19
2.6 小结 24
第3章 LabVIEW的编辑环境 25
3.1 构建完整的LabVIEW工程 25
3.1.1 前面板 25
3.1.2 程序框图 26
3.1.3 LabVIEW工程 28
3.2 LabVIEW的菜单设置 37
3.2.1 执行工具条 37
3.2.2 LabVIEW面板设置 38
3.2.3 即时帮助 40
3.3 浮动选板 40
3.3.1 工具选板 41
3.3.2 控件选板 43
3.3.3 定制选板 45
3.3.4 菜单快捷键 46
3.3.5 帮助 49
3.4 小结 51
第4章 数据表达 52
4.1 数值 52
4.1.1 数值 52
4.1.2 数值函数 55
4.2 布尔量 59
4.2.1 布尔数据 59
4.2.2 机械动作 60
4.3 数组 60
4.3.1 创建数组 60
4.3.2 数组函数 63
4.4 簇 66
4.4.1 创建簇 66
4.4.2 簇函数 67
4.4.3 错误簇 69
4.5 字符串 71
4.5.1 字符串控件 71
4.5.2 组合框控件 72
4.5.3 字符串函数 72
4.6 局部变量、全局变量和共享变量 84
4.6.1 局部变量 84
4.6.2 全局变量 86
4.6.3 共享变量 88
4.7 小结 94
第5章 程序流程和结构 95
5.1 循环结构 95
5.1.1 For循环 95
5.1.2 While循环 96
5.1.3 移位寄存器 97
5.1.4 反馈节点 99
5.2 条件结构 100
5.2.1 创建条件结构 100
5.2.2 条件结构的隧道 102
5.2.3 条件结构的应用实例 102
5.3 顺序结构 108
5.3.1 平铺式顺序结构 108
5.3.2 层叠式顺序结构 108
5.3.3 顺序结构的数据传递 109
5.4 事件结构 110
5.4.1 事件结构 110
5.4.2 通知事件与过滤事件 114
5.4.3 动态事件与用户事件 115
5.4.4 事件结构的状态机模式 117
5.5 定时结构 119
5.5.1 定时循环 119
5.5.2 定时顺序结构 121
5.5.3 定时源函数 121
5.6 公式节点 122
5.7 禁用结构 124
5.7.1 程序框图禁用结构 124
5.7.2 条件禁用结构 124
5.8 小结 125
第6章 波形显示 127
6.1 波形图表 128
6.1.1 波形图表的主要特点 128
6.1.2 波形图表的主要设置 128
6.1.3 波形图表的应用 134
6.2 波形图 135
6.2.1 波形图的主要特点 135
6.2.2 波形图显示 136
6.3 XY图 139
6.4 强度图和强度图表 140
6.5 数字波形图 141
6.6 混合信号图 143
6.6.1 混合信号图的特点 143
6.6.2 混合信号图的应用 143
6.7 三维图形表示 145
6.7.1 三维图形 145
6.7.2 三维图片控件 145
6.8 控件 146
6.9 小结 150
第7章 同步数据传递 151
7.1 通知器操作 151
7.1.1 通知器概念 151
7.1.2 通知器函数 152
7.2 通知器操作典型实例 155
7.3 队列操作 157
7.3.1 队列概念 157
7.3.2 队列函数 157
7.4 队列操作应用及实例 160
7.4.1 队列操作典型实例 160
7.4.2 队列消息处理器 160
7.4.3 生产者/消费者模式 161
7.4.4 技巧点拨 162
7.5 信号量操作 163
7.5.1 信号量概念 163
7.5.2 信号量函数 163
7.5.3 信号量操作典型实例 165
7.5.4 信号量技巧提示 166
7.6 集合点操作 166
7.6.1 集合点函数 166
7.6.2 集合点操作典型实例 167
7.7 事件发生 169
7.7.1 事件发生概念 169
7.7.2 事件发生函数 169
7.7.3 事件发生典型实例 170
7.8 首次调用 171
7.9 小结 171
第8章 程序动态控制 172
8.1 VI服务器技术 172
8.1.1 VI服务器简介 172
8.1.2 VI服务器函数介绍 173
8.2 VI服务器的应用实例 179
8.2.1 动态控制VI运行 179
8.2.2 前面板对象属性控制 181
8.3 引用 185
8.3.1 属性和方法的引用 185
8.3.2 应用程序引用 186
8.3.3 VI引用 186
8.3.4 控件引用 187
8.3.5 应用实例 187
8.3.6 VI服务器类层次结构 189
8.4 应用程序控制其他函数 192
8.5 小结 195
第9章 文件输入输出 196
9.1 基本文件输入输出 196
9.1.1 选择文件格式 196
9.1.2 文件常量 197
9.1.3 读写电子表格文件 198
9.1.4 读写测量文件 199
9.2 高级文件输入输出操作 203
9.2.1 文件输入输出的基本操作 203
9.2.2 文本文件的输入输出 206
9.2.3 二进制文件的输入输出操作 208
9.3 配置文件的操作 210
9.4 TDMS文件操作 213
9.5 存储 216
9.5.1 基本存储函数 216
9.5.2 高级存储函数 218
9.6 ZIP函数 218
9.7 高级文件函数 219
9.7.1 高级文件函数的基本操作 219
9.7.2 数据记录 223
9.8 小结 225
第10章 XControl的制作 226
10.1 XControl的特点介绍 226
10.2 XControl的制作 226
第11章 生成安装包和可执行文件 232
11.1 生成可执行文件 232
11.2 生成安装包 236
11.3 注意事项 239
第12章 程序调试与程序性能 241
12.1 修复程序创建中的错误 241
12.1.1 错误列表 241
12.1.2 常见的错误 242
12.2 程序调试工具 242
12.2.1 工具条上的程序调试工具 242
12.2.2 程序调试选项设置 243
12.2.3 工具选板上的调试工具 244
12.3 程序常见的调试方法 246
12.4 LabVIEW的多线程程序 247
12.4.1 基本概念 247
12.4.2 LabVIEW的多线程实现方法 248
12.5 LabVIEW程序性能 252
12.5.1 程序性能监测 252
12.5.2 优化LabVIEW程序 256
12.6 小结 260
第二篇 LabVIEW与其他应用程序的链接第13章 ActiveX技术应用 262
13.1 ActiveX技术简介 262
13.2 在LabVIEW中使用ActiveX控件 262
13.3 ActiveX自动化 264
13.3.1 ActiveX自动化函数 264
13.3.2 ActiveX自动化函数的应用 266
13.4 LabVIEW作为ActiveX服务器 268
13.5 生成可执行文件和安装程序 269
第14章 LabVIEW与Microsoft的链接 270
14.1 报表生成函数介绍 270
14.1.1 报表基本函数介绍 270
14.1.2 报表函数——Word 276
14.1.3 报表函数——Excel 279
14.2 报表函数的应用 285
14.2.1 报表基本函数的应用 285
14.2.2 Word报表应用 286
14.2.3 Excel报表应用 287
14.3 生成可执行文件和安装包 290
第15章 C代码调用 291
15.1 应用代码接口调用 291
15.2 编写C代码 292
15.3 编写Visual C++源程序 292
15.4 装载lsb文件 294
15.5 小结 294
第16章 动态链接库函数调用 295
16.1 动态链接库函数调用实例 295
16.2 调用库函数节点详细解析 297
16.2.1 调用库函数页面 297
16.2.2 参数页面 298
16.2.3 回调页面 298
16.2.4 错误检查页面 298
16.3 在LabVIEW中执行系统命令 299
16.4 小结 299
第17章 LabVIEW与数据库的链接 300
17.1 Database Connectivity工具包介绍 300
17.2 Database Connectivity应用典型实例 302
17.2.1 在Access中建立一个数据库 302
17.2.2 数据库基本操作 305
17.2.3 SQL语句的操作 307
17.3 生成可执行文件和安装文件 309
17.3.1 生成可执行文件 309
17.3.2 生成安装文件 310
17.4 小结 310
第三篇 LabVIEW应用实战技术 312
第18章 测试系统与虚拟仪器 312
18.1 测试系统的概念 312
18.1.1 传感器 312
18.1.2 信号调理 313
18.2 数据采集 314
18.2.1 数据采集基本原理 314
18.2.2 数据采集设备 317
18.3 测试信号 319
18.3.1 直流电压测量 319
18.3.2 高电压测量和隔离 320
18.4 选择并配置DAQ测量硬件 322
18.4.1 选择硬件 322
18.4.2 安装DAQ设备驱动程序 323
18.4.3 测量与自动化管理器 323
18.4.4 NI-DAQmx 324
18.4.5 在MAX中配置NI-DAQmx设备 324
18.4.6 配置数据采集 327
18.5 小结 328
第19章 LabVIEW中的数据采集 329
19.1 测量I/O 329
19.1.1 DAQ助手 329
19.1.2 模拟I/O 331
19.1.3 数字I/O 332
19.2 DAQ助手实例 332
19.2.1 缓冲方式模拟输入 332
19.2.2 读取数字输入 333
19.3 NI-DAQmx任务 334
19.3.1 创建NI-DAQmx任务 334
19.3.2 在LabVIEW中引用NI-DAQmx任务 336
19.3.3 从MAX DAQmx任务生成代码 337
19.3.4 在LabVIEW中使用NI-DAQmx任务 338
19.4 高级数据采集 341
19.4.1 高级数据采集函数 341
19.4.2 使用任务触发的数据采集 341
19.4.3 连续采集 342
19.4.4 数字脉冲计数 343
19.5 小结 343
第20章 总线技术 344
20.1 LabVIEW支持的总线 344
20.1.1 仪器的发展 344
20.1.2 仪器控制介绍 345
20.2 GPIB总线 352
20.2.1 GPIB总线定义 352
20.2.2 GPIB总线在LabVIEW中的实现 353
20.3 串口总线 355
20.3.1 串口总线定义 355
20.3.2 串口总线在LabVIEW中的实现 357
20.4 串口总线采集应用实例 360
20.4.1 串口函数应用实例 360
20.4.2 串口通信中常见问题 362
20.4.3 串口通信程序调试几点建议 363
20.4.4 GPIB仪器通信和RS-232仪器通信的区别 363
20.5 USB总线仪器控制 364
20.5.1 USB总线仪器特点 364
20.5.2 通过配置NI-VISA,控制用户的USB设备 366
20.6 小结 370
第21章 网络通信 371
21.1 计算机网络概述 371
21.1.1 计算机网络的功能与发展 371
21.1.2 计算机网络结构 371
21.1.3 计算机网络模型 372
21.1.4 计算机网络协议 373
21.2 DataSocket技术 374
21.2.1 DataSocket的特点 374
21.2.2 DataSocket的介绍 374
21.3 DataSocket Server应用 377
21.3.1 读DataSocket Server预定义数据项初始值 377
21.3.2 向DataSocket写数据 378
21.3.3 从DataSocket读数据 378
21.3.4 DataSocket传递变体数据 379
21.3.5 DataSocket使用缓冲方式传输数据 380
21.3.6 统一资源定位符 381
21.4 TCP通信 381
21.4.1 TCP函数介绍 381
21.4.2 TCP通信应用 382
21.5 在Web上发布程序 383
21.5.1 服务器端Web发布设置 383
21.5.2 在Web上发布HTML文件 386
21.5.3 远程面板连接管理器 389
21.6 小结 390
第四篇 工程应用综合案例 392
第22章 风机自动控制系统 392
22.1 项目的工程背景 392
22.2 系统硬件结构 392
22.3 系统软件结构 393
22.3.1 系统软件介绍 393
22.3.2 变频器通信 394
22.4 小结 400
第23章 风速采集、保存与分析 401
23.1 项目的工程背景 401
23.2 测试系统原理 402
23.2.1 数据采集卡 402
23.2.2 数据保存 403
23.2.3 程序的修饰 404
23.3 小结 405
第24章 听力计控制软件 406
24.1 软件背景 406
24.2 系统的总体架构 406
24.2.1 听力计软件事件状态机结构介绍 406
24.2.2 事件状态机难点分析 407
24.3 串口通信 409
24.3.1 利用VISA进行通信结构开发 409
24.3.2 判断数据 410
24.3.3 延时设置 410
24.4 实时数据库连接 411
24.4.1 数据库操作的结构 411
24.4.2 数据库操作的具体实现 412
24.5 小结 413
第五篇 常见疑难解答与经验技巧集萃第25章 LabVIEW常见疑难解答与经验技巧集萃 416
25.1 LabVIEW技术基础问题 416
25.2 LabVIEW与其他应用程序链接的基础问题 432
第26章 LabVIEW工程应用常见疑难解答与经验技巧集萃 434