第1篇 入门篇 1
第1章 虚拟仪器概述 1
1.1虚拟仪器的概念及结构 1
1.1.1虚拟仪器的特点和优势 2
1.1.2虚拟仪器的结构 3
1.1.3虚拟仪器的硬件 3
1.1.4虚拟仪器的软件 4
1.2 LabVIEW的特点及功能 5
1.2.1 LabVIEW的特点 5
1.2.2 LabVIEW的功能 5
1.3 LabVIEW的发展历程 5
1.4 LabVIEW的在线帮助系统 7
1.4.1显示即时帮助 7
1.4.2搜索LabVIEW帮助 7
1.4.3 LabVIEW编程范例 7
1.4.4 LabVIEW网络资源 9
1.5 LabVIEW的应用 9
1.6习题 10
1.7上机实验 10
第2章 LabVIEW入门 14
2.1系统配置要求 14
2.2 LabVIEW的安装 14
2.3 LabVIEW开发环境 18
2.3.1启动LabVIEW 2015 18
2.3.2 LabVIEW的编程界面 19
2.3.3 LabVIEW菜单栏 20
2.3.4 LabVIEW工具栏 25
2.4选项板 26
2.4.1控件选板及功能 26
2.4.2函数选板及功能 27
2.4.3工具选板及功能 29
2.5 LabVIEW初体验:仿真信号并计算其频谱特性 30
2.6习题 31
2.7上机实验 31
第2篇 基础篇 33
第3章 LabVIEW的数据类型与基本操作 33
3.1基本数据类型 33
3.1.1数值型 33
3.1.2布尔型 37
3.1.3枚举类型 38
3.1.4时间类型 40
3.1.5变体类型 41
3.2数据运算选板 41
3.2.1数值函数选板 41
3.2.2布尔函数选板 41
3.2.3比较函数选板 42
3.3数组型数据 42
3.3.1数组的创建 43
3.3.2数组函数 43
3.4簇型数据 47
3.4.1簇的创建 47
3.4.2簇函数 47
3.5字符串型数据 50
3.5.1字符串与路径 50
3.5.2列表与表格控件 51
3.5.3字符串函数 53
3.6综合实例:不同类型函数的综合应用 56
3.7习题 58
3.8上机实验 58
第4章 LabVIEW的图形与图表 60
4.1图形与图表的基本概念 60
4.1.1波形数据 60
4.1.2趋势图与波形图 60
4.1.3坐标图 61
4.2波形图表与波形图的使用与定制 61
4.2.1波形图表与波形图的使用 61
4.2.2波形图表的定制 65
4.2.3波形图的定制 71
4.3 XY图与Express XY图 73
4.4强度图表与强度图 74
4.5数字波形图 75
4.6三维图形 78
4.6.1三维曲面图形 78
4.6.2三维参数图形 80
4.6.3三维曲线图形 81
4.7其他图形控件 82
4.7.1极坐标图 82
4.7.2最小-最大曲线显示控件 83
4.8综合实例:绘制李萨如图形 84
4.9习题 85
4.10上机实验 86
第5章 LabVIEW程序设计与调试 88
5.1 VI的创建 88
5.1.1前面板的创建 88
5.1.2程序框图的创建 89
5.1.3图标的创建 91
5.2子VI的设计 92
5.3 VI的编辑 93
5.3.1选择对象 93
5.3.2移动对象 94
5.3.3复制和删除对象 94
5.3.4对齐和分布对象 95
5.3.5调整对象大小 96
5.3.6重新排序 96
5.3.7修改对象外观 97
5.3.8连线 99
5.4 VI的运行与调试 100
5.4.1调试工具栏 100
5.4.2高亮显示执行 100
5.4.3探针和断点诊断 102
5.4.4错误列表窗口的使用 105
5.4.5 VI的单步执行 106
5.4.6 VI程序调试技巧 106
5.5综合实例:汽车测速系统设计 107
5.6习题 109
5.7上机实验 109
第6章 LabVIEW程序结构设计 111
6.1 LabVIEW循环与结构的基本概念 111
6.1.1循环结构 111
6.1.2条件结构 112
6.1.3顺序结构 112
6.1.4事件结构 112
6.1.5反馈节点与移位寄存器 112
6.1.6使能结构 112
6.1.7变量 113
6.2 For循环 113
6.2.1 For循环的建立 113
6.2.2 For循环的自动索引 113
6.2.3移位寄存器 114
6.2.4 For循环应用举例 115
6.3 While循环 117
6.3.1 While循环的建立 117
6.3.2 While循环应用举例 117
6.4顺序结构 118
6.4.1顺序结构的建立 119
6.4.2层叠式顺序结构的局部变量 119
6.4.3顺序结构应用举例 120
6.5定时结构 121
6.5.1定时循环 121
6.5.2定时顺序 123
6.5.3定时VI 123
6.5.4定时结构应用举例 124
6.6条件结构 125
6.6.1条件结构的建立 125
6.6.2条件结构的设置 125
6.6.3条件结构应用举例 126
6.7事件结构 128
6.7.1事件结构的建立 128
6.7.2事件结构的设置 128
6.7.3事件结构应用举例 129
6.8变量 132
6.8.1局部变量 132
6.8.2局部变量应用举例 133
6.8.3全局变量 135
6.8.4全局变量应用举例 136
6.9公式节点 138
6.9.1公式节点的建立 138
6.9.2公式节点中允许的运算符 138
6.9.3公式节点应用举例 139
6.10反馈节点 140
6.10.1反馈节点的建立 141
6.10.2反馈节点应用举例 141
6.11使能结构 141
6.11.1程序框图禁用结构 141
6.11.2程序框图禁用结构应用举例 142
6.11.3条件禁用结构 142
6.11.4条件禁用结构的建立 143
6.11.5条件禁用结构应用举例 143
6.12综合实例:动态窗口的实现 145
6.13习题 148
6.14上机实验 148
第7章 LabVIEW文件的输入与输出 150
7.1文件输入/输出的基本概念 150
7.1.1文件路径 150
7.1.2文件引用句柄 150
7.1.3文件I/O 150
7.1.4文件I/O流程控制 151
7.1.5文件I/O出错管理 151
7.1.6流盘 151
7.2文件的基本类型 151
7.2.1文本文件 151
7.2.2电子表格文件 152
7.2.3二进制文件 152
7.2.4数据记录文件 152
7.2.5波形文件 152
7.2.6测量文件 152
7.2.7配置文件 152
7.2.8 XML文件 153
7.3文件I/O选板 153
7.3.1打开/创建/替换文件函数 153
7.3.2关闭文件函数 153
7.3.3格式化写入文件函数 154
7.3.4扫描文件函数 154
7.4常用文件类型的使用 155
7.4.1文本文件函数的使用 155
7.4.2电子表格文件函数的使用 156
7.4.3二进制文件函数的使用 159
7.4.4波形文件函数的使用 162
7.4.5数据记录文件函数的使用 163
7.4.6测量文件函数的使用 165
7.4.7配置文件函数的使用 169
7.4.8 XML文件函数的使用 170
7.5综合实例:测量数据的保存和读取 171
7.6习题 173
7.7上机实验 173
第8章 人机交互界面设计 175
8.1 VI属性的设置 175
8.1.1常规属性页 175
8.1.2内存属性页 176
8.1.3说明信息属性页 176
8.1.4修订历史属性页 176
8.1.5编辑器选项属性页 177
8.1.6保护属性页 177
8.1.7窗口外观属性页 178
8.1.8窗口大小属性页 178
8.1.9窗口运行时位置属性页 179
8.1.10执行属性页 180
8.1.11打印选项属性页 180
8.2对话框的设计 181
8.2.1普通对话框 181
8.2.2用户自定义对话框 181
8.3用户菜单的设计 182
8.3.1菜单编辑器的设置 182
8.3.2菜单函数选板 183
8.4错误处理 186
8.5自定义控件和自定义数据 189
8.5.1自定义控件 189
8.5.2自定义数据 191
8.6用户界面的设计 191
8.6.1修饰静态界面 191
8.6.2动态交互界面 192
8.7程序设计的一般规则 194
8.7.1关于前面板的设计 194
8.7.2关于程序框图的设计 195
8.8综合实例:模拟电路图的设计 195
8.9习题 197
8.10上机实验 198
第3篇 提高篇 200
第9章 LabVIEW中的数字信号处理 200
9.1信号处理的基本概念 200
9.1.1信号发生 200
9.1.2波形调理 200
9.1.3时频分析 201
9.2信号发生 201
9.2.1基本函数信号 201
9.2.2多频信号 202
9.2.3噪声信号发生器 203
9.2.4仿真信号发生器 204
9.3波形调理 205
9.3.1波形对齐 205
9.3.2波形重采样 207
9.3.3触发与门限 208
9.4信号的时域分析 209
9.4.1卷积 209
9.4.2相关 210
9.4.3缩放与归一化 210
9.5信号的频域分析 212
9.5.1快速傅里叶变换 212
9.5.2 Hilbert变换 213
9.5.3功率谱分析 215
9.5.4联合时频分析 219
9.6波形测量 220
9.6.1平均直流—均方差VI 220
9.6.2过渡态测量 222
9.6.3谐波分析 222
9.6.4提取信号频率信息 223
9.6.5能量谱 223
9.7窗函数 225
9.8滤波器 227
9.8.1低通滤波器 227
9.8.2带通滤波器 228
9.9逐点分析库 229
9.10综合实例:Hilbert变换提取信号包络 231
9.11习题 232
9.12上机实验 232
第10章 LabVIEW中的外部接口与应用 235
10.1 LabVIEW外部接口的基本概念 235
10.1.1动态数据交换 235
10.1.2动态链接库 235
10.1.3应用编程接口 236
10.1.4 C代码接口 236
10.1.5 ActiveX 236
10.1.6 LabVIEW与MATLAB混合编程 236
10.2 LabVIEW中的DDE调用 237
10.2.1 LabVIEW中的DDE通信 237
10.2.2利用Request方式进行DDE通信 238
10.3 LabVIEW中的DLL与API调用 240
10.3.1 DLL调用 240
10.3.2参数类型的配置 242
10.3.3 Windows API调用 243
10.4 CIN节点的使用 247
10.5 ActiveX控件的调用 252
10.5.1 ActiveX自动化 252
10.5.2 ActiveX容器 254
10.5.3 ActiveX事件 256
10.5.4 LabVIEW作为服务器端 258
10.6 LabVIEW与MATLAB混合编程 260
10.6.1 MathScript节点 260
10.6.2 MATLAB Script节点 261
10.7综合实例:自适应滤波算法设计 262
10.7.1 LabVIEW与MATLAB混合编程的优势 262
10.7.2自适应滤波算法 262
10.7.3自适应滤波算法的实现 263
10.8习题 264
10.9上机实验 264
第11章 仪器控制与访问数据库 266
11.1仪器控制概述 266
11.2仪器总线技术 267
11.2.1 GPIB总线 267
11.2.2串行总线 268
11.2.3 USB总线 269
11.2.4 PXI总线 270
11.2.5 VXI总线 270
11.3仪器驱动程序 271
11.3.1可编程仪器标准命令SCPI 271
11.3.2虚拟仪器软件构架VISA 272
11.3.3可互换的虚拟仪器驱动程序IVI 273
11.4网络通信与编程 274
11.4.1 TCP通信 275
11.4.2 UDP通信 278
11.4.3 UDP和TCP的比较 280
11.4.4 DataSocket通信 281
11.4.5远程访问 285
11.5通过LabSQL访问数据库 287
11.5.1 LabSQL安装 287
11.5.2 LabSQL配置 287
11.5.3 LabSQL VIs 289
11.6 LabSQL应用举例 290
11.7综合实例:实现简单的数据库管理 296
11.8习题 298
11.9上机实验 298
第12章 LabVIEW应用程序的制作 302
12.1独立可执行程序(EXE) 302
12.2安装程序(SETUP) 308
第4篇 综合篇 313
第13章 电磁干扰自动测试系统 313
13.1自动测试系统 313
13.1.1自动测试系统的概念 313
13.1.2自动测试系统的组成 313
13.1.3自动测试系统的应用范围 314
13.1.4自动测试系统的现状和发展趋势 315
13.2电磁干扰 315
13.2.1电磁干扰的产生 315
13.2.2电磁干扰的测试 316
13.3自动测试系统的开发流程 317
13.3.1需求分析 317
13.3.2硬件设计 318
13.3.3软件设计 320
13.3.4系统联调 320
13.4需求分析——电磁干扰自动测试系统 320
13.5硬件设计——测试系统的硬件组成 321
13.5.1硬件组成 321
13.5.2数据采集卡 322
13.5.3接收天线 323
13.5.4其他仪器的选择 324
13.5.5测试系统的工作原理 324
13.6软件设计——测试系统的程序结构 325
13.6.1测试系统程序的总体构成 325
13.6.2系统软件结构规划 326
13.6.3测试系统软件开发实现 327
13.6.4子系统的程序结构 328
13.7系统集成——电磁干扰自动测试系统 329
第14章 基于声卡的数据采集系统 332
14.1声卡的硬件结构与特性 332
14.1.1声卡的基本参数 332
14.1.2声卡的硬件接口 332
14.2声卡操作函数 333
14.3构建基于声卡的数据采集与分析系统 333
14.3.1系统组成 333
14.3.2编写波形显示子VI 334
14.3.3自动存储 337
14.3.4手动存储 337
14.3.5信号回放与分析 338
14.3.6程序组合 338
14.4界面布局与修饰 339
第15章 利用虚拟采集卡建立电压采集系统 342
15.1数据采集的原理与方法 342
15.1.1采样定理 342
15.1.2 NI-DAQmx简介 342
15.2数据采集系统的构成 345
15.2.1数据采集系统的硬件 345
15.2.2数据采集系统的软件 346
15.3 NI-DAQmx的特点 347
15.3.1 NI-DAQmx的新特性 347
15.3.2 NI-DAQmx的安装和重要概念 348
15.4建立虚拟采集卡 350
15.5利用虚拟采集卡建立电压采集系统 353
15.5.1通道配置 353
15.5.2测试任务 354
15.5.3绘制图形 354
15.5.4编辑NI-DAQmx任务 354
15.5.5直观比较两个电压读数 355
第16章 基于LabVIEW FPGA模块的环境采集系统 356
16.1 FPGA的基本概念及环境测试系统组成 356
16.1.1 FPGA的基本概念 356
16.1.2环境测试系统组成 356
16.2构建FPGA项目 359
16.3应用实例 361