当前位置:文档之家› VB电压采集系统

VB电压采集系统

摘要本论文叙述了Visual basic6.0语言和Microsoft access2003数据库的基本知识概况。

重点介绍了电压采集系统的实现过程,包括:串口通信、硬件连接、modbus协议、数据采集、数据处理、实时数据显示、数据存入数据库、历史数据打印报表、历史曲线的绘制等内容。

关键词:电压采集系统计算机控制VB与数据库串口通信目录引言---------------------------------------------------------------------------------------------3项目开发背景------------------------------------------------------------------------------3 项目开发目的------------------------------------------------------------------------------3 系统开发所需要的技术准备------------------------------------------------------------3 第一章应用系统开发工具------------------------------------4第一节Visual Basic简介及实现原理-------------------------------4 第二节 VB中的MScomm串口通信控件-------------------------------4 第三节vb中的数据访问对象(DAO)---------------------------------------------6 第四节 VB中的MSCHART控件-------------------------------------8 第二章VB与数据库的应用-----------------------------------------------------8第一节数据库基础--------------------------------------------------------------------8 第二节关系型数据库标准语言SQL-------------------------------11 第三节 DAO中常用对象的方法和属性-----------------------------12 第三章Modbus协议-------------------------------------------------------------14第四章系统分析-------------------------------------------------------------------15第一节系统功能简介-----------------------------------------------------------------15 第二节系统具体功能的实现-------------------------------------16 附录-------------------------------------------------------------------------------------------22 总结-------------------------------------------------------------------------------------------26 致谢-------------------------------------------------------------------------------------------27 参考文献-----------------------------------------------------------------------------------28引言项目开发背景在现在化的社会中,我们的生活、学习和工作任何一个方面都离不开“电”这个名词,这足以见得电在当今社会对人类生存的重要性。

随着科技的进步,电伴随着人类足迹几乎和踏遍了现代科技的所有领域,成为人们生活密不可分的一部分随着人类的进步和科学技术的发展,蓄电池的作用已经日益显示出了它的重要性。

例如电动自行车、手机、汽车等等,没有蓄电池这些工具对人类来说将是一无所用。

因此,了解蓄电池电量的变化规律是一项很重要的任务。

了解电量的变化规律就必须得到确切的电压变化规律,但是,单个电池的电压规律容易获得且容易测量,而多个电池的电压测量不仅单调、枯燥,而且浪费了大量的时间和精力。

故设计该软件将大量的测试任务交给系统自主完成,工作人员只需定时的查看一下数据即可。

从而给研究带来了方便。

项目开发目的建立多路电压采集系统,采用该系统实现多电池电压变化数据的自动采集,从而得到多路电池的电压变化的规律,使电压采集系统化、便捷化、自动化。

系统开发所需要的技术准备在系统开发之前我们需要硬件和软件方面的支持。

硬件方面就在于电路的连接,系统需要老师提供的25路电压采集电路板(硬件资料请见附录2)和232-485转换模块,从而实现电压信号的采集和传输。

软件则需要了解Modbus 协议的具体知识和Visual Basic6.0、Microsoft access2003数据库知识,进而实现软件和硬件的结合,以完成整个系统的设计。

第一章应用系统开发工具第一节Visual Basic简介及实现原理Visual Basic(简称VB)是美国微软公司(Microsoft)于1990年推出的一套完整的Windows系统软件开发工具,可用于开发Windows环境下的各类应用程序,是一种可视化、面向对象、用事件驱动方式的结构化高级程序设计语言和工具,是目前使用最广泛的面向过程编程语言之一。

至今已经升级到了6.0版。

VB的重要特点之一是可视性。

系统引进了窗体和控件的机制,用于设计应用程序界面。

用户通过在屏幕上生成窗体,在窗体中绘制所需要的控件和按钮,设计菜单和对话框,VB会自动生成相应的代码。

VB的另一重要特点是事件驱动。

当窗体或控件上发生一个事件时,VB立即把控制权交给程序员。

程序员不必担心如何判断事件是否已发生,只需要编写一段代码告诉计算机在事件发生以后应该做什么工作就可以了。

这样,设计一个Windows应用程序简化为用鼠标在屏幕上点击、拖拽并添加少量的代码就可以完成了,大大降低了对程序设计的要求,提高了应用程序的开发效率。

利用VB的可视性特点,可方便的设计了程序的窗体界面,并在各个窗体中的合适位置绘制所需的每种控件。

如要修改窗体或控件的某项属性,只需在相应的窗体或控件的属性窗口修改相应的参数便可达到需要的设计效果。

利用VB的事件驱动性特点,只需在窗体或控件上的代码窗口中添加少量的代码,便可达到告诉当在相应的窗体或控件上发生某一事件时,它们在事件发生后应该做什么工作的目的。

例如几个窗体上的添加、删除、返回按钮的作用,就是通过在各个相应按钮的代码窗口中输入相应的代码,来达到当在几个按钮上出现单击(Click)事件后,相应按钮实现添加、删除、返回的功能的。

第二节 VB中的MScomm串口通信控件V isual Basic6.0中提供了大量的控件供使用者在变成中使用。

其中,MScomm 控件就是用来实现串口通信的控件。

下面将对MScomm控件进行简要的介绍。

一.控件的添加一般的VB软件在没使用过MScomm控件时,左侧的工具栏中没有该控件的图标,我们需要自己添加。

打开vb程序在菜单栏中找到“project”选项,单击后在下拉菜单中找到“部件”,然后选中出现以下对话框:然后找到电话盒控件(即Microsoft comm. Control 6.0),选中它确定,就在左侧的工具栏中出现了形似电话盒的控件。

单击此控件就可在窗体上添加该控件了。

二.控件的属性MSComm 控件有很多重要的属性,在此我们只介绍在项目中使用到的几个属性:CommPort 置并返回通讯端口号。

Settings 字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。

程序中使用的串口settings值分别为:9600,n,8,1 PortOpen 置并返回通讯端口的状态。

也可以打开和关闭端口。

Input 收缓冲区返回和删除字符。

Output 输缓冲区写一个字符串。

Inputmode 来设置串口传输的数据类型1)cominputmodetext 0 (缺省)通过input属性以文本方式取回数据;2)cominputmodebinary 1 通过input属性以二进制方式取回数据。

Commevent属性本程序利用该属性的rthreshold值的变化来驱动事件程序中设置rthreshold值为1,意思为:只要接收到一个数据就发生oncomm 事件。

Inputlen 设置并返回input属性从接受缓冲区读取的字符数。

三.控件的通信方式MSComm控件提供了两种处理通信的方法:1)事件驱动通信,是一种功能很强的处理串口活动的方法。

在大多数情况下,用户需要获知事件发生的时间,例如,在CD(Carrier Detect)线或RTS(Request To Send)线上有字符到达或发生了改变等。

在这种情况下,使用MSComm控件的OnComm事件捕获和处理这些通信事件。

OnComm也可以捕获和处理通信中的错误。

要获取所有事件和通信错误的完整清单,请参阅CommEvent属性。

2)用户也可以在每个重要的程序功能之后检查CommEvent属性的值来检测事件和通信错误。

这对小的自含程序可能比较常用。

例如,如果编写一个简单的电话拨号程序,那么在接收了每个字符后都产生一个事件并没有意义,因为你只打算从调制解调器中接收OK响应信息。

使用的每个MSComm控件都与一个串口对应。

如果在应用程序中需要访问多个串口,必须使用多个MSComm控件。

可以在Windows 控制面板中修改串口地址的中断地址。

第三节vb中的数据访问对象(DAO)Jet数据库引擎引擎(engine)能够决定程序管理和数据操作的程序或程序段。

数据库引擎就是操作数据库的一段程序或程序段。

Microsoft Jet数据库引擎和数据访问对象DAO(data access object)可以创建功能强大的客户/服务器应用程序。

Data控件几乎不需要任何代码,仅通过属性的设置就可以具有访问数据库的能力。

而利用代码增强Data控件的功能,则体现了DAO的部分功能。

实际上,Data控件是在高层次上执行DAO,作为一个高层对象,它封装了操纵Jet 所需的编程任务。

相关主题