第1章 虚拟仪器设计概述 1
1.1 虚拟仪器简介 1
1.1.1 虚拟仪器的产生 1
1.1.2 虚拟仪器的概念 2
1.1.3 虚拟仪器的特点 3
1.1.4 虚拟仪器的应用 4
1.2 虚拟仪器的结构 5
1.2.1 虚拟仪器的基本结构 5
1.2.2 虚拟仪器的构成方式 6
1.2.3 构建虚拟仪器的步骤 9
1.3 虚拟仪器的软件 10
1.3.1 虚拟仪器的软件结构 10
1.3.2 虚拟仪器的开发平台 11
1.4 虚拟仪器的设计原则和方法 12
1.4.1 虚拟仪器的设计原则 12
1.4.2 虚拟仪器的设计方法 14
第2章 LabVIEW程序设计基础 16
2.1 LabVIEW概述 16
2.1.1 LabVIEW简介 16
2.1.2 G语言与虚拟仪器 17
2.1.3 LabVIEW应用解决方案 18
2.1.4 LabVIEW程序设计方法 18
2.2 LabVIEW 8.6中文版的编程环境 21
2.2.1 启动LabVIEW 8.6中文版 21
2.2.2 LabVIEW 8.6中文版的菜单简介 22
2.2.3 LabVIEW 8.6中文版的工具栏 26
2.2.4 LabVIEW 8.6中文版的操作选板 27
2.3 LabVIEW中的基本概念 30
2.3.1 VI与子VI 31
2.3.2 前面板 31
2.3.3 框图程序 32
2.3.4 数据流驱动 33
2.4 LabVIEW程序设计步骤 34
2.4.1 建立新VI 34
2.4.2 前面板设计 34
2.4.3 框图程序设计——添加节点 35
2.4.4 框图程序设计——连线 37
2.4.5 运行程序 38
2.4.6 程序的保存与载入 38
2.5 子程序的创建与调用 39
2.5.1 创建SubVI 39
2.5.2 调用SubVI 41
2.6 VI的调试 42
第3章 VI前面板设计 47
3.1 前面板对象设计基础 47
3.1.1 前面板对象的基本设计方法 47
3.1.2 前面板对象的基本属性配置方法 48
3.1.3 前面板对象快捷键设置 49
3.2 前面板对象的编辑与属性设置 50
3.2.1 数值型控件 51
3.2.2 文本型控件 53
3.2.3 布尔型控件 54
3.2.4 图形型控件 56
3.3 前面板的修饰 56
3.3.1 设置前面板对象的颜色 57
3.3.2 设置前面板对象的文字风格 57
3.3.3 前面板对象的位置与排列 57
3.3.4 调整前面板对象的大小 58
3.3.5 用修饰控件装饰前面板 59
3.3.6 前面板对象的显示和隐藏 59
第4章 VI数据操作 60
4.1 数据类型 60
4.1.1 数据类型概述 60
4.1.2 数值型数据 63
4.1.3 布尔型数据 65
4.2 数组数据 66
4.2.1 数组数据的组成 66
4.2.2 数组数据的创建 67
4.2.3 数组数据的使用 68
4.3 簇数据 72
4.3.1 簇数据的组成 72
4.3.2 簇数据的创建 73
4.3.3 簇数据的使用 74
4.4 字符串数据 77
4.4.1 字符串的概念 77
4.4.2 字符串的创建 77
4.4.3 字符串的使用 79
第5章 VI框图程序设计 85
5.1 局部变量与全局变量 85
5.1.1 局部变量 85
5.1.2 全局变量 87
5.2 程序流程控制 90
5.2.1 For循环结构 91
5.2.2 While循环结构 94
5.2.3 定时结构 97
5.2.4 条件结构 98
5.2.5 顺序结构 100
5.2.6 事件结构 103
5.3 节点 106
5.3.1 公式节点 106
5.3.2 反馈节点 109
5.3.3 表达式节点 110
5.3.4 属性节点 110
第6章 VI图形显示与文件I/O 113
6.1 图形显示控件 113
6.1.1 波形图表控件 113
6.1.2 波形图控件 118
6.1.3 XY图控件 120
6.1.4 强度图控件 121
6.2 波形数据 122
6.2.1 波形数据的创建 122
6.2.2 波形数据的使用 126
6.3 文件I/O 130
6.3.1 文件I/O概述 130
6.3.2 文本文件的读写 131
6.3.3 电子表格文件的读写 133
6.3.4 二进制文件的读写 135
6.3.5 数据记录文件的读写 136
6.3.6 波形文件的读写 137
第7章 数据采集系统设计基础 139
7.1 数据采集系统概述 139
7.1.1 数据采集系统的含义 139
7.1.2 数据采集系统的功能 140
7.1.3 数据采集系统的硬件 141
7.1.4 数据采集系统的软件 142
7.1.5 数据采集系统的输入与输出信号 143
7.2 基于PC的DAQ系统组成 145
7.2.1 硬件子系统 146
7.2.2 软件子系统 147
7.2.3 DAQ仪器的特点 148
7.3 数据采集卡 149
7.3.1 数据采集卡的产生 149
7.3.2 数据采集卡的组成 150
7.3.3 数据采集卡的功能 150
7.3.4 数据采集卡的类型 151
7.3.5 数据采集卡的性能指标 152
7.3.6 数据采集卡的选择 155
7.4 典型数据采集卡的安装与测试 155
7.4.1 NI PCI-6023E数据采集卡 156
7.4.2 研华PCI-1710HG数据采集卡 161
7.5 基于LabVIEW的数据采集系统 169
第8章 LabVIEW数据采集编程基础 170
8.1 DAQ VIs简介 170
8.1.1 DAQ VIs子选板 170
8.1.2 DAQ VIs通用输入输出端口介绍 171
8.2 模拟输入VIs 172
8.2.1 简易模拟输入VIs 173
8.2.2 中级模拟输入VIs 173
8.3 模拟输出VIs 176
8.3.1 简易模拟输出VIs 177
8.3.2 中级模拟输出VIs 178
8.4 数字I/O 179
8.4.1 数字I/O简介 179
8.4.2 简易数字I/O VIs 180
8.5 DAQmx节点及其编程 181
8.5.1 DAQ节点常用的参数简介 181
8.5.2 DAQmx节点的使用 183
8.5.3 DAQ Assistant的使用 187
第9章 基于NI数据采集卡的LabVIEW程序设计 190
9.1 模拟量输入(AI) 190
9.1.1 硬件线路 190
9.1.2 设计任务 190
9.1.3 任务实现 191
9.2 开关量输入(DI) 194
9.2.1 硬件线路 194
9.2.2 设计任务 195
9.2.3 任务实现 195
9.2.3.1 任务实现(一):采用读写一条数字线的方式实现数字量输入 195
9.2.3.2 任务实现(二):采用读写一个数字端口的方式实现数字量输入 197
9.3 开关量输出(DO) 199
9.3.1 硬件线路 199
9.3.2 设计任务 199
9.3.3 任务实现 199
9.3.3.1 任务实现(一):采用读写一条数字线的方式实现数字量输出 199
9.3.3.2 任务实现(二):采用读写一个数字端口的方式实现数字量输出 202
9.4 温度测量与报警控制 204
9.4.1 硬件线路 204
9.4.2 设计任务 204
9.4.3 任务实现 204
第10章 基于研华数据采集卡的LabVIEW程序设计 208
10.1 模拟量输入(AI) 208
10.1.1 基于研华数据采集卡的LabVIEW程序硬件线路 208
10.1.2 基于研华数据采集卡的LabVIEW程序设计任务 208
10.1.3 基于研华数据采集卡的LabVIEW程序任务实现 209
10.2 模拟量输出(AO) 214
10.2.1 硬件线路 214
10.2.2 设计任务 214
10.2.3 任务实现 214
10.3 开关量输入(DI) 217
10.3.1 硬件线路 217
10.3.2 设计任务 218
10.3.3 任务实现 218
10.4 开关量输出(DO) 222
10.4.1 硬件线路 222
10.4.2 设计任务 222
10.4.3 任务实现 223
10.5 脉冲量(Pulse)输出 226
10.5.1 硬件线路 226
10.5.2 设计任务 226
10.5.3 任务实现 227
10.6 温度测量与报警控制 229
10.6.1 硬件线路 229
10.6.2 设计任务 230
10.6.3 任务实现 230
第11章 LabVIEW实验室中数据采集应用案例 237
11.1 基于声卡的数据采集 237
11.1.1 声卡的基本常识 237
11.1.2 与声卡相关的函数节点 241
11.1.3 基于声卡的双声道模拟输入 243
11.1.4 基于声卡的双声道模拟输出 245
11.1.5 声音信号的采集与存储 246
11.1.6 声音信号的功率谱分析 247
11.2 虚拟仪器的网络与通信 248
11.2.1 网络化测控仪器概述 249
11.2.2 TCP/IP概述 251
11.2.3 LabVIEW中的TCP节点 253
11.2.4 DataSocket技术概述 256
11.2.5 LabVIEW中的DataSocket函数节点 258
11.2.6 在LabVIEW中利用TCP/IP实现网络通信 259
11.2.7 在LabVIEW中利用DataSocket技术实现网络通信 261
11.2.7.1 在LabVIEW中利用DataSocket技术实现网络通信实例一 261
11.2.7.2 在LabVIEW中利用DataSocket技术实现网络通信实例二 263
第12章 LabVIEW串口通信基础 265
12.1 串口通信与RS-232C接口标准 265
12.1.1 串口通信的基本概念 265
12.1.2 RS-232C串口通信标准 268
12.1.3 RS-485串口通信标准 271
12.1.4 串口通信线路连接 272
12.1.5 计算机中的串行端口 274
12.1.6 串口通信调试程序的使用 275
12.1.7 虚拟串口的使用 276
12.2 LabVIEW与串口通信 278
12.2.1 LabVIEW中的串口通信功能函数 278
12.2.2 LabVIEW串口通信步骤 280
第13章 LabVIEW串口通信程序设计 282
13.1 PC与PC串口通信 282
13.1.1 PC与PC串口通信硬件线路 282
13.1.2 设计任务 283
13.1.3 任务实现 283
13.2 PC与单片机串口通信程序设计 287
13.2.1 PC与单片机串口通信程序设计硬件线路 288
13.2.2 PC与单片机串口通信程序设计任务 288
13.2.3 任务实现 289
13.2.3.1 利用Keil C51实现单片机与PC串口通信任务一 289
13.2.3.2 利用LabVIEW实现PC与单片机串口通信任务一 291
13.2.3.3 利用Keil C51实现单片机与PC串口通信任务二 295
13.2.3.4 利用LabVIEW实现PC与单片机串口通信任务二 298
13.3 PC与智能仪器串口通信案例 300
13.3.1 PC与智能仪器串口通信硬件线路 301
13.3.2 设计任务 304
13.3.3 任务实现 305
13.4 PC与PLC串口通信案例 309
13.4.1 PC与PLC串口通信硬件线路 309
13.4.2 设计任务 310
13.4.3 任务实现 310
13.4.3.1 PLC端(下位机)程序实现 310
13.4.3.2 PC端(上位机)LabVIEW程序实现 313
13.5 PC与GSM短信模块串口通信案例 313
13.5.1 PC与GSM短信模块串口通信硬件线路 314
13.5.2 PC与GSM短信模块串口通信设计任务 314
13.5.3 任务实现 314
13.6 PC与智能仪器构成DCS案例 316
13.6.1 PC与智能仪器构成DCS硬件线路 316
13.6.2 设计任务 317
13.6.3 任务实现 318
13.7 PC与远程I/O模块构成DCS 323
13.7.1 硬件线路 323
13.7.2 设计任务 326
13.7.3 任务实现 326
参考文献 332