第1篇 基础知识篇 2
第1章 认识虚拟仪器 2
1.1 什么是虚拟仪器 2
1.1.1 虚拟仪器简介 2
1.1.2 虚拟仪器的特征 3
1.1.3 虚拟仪器的发展过程 4
1.2 虚拟仪器软件开发环境 4
1.2.1 LabWindows/CVI的使用 4
1.2.2 LabVIEW的使用 5
1.3 LabVIEW简介 5
1.3.1 LabVIEW系统的构成及应用 5
1.3.2 LabVIEW软件的安装 6
1.3.3 LabVIEW的学习技巧 8
1.4 小结 9
1.5 练习题 9
第2章 第一个LabVIEW例子 10
2.1 LabVIEW编程环境 10
2.1.1 启动界面 10
2.1.2 界面说明 10
2.2 新建项目 11
2.2.1 前面板创建 11
2.2.2 程序框图 15
2.3 VI属性设置 17
2.4 LabVIEW 8.5的帮助系统 20
2.4.1 使用即时帮助 20
2.4.2 解释错误 20
2.4.3 使用网络资源在线帮助 21
2.4.4 查找LabVIEW范例 21
2.5 界面图标 22
2.6 程序的调试 22
2.6.1 连线编辑 22
2.6.2 错误查找 23
2.6.3 高亮运行 23
2.6.4 断点和探针设置 24
2.6.5 单步运行 24
2.6.6 常见程序的错误处理机制 25
2.6.7 调试 25
2.7 程序类型 26
2.8 程序编写、调试技巧 26
2.9 小结 27
2.10 练习题 27
第3章 基本元素 28
3.1 字符 28
3.1.1 字符串介绍 28
3.1.2 字符串连接 30
3.1.3 搜索替换字符串 31
3.1.4 组合框 32
3.1.5 字符串的格式化和解析 33
3.1.6 其他 34
3.2 数组 34
3.2.1 数组介绍 34
3.2.2 数组的建立 36
3.2.3 初始化数组 37
3.2.4 计算数组的大小 38
3.2.5 获取数组的最大值与最小值 38
3.2.6 索引数组 39
3.2.7 一维数组排序 40
3.2.8 数组至矩阵转换 40
3.2.9 搜索一维数组 41
3.3 簇 42
3.3.1 簇的概念 42
3.3.2 簇的创建 43
3.3.3 簇和数组转换 44
3.3.4 按名称解除捆绑 44
3.3.5 捆绑 45
3.3.6 索引与捆绑簇数组 46
3.4 矩阵 46
3.4.1 矩阵概述 46
3.4.2 矩阵转置 47
3.4.3 矩阵乘法 48
3.5 布尔量 48
3.5.1 按钮开关的动作 50
3.5.2 指示灯的操作 50
3.5.3 逻辑运算 51
3.5.4 布尔数组至数值转换 51
3.6 比较 52
3.6.1 比较与选择 52
3.6.2 判定范围并强制转换 53
3.6.3 比较 54
3.7 控件和数据类型 57
3.8 小结 57
3.9 练习题 57
第4章 程序结构 59
4.1 程序结构概念 59
4.2 While循环 60
4.2.1 While循环创建 60
4.2.2 While的自动索引 61
4.3 For循环 63
4.3.1 For循环的概念 63
4.3.2 循环次数的设置 64
4.3.3 用For循环产生数组 64
4.4 事件结构 65
4.4.1 事件结构的概念 65
4.4.2 事件结构的组成及建立 66
4.4.3 事件结构的设置 66
4.4.4 事件编程 67
4.5 条件结构 70
4.5.1 条件结构概念 70
4.5.2 分支设置 70
4.5.3 条件输入 71
4.5.4 条件结构的应用 71
4.6 定时结构 73
4.6.1 定时结构的概念 73
4.6.2 定时循环 74
4.6.3 定时顺序 76
4.6.4 定时操作 77
4.6.5 定时结构的编程 78
4.7 公式节点 78
4.7.1 公式节点的概念 79
4.7.2 公式节点的语法 79
4.8 顺序结构 79
4.8.1 顺序结构的建立 80
4.8.2 顺序结构的执行 80
4.9 移位寄存器 81
4.9.1 移位寄存器的建立 81
4.9.2 移位寄存器的初始化 82
4.9.3 移位寄存器的使用 82
4.10 其他结构 83
4.10.1 程序框图禁用结构 83
4.10.2 反馈节点 83
4.10.3 共享变量 84
4.10.4 局部变量 84
4.10.5 全局变量 85
4.11 小结 85
4.12 练习题 85
第2篇 数据采集篇 88
第5章 数据采集 88
5.1 数据采集概述 88
5.2 数据采集分类 89
5.3 数据采集性能指标 91
5.4 数据采集的过程 93
5.5 信号类型及调节 93
5.6 信号源设置 94
5.7 测量系统分类 95
5.7.1 参考地单端测量系统 95
5.7.2 非参考地单端测量系统 95
5.7.3 差分测量系统 96
5.8 数据采集的安装配置 96
5.9 数据采集程序编写 97
5.9.1 数据采集函数 97
5.9.2 数据采集通道 98
5.10 数据采集助手的使用 98
5.10.1 创建测试任务 98
5.10.2 DAQmx通道设置 100
5.11 波形采集 101
5.11.1 单通道采样 101
5.11.2 多通道采样 102
5.12 小结 102
5.13 练习题 102
第6章 数据传输及计算机接口 103
6.1 数据传输的方法 103
6.1.1 串口 103
6.1.2 USB 104
6.1.3 GPIB 104
6.1.4 网络 104
6.2 数据传输的协议设置 104
6.2.1 TCP传输协议 104
6.2.2 UDP数据报协议 106
6.2.3 蓝牙 107
6.2.4 其他 107
6.3 数据传输和计算机接口选择的技巧 108
6.4 小结 108
6.5 练习题 108
第7章 数据的分析及处理 109
7.1 数据分析概述 109
7.2 LabVIEW中信号的分析方法 110
7.3 滤波方法及编程 110
7.3.1 滤波原理及前面板 111
7.3.2 For循环设置 111
7.3.3 添加组件 113
7.3.4 整体完善 113
7.3.5 系统工具调用 114
7.3.6 其他滤波方法 114
7.4 信号的频域分析 118
7.4.1 傅立叶变换 118
7.4.2 谱分析 120
7.4.3 拉普拉斯变换分析 120
7.5 信号的时域分析 122
7.5.1 相关性分析 122
7.5.2 卷积分析 122
7.5.3 幅值及电平分析 123
7.5.4 谐波失真分析 124
7.6 波形生成 125
7.6.1 波形生成介绍 125
7.6.2 周期性随机噪声波形 127
7.6.3 公式波形 127
7.6.4 仿真信号 128
7.7 小结 129
7.8 练习题 130
第3篇 数据处理篇 132
第8章 LabVIEW的信号调理 132
8.1 LabVIEW信号调理概念 132
8.2 常用信号调理设备 133
8.2.1 SCXI信号调理平台 133
8.2.2 SCC信号调理系统 133
8.3 软件信号调理 134
8.3.1 线性放大 134
8.3.2 归一化缩放 135
8.3.3 dt缩放 136
8.3.4 各工程量转换 138
8.4 小结 142
8.5 练习题 143
第9章 分析处理中的数学计算 144
9.1 微积分学的计算 144
9.1.1 积分 144
9.1.2 微分 147
9.2 概率与统计 149
9.2.1 均值 151
9.2.2 直方图 152
9.2.3 相关系数 154
9.2.4 标准偏差和方差 154
9.2.5 统计计算 156
9.2.6 概率计算 157
9.3 线性代数 159
9.3.1 线性方程组 162
9.3.2 特征值及特征向量 163
9.3.3 矩阵的操作 164
9.4 拟合 168
9.4.1 线性拟合 169
9.4.2 曲线拟合 170
9.5 几何 172
9.5.1 二维坐标平移 174
9.5.2 三维坐标系变换 175
9.6 最优化 176
9.6.1 一元函数的所有最小值 177
9.6.2 线性规划单纯形法 179
9.6.3 带约束的非线性最优化 179
9.7 小结 180
9.8 练习题 181
第10章 数据的显示 182
10.1 数值显示 182
10.1.1 进度条 182
10.1.2 旋钮与量表 184
10.1.3 液罐和温度计 184
10.2 布尔显示 185
10.2.1 按钮及灯的应用 185
10.2.2 单选按钮 187
10.3 图形显示控件 188
10.3.1 波形图 189
10.3.2 强度图 192
10.3.3 数字波形图 194
10.3.4 三维图 195
10.3.5 三维场景配置光源 198
10.3.6 控件显示 198
10.3.7 自定义波形图 201
10.4 文本显示 201
10.4.1 字符串显示 201
10.4.2 Express表格 204
10.4.3 路径显示 204
10.5 小结 206
10.6 练习题 206
第11章 文件的I/O及保存 207
11.1 文件操作方式 207
11.2 文件I/O的格式 209
11.3 文本文件的操作 210
11.3.1 文本文件的I/O路径设置 210
11.3.2 文本文件的写入 211
11.3.3 文本文件的读取 212
11.4 二进制文件的操作 213
11.4.1 二进制文件的写入 213
11.4.2 二进制文件的读取 215
11.5 数据记录文件的操作 216
11.5.1 数据记录写入 217
11.5.2 数据记录读取 217
11.6 Office系列的操作 219
11.6.1 对Word的操作 219
11.6.2 对Excel的操作 220
11.6.3 对数据库的操作 222
11.7 数据的打印 224
11.8 压缩文件 227
11.8.1 压缩函数 228
11.8.2 对文件压缩 228
11.9 高级文件操作 231
11.9.1 获取文件信息 233
11.9.2 删除文件 235
11.9.3 创建文件夹复制文件 236
11.9.4 文件对话框 238
11.10 小结 240
11.11 练习题 240
第12章 LabVIEW的通信 242
12.1 LabVIEW通信的概念 242
12.2 TCP/IP协议的应用 243
12.3 UDP协议的应用 244
12.3.1 UDP发送 245
12.3.2 UDP接收 246
12.4 DataSocket技术 248
12.4.1 DataSocket的特点 248
12.4.2 DataSocket数据传输方式 249
12.4.3 DataSocket Server配置 249
12.4.4 DataSocket的应用 251
12.5 发布LabVIEW 252
12.5.1 Web发布前面板 253
12.5.2 链接远程前面板 255
12.5.3 远程前面板连接管理器 256
12.6 共享变量 257
12.6.1 共享变量引擎 257
12.6.2 共享变量数据源 257
12.6.3 创建共享变量 258
12.6.4 适用共享变量 258
12.7 队列操作 259
12.8 小结 261
12.9 练习题 261
第13章 LabVIEW与其他软件的连接 262
13.1 LabVIEW中的ActiveX调用 262
13.1.1 ActiveX介绍 262
13.1.2 在ActiveX中插入控件 263
13.1.3 打开自动化 264
13.2 LabVIEW和MATLAB的接口 265
13.3 LabVIEW对Windows库函数的调用 266
13.4 LabVIEW和C的调用 269
13.4.1 公式节点 269
13.4.2 代码接口节点 270
13.5 LabVIEW调用DDE 274
13.6 小结 275
13.7 练习题 275
第14章 LabVIEW中子VI的设置及调用 276
14.1 子VI的概念 276
14.2 创建图标 276
14.3 子VI的设置 277
14.4 子VI节点设置对话框 278
14.5 保存与调用子VI 279
14.6 子程序优先级 280
14.7 VI调用 281
14.8 VI层次结构 282
14.9 小结 283
14.10 练习题 283
第15章 其他高级技巧 284
15.1 编辑菜单 284
15.1.1 菜单编辑器介绍 284
15.1.2 菜单编辑 286
15.1.3 菜单调用程序 286
15.2 鼠标编辑 288
15.2.1 鼠标属性 288
15.2.2 右键设置 289
15.3 VI执行速度 291
15.3.1 输入/输出 292
15.3.2 屏幕显示 292
15.3.3 在程序内传递数据 293
15.3.4 子VI系统开销 293
15.3.5 多线程对操作的影响 293
15.4 VI内存使用 294
15.4.1 虚拟内存 294
15.4.2 VI组件内存管理 294
15.4.3 高效使用内存的规则 295
15.5 LabVIEW中的多任务 295
15.5.1 基本执行系统 295
15.5.2 单线程中管理用户界面 296
15.5.3 在多线程应用程序中使用执行系统 296
15.6 工程打包 297
15.6.1 可执行文件的生成 297
15.6.2 安装文件的生成 301
15.7 光标的设置 304
15.8 控件的操作 307
15.9 小结 309
15.10 练习题 309
第4篇 实战案例篇 312
第16章 智能车控制系统 312
16.1 研发背景 312
16.2 设计方案 313
16.2.1 设计目标 313
16.2.2 整体设计方案 313
16.2.3 编程设计 313
16.2.4 编程步骤设计 315
16.3 模拟界面编写 315
16.3.1 道路行驶监控 315
16.3.2 智能车仪表仿真 318
16.4 用户界面的编写 324
16.4.1 界面整体结构 324
16.4.2 端口设置 324
16.4.3 参数设置 325
16.4.4 监视界面 327
16.4.5 记录操作和退出 330
16.5 用户管理界面 333
16.5.1 按钮控件制作 333
16.5.2 加密和解密 334
16.5.3 读取文件 336
16.5.4 用户操作界面 337
16.5.5 编辑组合 339
16.5.6 界面设置 341
16.6 管理界面 342
16.6.1 前面板设置 342
16.6.2 程序框图设置 342
16.7 登录界面 343
16.7.1 登录界面设置 343
16.7.2 主界面编辑 346
16.8 生成安装文件 349
16.9 小结 353
第17章 超市管理系统开发 354
17.1 实例内容说明 354
17.1.1 货物管理 354
17.1.2 人员管理 356
17.1.3 日常管理 356
17.2 开发思路分析 357
17.3 数据库操作 358
17.3.1 创建数据库 358
17.3.2 指定数据库 360
17.3.3 数据库操作 361
17.4 系统层次关系 363
17.4.1 主界面 363
17.4.2 菜单界面 363
17.5 主界面编程 364
17.5.1 用户管理 364
17.5.2 入货登记 370
17.5.3 出货登记 373
17.5.4 退换记录 375
17.5.5 库存记录 377
17.5.6 销售统计 377
17.6 菜单编程 380
17.6.1 菜单项目设置 380
17.6.2 菜单程序结构 381
17.6.3 工资管理 381
17.6.4 支出管理 384
17.6.5 数据备份与导入 385
17.7 实例总结 386
第18章 虚拟计算器 387
18.1 编程思路 387
18.1.1 总体设计 387
18.1.2 工作流程 387
18.2 删除无效0 388
18.3 删除和清除 391
18.4 判断键盘输入 392
18.5 特殊计算 396
18.6 计算结果 398
18.7 主界面 399
18.7.1 前面板 400
18.7.2 程序框图 400
18.8 菜单栏 404
18.9 程序打包 407
18.10 小结 411