第1章 虚拟仪器基础 1
1.1 虚拟仪器技术概述 1
1.1.1 虚拟仪器的概念 1
1.1.2 虚拟仪器的特点 2
1.2 虚拟仪器的构成及分类 3
1.2.1 虚拟仪器的构成 3
1.2.2 虚拟仪器的分类 4
1.3 虚拟仪器软件开发环境 6
1.3.1 虚拟仪器开发软件 6
1.3.2 G语言 6
思考题与习题 7
第2章 开启LabVIEW编程之门 8
2.1 LabVIEW概述 8
2.1.1 LabVIEW简介 8
2.1.2 LabVIEW的优势 9
2.1.3 LabVIEW的应用 9
2.2 LabVIEW编程环境 10
2.2.1 LabVIEW 2014的基本开发平台 11
2.2.2 LabVIEW 2014的操作选板 13
2.2.3 LabVIEW 2014的菜单和工具栏 17
2.3 LabVIEW帮助系统 24
2.4 LabVIEW的初步操作 26
2.4.1 新建一个VI 26
2.4.2 前面板设计 26
2.4.3 框图程序设计——添加节点 26
2.4.4 框图程序设计——连线 26
2.4.5 运行程序 27
2.4.6 程序的保存与载入 27
2.5 子VI的创建与调用 27
2.5.1 子VI创建 27
2.5.2 子VI的调用 31
2.6 VI的调试方法 32
2.7 上机操作实例 34
思考题和习题 36
第3章 数据类型和操作 38
3.1 LabVIEW的基本数据类型 38
3.1.1 数值型 38
3.1.2 布尔型 42
3.1.3 字符串与路径 43
3.2 数据运算 48
3.2.1 数值运算 48
3.2.2 比较运算 49
3.2.3 布尔运算 50
3.2.4 字符串运算 50
3.3 数组 54
3.3.1 数组数据的组成 54
3.3.2 数组的创建 54
3.3.3 数组数据的使用 56
3.4 簇 62
3.4.1 簇的创建 62
3.4.2 簇操作函数 63
3.5 波形数据 67
3.5.1 波形数据的组成 67
3.5.2 波形数据的创建 70
3.6 不同数据函数的综合应用 72
思考题和习题 73
第4章 LabVIEW的程序结构 74
4.1 循环结构 74
4.1.1 For循环 74
4.1.2 While循环 76
4.1.3 循环结构的循环隧道与自动索引 77
4.1.4 移位寄存器和反馈节点 80
4.2 条件结构 83
4.3 顺序结构 85
4.4 事件结构 88
4.4.1 事件结构的构成 88
4.4.2 事件结构的设置 89
4.4.3 通知事件和过滤事件 90
4.4.4 事件结构的应用举例 91
4.5 公式节点 93
4.6 LabVIEW中变量的数值传递 94
4.6.1 局部变量 94
4.6.2 全局变量 96
思考题和习题 99
第5章 数据的图形显示 100
5.1 波形显示 100
5.1.1 波形图 101
5.1.2 波形图表 106
5.2 XY图和Express XY图 109
5.2.1 XY图 109
5.2.2 Express XY图 111
5.3 强度图形 111
5.3.1 强度图 111
5.3.2 强度图表 112
5.4 三维图形 113
5.4.1 三维曲面图形 113
5.4.2 三维参数图形 114
5.4.3 三维线条图形 115
5.5 数字波形图 116
思考题和习题 118
第6章 文件I/O 119
6.1 文件的类型 119
6.1.1 文本文件类型 119
6.1.2 二进制文件类型 120
6.1.3 数据记录文件 121
6.2 文件操作 121
6.2.1 文件的基本操作 121
6.2.2 文件I/O选板 122
6.3 常用文件类型的使用 124
6.3.1 文本文件 124
6.3.2 电子表格文件 125
6.3.3 XML文件 126
6.3.4 Windows配置文件 128
6.3.5 基于文本的测量文件 129
6.4 二进制文件的写入与读取 130
6.4.1 二进制文件 130
6.4.2 数据存储文件(TDM文件) 132
6.4.3 高速数据流文件(TDMS文件) 135
6.4.4 波形文件 136
6.5 数据记录文件 139
6.6 压缩文件 141
6.6.1 压缩函数 141
6.6.2 对文件压缩 142
6.7 高级文件I/O函数 144
思考题和习题 145
第7章 数据采集 146
7.1 数据采集基础 146
7.1.1 奈奎斯特采样定理 146
7.1.2 信号类型 147
7.1.3 信号的参考点与测量系统 148
7.1.4 数据采集系统构成 150
7.2 数据采集卡的选用与配置 150
7.2.1 选用数据采集卡的基本原则 151
7.2.2 数据采集卡的配置 152
7.3 NI-DAQmx简介 156
7.3.1 NI-DAQmx数据采集VI 157
7.3.2 DAQ助手的使用 158
7.4 DAQmx应用实例 162
7.4.1 模拟信号输入 162
7.4.2 模拟信号输出 165
7.4.3 数字I/O 166
7.4.4 计数器 169
思考题和习题 171
第8章 数字信号处理 172
8.1 信号产生 172
8.1.1 数字信号的产生与数字化频率的概念 172
8.1.2 信号生成 173
8.1.3 波形生成 176
8.2 波形调理和波形测量 181
8.2.1 波形调理 182
8.2.2 波形测量 184
8.3 信号的时域分析 188
8.3.1 相关分析 188
8.3.2 卷积 190
8.3.3 缩放和映射 192
8.4 信号的频域分析 193
8.5 窗函数 197
8.6 数字滤波器 200
8.7 逐点分析库 203
思考题和习题 204
第9章 虚拟仪器通信技术 205
9.1 TCP通信 205
9.1.1 TCP简介 205
9.1.2 TCP函数节点 206
9.1.3 TCP编程实例 209
9.2 UDP通信 211
9.2.1 UDP函数节点 211
9.2.2 UDP编程实例 213
9.3 DataSocket通信技术 214
9.3.1 DataSocket技术简介 214
9.3.2 DataSocket函数节点 216
9.3.3 DataSocket编程实例 219
9.4 串行通信 222
9.4.1 串行通信概述 222
9.4.2 LabVIEW串行通信节点 224
9.4.3 串行通信编程实例 227
思考题和习题 228
第10章 LabVIEW常用编程技巧 229
10.1 VI属性设置 229
10.1.1 “常规”属性页 229
10.1.2 “内存使用”属性页 230
10.1.3 “说明信息”属性页 231
10.1.4 “修订历史”属性页 232
10.1.5 “编辑器选项”属性页 233
10.1.6 “保护”属性页 233
10.1.7 “窗口外观”属性页 234
10.1.8 “窗口大小”属性页 235
10.1.9 “窗口运行时位置”属性页 236
10.1.10 “执行”属性页 237
10.1.11 “打印选项”属性页 239
10.2 人机交互界面设计 240
10.2.1 对话框的设计 240
10.2.2 错误处理 242
10.2.3 用户菜单设计 244
10.2.4 用户界面的设计 249
10.3 LabVIEW应用程序的制作 250
10.3.1 独立可执行程序(EXE) 250
10.3.2 安装程序(SETUP) 255
第11章 应用实例 261
11.1 虚拟仪器的设计原则 261
11.1.1 虚拟仪器的设计原则 261
11.1.2 硬件设计的基本原则 262
11.1.3 软件设计的基本原则 262
11.2 虚拟仪器的设计步骤 263
11.3 虚拟仪器设计实例 264
11.3.1 基于声卡的数据采集与分析系统 264
11.3.2 虚拟血压仪的设计 271
参考文献 276