第1章 绪论 1
1-1 虚拟仪器概述 1
1-1-1 虚拟仪器的基本概念 1
1-1-2 虚拟仪器的构成及分类 2
1-1-3 虚拟仪器的发展及特点 3
1-2 图形化编程语言LabVIEW的概述 4
1-2-1 什么是LabVIEW 4
1-2-2 LabVIEW软件的特点 5
1-2-3 安装LabVIEW 5
1-2-4 启动LabVIEW 8
1-3 本章小结 9
第2章 LabVIEW集成开发环境 11
2-1 LabVIEW的基本开发平台 11
2-1-1 前面板设计窗口 11
2-1-2 流程图编辑窗口 12
2-2-1 工具模板 13
2-2 LabVIEW的操作模板 13
2-2-2 控制模板 14
2-2-3 功能模板 18
2-3 LabVIEW的主菜单和工具栏 22
2-3-1 LabVIEW的主菜单 22
2-3-2 LabVIEW的快捷工具栏 25
2-4 创建两个VI程序 26
2-4-1 两数相加、相减运算 26
2-4-2 虚拟温度计 30
2-5 数据流编程的概念 32
2-6 程序调试技巧 33
2-6-1 找出语法错误 33
2-6-2 高亮执行程序 33
2-6-3 单步执行与断点 33
2-6-4 探针 34
2-7 VI程序存储和库管理器 34
2-7-1 VI程序的两种存储方式 34
2-7-2 保存程序为VI库文件 35
2-7-3 VI库管理器 36
2-8 LabVIEW的菜单设计 37
2-8-1 设计用户菜单User.rtm 38
2-8-2 菜单函数模板简介 39
2-9 本章小结 41
第3章 结构 42
3-1 顺序结构 42
3-1-1 建立顺序结构 43
3-1-2 顺序结构的应用举例 43
3-2 选择结构 45
3-1-3 顺序结构的弊端 45
3-2-1 建立选择结构 46
3-2-2 选择结构的应用举例 46
3-3 For循环 48
3-3-1 建立For循环 48
3-3-2 For循环的自动索引 48
3-3-3 移位寄存器 49
3-3-4 For循环的应用举例 50
3-4 While循环 51
3-4-1 建立While循环 52
3-4-2 While循环的应用举例 52
3-5 事件结构 55
3-5-1 建立事件结构 55
3-5-2 事件结构的应用举例 55
3-6 公式节点和表达式节点 57
3-6-1 建立公式节点 57
3-6-2 公式节点的应用举例 59
3-7 全局变量和局部变量 60
3-7-1 局部变量 61
3-7-2 全局变量 62
3-7-3 使用全局变量和局部变量的注意事项 64
3-8 本章小结 64
第4章 子VI 65
4-1 子VI的概念 65
4-2 编辑VI图标和接口板 65
4-2-1 编辑图标 65
4-2-2 接口板 67
4-3 子VI的构建和使用 69
4-3-1 VI创建子VI 69
4-3-2 选定内容创建子VI 70
4-4 VI属性的设置 71
4-4-1 General属性 71
4-4-2 Memory Usage属性 72
4-4-3 Documentation属性 72
4-4-6 Window Appearance属性 73
4-4-5 Security属性 73
4-4-4 Revision History属性 73
4-4-7 Windows Size属性 74
4-4-8 Execution属性 75
4-4-9 Printing属性 75
4-5 本章小结 75
第5章 字符串、数组和簇 76
5-1 字符串 76
5-1-1 字符串的显示方式 76
5-1-2 字符串函数子模板 77
5-1-3 字符串应用举例 78
5-2 数组 80
5-2-1 数组的创建 80
5-2-2 数组函数子模板 82
5-2-3 数组应用举例 83
5-2-4 LabVIEW的函数多态化 86
5-3 簇 87
5-3-1 簇的创建和排序 87
5-3-2 簇函数子模板 88
5-3-3 簇应用举例 89
5-3-4 Waveform数据类型 93
5-4 本章小结 95
第6章 图形显示 96
6-1 图形子模板 96
6-2 实时趋势图 97
6-2-1 实时趋势图简介及其组件 97
6-2-2 实时趋势图的应用举例 99
6-3-1 事后记录图简介及组件 100
6-3 事后记录图 100
6-3-2 事后记录图的应用举例 101
6-4 XY图形 104
6-5 强度图 106
6-6 数字波形图 106
6-7 三维图形 107
6-7-1 LabVIEW的三维图形分类 107
6-7-2 三维图形的应用示例 108
6-8 LabVIEW的其他图形显示 111
6-9 本章小结 113
第7章 文件I/O 114
7-1 LabVIEW的文件I/O简介 114
7-1-1 LabVIEW支持的文件格式 114
7-1-2 LabVIEW的文件I/O函数子模板 115
7-2 读写文本文件 117
7-2-1 写文本文件 117
7-2-2 读文本文件 120
7-3-1 写二进制文件 122
7-3 读写二进制文件 122
7-3-2 读二进制文件 123
7-4 读写数据记录文件 124
7-4-1 写数据记录文件 125
7-4-2 读数据记录文件 126
7-5 读写波形文件 127
7-5-1 LabVIEW的波形文件I/O函数子模板 127
7-5-2 写波形文件 127
7-5-3 读波形文件 128
7-6 读写图像文件 128
7-7 本章小结 130
第8章 信号分析与处理 131
8-1 Signal Processing子模板 131
8-1-1 Signal Generation信号产生子选项板 133
8-1-2 TimeDomain时域分析子选项板 136
8-1-3 Frequency Domain频域分析子选项板 139
8-1-4 Filters数字滤波器子选项板 143
8-1-5 Windows窗函数子选项板 146
8-2 Mathematics子模板 151
8-2-1 Curve Fitting曲线拟合子选项板 152
8-2-2 Probability And Statistics概率与统计子选项板 156
8-3 信号分析与处理示例 159
8-3-1 虚拟正弦波仿真信号的生成与显示 159
8-3-2 自相关函数演示仪 161
8-3-3 相关法测量相位差仿真仪 162
8-3-4 虚拟方波频谱分析仪 164
8-3-5 汉宁窗功能演示仪 165
8-3-6 相位谱分析法测量相位差仿真仪 166
8-3-7 巴特沃斯频率特性演示仪 168
8-3-8 切比雪夫频率特性演示仪 169
8-3-9 虚拟积分器与微分器 170
8-3-10 调幅波解调器 173
8-3-11 直线拟合演示仪 175
8-3-12 多项式拟合演示仪 176
8-4 本章小结 177
第9章 与其他应用程序的接口 178
9-1 Advanced高级应用子模板 178
9-2 LabVIEW与C语言接口技术 179
9-2-1 CIN节点的调用 179
9-2-2 编写C语言源代码 180
9-2-3 编译C语言源代码 181
9-2-4 装载lsb源文件并运行程序 182
9-3 LabVIEW对库函数的调用方法 183
9-4 LabVIEW嵌入式MATLAB Script编程 184
9-4-1 MATLAB简介 185
9-4-2 LabVIEW与MATLAB的接口 185
9-4-3 MATLAB Script节点应用示例 186
9-5 LabVIEW的动态数据交换DDE 187
9-5-1 DDE函数的调用路径 188
9-5-2 DDE应用示例 188
9-6 LabVIEW对可执行文件*.exe的调用 190
9-7 LabVIEW生成可执行文件程序包 191
9-7-1 含噪声信号功率谱分析仪 192
9-7-2 应用程序打包配置对话框 193
9-7-3 构造“含噪声信号功率谱分析仪”应用程序 195
9-8 LabVIEW对硬件端口地址的读和写 197
9-8-1 LabVIEW的端口操作子选项板 197
9-8-2 用端口读/写函数驱动数据采集卡 198
9-8-3 数据采集卡驱动程序设计 198
9-9 本章小结 200
第10章 ActiveX 201
10-1 OLE、COM和ActiveX简介 201
10-1-1 OLE、COM和ActiveX的起源和关系 201
10-1-2 OLE、COM和ActiveX的相关术语 203
10-1-3 COM扩展 207
10-2-2 Events 208
10-3 LabVIEW的ActiveX编程 208
10-3-1 LabVIEW的控件容器 208
10-2 ActiveX的属性、方法和事件 208
10-2-1 ActiveX的属性、方法 208
10-3-2 ActiveX函数子选项板 211
10-3-3 LabVIEW中的事件 216
10-3-4 LabVIEW作为客户端打开不同的应用程序 219
10-4 LabVIEW作为ActiveX服务器 220
10-5 本章小结 225
11-1 多线程的基本术语 226
11-1-1 线程 226
第11章 LabVIEW的多线程 226
11-1-2 Win32 227
11-1-3 多任务 227
11-1-4 进程 229
11-1-5 优先级 229
11-1-6 安全性 229
11-2 线程机制 229
11-2-1 线程堆栈 230
11-2-2 线程调度 230
11-3-2 优先级倒置 231
11-3-1 竞态条件 231
11-2-3 上下文切换 231
11-3 多线程所带来的问题 231
11-3-3 资源耗竭 232
11-3-4 死锁 232
11-3-5 操作系统补偿 232
11-4-2 线程总是加快程序的运行 233
11-4-3 多线程使应用程序更加稳定 233
11-4-1 线程的滥用 233
11-4 多线程的误区 233
11-4-4 多线程误区概括 234
11-5 LabVIEW中的多线程 234
11-5-1 执行子系统 234
11-5-2 运行队列 236
11-5-3 LabVIEW多线程中的DLLs 236
11-5-4 定制线程配置 238
11-6 LabVIEW的线程数目估计 239
11-6-1 线程数目的估计示例 239
11-6-2 多线程的程序最优化 241
11-6-3 LabVIEW的子程序优先级 243
11-7 本章小结 243
第12章 LabVIEW应用于网络技术 244
12-1 网络基础知识 244
12-1-1 计算机网络 244
12-1-2 网络体系结构 246
12-2 Communication通信子模板 247
12-2-1 DataSocket子选项板 248
12-2-2 TCP子选项板 250
12-3 数据套接技术 253
12-3-1 数据套接的基本概念 253
12-3-2 数据套接管理器与服务器 253
12-3-3 在前面板中使用DataSocket 255
12-3-4 在流程图中使用DataSocket 257
12-3-5 利用数据套接技术来传输数据附加信息 258
12-4 TCP编程 260
12-4-1 服务器端向客户端传输噪声数据 260
12-4-2 服务器端向客户端传输当前系统时间 262
12-5 在Web上发布VI程序 263
12-5-1 待发布的噪声信号产生程序 263
12-5-2 Web服务器配置 263
12-5-3 在Web上发布VI程序的前面板 265
12-5-4 在Web上发布VI程序的HTML文档 266
12-5-5 远程链接和管理 269
12-6 串行通讯 271
12-6-1 串行通讯 271
12-6-2 RS-232简介 272
12-6-3 LabVIEW的串行通讯子选项板 274
12-6-4 串口通讯应用示例——双机通信 276
12-7 本章小结 278
第13章 LabVIEW中小波变换的实现 279
13-1 小波变换的基本理论 279
13-2 从傅里叶变换到小波变换 280
13-2-1 傅里叶变换 280
13-2-2 短时傅里叶变换 282
13-2-3 小波变换 284
13-2-4 常用的小波函数 287
13-3 小波包分析与Mallet算法 288
13-3-1 小波包 288
13-3-2 Mallet算法 289
13-4 在LabVIEW中实现小波变换 290
13-4-1 小波分解算法的实现 291
13-4-2 小波重构算法的实现 292
13-4-3 小波包分解和重构算法的实现 293
13-4-4 二维小波变换 294
13-5 小波变换的应用示例 295
13-5-1 信号奇异性检测 295
13-5-2 信号消噪处理 296
13-5-3 信号压缩处理 299
13-5-4 信号发展趋势识别 301
13-5-5 小波包分析的应用 301
13-6 本章小结 304
附录 LabVIEW常用术语 305
参考文献 314