基于VB的恒温水浴温度管理系统设计.doc_第1页
基于VB的恒温水浴温度管理系统设计.doc_第2页
基于VB的恒温水浴温度管理系统设计.doc_第3页
基于VB的恒温水浴温度管理系统设计.doc_第4页
基于VB的恒温水浴温度管理系统设计.doc_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于VB的恒温水浴温度管理系统设计摘要本文通过VB6.0建立了一种恒温水浴温度信息管理系统。详细阐述了系统的设计方法及功能。实现与下位机进行实时数据通信,并将采集到的数据进行实时处理。介绍了STC89C52单片机与PC机串行通信的实现方法, 并给出了具体通信接口电路、单片机串行通信程序流程图。讲述了数据显示以及趋势图的实现方法,并介绍了如何利用VB6.0连接数据库,完成温度信息的查询、显示、趋势图、打印等功能。在进行串口通信时,下位机利用单片机的串口进行传输,而上位机则利用VB6.0中的MSComm控件实现上位机( 计算机) 和下位机( 单片机) 之间的串行通信,同时通过Picture 控件和Timer控件的配合使用实现了上位机对下位机数据的实时采集和动态图形显示,数据的动态图形显示为数据分析提供了一个动态、直观的印象,是数据分析的重要一环。本系统采用Access设计数据库,记录用户信息和温度信息。达到了实时记录温度信息,定时传送温度设定值的技术指标要求。该恒温水浴温度管理系统拥有良好的人机交互界面,通用性好,操作简单、方便、易于实现温度的集中监控和管理等特点,具有较广泛的应用前景。关键词:恒温水浴; 温度管理系统;VB; 数据库;串行通信50AbstractIn this paper, atemperatureinformationmanagementsystemofconstant a temperaturewaterbathisestablishedbyVB6.0 . The design methods and functions of the system is illuminated in detail . The system has not only achieved real-time data communication with SCM but also maked the collect real-time data process . It introduces the SCM and PC setial communication method,and gives a specific flow chart of communication interface circuit and SCM serial communication program . It gives an account of data display and the trend of the realization of methods, and introduces how to use VB6.0 to connect to the database , the system has many functions such as the query , display , trend , print and so on.In serial communication , a machine using SCM serial port for data transmission , and PC is using VB to realize the communication between host computer (computer) and lower computer (MCU) is realized by using the MSComm control in VB . And the real-time data acquisition and dynamic graphics display from host computer to lower computer are completed through the coordination of Picture control and Timer control . The dynamic graphics display of data provides a dynamic and visual impression to the data analysis, and becomes an important link for data analysis.The system has been designed with Access database , it is recorded user information and temperature information . The technical target of the record, the transmission of real-time temperature information and the temperature settings is also achieved. The temperature management system of constant temperature water tank has good human-computer interface , good common, simple and convenient operation . It is easy to implement centralized monitoring and management of the temperature. The system has a very extensive application prospect.Keywords : Constant Temperature Water Tank ; temperature management system ; VB ; Database ; Serial Communication第一章 绪论1.1 选题背景恒温水浴是生物、植物、物理、化工、医疗、环保等实验科学领域直接或辅助加热的精密仪器,而且,控温装置采用高稳定性运算放大器和双积分高精度A/D转换技术,远红外加热技术设计而成,加上循环搅拌,产品热平衡时间短,所以有温度波动性小,均匀性好的优点,因此应用非常的广泛。恒温水浴温度管理系统则是针对下位机的恒温水浴,采集其温度,上传给计算机,计算机通过该温度与设定值之间的比较有效地调节控制,实现恒温水浴温度管理的自动化控制。在很多的领域中,都需要一个恒定的温度范围,而对温度的控制和管理需要大量的数据运算,针对这一情况,研制出可实用的恒温水浴温度管理系统就显得非常重要。总之,在现代的生活、生产中,恒温水浴温度管理系统有着广泛的应用前景。1.2选题目的在21世纪的科技时代,科学技术突飞猛进,计算机已经不仅是在科技上应用,而且在生活中也是同样得到了广泛在应用。恒温水浴控制系统采集到的温度信息是比较庞大的,而且也是比较复杂的。如果单靠下位机进行管理很容易造成数据的丢失,而且数据的管理也不方便,也不易查看过去的数据已进行分析统计。采用本系统,能够使整个系统内部所有信息的工作简化,提高工作效益。恒温水浴温度管理系统采用统一的数据信息,使相关工作能够快速地找到所需的数据、资料及其它信息,使信息快速高效的运行。而且采用本系统可以提高数据的处理能力,增强数据的可视化管理。1.3课题研究内容及技术指标本文针对基于单片机的恒温水浴温度监控系统下位机建立一个温度信息管理系统,需完成的设计内容及实现的技术指标如下:课题研究内容与下位机恒温水浴温度监控电路进行数据通信,实现温度的上传;当温度超过或低于其温度范围以后向下位机传输其控制信号,并产生报警;设计Access数据库,记录用户信息和温度信息;用VB连接数据库,完成温度信息的查询、显示、趋势图、打印等功能。技术指标实时记录温度信息;控制温度范围;利用上位机代替下位机的所有功能。1.4编程工具VB6.0是采用面向对象的,通过由事件驱动的程序设计方法开发应用的最新、最受欢迎、最成功的一种程序设计语言。该语言对于初学者易学、易用,又功能强大,可用它开发多媒体软件、数据库应用程序和网络应用程序。VB6.0具有以下特点:可视化的集成开发环境面向对象的程序设计思想面向对象的程序设计是伴随Windows图形界面的诞生而产生的一种新的程序设计思想,与传统程序设计有着较大的区别,VB6.0就采用了面向对象的程序设计思想。所谓对象就是一个可操作的实体,如窗体,以及窗体中的按钮、文木框等控件。每个对象都能响应多个不同的事件,每个事件均能驱动一段代码(事件过程),该段代码决定了对象的功能。我们称这种机制为事件驱动。事件由用户的操作触发。例如,单击一个按钮,则触发按钮的Click(单击)事件,处于该事件过程中的代码就会被执行。若用户未进行任何操作(未触发事件),则程序将处于等待状态。整个应用程序就是由彼此独立的事件过程构成,因此,使用VB6.0创建应用程序,就是为各个对象编写事件过程。交互式的开发环境VB集成开发环境是一个交互式的开发环境。传统的应用程序开发过程可以分为3个明显的步骤:编码、编泽和测试代码。但是Visual Basic与传统的语言不同,它使用交互式方法开发应用程序,使3个步骤之间不再有明显的界限。1.5 主要工作和章节安排本次毕业设计的主要工作是:学习VB6.0,了解VB的编程方法;设计一个数据库;设计PC机与单片机机之间的串口通信;上位机的设计。本次毕业论文的章节安排:第一章:绪论。主要介绍了选题的背景及目的、课题研究内容及技术指标和编程工具的介绍。第二章:恒温水浴温度管理系统总体方案的设计。主要针对该系统进行了系统的需求性以及可行性的分析,并提了本系统的总体方案设计,最后介绍了系统的开发及运行环境。第三章:VB6.0环境下的PC机与单片机串行通信的设计。本章主要讲述了什么是串行通信以及RS-232C串行通信标准;介绍了VB6.0中的串行控件及其属性,并介绍了如何利用MSComm控件实现串口的初始化;讲述了STC单片机与PC机之间串行通信的连接以及他们之间的通信协议;最后对单片机的串口初始化做了一个简单的介绍。第四章:恒温水浴温度信息管理。本章先是对数据库做了一个简单的介绍,接下来就对组成整个系统的各个部分以及它们的实现方法做了一些详细的介绍。本章最后讲述了在VB6.0中是如何进行工程保存的以及是怎样生成可执行文件的。第二章 恒温水浴温度管理系统总体方案的设计设计方案的不同将直接决定系统硬件的结构,从而确定软件的不同编写思路。本章将介绍恒温水浴温度管理系统的总体结构,给出结构框图并引入RS-232串行通信的概念。最后给出系统的主要技术参数。2.1系统分析2.1.1系统需求分析经过仔细研究,要求系统具有以下功能:具有良好的人机交互界面;能够进行PC机与单片机之间的实时通讯;能够进行温度数据的实时显示以及趋势图的绘制;上位机能够代替下位机实现控制功能;方便数据的查询,显示及打印;系统稳定性好。2.1.2系统可行性分析系统加入了数据库的支持,使用了Access数据库语言,使数据的准确性与安全性得到了很大的提高,且在用户的并行操作与用户管理方面非常方便。系统采用了RS-232串口通信以及Access数据库。该数据库在安全性、准确性、运行速度方面有绝对的优势,并且处理数据大、效率高。前台采用Microsoft公司的VB6.0作为主要的开发工具。就目前的开发技术及辅助工具来说,系统所需要的功能都能够快速地实现。因此能够实现该系统的可行性是非常高的。2.2总体方案设计恒温水浴温度管理系统是一个基于VB的数据库开发应用程序,由主模块、温度处理模块、数据浏览模块、数据打印模块、串行通信模块和退出模块组成,其中串行通信包括上下位机的串行通信设置。具体规划如下图2.1所示:图2.1 系统总体规划主模块该模块主要完成初始化环境的设置、定义主菜单及各子菜单项、对各子功能模块的调用。温度处理模块温度处理模块主要用来提供温度的实时显示以及温度的控制。数据浏览模块数据浏览模块主要提供对恒温水浴的温度数据的浏览及查询。数据打印模块主要完成将温度数据导入到Word,然后进行打印。串行通信模块主要利用MSComm控件进行串口的选择,初始化。下位机用单片机的串口进行串行设置。退出模块主要是保存完数据后,退出微机管理的恒温水浴温度管理系统。2.3开发及运行环境硬件平台:微型计算机采用普通的PC机。软件平台:(1) Windows操作系统;(2)Access数据库;(3) Microsoft Visual Basic6.0开发工具。(4)应用软件数据的串行通信;数据的表格显示、查询、删除和报表打印等功能。第三章 VB6.0环境下的PC机与单片机串行通信设计恒温水浴温度管理系统下位机将温度进行转换后把温度值存储到单片机里,并通过串口将数据送到PC机里,以方便数据的查阅和对温度进行实时监控。本章主要讨论采用RS-232来实现恒温水浴温度管理系统的上位机向下位机(单片机)发送信息以及上位机接收下位机的温度信息并加以处理的方式。3.1串行通信及RS-232总线恒温水浴温度监控系统下位机采集到的大量温度信息,需要传送至上位机,为接下来的温度分析处理提供数据。下位机只有一个单片机与PC机通信且两者之间的距离不是很长,因此我们采用异步串行通信中应用最广的RS-232标准总线实现两者之间的信息传递。3.1.1串行通信随着计算机系统的应用和微机网络的发展,计算机的通信功能显得尤为重要。从广义上讲,计算机通信可以分为并行通信和串行通信。并行通信速度快、实时性好,但占用的口线多、成本高、通信距离短,不适用于小型化产品。串行通信只需一根传输线即可完成通信功能,成本低,在通信中得到了广泛应用。计算机与外界的数据传送大多数都是串行的,通常把计算机与外界的数据传送称之为通信,因此提到的通信大多数都是指串行通信。串行通信的概念串行通信是计算机与外部设备进行信息交换的一种方式,是指数据一位一位地按顺序在一根信号线上进行传输的通信方式。串行通信有两种基本工作方式:异步传送和同步传送。在单片机中使用的串行通信都是异步方式,因此本系统采用异步串行通信方式来实现上位机与下位机之间的通信。异步串行通信是以字符为单位组成的祯传送的,即一祯一祯地传送。祯由发送端一祯一祯地发送,通过传输线被接收一祯一祯地接收。发送端何时开始发送以及何时结束发送是由祯格式规定的。通信线上没有数据传送时为逻辑高电平,每当接收端检测到传输线上发送来的逻辑低电平时就知道发送端已开始发送,每当接收端接收到祯的停止位时就知道一祯字符信息已发送完毕。祯是一个字符的完整通信格式,由起始位、数据位、奇偶校验位和停止位等四部分组成。字符传送的祯格式如图3.1所示:图3.1 异步通信的祯格式串行通信的数据传送方式在串行通信中,数据通常是在发送端和接收端之间进行传送,根据数据传送的方向,可分成三种基本的传送形式:单工、半双工和全双工。本系统采用了效率较高的全双工通信。串行通信的传送速率在串行通信中,用“波特率”来描述数据的传输速率。所谓波特率,即每秒钟传送的二进制位数,其单位为bps。它是衡量串行数据传输快慢的重要指标。接收方的波特率和发送方的波特率可以分别设置,但接收方的波特率必须与发送方的波特率相同。3.1.2 RS-232总线在串行通信时,要求双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通信。RS-232C是美国电子工业协会EIA公布的串行通信标准,RS是Recommended Standard的字头缩写,代表推荐,232是标识号,C表示修改的次数。RS-232C适用于短距离或带调制解调器的通信场合,目前已广泛应用于计算机与外围设备的串行异步通信接口中。串行通信的连接器包括9针和25针的,在本系统中我采用9针的DB9连接器。本系统的串行通信通过三根线可实现实现系统的连接,即接收数据端与发送数据端彼此交叉相连,信号地对应相接。这是最常用的全双工最简单系统连接法。RS-232C电平采用负逻辑,逻辑“0”:+5+15V,逻辑“1”:-5-15V。又因为52单片机输入、输出电平为TTL电平,但由于单片机的TTL逻辑电平和RS-232的电气特性完全不同,因此在将PC机和单片机的TXD和RXD交叉连接时必须进行电平转换。电平转换通常可以使用MC1488、MC1489、MAX232等芯片来实现。本系统是采用的是MAX232芯片来实现电平转换的2。3.2 VB6.0中的串行通信控件MSCommVB6.0是一种可视化的编程语言,可使应用程序的开发简单、直观,可编写出界面友好、功能强大的应用程序。MSComm控件全称为Microsoft Comm Control 6.0,是Microsoft公司提供的ActiveX控件,ActiveX控件包括一系列的属性、事件和方法。MSComm控件既可以提供简单的串口端口通信功能,也可以用来创建功能完备的、事件驱动的高级通信工具。MSComm控件不在最常用的控件工具箱中出现,故编程的第一步应添加到工具栏上以方便编程。具体的做法如下:单击VB 6.0菜单栏中的“工程”菜单,并选择“部件”命令,在部件对话框种选择Microsoft Comm Control 6.0,此时工具箱应出现一个电话图表,这就是MSComm图标13。3.2.1串行通信控件MSComm处理的方式MSComm控件提供了两种处理通信的方式,即事件驱动方式和查询法。事件驱动方式是指当有数据到达端口或有通信错误产生时都将引起OnComm事件。在程序设计时,可在OnComm事件加入程序设计,使之一旦引起该事件就会自动执行该程序。因此,MSComm控件的这种处理通信的方法具有程序响应及时,可靠性高的特点。查询法是指通过检查CommEvent属性来返回通信中产生的事件和错误类型由通信控件自动检测和跟踪通信状态后来进行设置。查询方式的实质还是事件驱动。3.2.2通信控件MSComm的常用属性在VB6.0中编程人员只需要了解控件的属性,就可以很方便的编写出实用的管理系统程序。下面就介绍MSComm控件的几个常用属性。Commport :返回或者设置所用的串行通信端口号。Settings :串口初始化的设计,以字符串的形式返回串口波特率、奇偶校验位、数据位和停止位。默认值是“9600,n,8,1”,意为“所使用的通讯端口是以每秒9600 bit的速度作传输,不做奇偶校验,每次传输8个数据位,1个停止位”,而且这4项必须是按照此顺序,不可前后对调。PortOpen :设置和传回端口的状态,在使用端口之前必须先将其赋值为true,在使用完以后需将其关闭,此时赋值为false。Input :读取输入缓冲区的字符。Output :把一个字符串写入输出缓冲区,此属性在设计时无效,运行时为只读。InputLen :设置一次从输入缓冲区读入的字符个数。InBufferSize :设置输入缓冲区的大小。OutBufferSize :设置输出缓冲区的大小。Rthreshold :设定引发Oncomm事件的字符数,默认值为0,即无论输入缓冲区有多少个字符都不会引起接受事件。InPutMode :设置并返回接受数据的类型。默认值为0,表示以文本的形式进行接收;当其设定为1时,以二进制的方式进行接受数据。3.2.3通信控件MSComm的使用熟悉了控件的属性,就可以对其进行通信的编程。控件的通信流程图如下图3.2所示:图3.2 MSConn控件的通信流程图3.3 PC机与STC89C52单片机的连接PC机与单片机之间的串行通信主要实现下位机向上位机传输实时温度数据以及上位机向下位机发送控制信号。下位机程序用C程序设计语言编写,主要完成串行的初始化。上位机用VB6.0进行编写,参数设置及温度数据的显示7。通信参数设置主要包括通信端口的选择,波特率的设置,数据传输位数、奇偶校验位以及停止位的设置。在做程序的串口通信时,我做了一个简单的下位机程序,就是将上位机发下来的数据又传送回去,以此来验证我做的串行通信程序是否正确。3.3.1 硬件电路的连接PC机与单片机之间的串行通信通过RS-232来实现,由于RS-232电平与TTL的电平不兼容,故在它们之间要加上一个MAX232作为转换电平,其连接电路如下图3.3所示:图3.3 串口连接电路图中,cl,C2,C3,C4取同样数值的电解电容均为0.1uF,用以提高抗干扰能力,在连接时必须尽量靠近器件。C5为去耦电容,其值为0.1uF,MAX232芯片有两组数据出入,可任选其中一组,本MAX232的数据输出端TIout接计算机串口RS-232C引出线的D型头的3号端口即TXD端(数据发送端),R1in接D型头的2号端口即RXD端(数据接收端)7。3.3.2通信协议为使数据在PC机与单片机之间进行正常的传输,本系统采用通信协议来规定双方的通信。通信协议如下:波特率:9600bit/s数据格式:8位数据位,1位停止位,无奇偶校验位。传送方式:当单片机收到握手信号“W”后就进行温度的传输。当单片机收到“S”后就进行把温度提升的控制,收到“J”后就进行降温的处理。单片机串口通信的实现:单片机串行口工作于方式1,定时器1工作于方式2。3.3.3 VB程序编制本系统的串行通信设计界面如下图3.4所示:图3.4 串行通信界面串行通信主要完成以下几个部分:通信参数初始化,数据采集部分,数据接收以及控制信号的发送1。具体的初始化程序如下:MSComm1.CommPort = 1 设置通讯窗口MSComm1.Settings = 9600,N,8,1 设置数据传输率和发送字符格式MSComm1.OutBufferSize = 512 设置发送缓冲区512ByteMSComm1.OutBufferCount = 0MSComm1.InBufferSize = 512 设置接收缓冲区512ByteMSComm1.InBufferCount = 0MSComm1.OutBufferSize = 512 设置发送缓冲区512ByteMSComm1.InputLen = 0 设置或返回一次从接收缓冲区中读取字节数,0表示一次读取所有数据MSComm1.RThreshold = 1完成初始化以后就可以进行数据的接收、采集和发送了。温度数据采集程序如下:Private Sub Timer2_Timer() 用来实时提取串口数据并实时绘图。测温度可每分钟提取一次数据Dim t As Singlet = Val(Text3.Text)绘制温度实时变化曲线Picture1.ForeColor = RGB(0, 0, 255)Picture1.DrawWidth = 1h = Format(Now, H)x = h * 60 + Format(Now, N)Picture1.PSet (x, t) If x 1440 Then Picture1.Cls x = 0 Call draw End IfEnd Sub我们在OnComm事件里进行温度的接收和转换,目的是为了使温度数据能够很方便的存入数据库。OnComm事件的驱动程序如下:rivate Sub MSComm1_OnComm()Select Case MSComm1.CommEventCase comEvReceive .有接受事件发生 InputSignal = MSComm1.Input Text3.Text = Trim(InputSignal) & MSComm1.InBufferCount = 0 .清空输入寄存器 Case ElseEnd SelectEnd Sub3.3.4 STC89C52单片机程序编制单片机可以采用中断方式或查询RI(接受中断标志位)或T I(发送中断标志位)方式进行数据通信。单片机串口程序流程图如下图3.5所示:图3.5 单片机串口程序流程图在设计中, 发送数据采用按键查询方式, 接收数据采用串口中断方式, 一旦发生接收中断立即在P1口输出所接收的数据, 并通过P2口将输出数据读入到数据存储器中保存。当单片机有按键操作时, 即从数据存储器中将保存的数据传给PC机。本系统中89S52串口控制器SCON 设置为50H, SM 0、SM 1为0、1,即为串行工作方式1,REN为1,即允许串口接收。另外, 还应使89S52的中断允许寄存器IE的开放或禁止所有中断位EA 为1,开放或禁止串行通道中断位ES为1,即允许串行口中断。89S52的并行口P1和P2分别作为八位数据的输出和输入口l4。单片机的串口通信程序主要采用C程序来对其进行设计,主要包括串口的初始化以及发送数据和接收数7。串口初始化程序如下:void main(void) SCON=0x50; /设定串口工作于方式1,允许接收 PCON=0x00; /波特率不倍增 TMOD=0x20; /定时器1工作于8位自动重载模式, 用于产生波特率 EA=1; ES = 1; /允许串口中断 TL1=0xfd; TH1=0xfd; /波特率9600TR1=1;第四章 恒温水浴温度信息管理4.1恒温水浴温度管理系统功能设计恒温水浴温度管理系统的目的是对下位机检测到的数据进行分析处理并实现对下位机的实时控制。恒温水浴温度管理系统主要包括以下功能:与下位机恒温水浴监控系统进行串口数据通信;将温度数据录入数据库;将控制信息发送给下位机;实现温度信息的查询、显示、趋势图以及打印的功能。恒温水浴温度管理系统设计上位机显示界面的软件总体框图如图4.1所示:图4.1 恒温水浴温度管理系软件总体框图4.2数据库的设计由于下位机传输过来的数据量比较大,如果采用一般的存储方法,则不能很方便的分析数据、使用数据以及查询数据,也不能使温度数据以比较立体的方式呈现在我们眼前。因此为了提高数据的可读性,方便用户对数据的管理,我们需要一个数据库来对数据进行管理和访问。恒温水浴温度管理系统的数据库采用关系型数据库,用Access2003来对数据库进行开发。Access2003是开发中小型数据库的首选数据库管理系统,使用它可以很方便的设计出一个出色的关系数据库,而且VB可以通过ADO data对象建立对Access类型数据库的快速连接5。4.2.1 Access数据的设计在关系数据库中,信息是以表的形式组织起来的。表的每一行代表一个记录,而每一列则代表一个字段,字段是用来描述它所含有的数据。根据本系统所实现的功能,我设计了两个表:用户信息表(YH)和温度信息表(WD)。用户信息表用来存放用户名和密码,完成用户登录信息、密码修改信息和添加用户信息;温度信息表用来存放下位机传上来的温度数据,即测量日期、时间和温度。两个表的结构分别如表4.1、表4.2所示:由于温度数据从下位机传输到上位机的时间很短,所以规定测量的日期和时间就是在上位机显示的日期和时间。因此可以很方便的查询任何一个时间段的数据。表4.1 温度信息表字段名称必填字段数据类型测量日期是文本测量时间是文本测量温度是文本表4.2 用户信息表字段名称必填字段数据类型用户名是文本密码是文本4.2.2 VB6.0操作数据库的方法VB6.0可以通过各中对象进行数据库的放问,如Data控件、DAO控件、ADO控件和ADO对象等。VB6.0提供了ADO数据存取对象来访问数据库接口。ADO(ActiveX Data Objects)数据存取对象是ActiveX数据对象最新的数据访问技术,访问时简单和灵活,并支持多种数据库18。ADO控件技术构建于OLE DB API之上,它提供了一种面向对象且与语言无关的应用程序编程接口。具有易于使用,速度快的特点。ADO控件的属性很多,其中两个非常重要的属性是ConnectionString属性和RecordSource属性。ConnectionString属性值是一个字符串,即当前数据库所在地址。RecordSource属性包含一条语句或一个表格名称,用于决定所访问的是数据库中的哪一个表89。设置ADO控件与动态数据库的连接,具体代码如下:Dim str As StringDim mycon As New ADODB.Connectionstr = App.PathIf Right(str, 1) Then str = str + str=provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source= & str & shujuku.mdbmycon.Open str4.2.3数据库的生成当我们完成数据的设计后,还需要将所要保存的数据放入到数据中去,此时我们就可以通过ADODC来完成对数据库的增、删、改等操作。利用AddNew可实现将温度数据存入到数据库中。具体代码如下:xin.AddNew 添加新记录xin.Fields(用户名) = Text1.Textxin.Fields(密码) = Text2.Textxin.UpdateAdodc1.Recordset.Delete 删除记录Adodc1.Recordset.Update4.3应用程序的设计当把数据库建立好以后,就可以利用VB6.0来对恒温水浴温度管理系统的各个模块进行设计。下面就介绍各个模块的设计过程:首先运行VB6.0,出现新建工程对话框,如图4.2所示:选择新建“标准EXE”,执行“打开”命令,进入VB6.0工程集成开发环境,此时VB6.0就会自动新建一个工程,默认名为工程1,并且在新的工程窗体设计器中会自动出现一个名为Form1的空白窗体,如图4.3所示。图4.2 “新建工程”对话框图4.3 空白窗体4.3.1用户登录模块设计为保护系统数据,在软件运行后,首先出现的是登录界面,要求输入用户名和密码,输入正确后就进入到欢迎界面。若输入错误,则重新输入,三次输错密码,则退出管理系统l2。用户登录界面如图4.4所示:图4.4 登陆界面在空白窗体上,添加2个Label控件、2个TextBox控件、1个ADODC控件。界面上的2个Label控件用来标识窗体中的信息(用户名,密码),2个TextBox控件用来输入用户名和密码,2个CommandButton控件用来确定或取消登陆,1个ADODC控件(运行时隐藏)用来完成和数据库用户信息表的连接。4.3.2主界面设计为了方便管理系统,节约系统资源,因此本系统采用多文档界面MDI进行主界面的设计。通过选择主界面的菜单,就可以实现对恒温水浴温度管理系统的多种操作。系统主界面如图4.5所示:图4.5 主界面主界面主要由窗体、状态栏和菜单栏组成。菜单栏是通过VB6.0中的菜单编辑器设计的。状态栏用于显示系统日期、时间和设计信息,通过StatusBar控件实现。在使用菜单编辑器之前首先要启动菜单编辑器,它的启动方式有以下四种形式:选择“工具”/“菜单编辑器”命令;在“标准”工具栏上选择“菜单编辑器”图表;用鼠标右键单击要添加的菜单窗体,在弹出的快捷菜单中选择“菜单编辑器”命令;利用快捷键Ctrl+E来调用“菜单编辑器”。打开的菜单编辑器如图4.6所示。其中包括三个区域:菜单属性设置区、菜单编辑区、菜单列表区。图4.6 菜单编辑器StatusBar控件提供窗体。该窗体通常位于父窗体的底部,通过这一窗体,应用程序能显示各种数据。StatusBar最多能被分成16个Panel对象,这些对象包含在Panels集合中。StatusBar控件是Active控件,在使用该控件之前需要先将其添加到工具箱中。选择“工程”/“部件”命令,在弹出的对话框中选中Microsoft Windows Common Controls 6.0(SP6)项,即可将一组控件添加到工具箱中。4.3.3系统功能模块设计系统功能模块主要包括用户管理和退出系统的设计,其中用户管理又包括添加新用户和修改密码。修改用户密码界面如图4.7所示:界面上的4个Label控件用来标识窗体中的信息(用户名,原密码,新密码,确认新密码);4个TextBox控件用来输入用户名,原图4.7 修改用户密码界面密码,新密码,确认新密码;2个CommandButton控件用来确定或取消修改密码,1个ADODC控件(运行时隐藏)用来完成和数据库用户信息表的连接。添加新用户的界面如图4.8所示:界面上的3个Label控件用来标识窗体中的信息(新用户,密码,密码确认),3个TextBox控件用来输入新用户,密码和密码确认,2个CommandButton控件用来确定或取消添加新用户,1个ADODC控件(运行时隐藏)用来完成和数据库用户信息表的连接。图4.8 添加新用户界面4.3.4温度显示及趋势模块设计关于通信模块的设计,本文在第三章已经进行了比较全面的分析,在此就不再重复了。温度显示及趋势模块就是将单片机通过串口传上来的数据进行实时显示以及画出温度的趋势图。本文首先建立了一个直角坐标系统。在VB中,包括系统标准坐标系统和用户自定义坐标系统。坐标系统的坐标单位可以分为Twip、Point、Pixel、Character、Inch、mm、cm和用户自定义8种形式。不同规格的坐标系统只是度量单位和精度改变,坐标轴的长度或者图区域的大小并不因此而改变。本文采用Scale方法自定义的坐标系统,以Twip为坐标系的坐标单位。Scale方法是自定义坐标系统最常用的方法,用来定义Form、PictureBox或Printer的坐标系统。其语法如下:对象.Scale(xLeft,yTop)-(xRight,yBottom)其中,对象可以是窗体、图片框或打印机,默认为焦点所在的窗体对象。(xLeft,yTop)表示对象的左上角的坐标值,(xRight,yBottom)表示对象右下角的坐标值。要画通信的趋势图,首先要建立一个坐标系,由于恒温水浴的温度范围都是为正的,所以本系统建立的直角坐标系是从原点开始的。又因为恒温水浴的温度在0-100度之间,因此系统的纵坐标就是以1度为一小点,10度为一大点建立的。而横坐标是以时间为单位建立,以10分钟为一小点,1小时为一大点。其坐标系的坐标图如下图4.10所示:文采用VB6.0中的line函数进行通信图中线条的设计。Line方法可以在窗体或图片框指定位置上,按指定的颜色画直线或者曲线。Line方法的格式如下:Object.LineSTEP(X1,Y1)STEP(X1,Y2),COLOR,BF采用print的语句将坐标点的值标记在坐标系中。图4.10 通信图4.3.5数据库显示模块设计为了实现完整的温度信息显示,本系统采用类似于电子表格的DataGrid控件和ADO控件配合使用。设置好的数据库显示界面如图4.11所示:在VB6.0中的数据控件中,功能最强大,使用最灵活的数据控件就是DataGrid。使用DataGrid控件无须编写任何代码,只要绑定到ADO控件上,就可以实现数据的新增、修改、删除和浏览,还可以对数据库进行格式化、锁定等。同理,用户信息显示界面也可以通过上述方法来进行设计。在数据库中同样可以进行用户信息的添加、修改和删除等操作。图4.11 数据库显示界面同理设计设计好的数据库温度信息删除界面如图4.12所示:图4.12 数据库温度信息删除界面4.3.6温度数据查询模块设计输入日期,单击查询,就可以显示所有当天采集到的温度信息。如图4.13所示:图4.13 温度查询显示界面温度查询模块的主要程序设计如下所示:If Trim(Text1.Text) = Thenx = MsgBox(请输入测量日期!, vbonly + vbExclamation, 提示)End IfAdodc1.CommandType = adCmdTextAdodc1.RecordSource = select * from WD where 测量日期 like & Text1.Text & Adodc1.RefreshSet DataGrid1.DataSource = Adodc1.RecordsetIf Adodc1.Recordset.EOF Thenx = MsgBox(没有查询的内容)End If4.3.7打印模块设计为了实现数据的打印,我先将其打入到Word,以文档的形式进行存放,然后就可以就行数据的打印。打印界面如下图4.14所示:图4.14 数据打印界面将数据库中的数据打入到Word1617的主要程序如下所示:Dim i As Integer, j As IntegerDim ifieldcount As Integer, irecordcount As IntegerDim wdapp As Word.ApplicationDim wddoc As Word.DocumentDim atable As Word.TableWith Adodc1.RecordsetAdodc1.Recordset.MoveFirstifieldcount = Adodc1.Recordset.Fields.Countirecordcount = Adodc1.Recordset.RecordCountEnd WithOn Error Resume Next创建word应用程序,这一句话打开word2000Set wdapp = CreateObject(Word.Application)在word中添加一个新文档Set wddoc = wdapp.Documents.AddWith wdapp.Visible = True.Activate 在word中增加一个表格Setatable=.ActiveDocument.Tables.Add(.Selection.Range,irecordcount + 1, ifieldcount)For i = 0 To ifieldcount - 1atable.Cell(1,i+1).Range.InsertAfterDataGrid1.Columns(i).CaptionNext i指定表格内容For i = 0 To irecordcount - 1For j = 0 To ifieldcount - 1DataGrid1.Row = iDataGrid1.Col = jatable.Cell(i + 2, j + 1).Range.InsertAfter DataGrid1.TextNext jNext iEnd WithSet wdapp = Nothing 清除word对象Set wddoc = Nothing4.3.8关于模块设计“关于”窗体界面如图4.15所示:图4.15 关于窗体界面4.3.9保存应用程序当完成程序的编写以后,我们必须将其保存起来。而在编程的过程中也应该经常进行保存,以防止由于系统崩溃或掉电而出现数据丢失的情况。保存应用程序时,可单击标准工具栏上的“保存工程”按钮。如果工程从未就行过保存,那么系统就会显示“文件另存为”对话框,提示编程人员要保存的窗体文件名。确定是要保存的窗体文件名后,单击“保存”按钮,将显示“工程另存为”对话框,提示编程人员确定用于保存工程的文件名。确定工程文件的名字之后,单击“保存”按钮即可保存与应用程序有关的所有文件。VB6.0把建立一个应用程序的所需的所有相关文件称为一个工程(Project)。一个工程通常包括以下几类文件。工程文件(*.vbp); 窗体文件(*.frm);二进制窗体文件(*.frx); 标准模块文件(*.bas);类模块文件(*.cls)。4.4建立可执行文件当完成应用程序的所有功能以后。就把它编译成可执行文件(.exe文件),这样就可以使恒温水浴温度管理系统脱离开发环境而直接在Windows环境下运行。编译的方法是:选择“文件”菜单下的“生成工程1.exe”命令,弹出生成工程对话框,选定保存位置,输入可执行文件名,单击确定。就可在指定位置建立一个可执行文件。结 论恒温水浴在许多学科领域都有着应用,而在生产过程中我们需要对其温度范围进行监控。恒温水浴温度管理系统就是通过将下位机的温度数据传输到上位机并对其进行分析,超过或者低于其范围时,发送控制信号,当单片机接收到控制信号后就执行相应的操作。并且恒温水浴温度管理系统上位机还可以对温度数据进行显示和查询。提高了工作效率。针对这一情况,本系统采用VB6.0设计恒温水浴温度管理系统的上位机。并采用先分后总的设计思想,即先对各个分模块进行设计,然后将其进行结合,实现统一的方案设计。整个系统的开发主要包括了三个方面的内容:一是实现上位机与下位机的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论