第1篇 基础篇 1
第1章 虚拟仪器及其开发语言LabWindows/CVI 1
1.1 虚拟仪器 1
1.1.1 虚拟仪器的基本概念 1
1.1.2 虚拟仪器的结构 2
1.2 LabWindows/CVI编程语言 3
1.2.1 LabWindows/CVI特性 3
1.2.2 LabWindows/CVI的工作空间 4
1.2.3 LabWindows/CVI的文件类型 5
1.2.4 LabWindows/CVI中的对象编程 5
1.2.5 LabWindows/CVI的基本编程窗口 6
第2章 构建一个简单程序 12
2.1 建立工程文件 12
2.2 创建用户界面文件 12
2.2.1 面板的设置 12
2.2.2 向面板中添加控件 13
2.3 生成源代码文件 15
2.3.1 生成全部源代码框架 15
2.3.2 主函数及回调函数框架分步生成 17
2.3.3 源代码框架主函数 18
2.3.4 向源代码框架中添加回调函数 19
2.4.1 程序单步调试 23
2.4.2 程序断点调试 23
2.4 运行和调试程序 23
2.4.3 程序变量和内存观察 24
2.5 生成可执行文件和发布文件 25
2.5.1 生成可执行文件 25
2.5.2 生成发布文件 26
2.6 LabWindows/CVI编程的基础知识 27
2.6.1 控件模式 27
2.6.2 用户交互事件 27
2.6.3 回调函数的模式 29
3.1 文本框、列表框、树控件和表格控件 31
3.1.1 文本框 31
第3章 基本控件的使用与编程 31
3.1.2 列表框、树控件和表格控件 33
3.1.3 编程实例 37
3.2 定时器控件 41
3.2.1 定时器相关函数 41
3.2.2 编程实例——板球游戏 42
3.3 创建菜单 48
3.3.1 菜单编辑器 48
3.3.2 菜单项函数 49
3.3.3 编程实例——计算器制作 50
3.4 图表控件 52
3.4.1 Graph控件 52
3.4.3 Digital Graph控件 54
3.4.2 Strip Chart控件 54
3.4.4 绘图控件编程 55
3.5 弹出式面板 58
3.5.1 弹出面板类型 58
3.5.2 弹出式面板编程 61
3.6 Splitter控件 66
3.6.1 Splitter控件设置 66
3.6.2 Splitter控件函数 67
3.7 滚动条及仪器驱动的使用 68
3.7.1 仪器驱动的装载 68
3.7.2 滚动条控件 68
3.7.3 滚动条编程 69
3.8 文件的读写和格式化 73
3.8.1 文件读写函数 73
3.8.2 字符串操作函数 75
3.8.3 数据格式化函数 75
3.8.4 定制用户工具 75
第2篇 提高篇 77
第4章 Toolslib扩展控件编程 77
4.1 Hot Ring控件 77
4.2 3D Graph控件 79
4.3 Animation Control控件 85
4.4 Combo Box与Password控件 89
4.5 File Browser与Path Control控件 95
4.6 Radio Group控件 100
4.7 Graph Cursor控件 103
第5章 数据采集技术 109
5.1 数据采集卡(DAQ) 109
5.1.1 数据采集卡的组成 109
5.1.2 数据采集卡的选择 110
5.2 数据采集卡测试 110
5.2.1 数据采集卡的参数设置 110
5.2.2 数据采集卡属性设置 111
5.2.3 数据采集卡的测试 112
5.3.1 Easy I/O for DAQ函数库 113
5.3 基于NI-DAQ数据采集 113
5.3.2 Traditional NI-DAQ函数库 114
5.3.3 利用Easy I/O for DAQ实现数据采集 119
5.3.4 利用DAQ助手创建测试任务 122
5.4 基于非NI数据采集卡的应用 128
5.4.1 ISA数据采集卡 128
5.4.2 PCI数据采集卡 133
第6章 信号的分析处理技术 141
6.1 信号的分类 141
6.1.1 信号的描述与分析 141
6.1.2 采样技术 142
6.2.1 信号的产生 143
6.2 信号处理编程 143
6.2.2 信号时域分析 149
6.2.3 信号频域分析 156
6.2.4 信号滤波 165
第7章 通信接口与动态数据交换技术 177
7.1 RS-232串口通信 177
7.2 串口数据收发过程 179
7.2.1 RS-232文件发送程序 179
7.2.2 RS-232文件接收程序 183
7.2.3 RS-232与其他设备间的通信 187
7.3.1 动态数据交换技术 193
7.3.2 LabWindows/CVI动态数据交换的一般步骤 193
7.3 DDE动态链数据交换技术 193
7.3.3 DDE与Excel间的通信实例 194
第8章 网络化虚拟仪器设计 202
8.1 网络测控系统 202
8.2 TCP/IP技术 202
8.2.1 OSI体系结构及协议 202
8.2.2 TCP/IP协议 204
8.2.3 TCP/IP参考模型 205
8.3 TCP程序设计 206
8.3.1 TCP服务器程序设计 206
8.3.2 TCP客户机程序设计 215
8.4.1 DataSocket技术特性 220
8.4 DataSocket技术 220
8.4.2 DataSocket服务器和管理器 221
8.4.3 DataSocket程序设计 223
8.5 Polling Queue技术 233
8.5.1 Polling Queue服务器程序设计 233
8.5.2 Polling Queue客户机程序设计 237
第3篇 应用篇 243
第9章 Windows SDK程序设计 243
9.1 SDK和Windows API函数简介 243
9.1.1 电脑驱蚊程序制作 244
9.1.2 特殊图形面板的制作 246
9.1.3 面板的拖拽操作 253
9.2 注册表操作 255
9.2.1 定制IE工具栏 256
9.2.2 开机启动程序制作 263
第10章 动态链接库技术 266
10.1 基本外部模块的编程 266
10.1.1 创建无界面动态链接库 267
10.1.2 创建静态链接库 274
10.1.3 创建目标代码文件 275
10.1.4 各种库函数的产生 276
10.2 创建有界面的动态链接库 277
10.3 外部模块的显式调用方式 283
第11章 高级系统操作 289
11.1 系统托盘设计 289
11.2 工具栏设计 295
11.3 ini文件读取操作 303
11.4 异步定时器 311
11.5 多线程编程 316
11.6 文件拖拽操作 320
第12章 ActiveX技术 325
12.1 ActiveX简介 325
12.2.1 LabWindows/CVI中ActiveX服务器的创建 326
12.2 LabWindows/CVI中ActiveX的调用 326
12.2.2 注册一个外部ActiveX服务器 327
12.2.3 生成仪器驱动 327
12.3 ActiveX应用实例 330
12.3.1 TimePicker控件的使用 330
12.3.2 Calendar控件的使用 338
12.3.3 Chart控件的使用 343
12.3.4 ProgressBar控件的使用 350
12.3.5 MCI控件的使用 352
12.3.6 RichBox控件的使用 358
12.3.7 ShockwaveFlash控件的使用 364
13.1.1 驱动器函数库的结构规划 375
13.1 驱动器函数库开发实例 375
第13章 驱动器函数库开发 375
13.1.2 驱动器函数库的生成 377
13.1.3 其他文件的生成 380
13.2 利用已开发好的工具 382
13.3 驱动器函数库的装载 383
第14章 数据库技术 386
14.1 信息、数据与数据处理 386
14.1.1 基本概念 386
14.1.2 数据处理技术的发展 386
14.1.3 数据模型 387
14.1.4 数据层次 387
14.2.1 ODBC配置 388
14.2 ODBC数据源管理器 388
14.2.2 数据库会话 389
14.3 SQL Toolkit 389
14.3.1 函数详解 389
14.3.2 基本SQL语句 411
14.4 数据库编程举例 413
14.4.1 表格编程举例 413
14.4.2 常规数据库操作编程举例 422
附录A 函数Fmt标识符参考 435
附录B SQL命令 436
参考文献 441