LabVIEW虚拟仪器项目开发与实践
作者:杨高科
出版社:清华大学出版社
出版时间:2022-07-01
ISBN:9787302603238
定价:¥179.00
第1章
绪 论 / 1
1.1 虚拟仪器与LabVIEW / 1
1.2 虚拟仪器开发环境的搭建 / 4
1.3 VI的开发与调试步骤 / 9
1.4 LabVIEW虚拟仪器项目开发 / 14
1.5 LabVIEW虚拟仪器项目管理 / 15
第2章
前面板设计 / 17
2.1 控件选择 / 17
2.2 前面板设计总原则 / 21
2.3 前面板布局 / 23
2.4 前面板文本和色彩 / 25
2.5 可见性和健壮性 / 27
2.6 对前面板进行装饰 / 29
2.7 本章小结 / 31
第3章
基本数据类型和操作 / 32
3.1 基本数据类型 / 32
3.2 常规数据操作方法 / 38
3.3 数值 / 41
3.4 布尔 / 44
3.5 枚举类型与下拉列表 / 46
3.6 路径和字符串 / 47
3.7 数组、簇和矩阵 / 51
3.8 数组操作 / 54
3.8.1 数组的创建和初始化 / 55
3.8.2 索引数组元素 / 56
3.8.3 编辑数组 / 58
3.8.4 数组排序 / 59
3.8.5 其他数组操作函数 / 59
3.9 图形和图表 / 61
3.9.1 波形图表和波形图形 / 63
3.9.2 XY图形 / 66
VI
LabVIEW虚拟仪器项目开发与实践
3.9.3 二维和三维图形 / 67
3.9.4 强度图形和强度图表 / 71
3.10 本章小结 / 73
第4章
基本程序结构 / 74
4.1 数据流驱动 / 76
4.2 顺序结构 / 78
4.3 分支结构 / 80
4.4 循环结构 / 82
4.4.1 For循环和While循环 / 82
4.4.2 自动索引 / 84
4.4.3 移位寄存器 / 85
4.4.4 反馈节点 / 87
4.5 本章小结 / 89
第5章
函数、程序框图和VI / 90
5.1 LabVIEW内置函数库 / 90
5.2 VI的程序框图 / 94
5.3 创建子VI / 98
5.4 为VI添加说明和帮助 / 102
5.5 可重入VI、递归VI和多态VI / 105
5.6 本章小结 / 108
第6章
错误处理 / 110
6.1 错误簇 / 110
6.2 错误捕获 / 114
6.3 错误报告 / 118
6.4 错误处理 / 122
6.5 自定义错误处理 / 127
6.6 本章小结 / 130
第7章
扩展程序结构 / 131
7.1 事件结构 / 131
7.1.1 事件与事件结构 / 132
7.1.2 事件的静态注册和动态
注册 / 135
7.1.3 通知事件和过滤事件 / 139
7.1.4 用户自定义事件 / 141
7.1.5 使用事件的注意事项 / 142
7.2 定时结构 / 144
7.2.1 定时循环结构 / 145
7.2.2 定时顺序结构 / 152
7.3 禁用结构 / 153
7.4 元素同址操作结构 / 157
7.5 本章小结 / 159
VII
目 录
第8章
单循环程序框架 / 160
8.1 轮询 / 161
8.2 程序框架中的数据传递和功能全
局量 / 162
8.3 经典状态机 / 166
8.4 消息状态机 / 169
8.5 队列状态机 / 173
8.6 事件状态机 / 177
8.7 本章小结 / 183
第9章
多循环程序框架 / 185
9.1 多任务、多线程、多处理与多
循环 / 186
9.2 变量控制多循环 / 189
9.3 同步多循环 / 192
9.3.1 事件发生函数控制
多循环 / 193
9.3.2 通知器控制多循环 / 194
9.3.3 多个定时循环的同步 / 196
9.3.4 集合点控制多循环 / 199
9.4 异步多循环 / 200
9.4.1 生产者/消费者结构 / 200
9.4.2 大型多任务结构 / 205
9.5 模块化的程序框架 / 211
9.5.1 多循环程序框架的
模块化 / 212
9.5.2 动态加载 / 217
9.6 本章小结 / 220
第10章
扩展用户界面 / 222
10.1 自定义控件 / 222
10.2 XControl / 228
10.2.1 XControl的能力 / 228
10.2.2 XControl的属性和方法 / 235
10.2.3 XControl的快捷菜单、尺寸
和位置 / 236
10.3 菜单 / 239
10.3.1 主菜单 / 240
10.3.2 快捷菜单 / 243
10.4 工具栏和状态栏 / 246
10.5 光标 / 250
10.6 多语言支持 / 251
10.6.1 导出/导入语言包 / 252
10.6.2 动态加载语言包 / 259
10.6.3 LCE工具包 / 261
10.7 本章小结 / 264
第11章
数据类型扩展与面向对象 / 266
11.1 自定义数据类型 / 266
11.2 面向对象编程 / 270
11.2.1 封装 / 272
11.2.2 继承 / 275
LabVIEW虚拟仪器项目开发与实践
11.2.3 多态 / 279
11.2.4 LabVIEW类的开发和
使用 / 281
11.3 本章小结 / 284
第12章
扩展程序代码 / 286
12.1 简化数学运算 / 286
12.1.1 公式节点和表达式节点 / 286
12.1.2 脚本节点 / 290
12.2 调用CIN / 292
12.2.1 指定参数类型和
传递方式 / 293
12.2.2 创建C代码 / 294
12.2.3 编译代码为LSB格式 / 296
12.2.4 加载、调试代码 / 298
12.3 LabVIEW NXG中的C节点 / 301
12.4 Python节点 / 303
12.5 以编程方式控制VI / 304
12.5.1 VI Server程序 / 305
12.5.2 VI Scripting / 309
12.6 本章小结 / 312
第13章
代码复用 / 314
13.1 OpenG和MGI代码库 / 314
13.2 调用DLL / 317
13.2.1 配置CLN / 318
13.2.2 调用自己开发的DLL / 322
13.2.3 调用硬件驱动或Win32
API / 329
13.3 ActiveX和.NET组件 / 332
13.3.1 调用ActiveX / 332
13.3.2 调用.NET / 337
13.4 本章小结 / 340
第14章
数据存储与表达 / 341
14.1 文件操作 / 341
14.1.1 文本文件 / 342
14.1.2 二进制文件 / 345
14.1.3 数据记录文件和电子表格
文件 / 347
14.1.4 配置文件 / 349
14.1.5 TDMS文件 / 351
14.1.6 XML文件 / 359
14.2 数据压缩和加密 / 366
14.3 数据表达 / 369
14.4 本章小结 / 374
目 录
第15章
数据库 / 376
15.1 数据库基础 / 376
15.2 连接数据库 / 381
15.2.1 使用DSN连接数据库 / 381
15.2.2 使用UDL连接数据库 / 382
15.2.3 增强数据库程序的可移植
性 / 384
15.3 数据库基本操作 / 386
15.3.1 创建、删除数据表 / 386
15.3.2 操作数据记录 / 389
15.4 数据库高级操作 / 393
15.4.1 执行SQL语句 / 393
15.4.2 浏览数据记录 / 398
15.4.3 使用存储过程 / 401
15.5 数据库工具函数 / 403
15.5.1 数据库属性信息 / 403
15.5.2 处理数据库事务 / 406
15.5.3 使用文件保存数据 / 409
15.6 本章小结 / 410
第16章
网络通信 / 411
16.1 网络参考模型和通信协议 / 412
16.2 串口通信 / 416
16.3 蓝牙和红外 / 422
16.3.1 蓝牙通信 / 423
16.3.2 红外通信 / 425
16.4 TCP/IP与UDP / 427
16.4.1 TCP/IP / 427
16.4.2 UDP / 435
16.5 NI STM / 441
16.6 DataSocket / 445
16.7 FTP和SMTP / 451
16.7.1 FTP / 451
16.7.2 SMTP / 454
16.8 本章小结 / 456
第17章
信号与传感器 / 458
17.1 信号 / 459
17.1.1 典型测试信号 / 463
17.1.2 常用噪声和随机信号 / 469
17.1.3 模拟波形 / 472
17.2 传感器 / 474
17.2.1 温度传感器及典型数据
采集程序 / 478
17.2.2 应变和力传感器 / 482
17.2.3 位移传感器 / 485
17.2.4 速度传感器 / 488
17.2.5 毫米波雷达 / 493
17.2.6 工业相机与图像采集 / 494
17.3 本章小结 / 498
LabVIEW虚拟仪器项目开发与实践
第18章
数据采集 / 500
18.1 信号的数字化 / 500
18.2 虚拟仪器数据采集 / 502
18.3 基于声卡的信号采集(1D) / 507
18.4 图像采集(2D) / 513
18.5 本章小结 / 519
第19章
滤波 / 521
19.1 滤波器基础 / 521
19.2 傅里叶变换与频率响应 / 525
19.3 FIR滤波器 / 538
19.3.1 移动平均滤波器 / 540
19.3.2 加窗Sinc滤波器 / 544
19.3.3 等纹波Parks-McClellan和
窄带插值FIR(iFIR)
滤波器 / 551
19.4 IIR滤波器 / 553
19.4.1 基本IIR滤波器 / 557
19.4.2 经典IIR滤波器 / 567
19.5 非线性滤波器 / 578
19.6 逐点滤波 / 581
19.7 本章小结 / 587
第20章
虚拟仪器项目管理 / 589
20.1 项目生命周期模型 / 590
20.1.1 边做边改 / 591
20.1.2 瀑布模型 / 592
20.1.3 原型模型 / 594
20.1.4 增量迭代模型 / 595
20.1.5 螺旋模型 / 598
20.2 项目各阶段 / 600
20.2.1 需求分析 / 600
20.2.2 设计 / 605
20.2.3 编码 / 607
20.2.4 测试 / 609
20.2.5 升级维护和版本控制 / 614
20.3 软件质量标准 / 622
20.4 进度与预算 / 626
20.4.1 时间管理 / 626
20.4.2 成本管理 / 631
20.5 本章小结 / 635
第21章
影像增强仪质量检测系统 / 637
21.1 系统需求 / 637
21.1.1 功能需求 / 637
21.1.2 技术指标 / 639
21.2 系统设计 / 639
21.2.1 光源子系统设计 / 640
21.2.2 CCD相机的选择 / 644
目 录
21.2.3 图像采集数据采集设备的
选择 / 647
21.3 软件开发 / 648
21.3.1 系统自检模块 / 650
21.3.2 应力切换与控制模块 / 651
21.3.3 基于DataSocket的
通信模块 / 652
21.3.4 标准图像采集模块 / 654
21.3.5 故障识别模块 / 658
21.3.6 数据分析模块 / 663
21.4 集成测试验证 / 665
21.5 系统主要特点 / 667
第22章
项目实践 / 669
22.1 航空液流阀检测系统 / 669
22.1.1 系统需求 / 669
22.1.2 系统组成 / 670
22.1.3 关键技术与软件模块 / 672
22.2 ASDX传感器测试系统 / 682
22.2.1 日志和SQLite数据库 / 684
22.2.2 面向对象方式的测试
管理 / 689
22.3 灌装检测机器视觉系统 / 691