- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于 VB 的 DQC-II 型流速仪数据采集系统设计与实现
摘 要:本文介绍了上位机与P89V51RD2 单片机串行通信连接方式、通信命令和数据采集系统的建立。阐述了在VB 环境下使用MSComm 控件实现上位机与单片机串行通信的方法,对我们现有的DQC-I 型流速仪进行了数据采集系统的建立。
1 引言
DQC-I 型流速仪是用于测量水渠水流速在 0.1201至4.0000m/s,流量在0.1 至900.0m3/s 的测速装置,同时也可以对管流的流速和流量进行测量,在工业水利管理中有着广泛的运用。串口是个人计算机的一种重要的接口,具有悠久的历史,得到了广泛的应用,许多设备都可以借助串口与计算机进行数据传输。一般计算机都有1-2 个串口,现以 9 针的 RS232 串口用的较为广泛,本文也使用 9 针RS232 串口。
本文研究的是将从流速仪通过串口采集上来的数据存储到已经建立好的Acess 数据库中,并自动生成打印报表,实现生产、管理的自动化、信息化,提高工作效率和管理水平。
2 硬件组成
3 串口通信的实现
为了使测量简单易行,这里采用三线接线法,即发送数据线(TXD )、接收数据线(RXD)和地线(GND)[4]。接线方式如图 2。
在 V B A 中, 提供了 M S C o m m 控件, 使串口通信的实现变得简单可靠。MSComm 控件是 1 个 ACTIVEX 控件,需要先在系统中注册。
MSComm 控件具有两种驱动方式:事件驱动方式和查询方式[1]。这里采用事件驱动方式以提高计算机的并行 处 理 能 力 。 当 串 口 缓 冲 区 收 到 规 定 字 符 数( R t h r e s h o l d ) 的时候产生 C o m m E v e n t 属性为ComEvReceive 的 OnComm 事件,在处理该事件的时候就可以处理收到的数据了。OnComm 事件是 MSComm控件唯一的事件,此事件可用来处理所有与通信相关的事件, 不管是何种事件发生, M S C o m m 控件只用一个CommEvent 的属性予以代表。
利用 MS Comm 控件实现计算机通信的关键是正确设置 MSComm 控件众多属性和方法, 以下是需要设置的 M S C o m m 控件的属性和方法:
Commport:设置或返回串口号。这里采用1 号串口即 C O M 1 .
Settings :以字符串的形式设置或返回串口通信参数,这里设置为9600,n,8,l.
Portopen:设置或返回串口状态。在初始化的时候需要先打开串口,结束时关闭串口。
olnputMode:设置或返回接收数据的类型。这里设置为字符型。
olnputLen:设置或返回一次从接收缓冲区中读取字节数。这里设置为 0,表示全部读取。
olnBuferSize:设置或返回接收缓冲区的大小,这里设置为4096Byte.
eInBuferCount:设置或返回接收缓冲区中等待计算机接收的字符数。
oRthreshold:该属性为一阀值。当接收缓冲区中字符数达到该值时,MSComm 控件设置 CommEvent 属性为 ComEvReceive,并产生 OnComm 事件。用户可在OnComm 事件处理程序时进行相应处理。若Rthreshold属性设置为 0,则不产生 OnComm 事件。
首先需要对串口进行初始化,即打开串口,设置好上述参数,让串口可以正确的接收数据。这里接收数据的格式是按字符接收,即接收到的每个数据都是按位当字符处理,最后需要把接收到的字符串转换成双精度浮点数据类型[3]。
当串口接收到数据时存放在串口缓冲区中,当缓冲区中的字符数达到Rthreshold 属性定义的阀值时,触发串口通信事件。
程序结束的时候需要关闭串口,释放相关的资源。在系统中的运行界面如下图 3。
4 数据库的建立
本系统中我们以Access 作为后台数据库,从而降低成本,方便管理。
VB 提供了比较丰富的数据库访问技术,我们采用其中的一种: A D O 数据库访问技术。在 V B 的控件窗口中我们用 ADO Data 控件来实现 VB 与 Access 数据库的连接。ADO Data 控件是使用 ADO 技术访问数据库的具体实现,用户可以使用 ADO Data 控件快速的创建一个到数据库的连接[2]。连接后在系统中的体现如下图 4。
我们在系统中加上了添加,修改,删除等按纽,可以随时对数据库中的参数和数据进行修改等操作。
5 打印报表
在打印报表时,我们将采集到的数据导入到事先制作好的Excel 表中,然后将所得到的数据在表中编辑公式进行计算,得到所需要的结果。具体报表如下图 5。
6 结束语
本数据采集系统经过实际测试,其计算流量精度达运用于DQC-II 型流速仪表中,并投入实际工程使用,极大地提高了工作效率和信息化管理水平。
参考文献:
[1] 李江全,张丽,岑红蕾.Visual Basic串口通信与测控应用技术实战详解[M].北京:人民邮电出版社,2007.
[2] 李敏业,王颖.Visual Basic+Access数据库应用实例完全解析[M].北京:人民邮电出版社,2006.
[3] 季华,肖兴明,李占芳,陈旭忠,张淼.基于VB 与单片机串行通信的数据采集系统设计[J].煤炭工程,2007.(12)-051
[4] 陈三风,刘晓波.基于VB6.0 与单片机串行通信的数据采集系统设计[J].计算机应用,2004,(01)-025
作者简介:邹蓉( 1 9 8 3 - )男, 研究生, 从事智能控制研究。
上一篇:一种湿度开关电路的设计
下一篇:热式空气流量计电路分析与测量