VB和 Excel在数据采集系统中的应用 张 东 ,等
VB和 Excel在数据采集系统中的应用
张 东 ,严 殊 ,刘广起 3
(西南科技大学信息工程学院 四川绵阳 , 621000)
(3 山东省计算中心 济南 , 250014)
摘 要 :介绍了基于 VB和 Excel的数据采集系统。数据采集主要由单片机和 A /D转换器组成 ,数
据的处理由 PC来实现。该系统利用软件自动化技术 ,实现了 VB与 Excel的无缝连接。该系统硬件测
试正常 ,软件代码正确。
关键词 :数据采集 ;软件自动化 ; VB; Excel
Ab s trac t: This paper introduces the system of data acquisition based on VB and Excel. Data acquisition
is composed mainly of m icrocontroller and A /D converter, and the collected data is handled by PC. By soft2
ware automation, VB and Excel are joined monolithically. The system’s hardware is normal, and the software’
s code is right.
Key wo rd s: Data acquisition; Software automation; V isual Basic; Excel
中图分类号 : TP274 + . 2 文献标识码 : B 文章编号 : 1001 - 9227 (2006) 01 - 0042 - 03
0 引 言
在目前的许多数据采集系统中 ,常常采用 PC做上
位机和单片机做下位机的主从式系统。在主从式控制
系统中 ,单片机主要完成数据采集 ,被采集数据经初步
处理后传送给主机。主机将从机发送来的数据进行处
理后随时向用户提供统计报表和整个控制过程的具体
数据。在这种系统中 ,不仅要开发串行通信类软件 ,而
且需要对大量的采集数据进行处理。V isual Basic作为
可视化、面向对象、事件驱动方式的结构化高级程序设
计语言 ,在开发串行通信类软件中有很大的优势。Ex2
cel在数据存储、图表生成和
设置方面功能强大 ,
是一款优秀的数据分析与处理工具。本系统应用软件
自动化技术 ,实现了 VB与 Excel的无缝连接。降低了
编程的复杂性 ,提高了系统的可维护性 ,方便了用户操
作。
1 系统组成
本系统采用 PC和单片机组成数据采集系统。数
据采集由 AT89C51和 ADC0809组成 ,数据的显示、输
出以及控制由 PC来实现。
AT89C51通过 ADC0809对现场数据进行采集 ,然
后回送到 AT89C51。单片机收到采集的数据后 ,经过
处理 ,送往 LED显示。当上位机要数据时 ,单片机将数
据通过串行口送往 PC, PC通过软件完成数据的显示、
收稿日期 : 2005 - 06 - 25
存储、打印等操作。PC和单片机之间的通信采用 RS -
232通信
。
2 VB和 Excel的无缝连接
2. 1 在工程中引用 M icrosoft Excel类型库
从【工程 】菜单中选择【引用 】栏 ;选择 M icrosoft
Excel 11. 0 Object L ibrary ( Excel2003 ) ,然后选择【确
定 】。表示在工程中要引用 Excel类型库。
2. 2 在通用对象的声明过程中定义 Excel对象
D im xlApp A s Excel. App lication
D im xlBook A s Excel. WorkBook
D im xlSheet A s Excel. Worksheet
2. 3 在程序中操作 Excel表常用命令
Set xlApp = CreateObject ( " Excel. App lication" ) ’
创建 Excel对象
Set xlBook = xlApp. Workbooks. Open ( "文件名 " ) ’
打开已经存在的 Excel工件簿文件
xlApp. V isible = True’设置 Excel对象可见 (或不
可见 )
Set xlSheet = xlBook. Worksheets ( "表名 " ) ’设置
活动工表
xlSheet. Cells( row, col) =值 ’给单元格 ( row, col)
赋值
xlSheet. PrintOut ’打印工作表
xlBook. Close ( True) ’关闭工作簿
xlApp. Quit ’结束 Excel对象
Set xlApp = Nothing’释放 xlApp对象
xlBook. RunAutoMacros ( xlAutoOpen) ’运行 Excel
24
《自动化与仪器仪表 》 2006年第 1期 (总第 123期 )
启宏
xlBook. RunAutoMacros ( xlAutoClose ) ’运行 Excel
关宏
2. 4 利用 VB实现 Excel自动获取外部数据
充分利用 Excel的启动宏和关闭宏 ,可以实现 VB
与 Excel的相互勾通 ,其方法如下 :
针对本设计 ,操作语句如下 :
D im xlApp A s Excel. App lication’定义 Excel类
D im xlBook A s Excel. Workbook’定义工件簿类
D im xlsheet A s Excel. Worksheet’定义工作表类
Private Sub Form _Load ( ) ’打开 Excel过程
If D ir( " e: \ Excel. bz" ) = " " Then’判断 Excel是
否打开
Set xlApp = CreateObject( " Excel. App lication" ) ’
创建 Excel应用类
xlApp. V isible = True’设置 Excel可见
Set xlBook = xlApp. Workbooks. Open ( " e: /bb.
xls" ) ’打开 Excel工作簿
Set xlSheet = xlBook. Worksheets(1) ’打开 Excel
工作表
xlSheet. Activate’激活工作表
xlSheet. Cells(1, 1) = "时间 " ’给单元格 1行 1
列赋值
xlSheet. Cells(1, 2) = "电压 " ’给单元格 1行 2
列赋值
xlBook. RunAutoMacros ( xlAutoOpen) ’运行 Excel
中的启动宏
Else
M sgBox ( " Excel已打开 " )
End If
End Sub
Private Sub Form_Unload (Cancel A s Integer)
If D ir( " e: /Excel. bz" ) < > " " Then’由 VB关闭
Excel
xlBook. Save ’( True) ’保存 Excel工作簿
xlBook. RunAutoMacros ( xlAutoClose) ’执行 Ex2
cel关闭宏
xlBook. Close ( True) ’关闭 Excel工作簿
xlApp. Quit’关闭 Excel
Else
Set xlApp = Nothing’释放 Excel对象
xlBook. Save’保存 Excel工作簿
xlBook. Close ( True) ’关闭 Excel工作簿
xlApp. Quit’关闭 Excel
End If
End Sub
通过上述操作即可实现 VB与 Excel的无缝连接 ,
从而实现了数据的电子表格存储。降低了编程的复杂
性 ,方便了用户的操作。
3 系统软件设计
3. 1 上位机程序
上位机程序主要是软件的编写 ,依据通信
和
系统所要实现的功能 ,包括数据处理、曲线绘制、打印
等。程序算法的流程图如图 1所示。
3. 2 下位机程序
单片机采用汇编语言编程 ,程序调试采用伟福
E6000仿真软件。程序的流程图如图 2所示。
(下转第 50页 )
34
网络计算机 (NC)的研发及应用 斯 珂
对于偏远山区 Internet不发达的农村 ,可以基于地面卫
星接收系统和网络计算机系统组建远程教育、远程农
业信息化、农业技术培训等系统。
对于具备 Internet条件的 ,可以基于网络计算机系
统组建远程教育、远程农业信息化、农业技术培训、政
务应用、企业信息化、金融信息化、银行信息化、税务信
息化等系统。
(1) 解决
的参考配置
●管理服务器与教师机 1台
●2GHz ×2 CPU /512MB 内存 /18GBSCSI硬盘、
100M网卡
●NC: 20~60台
●200MHz以上 CPU /128MB 内存 /16位声卡 /10
~100Mbp s网卡 /64MB Flash盘 /2个 V1. 1 USB
●网关服务器 1台或地面卫星接收系统 1套
(2) 多媒体网络教室应用
可实现广播教学、语音教学、屏幕监视、遥控辅导、
师生对讲、分组讨论、电子论坛、消息发送、电子举手、
电子抢答、网络影院、远程复位、远程关机和系统锁定
等功能。
(3) 远程教育应用
在三峡库区已经安装建设了卫星接收系统的接收
点 (均在中
内 ) ,以卫星电视教育网信息接收点及
其接收的信息资源为核心 ,建立一个 NC局域网 ,该网
内用户共享这些卫星信息资源 ,用于教育和各种实用
技能与技术知识的传授 ;该网络也具有拨号上网或宽
带网上网的功能 ,网内用户在需要时可以通过拨号的
方式或宽带接入的方式进入公共计算机网络系统 ,并
接入国际互联网中 ,获取地方教育部门的各种即时信
息 (如政策、法规、通知等 )以及要上报的信息。
(4) 数字图书馆应用
数字图书馆系统采用真正的 B /S架构 ,管理员不
必固守服务器前 ,他只需在任何一台能够连入系统的
NC上 ,通过输入自己的管理员帐号和密码 ,仅通过浏
览器即可完成整套系统的管理工作。
基于 NC的数字图书馆解决方案目前已经成功应
用于国家图书馆检索大厅。国家图书馆大厅内每天有
数以百计的读者和工作人员在检索大厅内利用 NC同
时完成身份验证、图书检索、网上借阅以及电子图书阅
览等等工作。
(5) 农业信息化应用
可方便集成和互操作调用开放式农业专家系统开
发平台 ,该平台支持数据的批量处理和分布式计算、协
同作业和远程多用户、多目标任务的并行处理 ,可对特
定农业领域问题进行定性推理和定量决策。
(6) 政务应用
实现政府各个部门业务应用系统的政务流程整
合、信息系统整合和信息数据整合。
(7) 税务应用解决方案
可以实现以下功能 :税收监控、税务稽查、税收法
规、税务执行、纳税评估、市局管理、系统维护、管理服
务等。到 2002年 10月 ,基于神州数码 NC的中国税收
征管信息系统 (CTA IS)已在全国 30个省市的 73个城
市运行 ,涉及全国税收收入的 50%。
(8) 办公自动化应用
企业采用网络计算机办公 ,能够充分满足企业内
部“共享信息和文件、电子邮件、INTERNET浏览等 ”的
需求 ,极大地降低了企业运作成本 ,具有信息安全化 ,
并完全可以根据不同终端用户的不同需求来合理地分
配资源。
(9) 软件开发应用
可以实现软件开发的业务流程整合和信息数据整
合。其完整的构成包括如下三部分 :通信中间件、应用
中间件、业务管理套件组 (核心套件 )。
此外 , NC还可以在电信业务、银行业务中应用。
(上接 43页 )
4 结 语
本文系统的介绍了基于 VB和 Excel的数据采集
系统。主要就硬件电路的设计、程序的调试、软件的编
写等方面进行了介绍 ,对于开发类似数据采集系统具
有一定的参考价值。
参考文献
1 范逸之. V isual Basic与 RS232串行通信控制 [M ]. 北京 :中
国青年出版社 , 2000
2 刘炳文 , 许蔓舒. V isual Basic程序设计教程 [M ]. 北京 :清
华大学出版社 , 2000
3 谢瑞和. 串行技术大全 [M ]. 北京 :清华大学出版社 , 2003
4 M icrosoft V isual Studio Online Help
05