版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PrivateDeclareFunctiontimeGetTimeLib"winmm.dll"()AsLong延时函数单位是毫秒支持小数PublicFunctionYanShi(HaoMiaoAsDouble)Dimt1t1=timeGetTimeWhile(timeGetTime-t1)<HaoMiaoDoEventsWendEndFunction基于单片机和VB的多点温度监控系统设计〔二〕-上位机设计院系自动化学院专业自动化班级5407202学号200504072064姓名姚维丹指导教师王昱负责教师王昱沈阳航空工业学院2023年6月摘要温度是一个根本的物理量,它是工农业生产过程中最普遍、最主要的工艺参数之一,实时精确的温度监控是产品质量的重要保证。随着现代科技的开展,电子计算机已越来越多地应用于温度的监控中。本文针对下位机多点温度测控系统的各点温度值,通过VB建立一个温度信息管理系统。详细阐述了系统的设计方法及功能。实现了与温度测控电路进行实时数据通信,完成温度信息的上传和温度设定值的下传功能。采用Access设计数据库,记录用户信息和温度信息。用VB连接数据库,完成温度信息的查询、显示、趋势图、报表生成等功能。到达了实时记录温度信息,定时传送温度设定值的技术指标要求。该多点监控系统拥有良好的人机界面,通用性好,操作简单、方便、易于实现温度的集中监控和管理等特点,具有较广泛的应用前景。关键词:VB;数据库;温度;监控AbstractTemperatureisafundamentalphysicalquantity,itisoneofthemostgeneralandimportantprocessparametersinindustrialandagriculturalproduction.Accuratereal-timetemperaturemonitoringisanimportantguaranteeforthequalityofproducts.Withthedevelopmentofmodernscienceandtechnology,electroniccomputerhasbeenusedintemperaturemonitoringfrequently.Therefore,inthispaperaninformationmanagementsystemoftemperatureisestablishedformulti-pointtemperaturemonitoringsystembyVB.Thedesignmethodsandfunctionsofthesystemisilluminatedindetail.Thesystemhasnotonlyachievedreal-timedatacommunicationwithtemperaturemonitoringandcontrolcircuitsbutalsoaccomplishedthetransferoftemperatureinformationandtemperaturesettings.Anaccessdatabaseisusedtorecordusers’informationandtemperatureinformation.UsingVBtoconnecttothedatabasethesystemhasmanyfunctionssuchasthequery,display,trend,reportgenerationandsoon.Thetechnicaltargetoftherecord,thetransmissionofreal-timetemperatureinformationandthetemperaturesettingsisalsoachieved.Themulti-pointtemperaturemonitoringsystemhasgoodhuman-computerinterface,goodcommon,simpleandconvenientoperation.Itiseasytoimplementcentralizedmonitoringandmanagementofthetemperature.Thesystemhasaveryextensiveapplicationprospect.Keywords:VB;database;temperature;monitoring目录第1章绪论11.1课题背景11.2多点温度监控系统开展现状11.3课题研究内容及技术指标41.4本文安排5第2章多点温度监控系统总体方案的设计62.1系统描述62.2总体方案设计62.3课题主要技术指标7第3章VB与单片机通信的建立83.1串行通信及RS—232总线8串行通信83.1.2RS-232总线标准103.2VisualBasic6.0中的串行通信控件MSComm113.2.1MSComm控件处理通信的方式123.2.2MSComm控件的常用属性123.2.3MSComm控件的使用143.3PC机与AT89S51单片机的通信15硬件连接线路15通信协议153.3.3VB程序编制16第4章多点温度信息管理系统194.1多点温度信息管理系统功能194.2数据库的设计204.2.1Access数据库的设计204.2.2VB操作Access数据库的方法21数据库的生成224.3应用程序的设计22用户登陆模块设计23系统功能模块设计24主界面的设计25显示模块以及数据库显示模块的设计28查询模块的设计29通信及趋势图模块的设计30报表模块的设计314.3.8“关于〞模块的设计32保存应用程序33建立可执行文件34结论35社会经济效益分析36参考文献37致谢39附录程序清单40绪论温度是表征物体冷热程度的物理量,在日常生活、工业自动化、家用电器、环境保护、平安生产和汽车工业等中都是根本的检测控制参数之一。所以对温度的监控管理在现代化生产中显得尤为重要。课题背景在我们的日常生活中,尤其是在北方,居民小区内冬季的供暖设备一般采用锅炉烧水供应。大多数的锅炉房只单纯的对出水温度进行了控制,而没有针对各个用户房间温度进行分别控制,从而不能有效的调节用户的温度,也造成了资源的浪费。多点温度监控系统那么针对各个用户,分别采集各个用户的温度,上传给计算机,计算机通过该温度与设定值之间的差值对各个用户进行分别有效地调节控制,实现了温度的自动化控制,同时也防止了不必要的资源浪费。此外,在农业的生产中,大棚种植现在已经成为了农业生产中的主要局部。蔬菜作物的生长是需要一定温度的,这就要求大棚需要保持着恒定的一个温度以便使蔬菜等作物最好,最快的生长,以获得最大的经济效益。多点温度监控系统在大棚中的应用就方便了农民的生产,节省了资源。温度的测量和控制是许多行业的重要工作目标之一,不管是日常取暖、大棚种植还是粮食仓库、中药材仓库、图书保存,都需要在符合规定的温度环境条件之中。然而温度又是最不易保障的一项指标,针对这一情况,研制可实用的多点温度检测与控制系统就显得非常重要。总而言之,在现在的生活、生产中,多点温度监控系统都有着很广阔的应用前景。多点温度监控系统开展现状随着微型计算机和传感器技术的迅速开展,自动检测领域发生了巨大变化,针对温度的自动检测控制方面的研究有了明显的进展。对于温度监控系统来说,由传统的单点温度监控到现在的多点温度监控;由传统的集散控制到现在的现场总线控制等都是一个很大的进步。尤其是多点温度监控系统在现如今人们的生活、生产中越来越发挥着它所独有的优势:集中化管理,现场总线式监控。比方,中国是一个粮食大国,对粮食的储藏是农业生产过程中的一个非常重要的环节。为此设计了粮食仓库温度自动化监控系统。它的控制系统由中央控制装置、终端控制设备、传感器等组成。先编制出仓库存放粮食最优环境条件的管理程序表,存储于电子计算机的记忆装置中,电子计算机根据程序表确认、修正各仓库的参数,并给终端控制系统指令。终端控制设备向中央控制装置输送检测信息,根据中央控制装置的指令输出控制信号,使电器机械设备执行动作,实现粮食仓库的环境调节。该种系统可以到达自动控制降温、除湿、通风。根据需要,通过键盘将信息输入中央管理室,根据情况可随时调节仓库温度。粮食仓库温度湿度自动化控制系统在大型现代化粮食仓库中的使用,是现代化高新技术的表达。美国、日本的仓库监测设施近20年来开展很快,他们结合本国条件做出了具有创新特色的成就,其中仓库环境调控技术均有较高水平,但其监控设备价格昂贵。我国近年引进了多达16个国家和地区的仓库环境控制系统,对吸收国外先进经验、推动仓库温度湿度自动检测产生了积极的作用,但多因能耗过大,造价高,品种未能配套,未能到达很好的效果。中国的仓库环境综合控制系统必须走适合中国国情的开展道路,在引进、消化、吸收国内外先进技术和科学管理的根底上,进行总结提高、集成创新、超前示范,既开发适宜我国经济开展水平,又能满足不同气候条件,接近或到达世界先进水平的智能化仓库监测系统。在专用品种、综合配套技术、贮运营销上,应该研制具有中国知识产权的产品和技术。再比方,西安建筑科技大学研究生刘金颂的硕士论文所设计的变风量空调系统不但能克服定风量空调系统仅用一个送风参数无法满足不同房间或不同区域的不同室内空气环境要求的问题,也可防止风机盘管系统常附带的室内吊顶凝水、霉菌污染的问题;又具有良好的节能效果。但是要使变风量空调系统成功运行,充分表达其节能、卫生、舒适及良好经济性,关键在于控制系统能否按照空调室内的要求进行控制。变风量空调系统是靠变风量末端实现的,而控制变风量末端设备的依据是室内空调参数,合理准确的测量室内参数是实现控制的根本保证,在此根底上,提出一个合理的控制点。变风量系统在多种末端装置形式和控制方式下的室内特性,然后对VAV末端装置和控制形式进行设计、优化,成功实现VAV空调系统的选型、设计和应用。对VAV空调系统的特性,国外研究较多,特别是对变风量系统的控制和调节方法的研究,并有多年的设计运行实绩。然而,国内以前对VAV空调系统没有引起足够重视,对其特性研究较少;有些人也做了些研究,但大多套用自控模型进行模拟,研究得到的结果对VAV空调系统实际存在的问题指导意义不大。西安建筑科技大学变风量空调实验室申请了陕西省教育厅专项科研方案工程,以研制多点智能测温系统为技术平台,对VAV空调系统在多热污染源、多种变风量末端形式下对变风量系统室内气流流动特性和温度场进行测量和模拟,得到多污染源、多种变风量末端形式下的系统特性,进而提出变风量空调系统的最正确控制参数和控制方案,实现室内环境的健康舒适,为变风量系统的设计、应用提供理论依据。目前,针对变风量空调系统在公共建筑物中多热污染源、多种末端装置形式下,对室内气流流动特性和温度场状况进行测量和模拟,在国内还没有人系统地做出结果,而多污染源下的气流形式及在变风量系统下的空调效果更无人做出。刘金颂的课题就是该科研工程的子课题,即根据西安建筑科技大学变风量空调实验室现有的多点测温系统的缺陷,研究一种新型的多点智能测温系统。对多热污染源、各种末端形式(节流型、风机动力型和旁通型变风量箱,送风口形式有孔板型和条缝型风口)下室内的多点温度进行测量,为温度场分析提供准确可靠的数据。此外,迄今为止还没有一种CPU散热系统能保证永不失效。失去了散热系统保护伞的“芯〞,往往会在几秒钟内永远停止“跳动〞。微处理器功耗和温度随运行速度的加快而不断增大,现已成为一个不折不扣的“烫手山芋〞。如何使处理器平安运行,提高系统的可靠性,防止因过热而产生的死机、蓝屏、反复重启甚至处理器烧毁,不仅是处理器所面临的困境,也是留给主板设计者的一个重要课题。为此,Intel率先提出了温度监控器〔ThermalMonitor〕的概念,通过对处理器进行温度控制和过热保护,大大提高了它的稳定性和平安性。还有,焦饼中心温度是焦炭成熟的标志,也是焦炉标准温度制定的依据。为了了解所制定的标准温度是否合理,以及焦饼沿炭化室长向和高向成熟的均匀情况。需要选择加热正常的炉号,在推焦前半个小时里测量焦饼中心温度。在炭化室机焦侧焦饼中各取上中下三点,分别测量各点温度,取其平均值作为焦饼中心温度,并分别求出焦饼的上下温度差,温差越小,焦饼质量就越好。一般焦饼上下各点温差不超过100℃,最终焦饼中心温度应保持在100050℃。正常生产条件下,焦饼中心温度规定一季度测量一次,当更换加热煤气种类、改变结焦时间、改变标准温度、配煤比变更较大以及炉温有较大波动时,也应测量焦饼中心温度对标准温度进行检查校正。工厂测量焦饼中心温度时一般采用在机焦侧插入特制的测量管,测量管内所特制的点来代表焦饼中心温度。由于管子长,插拔和测量过程具有高温、高空、有电并且与其他工种交叉作业的危险因素,特别是以往的拔管方法,多人站在装煤车上高空作业,拔出管子后离烧烫的管子和翻开的炉口太近,容易烧伤烫伤,具有一定的危险性。为了防止操作时发生意外,保障作业过程平安顺利进行,就必须制定专用的测温工具和详细的作业步骤。基于传感器的耐热程度还不够到达这个指标,所以多点温度监控系统虽然可以防止上述操作的弊端,简单、有效的对温度进行检测,但还不能应用在对焦饼中心温度监控这个领域中。这就需要研制耐高温的传感器。由上文可知,尽管多点温度监控系统开展迅速,简单有效的解决了原来复杂的温度监控问题,但是它还存在很多问题,比方通信协议不标准,传感器质量不过关,现场管理和维护水平有待于加强等。基于以上各种问题,多点温度监控系统正朝着以下几个方向开展:〔1〕系统不仅要实现实时监测,而且在软件技术上应研究开发根据被监测环境地点的参数进行有效的判别、分析和提出专家决策方案。同时系统应用软件应向网络化开展,按统一的格式向外提供监测数据。〔2〕针对通信协议不标准和传输设备物理层协议不标准的问题,应尽快寻找一种解决系统兼容性的途径或制定相应的专业技术标准,这对促进温度监控技术开展和系统的推广应用均具有十分重要的意义。〔3〕研制高性能的温度传感器。〔4〕进一步加强现场管理和维护水平。课题研究内容及技术指标本文针对多点温度监控系统下位机建立一个温度信息管理系统,完成设计内容及实现的技术指标如下:1、课题研究内容〔1〕与下位机温度监控电路进行数据通信,实现温度信息的上传和温度设定值的下传;〔2〕设计Access数据库,记录用户信息和温度信息;〔3〕用VB连接数据库,完成温度信息的查询、显示、趋势图、报表生成等功能。2、技术指标〔1〕实时记录温度信息;〔2〕定时传送温度设定值。本文安排本论文共分5章。第1章概述,介绍多点温度监控系统的课题背景,多点温度监控系统的开展现状以及本课题的研究内容和技术指标;第2章介绍了多点温度监控系统总体方案的设计,以及课题的主要技术指标;第3章介绍PC机与单片机的通信,包括串行通信、RS-232总线、VB串行通信控件MSComm等。第4章具体介绍了多点温度监控管理系统,包括用户登陆模块、系统功能模块、数据库、报表、查询、显示、趋势图等。第5章得出结论,并做了社会经济效益分析。多点温度监控系统总体方案的设计设计方案的不同将直接决定系统硬件的结构,从而确定软件的不同编写思路。本章将介绍多点温度监控系统的总体结构,给出结构框图并引入双层总线的概念。最后给出系统的主要技术参数。系统描述我们采用现场总线进行设计。现场总线是应用于生产现场、在智能测量控制设备之间实现双向多点串行数字通信的系统,也称为开放式、数字化、多点通信的底层控制网络。开放式表达在现场总线公开、标准的通信协议。任何国家、厂家生产的智能测量控制设备只要遵守公共的通信协议就可以成为现场总线的一个节点。数字化是相对于模拟信号而言。模拟信号的传递需要一对一的物理连接,信号变化缓慢,信号的抗干扰能力差。数字信号克服了这些缺陷,抗干扰能力强。多点通信得益于设备的通信功能。多个设备可以挂接在一对双绞线上。结构简化而且系统接线简单。总体方案设计温度传感器的选择是本系统的关键。由于智能温度传感器采用数字化技术,能以数据形式输出被测温度值,具有测温误差小、分辨力高、抗干扰能力强、用户可设定温度上下限、具有超限自动报警功能,并且带串行总线接口,适配各种微控制器,因此我们采用智能温度传感器。我们采用DALLAS半导体公司生产的新型数字温度传感器DS18B20。DS18B20具有测温准确度高、总线挂接负载能力强的优势。它集温度测量、报警监测和数据通信多种功能于一体,并且兼容于DALLAS公司提出的单总线,可以很方便的组成底层总线。由于这层总线的主要功能是完成对温度的检测,所以称之为测温层总线。测温层总线由AT89C51单片机进行控制,单片机完成对总线上所有DS18B20发布命令和接收数据。另外,它还是温度传输层总线不可缺少的一局部。单片机在获取温度数据后需要进一步和PC机通信。本系统中只有一个单片机和PC进行串行数据通信,通信距离在10m左右,因此选择RS-232标准作为串行数据通信的物理层协议。这层总线结构主要实现温度数据的传输,所以称之为温度传输层总线。系统的总体结构框图如图2.1所示。图2.1系统的总体结构框图下位机通过DS18B20传感器的测量,将温度采集,采集上来的温度信息经过MAX232电平转换上传给上位机。这些上传到上位机的温度信息的处理是该多点温度监控系统-上位机最重要的一局部。上位机采用Access2003作为数据库管理系统,建立一个温度信息数据库,并用VisualBasic6.0开发数据库的前台应用,实现了温度信息的查询、显示、报表、趋势图等功能。课题主要技术指标1、硬件平台:微型计算机采用普通的PC机。2、软件平台(1)Windows操作系统;(2)Access数据库;(3)MicrosoftVisualBasic6.0开发工具。(4)应用软件①数据的串行通信;②数据的表格显示、查询、删除和报表打印等功能。VB与单片机通信的建立多点温度监控系统下位机将温度转换并将温度值存储到单片机的RAM里,本章主要讨论采用比拟廉价的通信方式—RS232来实现多点温度监控系统的上位机〔PC机〕向下位机〔单片机〕发送信息以及上位机接收下位机的温度信息并加以处理。串行通信及RS—232总线多点温度监控系统下位机采集到的大量温度信息,需要传送至上位机,为接下来的温度分析处理提供数据。下位机只有一个单片机与PC机通信且两者之间的距离不是很长,因此我们采用异步串行通信中应用最广的RS-232标准总线实现两者之间的信息传递。本节将主要介绍串行通信的根本概念,数据传送方式,RS-232总线标准等。串行通信随着计算机系统的应用和微机网络的开展,计算机的通信功能显得尤为重要。从广义上讲,计算机通信可以分为并行通信和串行通信。并行通信速度快、实时性好,但占用的口线多、本钱高、通信距离短,不适用于小型化产品。串行通信只需一根传输线即可完成通信功能,本钱低,在通信中得到了广泛应用。计算机与外界的数据传送大多数都是串行的,通常把计算机与外界的数据传送称之为通信,因此提到的通信大多数都是指串行通信。1、串行通信的概念串行通信是计算机与外部设备进行信息交换的一种方式,是指数据一位一位地按顺序在一根信号线上进行传输的通信方式。串行通信有两种根本工作方式:异步传送和同步传送。在单片机中使用的串行通信都是异步方式,因此本系统采用异步串行通信方式来实现上位机与下位机之间的通信。异步串行通信是以字符为单位组成的祯传送的,即一祯一祯地传送。祯由发送端一祯一祯地发送,通过传输线被接收一祯一祯地接收。发送端何时开始发送以及何时结束发送是由祯格式规定的。通信线上没有数据传送时为逻辑高电平,每当接收端检测到传输线上发送来的逻辑低电平〔祯起始位〕时就知道发送端已开始发送,每当接收端接收到祯的停止位时就知道一祯字符信息已发送完毕。祯是一个字符的完整通信格式,由起始位、数据位、奇偶校验位和停止位等四局部组成。字符传送的祯格式如图3.1所示:图3.1异步通信的祯格式祯中各局部结构和功能如下:1〕起始位:位于字符祯开头,始终为逻辑“0”2〕数据位:紧跟起始位之后,数据位的个数可以是5、6、7、8或9位。PC机中经常采用7位或8位数据传送,8051串行口采用8位或9位数据传送。传送时,数据位从最低有效位开始发送,依次在接收设备中被转换为并行数据。3〕奇偶校验位:位于数据位后,用于对字符传送作正确性检查,因此奇偶校验位是可选择的,共有3种可能,即奇校验、偶校验和无校验,由用户根据需要选定。4〕停止位:位于字符祯末尾,为逻辑“1”2、串行通信的数据传送方式在串行通信中,数据通常是在发送端和接收端之间进行传送,根据数据传送的方向,可分成三种根本的传送形式:单工、全双工和半双工。单工形式的数据传送是单向的,只需要一根数据线,通信线的一端固定为发送端,另一端固定为接收端。半双工形式的数据传送是双向的,但任何时刻只能由其中的一方发送数据,另一方接收数据。虽然半双工形式比单工形式灵活,但它的效率依然较低,从发送方式转换到接收方式所需要的时间大约为数个毫秒,这个时间延迟在时间较为敏感的系统是无法忍受的。全双工形式下,采用了信道划分技术,防止了半双工形式的缺点,数据传送是双向的,且可以同时发送和接收数据。本系统采用了效率较高的全双工通信形式。3、串行通信的传送速率在串行通信中,用“波特率〞来描述数据的传输速率。所谓波特率,即每秒钟传送的二进制位数,其单位为bps。它是衡量串行数据传输快慢的重要指标。接收方的波特率和发送方的波特率可以分别设置,但接收方的波特率必须与发送方的波特率相同。RS-232总线标准在串行通信时,要求双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通信。RS-232C是美国电子工业协会 EIA公布的串行通信标准,RS是RecommendedStandard的字头缩写,代表推荐,232是标识号,C表示修改的次数。RS-232C适用于短距离或带调制解调器的通信场合,目前已广泛应用于计算机与外围设备的串行异步通信接口中。1、机械特性RS-232C的机械特性主要指两个通信装置如何实现机械对接。RS-232C是数据终端设备DTE与数据通讯设备DCE之间的接口,RS-232C的机械标准规定DTE应配置DB25插头,即25针连接器,DEC应配置DB25的插座,即25孔连接器。表3.1计算机DB-9连接器引脚信号功能引脚号信号名称方向信号功能1DCDPC机←对方PC机收到远程信号〔载波检测〕2RXDPC机←对方PC机接收数据3TXDPC机→对方PC机发送数据4DTRPC机→对方PC机准备就绪5GND——信号地6DSRPC机←对方对方准备就绪7RTSPC机→对方PC机请求发送数据8CTSPC机←对方对方已切换到接收状态〔去除发送〕9RIPC机←对方通知PC机,线路正常〔振铃指示〕实际应用中,DB-25型连接器中的许多信号用不上,对于一般的双工通信,仅需几条信号线就可实现,包括一条发送线、一条接收线和一条地线。因此普遍采用DB9插头,即9针连接器。表3.1给出了DB9连接器的信号引脚功能。本系统采用DB9型连接器,通过三根线实现系统连接,即接收数据引脚与发送数据引脚彼此交叉相连,信号地对应相接。这是最常用的全双工最简单系统连接法。2、电气特性RS-232标准的电气特性如表3.2所示。表3.2RS-232标准的电气特性不带负载时驱动器输出电平-25V~25V负载电阻范围3~7k欧驱动器输出电阻<300欧负载电容〔包括线间电容〕<2500pF逻辑“0〞时驱动器输出电平5~15V逻辑“0〞时负载端接收电平>+3V逻辑“1〞时驱动器输出电平-15~-5V逻辑“1〞时负载端接收电平<-3V输出短路电流<500mA驱动器转换速率<30由表4.2可以看出RS-232C电平采用负逻辑,逻辑“0〞:+5~+15V,逻辑“1〞:-5~-15V。在计算机和智能仪器内,通用的信号是正逻辑的TTL电平。而RS-232C电平是负逻辑的,与TTL电平不兼容,必须进行电平转换。电平转换通常可以使用MC1488、MC1489、MAX232等芯片来实现。本系统是采用MAX232芯片实现电平转换的。RS-232标准规定的波特率为:50、75、100、150、300、600、1200、4800、9600和19200bps。本系统波特率采用9600bps。VisualBasic6.0中的串行通信控件MSCommVisualBasic是一种可视化的编程语言,利用可视化技术进行编程,可使应用程序的开发简单、快捷,可编写出界面友好、功能强大的应用程序。MSComm控件全称为MicrosoftCommunicationsControl,是Microsoft公司提供的ActiveX控件,目的是为了简化Windows下串行通信编程,它既可以用来提供简单的串口端口通信功能,也可以用来创立功能完备的、事件驱动的高级通信工具。MSComm控件在串口编程时非常方便,程序员不必花时间去了解较为复杂的API函数,而且在VisualBasic、VisualC++、Delphi等语言中均可以使用。使用它可以建立与串行端口的连接,通过串行端口连接到其它通信设备〔如调制解调器〕,发出命令,交换数据,以及监视和响应串行连接中发生的事件和错误。MSComm控件处理通信的方式MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通信功能。它提供以下两种处理通信的方式。1、事件驱动方式事件驱动通信是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时程序得到通知,例如,在串口接收缓冲区中有一个字符到达或一个变化发生时,程序都可以利用MSComm控件的OnComm事件捕获并处理这些通信事件,OnComm事件还可以检查和处理通信错误。在程序设计中,可以在OnComm事件处理函数中参加自己的处理代码,一旦事件发生即可自动执行该段程序。这种方法的优点是程序响应及时,可靠性高。2、查询方式在程序的每个关键功能完成之后,可以通过检查CommEvent属性的值来查询事件和错误。适用于自保持的应用程序较小的编程。查询方式的编程可用计时器或Do…Loop程序实现。其实,查询方式实质上还是事件驱动,但在有些情况下,这种方式显得更为便捷。MSComm控件的常用属性对控件编程首先需要了解它的属性和事件。下面介绍MSComm控件的一些主要属性,如表3.3所示。表3.3MSComm控件的主要属性属性描述Commport设置并返回通信串口号Settings以字符串的形式设置并返回串口波特率、奇偶校验、数据位、停止位。格式为:MSComm1.Settings=〞BBBB,P,D,S〞Portopen设置并返回串口状态,也可以翻开和关闭串口Input从接收缓冲区中读取数据并清空缓冲区Inputlen设置并返回一次从接收缓冲区中读取字节数InBufferSize设置并返回接收缓冲区的大小,缺省值为1024字节InBufferCount设置并返回接收缓冲区中等待接收的字符数InputMode设置并返回接收数据的类型。其值为0和1时,分别表示通过Input属性以文本方式和二进制方式取回数据OutBufferSize设置并返回发送缓冲区的大小,缺省值为512字节OutBufferCount设置并返回发送缓冲区中等待计算机发送的字符数Output向发送缓冲区发送数据,该属性设计时无效,运行时只读Rthreshold在MSComm控件设置ConunEvent属性为comEvReceive并产生OnComm之前,设置并返回要接收的字符数其中CommEvent属性是一个非常重要的属性。一旦串口发生通信事件或产生错误,依据产生的事件和错误,MSComm控件为CommEvent属性赋以不同的代码,同时产生OnComm事件。用户程序就可在OnComm事件处理程序中针对不同的代码,进行相应的处理。CommEvent属性的事件代码、常数以及含义参见表3.4和表3.5。表3.4CommEvent通信事件代码、常数及含义表事件代码常值含义1ComEvRecive接收到Rthreshold个字符。该事件将连续产生,直到用Input属性从接收缓冲区中读取并删除字符2ComEvSend发送缓冲区中数据少于Sthreshold个,说明串口已经发送了一些数据,程序可以用Output属性继续发送数据3ComEvCTSClearToSend信号线的状态发生变化4ComEvDSRDataSetReady信号线从1变到05ComEvCDCarrierDetect信号线的状态发生变化6ComEvRing检测到振铃信号7ComEvEOF接收到文件结束符表3.5ComEventnt通信错误代码、常数及含义表事件代码常数含义1001ComEvntBreak接收到一个中断信号1002ComEvntCTSTOClearToSend信号超时1003ComEvntDSRTODataSetReady信号超时1004ComEvntFrame祯错误1006ComEvntOverrun串口超速1007ComEvntCDTO载波检测超时1008ComEvntRxOver接收缓冲区溢出,缓冲区中已没有空间1009ComEvntRxParity奇偶校验错1010ComEvntTxFull发送缓冲区溢出,缓冲区中已没有空间1011ComEvntDCB检测串口的设备控制块时发生错误MSComm控件的使用MSComm控件通信的流程图如图3.2所示。编写程序时,只需要按照下面流程图,即可实现通信功能。图3.2MSComm控件通信的流程图PC机与AT89S51单片机的通信PC机与单片机之间的串行通信主要实现下位机的温度数据的采集和传输。下位机程序用汇编语言编写,固化在AT89SC51单片机中。单片机是测量系统的数据采集端,它主要完成对多个测温传感器DS18B20的控制和温度数据的读取以及同上位机的数据通信。上位机软件用VB编写,主要完成通信参数设置和温度数据的转换。通信参数设置主要用来完成对系统通信参数的设置,包括设定通信端口、波特率、数据位、奇偶校验位和停止位。温度数据的转换主要实现对接受到的温度数据由十六进制到十进制的转换,同时这一步也为后面的数据库的生成及温度信息管理工作做好了准备。硬件连接线路PC机与单片机之间的通信通过串口实现。由于RS232电平与TTL电平不兼容,本系统通过MAX232芯片实现TTL电平到RS232电平的转换,MAX232芯片是包含两路接收器和驱动器的RS232电平转换芯片,适用于各种232通信接口。如图3.3所示。图3.3PC与硬件单片机的连接电路图通信协议为使数据在PC和单片机之间无过失的传送,本文采用通信协议来规约数据的传输。PC机与单片机双方的通信协议如下:波特率:9600bps;数据格式:8位数据位,1位停止位,无奇偶校验;传送方式:PC机和单片机都采用查询方式收发数据,传送的数据格式为二进制格式。DS18B20转换出的温度信息包含两个字节,经过处理后,一个字节为温度的整数局部,另一个字节为温度的小数局部。每个DS18B20共传送三个字节,第一个字节为传感器所在的行列号,第二个字节是温度的整数局部,第三个字节是温度的小数局部。单片机收到PC机发送的握手信号“S〞后,就依次命令DS18B20进行温度转换;PC机依次接收单片机上传过来的数据,并显示在特定区域。VB程序编制本系统串行通信的界面如图3.4所示:图3.4串行通信的界面因为系统采用的是事件驱动,所以具体程序的编制必须围绕相应的事件进行。本系统中,有关通信的工作过程主要有:通信参数初始化、发送握手信号、接收数据。具体初始化程序如下:PrivateSubForm_Load()MSComm1.CommPort=1'设置通讯窗口MSComm1.Settings="9600,N,8,1"'设置数据传输率和发送字符格式MSComm1.InputMode=comInputModeTextMSComm1.InBufferSize=1024'设置接收缓冲区1024ByteMSComm1.InputLen=0'设置或返回一次从接收缓冲区中读取字节数,0表示一次读取所有数据MSComm1.RThreshold=21IfMSComm1.PortOpen=FalseThen'翻开串口MSComm1.PortOpen=TrueEndIfEndSub初始化完成后,PC机就可以与单片机进行通信了。点击“开始接收〞按钮即可完成向单片机发送握手信号功能。发送程序为:DimreceAsStringrece=MSComm1.InputIfMid(rece,1,1)="S"ThenText1.Text=Text1.Text&receElseText1.Text=Text1.TextEndIf单片机接收到PC机发送的握手信号S后,就依次命令总线上的DS18B20进行温度转换并向PC机发送转换后的温度信息。我们在OnComm事件里进行温度数据的接收和转换。在转换后的温度之间加上一个空格,且在单个DS18B20温度信息末尾加上回车和换行符,目的是为PC机接收到的温度信息保存的文本文件转换成数据库作好准备。如果系统初始化不正常或DS18B20的端脱开未接好时,转换出的温度为默认初始值+85℃,温度上下字节为05H和50H。系统检测到DS18B20转换的温度值为上面两种情况时,我们在接收区显示该测点出现“PrivateSubMSComm1_OnComm()DimbufferAsVariantDimarr()AsByteDimiAsInteger,aAsIntegerDimrestr1AsString,restr2AsString,srestr3AsString,ABCAsStringa=MSComm1.InBufferCountSelectCaseMSComm1.CommEventCasecomEvReceivebuffer=MSComm1.Inputarr=bufferFori=0To18Step3restr1=arr(i)restr2=arr(i+1)restr3=arr(i+2)Ifrestr2=127Andrestr3=240ThenText1.Text=Text1.Text=Str(Now)+""+restr1+""+"测量有误"+""+Chr(13)+Chr(10)ElseIfVal(restr3)=0ThenABC="."+Mid$(Str(Val(restr3)/256),2,3)ElseABC=Mid$(Str(Val(restr3)/256),2,3)EndIfText1.Text=Text1.Text+Str(Now)+""+restr1+""+restr2+ABC+""+Chr(13)+Chr(10)EndIfNextiEndSelectEndSub多点温度信息管理系统多点温度监控系统下位机采集检测的温度为本上位机提供了数据,多点温度信息管理系统将实现对这些数据的查询、显示、趋势图、报表生成等处理功能,建立一个易于使用、易于管理的人机交互界面。多点温度信息管理系统功能多点温度信息管理系统的目的是对下位机检测的数据进行后处理。多点温度信息管理系统主要包括以下功能:1.与多点温度监控系统下位机进行数据通信;2.检测数据录入数据库;3.实现温度信息库的查询、显示、趋势图、报表生成等处理功能。多点温度信息管理系统软件总体框图如图4.1所示。图4.1多点温度信息管理系统软件总体框图为防止不相关人员随意翻开本软件修改,删除检测结果,所以软件运行后,首先设计了登陆对话框,要求输入用户名和密码,输入正确后才能进入该软件的主界面。主界面采用MDI菜单形式设计,通过下拉菜单,可以进行系统功能即添加新用户名和修改密码、与下位机进行串行通信〔第三章已经介绍〕、将接收到的温度信息生成数据库、对数据库中的数据进行查询、显示、删除、趋势图和生成报表等操作。多点温度信息管理系统软件运行在PC机上,开发平台采用MicrosoftVisualBasic6.0,下面将详细介绍各个模块的实现过程。数据库的设计数据库是存放数据的仓库,是以一定的组织方式存储在计算机中相关数据的集合。它能以最正确方式、最少的重复、最大的独立性为多种应用提供共享效劳。多点温度信息管理系统数据库采用关系型数据库,用Access2003开发。Access2003是开发中小型数据库的首选数据库管理系统,使用它可以很方便的设计出一个出色的关系数据库,而且VB可以通过ADOdata对象建立对Access类型数据库的快速连接。Access数据库的设计在MicrosoftAccess数据库中,信息是以表的形式组织起来的,表就是数据以行和列的形式组织在一起,每一行代表一条记录,每一列代表一个字段,描述它所含有的数据。根据该系统的功能,我设计了两个表:用户信息表和温度信息表。用户信息表用于描述用户名和密码,完成用户登陆信息和密码修改信息的验证;温度信息表用于描述下位机每个DS18B20的测量结果,即传感器的测量日期、行列号、温度。两个表的结构分别如表4.1所示。表4.1多点温度信息数据库的表结构(a)温度信息表字段名称字段大小必填字段数据类型测量日期50是文本测量时间50是文本行列号2是文本温度10是文本〔b〕用户信息表字段名称字段大小必填字段数据类型用户名8是文本密码6是文本由于数据在下位机和上位机之间传输的时间很短,所以约定温度信息传送至上位机的日期和时间为测量的日期和时间。由于测量日期和时间不会重复,所以根据日期和时间,就可以区分数据库中的数据属于哪一次检测。VB操作Access数据库的方法VB访问数据库有多种方法,如Data控件、DAO对象、RDO对象、ADO控件和ADO对象等。MicrosoftVisualBasic6.0提供了三种不同的访问数据库接口:DAO数据存取对象、RDO远程数据对象、ADOActiveX数据对象。DAO〔DataAccessObjects〕数据存取对象是数据访问对象之一,是VB最早引入的数据访问技术。它比Data控件功能强大,不仅可以翻开、访问并操纵已有的数据库,而且可以创立数据库、表和索引。另外,它不需要添加任何数据控件,只用程序代码就能创立完整的数据库应用程序,但使用该对象之前应首先在工程中引用它。RDO〔RemoteDataObjects〕远程数据对象是一个到ODBC的面向对象的数据访问接口,有了VisualBasic6.0以后,RDO已逐步被ADO替代。ADO〔ActiveXDataObjects〕ActiveX数据对象是最新的数据访问技术,访问更加简单和灵活,支持多种数据库,而且访问的数据库类型也更为丰富,特别在Internet方面的应用可极大提高系统性能。所以,本文选择ADOData控件来访问数据库,进行数据库的操作。ADOData控件使用MicrosoftActiveX数据对象〔ADO〕来快速建立数据绑定控件和数据提供者之间的连接。数据绑定控件是任何具有数据源属性的控件。尽管在程序中可以直接使用ActiveX数据对象,但ADOData控件作为一个图形控件的优势,以及一个易于使用的界面,使用户可以用最少的代码创立数据库应用程序。ADOData控件属性很多,其中ConnectionString属性和RecordSource属性是两个非常重要的属性。ConnectionString属性值是一个字符串,包含进行一个连接所需要的所有设置值,在字符串中所传递的参数是与驱动程序相关的。RecordSource属性包含一条语句或一个表格名称,用于决定从数据库检索什么信息。设置ADOData控件与数据库的连接,具体代码如下:DimconnectionstringAsStringconnectionstring="provider=microsoft.jet.oledb.4.0;"&"datasource=用户信息表.mdb"conn.Openconnectionstring数据库的生成第二章中已经提到了通过保存按钮,将接收到的温度信息存储在指定的文本文件中。我们设计了一个程序实现了将文本文件中的内容转换到Access数据库中。通过调用主界面的数据库子菜单就可以将温度信息保存到温度信息表中。用户信息表中的信息是事先填写好的。应用程序的设计数据库建立好以后,就可以对其进行各种操作了。下文将分别介绍在MicrosoftVisualBasic6.0集成环境下各个模块的设计过程。首先运行MicrosoftVisualBasic6.0,出现“新建工程〞对话框,如图4.2所示。选择新建“标准EXE〞,执行“翻开〞命令,进入VisualBasic工程集成开发环境,窗体设计器会自动出现一个Form1的空白窗体,如图4.3所示。图4.2“新建工程〞对话框图4.3空白窗体用户登陆模块设计为防止不相关人员随意翻开本软件修改,删除检测结果,所以软件运行后,首先设计了登陆对话框,要求输入用户名和密码,输入正确后才能进入该软件的主界面。如果失败达三次,那么自动退出系统。用户登陆界面如图4.4所示。图4.4用户登陆界面在空白窗体上,添加2个Label控件、2个TextBox控件、1个ADODC控件。界面上的2个Label控件用来标识窗体中的信息〔用户名,密码〕,2个TextBox控件用来输入用户名和密码,2个CommandButton控件用来确定或取消登陆,1个ADODC控件〔运行时隐藏〕用来完成和数据库用户信息表的连接。系统功能模块设计系统功能模块主要完成两个功能:用户管理和退出系统。其中用户管理用于修改拥护密码和添加新的用户名和密码。1.修改密码界面如图4.5所示。图4.5修改用户密码界面界面上的4个Label控件用来标识窗体中的信息〔用户名,原密码,新密码,确认密码〕,4个TextBox控件用来输入用户名,原密码,新密码,确认密码2个CommandButton控件用来确定或取消修改密码,1个ADODC控件〔运行时隐藏〕用来完成和数据库用户信息表的连接。2.添加新用户界面如图4.6所示。界面上的3个Label控件用来标识窗体中的信息〔新用户名,用户密码,确认密码〕,3个TextBox控件用来输入新用户名,用户密码,确认密码,2个CommandButton控件用来确定或取消添加新用户,1个ADODC控件〔运行时隐藏〕用来完成和数据库用户信息表的连接。图4.6添加新用户界面主界面的设计为了方便地管理系统程序,且占有教少的系统资源,我们采用多文档界面MDI进行主界面的设计。通过选择主界面上的菜单,我们就可以实现对温度信息的各种操作。系统的主界面如图4.7所示。主界面主要由窗体、菜单栏、状态栏组成。菜单栏是通过VB中的菜单编辑器设计的;状态栏用于显示系统日期、时间和设计信息,通过StatusBar控件实现。图4.7主界面在使用菜单编辑器之前首先需要启动它,它的启动方式有下面4种形式。选择“工具〞/“菜单编辑器〞命令;在“标准〞工具栏上选择“菜单编辑器〞图表;用鼠标右键单击要添加的菜单窗体,在弹出的快捷菜单中选择“菜单编辑器〞命令;利用快捷键{Ctrl+E}来调用“菜单编辑器〞。翻开的菜单编辑器如图4.8所示。其中包括三个区域:菜单属性设置区、菜单编辑区、菜单列表区。菜单属性设置区是指在菜单编辑器中分隔条上面的局部,它主要用于设置菜单的相关属性。其主要属性有标题、名称、索引以及快捷键。其中标题和名称属性是必须要设置的,其他的属性可以采用默认值,或者不需设置。菜单编辑区是指中间的7个按钮,主要用于对已经输入的菜单进行简单的编辑操作。菜单列表区就是指菜单项的分级列表。将子菜单单项缩进以指出它们的分级位置或等级。图4.8菜单编辑器StatusBar控件提供窗体。该窗体通常位于父窗体的底部,通过这一窗体,应用程序能显示各种数据。StatusBar最多能被分成16个Panel对象,这些对象包含在Panels集合中。StatusBar控件是Active控件,在使用该控件之前需要先将其添加到工具箱中。选择“工程〞/“部件〞命令,在弹出的对话框中选中MicrosoftWindowsCommonControls6.0(SP6)项,即可将一组控件添加到工具箱中,其中,图4.9中鼠标所指的即为StatusBar控件。图4.9工具箱中的StatusBar控件将StatusBar控件添加到窗体上,用鼠标右键单击该控件,在弹出的快捷菜单中选择“属性〞命令,即可弹出“属性页〞对话框。如图4.10所示。选择“窗格〞选项卡,默认会自动创立一个窗格,设置第一个窗格的“样式〞为6-sbrDate,显示当前系统的日期。单击“插入窗格〞按钮,插入一个表格,设置第二个窗格的“样式〞为5-sbrTime,用于显示时间。单击“插入窗格〞按钮,插入一个表格,在第三个窗格的“文本〞中输入设计者:姚维丹。单击“插入窗格〞按钮,插入一个表格,在第四个窗格的“文本〞中输入指导教师:王昱。图4.10StatusBar控件属性页显示模块以及数据库显示模块的设计完整的温度信息显示采用类似于电子数据表的DataGrid控件实现。设置好的界面如图4.11所示:在VB6.0中的众多数据控件中,DataGrid控件是最灵活、功能最强大的控件之一。使用DataGrid控件无须编写任何代码,只要绑定到ADO控件上,就可以实现数据的新增、修改、删除和浏览,还可以对数据进行格式化、锁定等。图4.11温度信息显示界面同理,设计好的数据库显示界面如图4.12所示。在数据库显示界面里可以进行用户信息的以及温度信息的添加、修改、删除和浏览等功能。图4.12数据库显示界面查询模块的设计输入行列号、测量日期,单击查询,就会在表中显示所有当天某个行列号的所有温度信息。如图4.13所示。图4.13查询界面通信及趋势图模块的设计关于通信模块的设计,本文在第三章已经进行了详细的表达,在这里不再赘述。下面介绍趋势图模块的建立。本文首先建立了一个直角坐标系统。在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-40℃,所以本文所建立的坐标系,温度在0-40℃之间,如图4.14所示:图4.14坐标系本文采用VB中的line函数进行趋势图中线的设计。Line方法可以在窗体或图片框指定位置上,按指定的颜色画直线或者曲线。Line方法的格式如下:Object.Line[STEP](X1,Y1)[STEP](X1,Y2),[COLOR],[B][F]报表模块的设计为了方便保存和汇总温度信息,设计了温度信息报表及打印功能。数据报表不仅仅是数据简单、直接的输出,它还包括对数据的一些额外操作,如数据汇总。VB6.0中提供的“数据报表设计器〞〔DataReportdesigner〕是一个极为灵活的报表设计工具,它以“数据环境设计器〞〔DataEnvironment〕作为数据源,能创立有层次的、汇总假设干关系型数据表数据的复杂报表。创立一个数据报表的步骤为:1. 创立一个包含Command对象层次结构的数据环境设计器。2. 设置数据报表设计器的DataSource属性为数据环境设计器。3. 设置DataMember属性为最顶层的Command对象。4. 右键单击数据报表设计器并单击“检索结构〞。在检索结构之后,将创立适当数目的分组标头和注脚,而且每一标头/注脚对被指定一个对应于一个Command对象的名字。5. 把Command对象从数据环境设计器拖到数据报表设计器上的对应局部。Command对象包含的所有数据字段,都作为Command对象被放下的局部中的TextBox控件,被自动创立在数据报表上。每一TextBox的DataMember属性和DataField属性都按照Command对象及其数据字段设置。6. 从每一个TextBox控件创立时所在的局部上将TextBox控件拖动到数据报表设计器的不同局部上。7. 按照需要将Function控件添加到报表。创立好的数据报表界面如图4.15所示。图4.15数据报表界面“关于〞模块的设计“关于〞窗体界面如图4.16所示。图4.16“关于〞窗体控件的主要属性和作用如表4.2所示。表4.2“关于〞窗体控件的主要属性控件类型名称属性设置FormForm8Caption=关于LabelLabel1Caption=多点温度监控系统Label2Caption=当前版本号:1.0Label3Caption=版权所有,侵权必究。CommandCommand1Caption=确认保存应用程序当应用程序编写完后,就应该将其保存起来。事实上,编辑过程中经常进行保存是一个很好的习惯,这样可以防止由于系统崩溃或机器掉电而导致的数据丧失。要保存应用程序,可单击标准工具栏的“保存工程〞按钮。如果工程尚未保存过,那么系统首先显示“文件另存为〞对话框,提示编程人员确定用于保存窗体的文件名。确定窗体文件的名字后,单击“保存〞按钮,将显示“工程另存为〞对话框,提示编程人员确定用于保存工程的文件名。确定工程文件的名字之后,单击“保存〞按钮即可保存与应用程序有关的所有文件。VisualBasic把用来构造一个应用程序的所有相关文件称为一个工程〔Project〕。一个工程通常包括以下几类文件。工程文件〔*.vbp〕;窗体文件〔*.frm〕;二进制窗体文件〔*.frx〕;标准模块文件〔*.bas〕;类模块文件〔*.cls〕。建立可执行文件分别完成各项功能之后,为了使应用程序能够脱离开发环境而直接在Windows环境下运行,就必须将应用程序编译成可执行文件〔.exe文件〕。编译方法是:依次选择“文件〞菜单的“生成工程1.exe〞命令〔这里的“工程1〞是工程名〕,弹出“生成工程〞对话框,选定保存位置,输入可执行文件的名字,单击“确定〞按钮即可在指定位置建立一个可执行文件。结论温度是工业生产中最常见和最根本的工艺参数之一,任何物理和化学变化的过程都与温度密切相关。所以,在生产过程中常需对温度进行检测和控制。多点温度监控系统采用下位机进行多点温度的检测、控制,上位机进行温度信息显示、查询、报表、趋势图以及实时控制,对于提高生产效率和产品质量、节约能源等都有重要的作用。在此前提下,本文使用MicrosoftVisualBasic6.0语言设计了多点温度监控系统上位机。采用分模块设计思想分别实现各模块的功能然后总体结合实现统一的方案设计,该课题的技术指标。整个课题的开发过程主要包括了两个方面的内容:一、实现上位机与下位机的通信,完成温度信息的上传与温度给定值的下传;二、采用VB语言编程对多点温度信息管理系统的设计,从而完成各个用户房间温度的查询、显示、报表、趋势图等功能。社会经济效益分析多点温度监控系统针对各个分布点的温度进行检测控制,实现了多点温度信息的统一管理。同以往单点温度控制系统相比,集中程度高,运行操作简单,不但提高了温度的监控精度,还节省了控制时间,提高了社会生产效率。防止了不必要的资源浪费。有着良好的社会经济效益。基于VisualBasic是最快速、最简单的编程语言之一。它简单易学、容易掌握,编程人员不用编写大量的代码去描述界面元素的外观和位置,而只需要把预先建立好的对象放到屏幕的某一位置即可,从而使编程效率得到了极大的提高。本文选择了在MicrosoftVisualBasic6.0的集成开发环境下,进行编程实现了多点温度监控系统的各局部功能。再加上本文的分模块设计编程思想,从而使得程序层次清楚,简单易懂。所设计的多点温度监控系统上位机,控制精度高,温度显示直观,设计本钱低。总而言之,只需进一步完善该多点温度监控系统的各局部功能,基于它的操作简单,该多点温度监控系统使用方便,功能强大,本钱低廉,定会有一个很好的社会市场需求。参考文献李江全,张丽,岑红蕾.VisualBasic串口通信与测控应用技术实战详解.北京:人民邮电出版社,2007:150-155李长林,沙占友等.VisualBasic串口通信技术与典型实例.北京:清华大学出版社,2006:112-157李长林,张丽华,王红.VisualBasic数据库应用系统开发从根底到实践.北京:电子工业出版社,2006:276-310刘彬彬,高春艳,孙秀梅等.VisualBasic从入门到精通.北京:清华大学出版社,2023:427-454陈杰华,刘奇,卿川.奇思异想编程序.北京:国防工业出版社,2004:314-315斯琴巴图,杨利润等.零根底学VisualBasic.北京:机械工业出版社,2023:228-230白晓勇,余健等.VisualBasic课程设计案例精编.北京:清华大学出版社,2007:255-256陈紫红,安剑,孙秀梅等.VisualBasic工程开发全程实录.北京:清华大学出版社,2023:115-124胡小江等.21天学通VisualBasic.北京:电子工业出版社,2023:239-251范逸之.VisualBasic与RS232串行通讯控制.北京:中国青年出版社,2000:2-15李怀明等.VisualBasic6.0中文版参考详解.北京:清华大学出版社,1999:98-103龚沛增.VisualBasic程序设计教程.北京:清华大学出版社,2004:11-32刘新民.VisualBasic6.0程序设计.北京:清华大学出版社,2004:61-83刘瑞新,李树东.VisualBasic程序设计教程习题及习题解答.北京:电子工业出版社,1999:101-120郭琦.VisualBasic数据库系统开发技术.北京:人民邮电出版社,2004:42-53孙越.VisualBasic数据库开发自学教程.北京:人民邮电出版社,2005:111-123马壮,吴铮,王永强.基于VB的PC机与单片机串行通信系统研究与实现.唐山学院学报,2023,21(4):124-132刘金颂.多点智能测温系统在VAV系统室内环境测量中的应用:[硕士学位论文].陕西:西安建筑科技大学,2006丁幼春,熊利荣,黄剑.基于AT89S52和DS18B20的多点温度检测报警系统.农机化研究.2007,21(5):121-123FawziA.RadwanandTerryW.Martin.Real-timeMonitoringandControllingofanAllen-bradleySLC500throughtheinternet.Restrictionsapply.2023,19(7):387-392致谢在本次毕业设计中,我遇到了很多困难,是我大学生活难忘的经历。每一次点滴的成功都让我充满了成就感。这次毕业设计的圆满完成,与很多人的努力是分不开的。首先,我要感谢我的指导老师王昱老师对我的精心指导;她严谨的科学态度,遇到困难时勇于战胜的精神,一直鼓励着我前进。本论文是在王老师的悉心指导下完成的,在论文的撰写和定稿的整个过程中,王老师付出了极大的心血。再一次对王其次,在我做毕业设计的过程中,许多同学也给我提出了珍贵的意见,也给了许多帮助,本次毕业设计的圆满完成是与他们的帮助所分不开的。在此一并向他们表示最真挚的谢意!本次毕业设计虽然结束了,但它却给我留下了很多美好的回忆,面对自己的劳动成果有一种油然而生的满足感和成就感,没有付出,就没有收获这句话又一次得到了验证。满足之于也让我不由的想起帮助过我的老师和同学,没有他们的帮助,我不会这么顺利地完成这次毕业设计,因此,再次向帮助和指导我的老师和同学表示感谢。最后,一并感谢批阅我论文的老师以及辩论的老师们,感谢您们给我设计的指导,我定将虚心接受并继续改良。附录程序清单登陆模块具体程序代码如下:PrivateSubForm_Load()'ADODC连接数据库DimconnectionstringAsStringconnectionstring="provider=microsoft.jet.oledb.4.0;"&"datasource=用户信息表.mdb"conn.OpenconnectionstringEndSubPrivateSubCommand1_Click()'确定按钮DimsqlAsStringDimrs_loginAsNewADODB.RecordsetStaticcntAsIntegerIfTrim(txtuser.Text)=""Then'如果用户名为空MsgBox"用户名不能为空!",vbOKOnly+vbExclamation,"错误"txtuser.SetFocusElsesql="select*from用户信息表where用户名='"&txtuser.Text&"'"'在用户信息表中寻找输入的用户名rs_login.Opensql,conn,adOpenKeyset,adLockPessimisticIfrs_login.EOF=TrueThen'没有找到用户MsgBox"没有这个用户",vbOKOnly+vbExclamation,""txtuser.SetFocusElseIfTrim(rs_login.Fields(1))=Trim(txtpwd.Text)Then'如果密码与数据库中相同userid=txtuser.Textrs_login.Close'关闭数据库UnloadMeMDIForm1.Show'显示主界面Elsecnt=cnt+1Ifcnt>3Then'超过3次End'退出程序EndIfMsgBox"密码不正确!",vbOKOnly+vbExclamation,""txtpwd.SetFocusEndIfEndIfEndIfExitSubEndSubPrivateSubCommand2_Click()'取消按钮End'退出程序EndSub修改用户密码模块的具体程序代码如下:PrivateSubCommand1_Click()DimsqlAsStringDimrs_loginAsNewADODB.RecordsetIfTrim(Txtuser.Text)=""Then'如果用户名为空MsgBox"用户名不能为空!",vbOKOnly+vbExclamation,"错误"Txtuser.SetFocusElsesql="select*from用户信息表where用户名='"&Txtuser.Text&"'"'在数据库中搜索输入的用户名rs_login.Opensql,conn,adOpenKeyset,adLockPessimisticIfrs_login.EOF=TrueThen'没有找到记录MsgBox"没有这个用户",vbOKOnly+vbExclamation,""Txtuser.SetFocusElseIfTrim(rs_login.Fields(1))=Trim(Txtpwd.Text)Then'如果原密码正确userid=Txtuser.TextElseMsgBox"原密码不正确!",vbOKOnly+vbExclamation,"提示"Txtuser.Text=""Txtpwd.Text=""TextNewPass.Text=""TextConfirm=""ExitSubEndIfIfTrim(TextNewPass.Text)=""Then'新密码为空MsgBox"新密码不能为空!",vbOKOnly+vbExclamation,"提示"ExitSubElseIfTrim(TextNewPass.Text)=Trim(TextConfirm.Text)Then'新密码与确认密码一致Adodc1.Recordset("密码")=TextNewPass.TextAdodc1.Recordset.Update'更新密码MsgBox"密码修改成功!"rs_login.Close'关闭数据库UnloadMeElseMsgBox"密码不一致,请重新输入!"TextNewPass.Text=""TextConfirm=""EndIfEndIfEndIfEndIfExitSubEndSubPrivateSubCommand2_Click()'取消按钮UnloadMe'卸载窗体EndSub添加新用户模块程序代码如下:PrivateSubCommand1_Click()'确定按钮DimsqlAsStringDimrs_addAsNewADODB.RecordsetIfTrim(Text1.Text)=""ThenMsgBox"用户名不能为空!",vbOKOnly+vbExclamation,"提示"ExitSubText1.SetFocusElsesql="select*from用户信息表"rs_add.Opensql,conn,adOpenKeyset,adLockBatchOptimisticrs_add.MoveFirst'首地址While(rs_add.EOF=False)IfTrim(rs_add.Fields(0))=Trim(Text1.Text)Then'找到记录MsgBox"已经有这个用户",vbOKOnly+vbExclamation,""Text1.SetFocusText1.Text=""Text2.Text=""Text3.Text=""ExitSubElsers_add.MoveNext'下一个地址EndIfWendIfTrim(Text2.Text)=""ThenMsgBox"密码不能为空!",v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 选矿集控工诚信知识考核试卷含答案
- 有色金属矿干燥工班组评比能力考核试卷含答案
- 数控车工成果知识考核试卷含答案
- 选矿供料工成果水平考核试卷含答案
- 乳品配料工安全知识竞赛考核试卷含答案
- 2026年家政保洁人员聘用协议
- 2026 九年级下册历史《工业革命》课件
- 〈鸿门宴〉讲义课件
- 合肥三模理综试题及答案
- 无人机数字化管控平台搭建方案
- 2026年北京市西城区初三一模英语试卷(含答案)
- 电力重大事故隐患判定标准2026版解读
- 2026届湖南省常德市芷兰实验校中考联考数学试题含解析
- 2026年38期入团考试题及答案
- 新企业的选址 优质课比赛一等奖
- 饲料厂如何进行质量控制
- GB/T 9163-2001关节轴承向心关节轴承
- GB/T 26163.1-2010信息与文献文件管理过程文件元数据第1部分:原则
- 习作:《我学会了-》课件
- 西藏自治区山南市各县区乡镇行政村村庄村名居民村民委员会明细
- 公司各部门工作流程图(通用)
评论
0/150
提交评论