第1章 LabVIEW入门 1
1.1 系统配置要求 1
1.2 下载安装LabVIEW软件 1
1.3 LabVIEW环境 2
1.4 启动画面 3
1.5 前面板和框图窗口 5
1.5.1 前面板工具条 6
1.5.2 框图工具条 8
1.6 快捷菜单 9
1.7 下拉菜单 10
1.7.1 File菜单 11
1.7.2 Edit菜单 11
1.7.3 View菜单 12
1.7.4 Project菜单 13
1.7.5 Operate菜单 13
1.7.6 Tools菜单 14
1.7.7 Window菜单 15
1.7.8 Help菜单 16
1.8 选项板 16
1.8.1 Tools选项板 16
1.8.2 Controls选项板 17
1.8.3 Functions选项板 18
1.8.4 查找选项板和快速拖曳 19
1.9 打开、加载和保存VI 21
1.10 LabVIEW帮助选项 23
1.10.1 上下文相关帮助窗口 23
1.10.2 LabVIEW帮助 24
1.11 搭积木:脉宽调制 25
1.12 课后阅读:控制世界上最大的粒子加速器 26
1.13 小结 28
第2章 虚拟仪器 37
2.1 什么是虚拟仪器 37
2.2 几个工作示例 39
2.3 前面板 43
2.3.1 数字控件和指示器 44
2.3.2 布尔控件和指示器 45
2.3.3 配置控件和指示器 47
2.4 框图 48
2.4.1 VI和Express VI 48
2.4.2 节点 49
2.4.3 端子 50
2.4.4 连线 52
2.5 创建第一个VI 54
2.6 数据流编程 58
2.7 使用Express VI构建VI 59
2.8 搭积木:脉宽调制 63
2.9 课后阅读:DARPA城市挑战赛中的无人驾驶汽车 65
2.1 0小结 66
第3章 编辑和调试虚拟仪器 77
3.1 编辑技术 77
3.1.1 在框图上创建控件和指示器 77
3.1.2 选择对象 79
3.1.3 移动对象 79
3.1.4 删除和复制对象 81
3.1.5 调整对象大小 81
3.1.6 标签对象 82
3.1.7 改变字体、字形和文本大小 83
3.1.8 选择和删除连线 85
3.1.9 连线延长和断线 85
3.1.10 对象的对齐、分布和大小调节 88
3.1.11 对象着色 90
3.1.12 整理框图 95
3.1.13 连线 96
3.1.14 复用代码段 97
3.2 调试技术 99
3.2.1 发现错误 99
3.2.2 加亮执行 100
3.2.3 单步通过VI及其子VI 101
3.2.4 断点与探针 102
3.2.5 导航窗口 105
3.3 属性节点 105
3.4 快捷键 107
3.5 搭积木:脉宽调制 107
3.6 课后阅读:肿瘤治疗的图像系统设计 109
3.7 小结 110
第4章 子VI 119
4.1 什么是子VI 119
4.2 基本知识回顾 120
4.3 编辑图标和连接器 121
4.3.1 图标 122
4.3.2 连接器 124
4.3.3 选择和修改端子模板 124
4.3.4 给控件和指示器指定端子 126
4.4 帮助窗口 127
4.5 将VI用作子VI 129
4.6 从选定内容创建子VI 131
4.7 错误检测和错误处理 133
4.7.1 自动错误处理 133
4.7.2 手动错误处理 133
4.7.3 错误簇 134
4.8 保存子VI 134
4.9 VI层次窗口 135
4.10 搭积木:脉宽调制 136
4.11 课后阅读:使用嵌入式图形系统设计研制救生蜘蛛机器人 138
4.12 小结 139
第5章 结构 146
5.1 For循环 146
5.1.1 数值转换 148
5.1.2 带条件端子的For循环 150
5.2 While循环 151
5.3 移位寄存器和反馈节点 155
5.3.1 移位寄存器 155
5.3.2 使用移位寄存器记住循环的前一次迭代的数据值 156
5.3.3 初始化移位寄存器 157
5.3.4 反馈节点 159
5.4 Case结构 161
5.4.1 添加和删除分支 163
5.4.2 连接输入和输出 165
5.5 单层顺序结构 168
5.5.1 顺序结构中的定时估计和控制 169
5.5.2 避免过度使用顺序结构 170
5.6 公式节点 171
5.6.1 公式节点的输入与输出变量 171
5.6.2 公式语句 172
5.7 框图禁用结构 173
5.8 局部变量 174
5.8.1 创建局部变量 174
5.8.2 谨慎使用局部变量 175
5.8.3 初始化局部变量 176
5.8.4 内存和执行速度考虑 176
5.9 通用编程技巧 176
5.9.1 顺序编程 176
5.9.2 状态编程和状态机 178
5.9.3 并行性 179
5.10 结构连线中的一些常见问题 180
5.10.1 未在Case结构的所有分支中连接隧道 180
5.10.2 隧道重叠 181
5.10.3 连线从结构下面通过而不是从上面穿过 181
5.11 搭积木:脉宽调制 182
5.12 课后阅读:钢铁再生工艺的改进 184
5.13 小结 185
第6章 数组和簇 195
6.1 数组 195
6.1.1 创建数组控件和指示器 196
6.1.2 多维数组 198
6.2 用循环创建数组 198
6.2.1 创建二维数组 200
6.3 数组函数 201
6.3.1 数组大小 202
6.3.2 初始化数组 202
6.3.3 构建数组 203
6.3.4 数组子集 204
6.3.5 索引数组 204
6.4 多态性 210
6.5 簇 212
6.6 创建簇控件和指示器 212
6.6.1 簇顺序 214
6.6.2 使用簇与子VI交换数据 215
6.7 簇函数 216
6.7.1 Bundle函数 216
6.7.2 Unbundle函数 218
6.7.3 在框图中创建簇常量 219
6.7.4 使用多态性簇 219
6.8 矩阵数据类型和矩阵函数 220
6.8.1 创建矩阵控件、指示器和常量 220
6.8.2 矩阵函数 221
6.9 VI内存使用 223
6.10 搭积木:脉宽调制 224
6.11 课后阅读:易用的智能针灸系统 226
6.12 小结 227
第7章 图表和图形 235
7.1 波形图表 235
7.2 波形图 241
7.3 坐标图 247
7.4 定制图表及图形 249
7.4.1 调整坐标刻度区间 250
7.4.2 图注 252
7.4.3 图形选项板和刻度图注 253
7.4.4 图表的特殊个性化特征 254
7.4.5 图形的特殊个性化特征:光标图注 256
7.4.6 使用图形注释 257
7.4.7 导出图形、图表和表格的图像 258
7.4.8 使用上下文相关帮助 258
7.5 在二维和三维图形中使用数学曲线 259
7.5.1 二维图形 259
7.5.2 三维图形 261
7.6 搭积木:脉冲宽度调制 264
7.7 课后阅读:哥斯达黎加雨林的环境监测 265
7.8 小结 266
第8章 数据采集 272
8.1 DAQ系统的构成 272
8.2 信号类型 273
8.2.1 数字信号 274
8.2.2 模拟直流信号 275
8.2.3 模拟交流信号 276
8.2.4 模拟频域信号 277
8.2.5 一个信号——五种测量角度 278
8.3 常见的转换器和信号调节 278
8.4 信号接地与测量 281
8.4.1 信号源的基准配置 282
8.4.2 测量系统 282
8.5 模数转换事项 285
8.6 DAQ VI的组织结构 289
8.7 选择用户数据采集设备 290
8.7.1 M系列数据采集设备 290
8.7.2 适合学生的低价数据采集 290
8.7.3 仿真的数据采集 291
8.7.4 Macintosh、Linux、Palm OS、掌上电脑的移动Windows及选择Windows CE OS设备 291
8.8 DAQ硬件配置 292
8.8.1 Windows 292
8.8.2 通道和任务 297
8.9 使用DAQ Assistant 298
8.9.1 DAQmxTask Name Constant 301
8.10 模拟输入 302
8.10.1 任务定时 303
8.10.2 任务触发 303
8.11 模拟输出 306
8.11.1 任务定时 307
8.11.2 任务触发 308
8.12 数字I/O 311
8.13 搭积木:脉冲宽度调制 315
8.13.1 使用硬件计数器生成脉冲宽度调制信号 315
8.13.2 脉冲宽度调制的应用 317
8.14 课后阅读:奥林匹克场馆的结构健康监测 317
8.15 小结 318
第9章 字符串和文件I/O 323
9.1 字符串 323
9.1.1 使用BuildText Express VI将数值转换为字符串 329
9.2 文件I/O 330
9.2.1 把数据写入到文件中 332
9.2.2 从文件中读取数据 334
9.2.3 处理表单文件 335
9.2.4 File I/O Express VI 337
9.2.5 获取系统目录的路径 340
9.3 搭积木:脉冲宽度调制 341
9.4 课后阅读:优化职业赛车手的性能 342
9.5 小结 343
第10章 MathScript RT Module 349
10.1 什么是MathScriptRTModule 349
10.2 访问MathScript交互式窗口 350
10.2.1 历史命令和输出窗口 351
10.2.2 以多种格式查看数据 352
10.3 MathScript帮助 354
10.4 语法 355
10.4.1 MathScript关键函数 362
10.5 自定义函数并生成脚本 363
10.5.1 用户自定义函数 363
10.5.2 脚本 365
10.6 数据文件的保存、加载和导出 368
10.6.1 数据文件的保存和加载 368
10.6.2 导出数据 370
10.7 MathScript节点 370
10.7.1 访问MathScript节点 371
10.7.2 在MathScript节点中输入脚本 372
10.7.3 输入和输出变量 373
10.7.4 脚本加亮 375
10.7.5 调试脚本 377
10.7.6 在MathScript节点中保存脚本 380
10.8 lMathScript的应用 382
10.8.1 算法仪器 382
10.8.2 图形化信号处理、分析和数学函数 383
10.8.3 集成测量硬件 383
10.9 搭积木:脉宽调制 384
10.1 0课后阅读:采集和分析逆戟鲸的生物声学交流 385
10.1 1小结 386
第11章 分析 390
11.1 线性代数 390
11.1.1 矩阵概述 390
11.1.2 代数方程组 393
11.1.3 线性系统VI 395
11.2 统计与曲线拟合 397
11.2.1 基于最小平方法的曲线拟合 398
11.2.2 数据正态分布的曲线拟合 400
11.2.3 曲线拟合Express VI 402
11.3 微分方程组 405
11.4 寻找函数零点 411
11.5 积分和微分 413
11.6 信号生成 415
11.6.1 归一化频率 415
11.6.2 波(Wave)VI、模式(Pattern)VI和噪声(Noise)VI 417
11.6.3 仿真信号Express VI 419
11.7 信号处理 421
11.7.1 傅里叶变换 421
11.7.2 平滑窗 424
11.7.3 频谱测量Express VI 428
11.7.4 滤波 430
11.7.5 滤波器Express VI 436
11.8 搭积木:脉冲宽度调制 438
11.9 课后阅读:实时控制世界上最大的望远镜 439
11.1 0小结 440
附录A仪器控制 444
附录B LabVIEW开发者认证 464