




已阅读5页,还剩47页未读, 继续免费阅读
(计算机科学与技术专业论文)温湿度监测系统软件的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 本文从国内外温湿度环境监测系统的研究现状出发,针对与工矿企业和日常生 活中的环境参数监测的需要,提出了本课题的研究所要实现的功能,为课题的研 究提出了目标。目前国内外的温湿度环境参数监测系统已经广泛应用,基本技术 已经成熟,但是由于上位机的软件开发还是一个比较薄弱的环节,对于用户来说 自己定义的功能一般很有限,购买组态软件又价格昂贵。所以开发小型、低成本、 功能全面的实用性上位机软件对于中小企业来说是很有必要的。 温湿度环境监测系统广泛应用于对环境要求较高的工农业生产中,对于环境 污染治理等方面也有很大的作用。本文实现温湿度环境监测系统,上位机的软件 采用d e l p h i 7 0 编写,以w i n d o w sx p 为操作平台,采用模块化设计,主要模块有 登录模块、数据管理模块、参数设置模块、历史数据查询显示模块和串口通信模 块等。这个软件可以实现对下位机传来数据的分析、处理和打印等功能,又能通 过计算机的串口和下位机通信,使下位机传感器采集到的温湿度值实时的显示在 折线图和e x c e l 表中,让用户直观的观察到环境的基本参数情况。本文还着力介绍 了串口通信模块的不同实现方法并且结合实际加以应用。 软件经过调试得到了预想的结果。根据本文编写软件的思路,很容易编写出 简单实用的上位机软件,适合中小企业自定义的要求,并且在降低成本的基础上 得到了较为全面的功能。 关键词:温湿度;监测;上位机:串口通信 分类号:t p 3 1 j 匕塞交道太堂亟堂僮i 金塞 一一b s i 星壁 a bs t r a c t i nt h i sp a p e r , b a s e do nt h es t a t u so ft e m p e r a t u r ea n dh u m i d i t ye n v i r o n m e n t a l m o n i t o r i n gs y s t e m ,a n df o rd a i l yl i f ea n di n d u s t r i a le n t e r p r i s e si nt h em o n i t o r i n go f e n v i r o n m e n t a lp a r a m e t e r sn e e dt op u tf o r w a r dt h i si s s u et oa c h i e v et h ef u n c t i o n so ft h e i n s t i t u t ef o rr e s e a r c ho nt h es u b j e c tb yt h et a r g e t a tp r e s e n td o m e s t i ca n di n t e r n a t i o n a l e n v i r o n m e n t a lp a r a m e t e r so ft e m p e r a t u r ea n dh u m i d i t ym o n i t o r i n gs y s t e mh a sb e e n w i d e l ya p p l i e d ,t h eb a s i ct e c h n o l o g yh a sm a t u r e d ,b u tt h ep cs o f t w a r ed e v e l o p m e n ti s s t i l lar e l a t i v e l yw e a kl i n k ,u s e r so w nd e f i n i t i o no ft h ef u n c t i o n so fg e n e r a li sv e r y l i m i t e d ,t h ep u r c h a s eo ft h ec o n f i g u r a t i o ns o f t w a r e i s e x p e n s i v e t h e r e f o r e ,t h e d e v e l o p m e n to fs m a l l ,l o w - c o s t ,f u l l - f e a t u r e dp cu t i l i t ys o f t w a r ei sn e c e s s a r y t e m p e r a t u r ea n dh u m i d i t ye n v i r o n m e n t a lm o n i t o r i n gs y s t e m i sw i d e l yu s e di nt h e e n v i r o n m e n tf o rb e t t e ri n d u s t r i a la n da g r i c u l t u r a lp r o d u c t i o n ,s u c ha sf o re n v i r o n m e n t a l p o l l u t i o nc o n t r o l ,w h i c hi sv e r yu s e f u l b a s e do n t h em o n i t o r i n gs y s t e mt h es o f t w a r ei s o nt h eb a s i so ff o c u so nd e v e l o p m e n tw i t hd e l p h i ,t h em o n i t o r i n gs o f t w a r e t h e s o f t w a r ec a l lb ea p p l i e db yt h ec r e wt oc o m eo nt h ea n a l y s i so ft h ed a t a ,p r o c e s s i n ga n d p r i n t i n g f u n c t i o n s ,b u ta l s ot h r o u g ht h ec o m p u t e r s s e r i a l p o r t a n dt h ec r e w c o m m u i l i c a t i o n s ,s ot h a tt h ec r e wo ft h es e n s o r st o c o l l e c tr e a l t i m ev a l u e so f t e m p e r a t u r ea n dh u m i d i t yi nt h eb r o k e nl i n em a p a n ds h o wt h a te x c e lt a b l ea l l o w su s e l l d t od i r e c t l yo b s e r v et h ee n v i r o n m e n t a ls i t u a t i o no ft h eb a s i cp a r a m e t e r s t h i sp a p e ra l s o f o u s eo nd e s c r i b i n gt h es e r i a lc o m m u n i c a t i o nw o r k i n gi nd i f f e r e n tw a y sa n dm a k ei ti n t h er e a la p p l i c a t i o n a f t e rd e b u g g i n g , t h es o f l a v a r eh a sg i v e nd e s i r e dr e s u l t s t h i sp a p e ri sb a s e do na n i d e ao fw r i t i n gs o f t w a r e ,w h i c hc a l lb eu s e dt oe a s i l yp r e p a r es i m p l ea n dp r a c t i c a lp c s o f l w a r e sb e c a u s eo ft h ed e f i n i t i o no ft h er e q u i r e m e n t s t h ew r i t t e ns o f t w a r ea l s o r e d u c e sc o s t so nt h eb a s i so fm o r ec o m p r e h e n s i v ef u n c t i o n s k e y w o r d s - t e m p e r a t u r e a n dh u m i d i t y ;m o n i t o r i n g ;p c ;s e r i a lc o m m u n i c a t i o n c l a s s n 0 :t p 3 1 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国 家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 签字日期:沙以年6 月7 日 导师签名:恸伫 答字日期:一;“月r 日 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研 究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得北京交通大学或其他教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示了谢意。 学位论文作者签名: l 参凇签字日期:7 矿8 年6 月7e l 致谢 本论文的工作是在我的导师须德教授的悉心指导下完成的,须德教授严谨的 治学态度和科学的工作方法给了我极大的帮助和影响。在此衷心感谢三年来须德 老师对我的关心和指导。 须德教授悉心指导我们完成了实验室的科研工作,在学习上和生活上都给予 了我很大的关心和帮助,在此向须德老师表示衷心的谢意。 须德教授对于我的科研工作和论文都提出了许多的宝贵意见,在此表示衷心 的感谢。 实验室的宋泽海老师也对于我的科研工作和论文提出了许多的宝贵意见,在 此向他表示衷心的感谢。 在实验室工作及撰写论文期间,徐娟娟等同学对我论文中的研究工作给予了 热情帮助,在此向他们表达我的感激之情。 另外也感谢深爱我的家人,他们的理解和支持使我能够在学校专心完成我的 学业。 1 引言 虽然我国经济一直以来快速发展,但是在经济发展的同时对环境的影响也日 益扩大,尤其是负面的影响。反过来生态环境的破坏也逐步威胁着我们人类的生 存和发展。为了更好的改善人类的生存环境、尽可能的避免环境进一步恶化,对 环境情况特别是与人类关系密切的环境参数如温度和湿度的监测无疑具有非常重 要的意义。人类的生存和社会的活动与温度、湿度等环境因素的相关性越来越大, 对环境参数进行有效的实时监测,已成为目前非常严峻的课题。环境监测是获取 环境信息,认识环境质量和评价环境好坏的重要手段,也是进行环境监督和环境 治理等管理工作的主要信息来源和途径【l 】。 环境监测系统是集传感器技术、通信网络和计算机应用为一体的综合数据分 析管理系统【2 】,随着自动控制技术、电子信息技术和大规模集成电路等技术近年来 迅速的发展,许多西方发达国家已经拥有很多先进的环境监测设备与环境监测手 段。如果直接从外国购买这些现成的设备和技术,对于我国来说成本投入是比较 高的,而且这些设备和监测手段可能与我国复杂多变的气候条件和具体的情况不 相匹配,所以当前不适合直接购买和应用这些设备和技术【3 1 。 目前,我国的环境监测系统与这些国家相比还有较大的差距,但随着我国科 技实力的增强和经济实力的提高,也先后开发了一系列的环境监测系统。在这里 领域的进展和提高还是比较大的。但是总体来说这些设备的技术水平仍有待提高。 因此开发研制出适合我国现状的低成本高性能的环境监测系统,是一项非常紧迫 的任务,也对提高我国现代化企业的经济效益和加快我国的现代化水平具有非常 重要意义。 本文的在介绍温湿度环境监测系统的整体开发基础上,重点设计了上位机的 监控软件的开发与应用过程。上位机是指能够得到监测端数据并能分析处理的计 算机,一般由若干台计算机组成。上位机的监测软件主要能够完成参数设定、数 据处理、存储、分析、显示和打印等功能。上位机可从u 盘读取下位机的历史数 据,这些数据是以文件形式存储的。当然上位机也可以通过计算机的串口实现数 据的实时显示等功能。本课题开发的软件采用d e l p h i 7 0 编写,以w i n d o w s 为 操作平台,采用模块化设计,主要模块有登录模块、数据管理模块、参数设置模 块、历史数据查询显示模块和串口通信模块等。在深入研究相关理论及最新研究 成果的基础上,本文详细介绍了上位机软件设计的思想和方法,给出了软件流程 图及部分重要程序。在串口通信方式上,上位机采用m s c o m m 控件通信控件实现 与监控终端的远程通信。数据的管理采用数据库的形式存储,解决了通过普通文 7 件读写方式进行操作时,占用系统资源导致程序崩溃的问题,也解决了数据远程 实时显示的问题。本系统的设计适应现代环境监测的需求,实现了温湿度的自动 监测和数据的实时传输处理,可适用于需要对环境参数进行监测的行业和部门, 具有很大的应用控件,并为管理、决策和研究提供准确的客观数据依据,在此基 础上能够满足社会发展的需要。 本文基本结构如下: 第二章本文概述并介绍了国内外环境监测领域的发展现状,并根据我国的现 状迸一步明确适合我国的环境监测系统的开发设计方案需要实现的基本功能。 第三章讨论了本课题的温湿度环境监测系统的总体设计方案和实现需要用到 的基本技术和原理,从而总整体上便于把握本系统的基本情况。为设计温湿度监 测系统做技术上的准备。 第四章主要介绍了温湿度监测系统软件开发环境和数据库平台的选择,在比 较几个软件开发环境和数据库平台的基础上给出本系统所用的软件系统的优势和 数据库平台的好处。本章还着重的介绍了温湿度环境监测系统中主要用到的技术 和串口通信的一些基本知识。 第五章介绍上位机软件的具体设计,本章主要包括登录模块、系统主界面模 块、图形显示模块、用户设置模块和串口通信模块的实现功能以及设计实现过程; 给出了该软件的部分重要代码。并且着重介绍了如何实现串口通信模块的理论与 实际操作方法。 第六章是系统的调试与运行状况介绍,对出现的问题加以分析并提出了具体 的解决方法。本章还对全文进行了总结,讨论了温湿度监测系统的一些设想。 2国内外现状及课题目标 2 1国内外发展概况 近些年来我国的经济发展迅速,人们的生活水平得到了很大的提高,但是与 此同时工业化的发展也给环境带来的巨大的改变。近些年来京津地区的沙尘暴和 森林覆盖率的大量减少就是很好的证据。传统上采用比较落后的人工环境监测方 法,但是这种方法的实时性差,受自然条件的限制比较大,而且对于突发的环境 问题不能及时发现并且处理,不利于宏观把握环境的变化情况。由于经济等因素 我国目前还有很多地方使用传统的环境监测方法。 随着技术的发展和经济实力的提升,我国的环境监测水平也得到了一定的提 高。在很多省份实现高速通信网络的同时,环境监测的参数和数据已经能联网的 得到观测和控制。硬件设备已经得到很大的改善,传统的人工报表已经改成微机 控制系统。还有部分省市已经采用自动的环境监测系统,能更加及时和准确的反 馈数据。但是由于我国幅员辽阔,监测终端的需求量很大,并且环境监测系统的 软硬件开发功能还不是很完善,数据的综合分析能力也有待提高。国内产品较之 国外技术还显得比较薄弱。主要表现在: l 、目前市场上同类产品存储空间有限。且基于单片机终端操作的,很少具有实时 通信的功能,这对于远程进行数据的传输要求的单位的使用是不方便的。 2 、现有的产品在数据输出仅支持点对点通讯且速度慢、距离短、且仍受地域限制。 且不能满足大数据量多通道的实时数据的传输的功能。 3 、产品的现场安装受使用环境所限,环境应用适用性差、测控手段单一。很难进 行远距离的监控和报警。 4 、产品只用液晶、l e d 等方式简单显示,使操作无法进行现场复杂实用的数据分 析、读取、按需数据图形打印。 5 、设备性能不高,难以适应要求较高的场合。如测量温度范围低,难以满足超高 温,超低温的要求。 目前国外的环境监测系统已经广泛应用在各个领域,并发展的比较完善。许 多国家的环境参数监控点已经分布在各个地区,技术上也很先进,能够监测温度、 湿度、压强和水位等多个环境参数。部分产片还使用了卫星等技术进行环境监测。 欧洲的一些国家各国之间以网络为核心进行合作,已经能对欧洲环境的现状和发 展趋势作出及时的有效判断的预测,并根据此采取必要的措施来保护环境。一些 美国的公司利用空间技术,利用太空的卫星能把地面的情况特别是大气的监测数 据做成图像完整的传回地面监测,科学家的数据准确可靠。 9 令人可喜的是我国的环境监测技术正朝着现代化和高技术含量方向发展。目 前在某些领域也把卫星技术、遥感技术和g p s 等技术广泛应用于环境的监测。在 网络方面利用无线传输、p 宽带网络和g p r s 、i n t e r n e t 等多种传输方式进行 数据的传输与处理。可以在对环境指数的采集、分析、整理的基础上实现环境发 展的预测【4 1 。 2 2 课题目标 本课题设计的温湿度监测仪可实时测量某一具体空间中任意一点或多点的温 度、湿度数据,既能在小型终端设备的l c d 上显示,又能把文件打包做成数据文 件,通过u 盘拷贝到远程管理中心的计算机上,还能通过串e l 通信在微机上实现 实时数据的显示、分析、报警和图形打印等功能。可以定时地将数据自动地打印 出来供随时监管或存档。本系统便于保存和随时用计算机查看历史数据,根据用 户的需要可设置温、湿度上下界限报警点,当环境的温、湿度超过上、下极限值 时,系统中端和上位机会自动发出音响式警报,管理人员可以即可及时采取措施, 调整环境的温湿度参数。上位机软件的主要功能如下: l 、用户等级管理功能:本软件设计的监控系统有严格的密码授权和用户分级制 度,不同的人员具有不同的权限。可按照管理人员的要求,为用户提供了一个 管理平台,保证只有授权的工作人员才可进行相应的管理和操作。 2 、历史数据查询功能:对以往的历史数据数据可以进行查询和分析,并用图表的 方式显示环境的发展趋势。 3 、动态记录显示功能:能够连续实时的采集和记录监测空间内温度、湿度参数的 情况,以数字和图形、表格方式进行实时显示和记录监测信息。 4 、超限警报功能:在出现异常数据的时候,如温度、湿度超过上下限时,可以按 照使用人员指定的方式输出报警,通知的操作人员及时采取相应的办法进行处 理和操作。 5 、数据分析功能:实时显示或者历史显示的各参数曲线变化,可以同时显示多通 道的环境参数曲线和数据,更方便比较分析。可显示所查时间端温湿度的极值, 具体数值显示并可自动调整坐标。并能放大对实时数据和历史数据表等多种显 示,贴近了用户需求,具有很大的实用性。 6 、数据存储功能:所有的数据采集和记录到计算机上,按要求记录温、湿度变化 曲线和表格,可以定时自动保存、备份等。 7 、打印功能:按要求打印各个点温、温度变化曲线或表格,自动定时打印和手动 人工打印画面、曲线及参数报表。 l o 8 、远程监控功能:系统可通过串口与远端监控设备进行通信,操作人员在上位机 远端可以进行相应的监测和维护,用专门的程序来开发实现,确保系统的稳定 性,简单可靠效果好,成本低廉。 3 系统设计总体方案 3 1 系统设计框图 本课题设计的温湿度环境监测系统是集数据采集和传输于一体的软、硬件平 台,可以根据实际需求,查看任意节点温度、湿度参数值,整体框图如图3 1 所示: ,: 圈 致7 、 据i 线掣1 7 陋搓绺绷。乏,匝亟童圜:;二,: 煎控丝堂i 够 蚍剿 图3 1 系统整体框图 f i g u r e3 1t h es y s t e ma r c h i t e c t u r e 系统设计流程图如下图3 2 所示: 图3 2 系统流程图 f i g u r e3 2t h es y s t e mf l o wc h a r t 1 2 i 遂 监控终端通过数据线与上位机通信,上位机的串口通过4 8 5 2 3 2 转换口可与多 个下位机通信。监控终端是基于单片机的数据采集系统,定时采集温湿度数据。 采集的数据存到r a m 中,随时准备接受上位机的查询和传送命令。除了串口通信 以外,监控终端也可以把温湿度数据存为特定文件名的文件,然后用户通过u 盘 把这个文件通过计算机的u s b 口传输到上位机的数据库中,从而实现一定时间段 的数据的查询和分析。 3 2 监测终端的设计 监测终端实现的主要功能是定时采集各环境温湿度参数数据,经过处理后存 入外部存储器保存,并将数据通过串口实时传输给上位机。对温湿度数据采集系 统的设计有很多种方法。利用8 0 5 1 单片机在规定的时间间隔读取数据,数据的存 储采用分块法。系统整体成本低且提高了可靠性。而数据由于实时采集到上位机 数据库中保存,安全可靠,且调用方便。 监测终端由各种温湿度传感器、信号采集、a d 转换、微处理器、液晶显示、 外部存储器、串行口输入输出端口、键盘等构成。各环境参数经信号采集电路和 a d 转换后送微处理器。微处理器对采集来的数据进行处理,并存入到外部存储 器保存。通过键盘可以察看系统的工作状态及各通道采集的数据,并在液晶上显 示采集的温湿度数据。下位机框图如下图3 3 所示: 图3 3 下位机框图 f i g u r e3 3p ca r c h i t e c t u r o 传感器一般采用热电阻测温和热电偶测温两种。热电阻在温度的作用下,铂 热电阻丝的电阻值随之变化而变化,且电阻与温度的关系即分度特性完全和i e c 1 3 标准等同,p t l 0 0 主要用来测量2 0 0 - + 8 5 0 度的温度。热电偶是用两种不同材质 的导体,两端焊接,形成回路,直接测量端叫工作端,接线端子端叫冷端,当热 端和冷端存在温差时,就会在回路中形成热电势,对于每一个温度值都有相应的 电势与值对应。 模数转换采用m a x l 9 7 ,模拟信号经输入端输入,相应的放大转换电路把输 入信号转换成数字信号,转换后的信号送入单片机及外部存储器。数据存储器满 足大量数据的存储要求。存储在r a m 中的温湿度数据随时准备接受上位机的查询 和向上位机传送。键盘和l c d 显示器的目的是设定操作参数如的时间间隔等。当 数据发送错误或人工查询数据时,可通过键盘选择要查询的参数并在显示器上显 示出来,使下位机的工作更加灵活方便。 作为r s 2 3 2 串口电路需要接收器和驱动器的芯片,其内部电源电压变换器, 把输入的电源电压变换成为r s 2 3 2 输出电平所需的电压。当与上位机进行通信时, 如果上位机向下位机发送握手信号,下位机收到后发出准备信号,上位机收到此 信号后通信成功建立,下位机就可把数据发送给上位机。 监测终端设计完成之后就要制作正确的p c b 板图。在原理图绘制完成以后, 进行电气规则检查,保证原理图输入有效和正确生成s p i c el i s t 。在绘制p c b 板的 过程中,最好选用手工布局元件,这样,可以把同一功能的元件放在一起,使板 子比较清晰、有条理。当元件布局好以后,可以在p c b 板上双击要修改的管脚, 对管脚连线直接进行修改。对不合理、不美观的布线可用手工进行调整,加宽电 源和接地线可以提高抗干扰能力,增加系统的可靠性。 监控终端的软件设计主要由四部分组成:主程序、采集程序,键盘与液晶显示 程序和通信程序。利用面包板搭建简单电路,实现各个功能的编程工作,用仿真 器进行软件调试。主程序中,首先进行键盘、显示器、数据采集和通信端口的初 始化。主程序中设置数据采集的定时器每分钟调一次数据采集程序,采集一次数 据。主程序循环扫描键盘,当确有键按下时,进行键盘处理。 3 3 通信方式的选择 串口是计算机上通用设备通信的协议端1 2 1 ,现在大多数计算机包含串口。串 口通信的标准经过使用和发展已经有很多中,但基本都是在r s 2 3 2 标准的基础上 改进形成的【5 1 。但是r s 2 3 2 标准只针对于点对点的单通道数据传送,在此基础上 形成r s 4 8 5 标准,增加了多点和双向通信能力。这个标准传输信号具有很强的抗 干扰能力,可以达到更大的传输距离和更高的传输效率。由于上位机只有一台, 而需要通信的下位机有多台,因此不一定能够跟每个下位机同时及时的通信,所 1 4 以为了更好的实现数据的传输,需要用排队理论来合理的设计和控制传输,使数 据的传输更及时和有效,提高系统的通信能力。排队理论就是利用概率论和随机 理论,研究随机系统内服务与需求之间的关系,以便合理地设计和控制排队系统, 这个理论在串口通信中也可以借鉴。 在所研究的系统中,某一下位机请求与上位机通信,当上位机空闲时,立即 响应请求,当上位机忙时,不立即响应该请求。呼叫持续等待是一个有限的时间, 若某一等待响应的呼叫超过规定的等待时间还没有响应则该下位机挂断,等待几 分钟后再发送请求。各下位机的地位一样时,相应的规则采用先到先服务的形式。 服务时间为一次传送数据的通信时间。由于多路请求是随机的,并且相互之间完 全独立,但对整个系统而言,各下位机传送的数据都能送入上位机中。 目前串口是仪器仪表设备通用的通信协议端口,也用于获取远程采集设备的 数据。串口通信的概念非常简单,串口按位发送和接收字节。尽管比按字节的并 行通信慢,但是由于串口通信是异步的,可以在使用一根线发送数据的同时用另 一根线接收数据,其他线用于握手。 典型的串口通信用a s c i i 码字符的传输,串口通信重要的参数是波特率、数 据位、停止位和奇偶校验位【6 】。对于两个进行通行的端口,这些参数必须匹配。 本章小结:主要介绍了下位机机硬件设计及实现,介绍了信号输入、模数转 换、存储、键盘与液晶显示和串行通信接口等各部分的设计思想与实现方法。在 实际实现的过程中遇到了不少困难,经过反复调试与试验才成功。 1 5 4 上位机开发环境与主要技术 4 1 上位机开发平台的确定 系统开发工具选择b o r l a n d 公司的面向对象可视化编程软件d e l p h i 7 0 。“真正 的程序员用c ,聪明的程序员用d e l p h i ” 7 1 。由此可见,d e l p h i 在程序开发中有很重 要的地位和实用价值。d e l p h i 是一种方便、快捷的w i n d o w s 开发工具,使用了微 软w i n d o w s 图形用户界面的许多先进特性和设计思想,具有高效、简单、功能强 大等特点。d e l p h i 可在w i n d o w s 环境下使用,也可以在l i n u x 平台上开发应用, 其在l i n u x 上的对应产品k y l i x 。和v c 相比,d e l p h i 更简单、更易于掌握,而在 功能上却毫不逊色;和v b 相比,d e l p h i 则功能更强大、更实用。可以说d e l p h i 同时兼备了v c 功能强大和v b 简单易学的特点,一直是被程序员经常选择的开发 工具。 d e l p h i 作为软件开发工具的具有以下特性:基于窗体和面向对象的方法,具 有高速的编译器,可快速生成可执行程序;强大的数据库支持,可与s q ls e r v e r 、 a c c e s s 和m y s q l 等数据库无缝连接;与w i n d o w s 编程紧密结合,既可用于开发系 统软件,也适合应用软件的开发;拥有强大的网络开发能力,能够快速的开发网 络程序;d e l p h i 使用强大而成熟的组件技术,独特的v c l 类库使用户可以按自己 的需要,任意的构建、扩充、甚至是删减组件,满足不同的需型8 1 。 在d e l p h i 的众多优势中,它在数据库方面的特长满足本课题的开发需要,选 择d e l p h i 开发上位机软件,既可以提高开发的效率,又能实现需要的数据存储、 网络通信、实时图形显示等功能。 4 2 数据库方案的实现 目前常用的数据库有o r a c l e 、s q l 、s e r v e r 、a c c e s s 和m y s q l 等,下面对这几 个主流的数据库各自特点简单介绍。 o r a c l e 数据库系统是对象关系型数据库,支持大型多用户数据系统和分布式数 据库和分布处理,具有可移植性和兼容性,一般用在大型事务处理及客户服务器 结构的应用系统,但价格昂贵,不适合一般开发应用。 s q ls e r v e r 是基于服务器端的中型的数据库,可以适合大容量数据的应用, 在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大;是真正的客 1 6 户机j h 务器体系结构,图形化用户界面,使系统管理和数据库管理更加直观、简 单;丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地:对网络 技术的支持,使用户能够很容易地将数据库中的数据发布到网页上。 m y s q l 是一个开放源码的小型关系型数据库管理系统,目前被广泛地应用在 i n t e m e t 上的中小型网站中。由于其体积小、速度快、总体成本低,尤其是开放源 码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了m y s q l 作为网 站数据库。m y s q l 可以支持w i n d o w s 、u n i x 、l i n u x 和s u no s 等多种操作系统 平台。 a c c e s s 是微软公司推出的基于w i n d o w s 的桌面关系数据库管理系统,是 o f f i c e 系列应用软件之一【9 】。它提供了表、查询、窗体、报表、页、宏和模块来建 立数据库系统的对象;提供了多种向导、生成器和模板,把数据存储、查询、界 面设计、报表生成等操作规范化等【9 1 。 几种数据库各有特点,其中a c c e s s 是一个中、小型数据库管理系统,使用方 便、功能强大、易操作并且很实用,它适合数据量不太大的应用,在处理数据库 时效率也很高。所以本课题选用a c c e s s 作为数据库平台,既可以满足数据操作方 便迅速的特点,也可以降低软件的开发成本。 4 3串口通信的实现方法 4 3 1 概述 一般来说,计算机的串行通信程序主要利用b i o s 的i n t 中断,以查询输入 输出设备的方式完成异步串行通信【10 1 。在w i n d o w s 系统下,系统提供中断方式驱 动的串行通信驱动程序,通信的具体程序无需直接对串口操作,而通过驱动程序 这一个编程接口进行间接的操作。在具体的通信过程中,系统首先确定一个输入 输出缓冲去,将控制权交给运行中的应用程序。当输入缓冲区满了的时候,驱动 程序就会以流控方式通知发送方停止发送数据,否则缓冲区将会出现溢出错误。 发送数据的处理方式类似,这里不足赘述。所有的这些操作都是系统后台进行, 不需要用户的干预,系统已经实现了串口的初始化和消息处理功能。 利用d e l p h i 开发串口通信程序可以有几个方法: 1 、直接调用w i n d o w sa p i 函数。这种方法实现的功能最多,应用也非常的广泛, 但是由于操作起来比较复杂,专业化的程度高只有一些专业的人员才能进行因此 使用起来比较困难。 2 、利用d e l p h i 的通信函数,直接对串口进行读写操作。这种方法需要了解硬件电 1 7 路的设计原理等方面。 3 、利用第三方控件。比如m s c o r n m 和s p c o m m 等已经现成的控件,只要了解他 们的基本属性和方法,只要简单的加以配置就可以轻松对串口进行操作,从而使 串口编程非常的方便,程序员不必要花费时间区了解较为复杂的a p i 函数。 基于以上各种方法的特点和实际设计的需要,上位机的串口通信模块选择使 用第三方控件来进行操作。 4 3 2 串口通信a p i 函数的实现原理 实际中串口通信程序的开发很少直接使用a p i 函数,因为这会无谓的增加编程 难度,也会给调试带来诸多不便。在面向对象方法下通常使用串口类( 即串口函数 库) ,这样编程效率即高,调试又方便。下面就从通信a p i 介绍、串口类开发这两 方面加以介绍。 l 、串口通信a p i 函数基础 通信a p i 函数是整个串口通信程序的基础,串口类中的任何成员函数也只不过 是对通信a p i 函数的封装而己。通信a p i 函数所涉及的操作包括串口的打开、关闭、 初始化与读写等。 ( 1 ) 串口的打开与关闭 w i n 3 2 系统把文件的概念进行了扩展,无论是文件、通信设备、命名管道、邮 槽、磁盘,还是控制台,都是用a p i 函数c r e a t e f i l e ( ) 来打开或创建的。如果打开成 功的话会返回一个串口的句柄,应用程序应对这个句柄判断其有效性。当不再使 用该串口句柄时,应该调用c l o s e h a n d l e 0 函数关闭之,以方便其它应用程序申请对 串口的控制权。 ( 2 ) 串口的初始化 在打开串口后,常常需要对串口进行一些初始化工作,这需要通过一个d c b 结构来进行。d c b 结构包含了诸如波特率、数据位数、奇偶校验和停止位数等信 息。在查询或配置串行口的属性时,都要用d c b 结构来作为缓冲区。 调用函数可以获得串口的配置,该函数把当前配置填充到一个d c b 结构中。 一般在用c r e a t e f i l e 0 打开串行口后,就调用g e t c o m m s t a t e ( ) i 函l 数来获取串行口的初 始配置。要修改串行口的配置,应该先修改d c b 结构,然后再调用s e t c o m m s t a t e 0 函数用指定的d c b 结构来设置串行口。 除了在d c b 中的设置外,程序一般还需要设置i o 缓冲区的大小。w i n d o w s 用阳缓冲区来暂存串行口输入和输出的数据,如果通信的速率较高,则应该设置 较大的缓冲区调用s c t u p c o m m o i 函数可以设置串行口的输入和输出缓冲区的大 1 8 小。在对串口进行读写的时候,需要考虑超时问题。超时有两种:间隔超时和总超 时。间隔超时是指在接收时两个字符之间的最大时延,总超时是指读写操作总共 花费的最大时间。写操作只支持总超时,而读操作两种超时均支持。 在用异步方式读写串行口时,虽然在完成读写操作以前就可能返回,但超时仍然 是起作用的。在这种情况下,超时规定的是操作的完成时间,而不是读写函数的 返回时间。 ( 3 ) 串口的读写控制 这部分内容关系到串行通信的核心内容,将分读写串口a p i 函数、异步i o 操 作两部分介绍。 读写串口a p i 函数: w i n 3 2 中使用r e a d f i l e 0 函数或者r e a d f i l e e x 0 数从串口中读取数据。两者区 别是:前者对同步操作和异步操作都支持,而后者仅支持异步操作。 r e a d f i l e 0 函数第四个参数,在读操作之前应置为0 。 同样,写串口函数也有两个,一个是w r i t e f i l e 0 ,另一个是w r i t e f i l e e x 0 前者同时支 持同步操作和异步操作,而后者仅支持异步操作。写函数不论在声明形式上还是 在使用方法上都与r e a d f i l e 0 十分相似,具体可以查看m s d n 帮助文档。 异步i o 操作: 在用r e a d f i l e 0 和w r i t e f i l e 0 读写串行口时,既可以同步执行,也可以异步执行。 在同步执行时,函数直到操作完成后才返回。这意味着在同步执行时线程会被阻 塞,从而导致效率下降。在异步执行时,即使操作还未完成,调用的函数也会立 即返回。费时的i o 操作在后台进行,这样线程就可以干别的事情。例如,线程可 以在不同的端口上同时执行i o 操作,甚至可以在同一端口上同时进行读写操作。 “异步 一词的含义就在于此。r e a d f i l e 0 和w r i t e f i l e ( ) i 函数是否为异步操作模式是 由c r e a t e f i l e ( ) 函数决定的。如果在调用c r e a t e f i l e o 创建句柄时指定了 f i l ef l a go v e r l a p p e d 标志,那么调用r e a d f i l e o 和w r i t e f i l e o 对该句柄进行的 读写操作就是异步的,如果未指定异步标志,则读写操作是同步的。 在设置了异步i o 操作后,i o 操作和函数返回有以下两种情况: 第一种,函数返回时i o 操作己完成:此时结果好像是同步执行的,但实际上这是异 步操作的结果。 第二种,函数返回时i o 操作还没完成:此时一方面,函数返回值为0 ,并且 g e t l a s t e r r o r o 函数返回e r r o ri op e n d i n g ;另一方面,系统把o v e r l a p p e d 中 的信号事件设为无信号状态。当i o 操作完成后,系统将它设置为有信号状态。 如果g e t l a s t e r r o r 0 函数返i e i e r r o ri op e n d i n g ,则说明异步操作还没完成,线 程可以等待操作完成。有两种等待办法:一种办法是用像w a i t f o r s i n g l e o b j e c t 0 这_ 样 1 9 的等待函数来等待o v e r l a p p e d 结构的h e v e n t 成员,可以规定等待的时间,在等 待函数返回后,调用g e t o v e r l a p p e d r e s u l t 0 。另一种办法是用g e t o v e r l a p p e d r e s u l t ( ) 函数等待,如果指定该函数的b w a i t 参数为t r u e ,那么该函数将等待 o v e r l a p p e d 结构的h e v e n t 事件,并且只有当i o 操作完成后方返回( 实际上这又 变成了同步方式) 。同时g e t o v e r l a p p e d r e s u l t o i 函数可以返回一个o v e r l a p p e d 。 结构来报告包括实际传输字节在内的重叠操作结果。 2 、串口类的开发 串口类是对通信a p i 函数进行最一般的封装,以便能够应用于不同的串口应用 程序开发中。现在开发串口应用程序的方法很多,如微软的m s c c o m m 控件,但是 m s c o m m 本身存在一定的弊端,如只能发送a s c i i 码等。从用户角度讲上位机串口 通信模块的使用流程一般分四个步骤,即“初始化并打开串口一监视串口读写 串2 1 - - 关闭串口。封装串口类c m y c o m 的成员函数时也正是基于这种理解,各 成员函数介绍如下: ( 1 ) 初始化并打开串口函数。 函数声明形式:b o o lc m y c o m - :i n i t m y c o m ( i n tn p o r t ,i n tn b a u d ,i n tn d a t a b i t s , i n tn s t o p b i t s ) 参数含义:n p o r t 为端口号,支持串口l 至串n 4 ;n b a u d 为波特率,支持常用波特率 如9 6 0 0 b a u d ;n d a t a b i t s 为数据位数,支持5 8 位:n s t o p b i t s 为停止位数,支持1 2 位; 返回值:当设置成功后,返回值为t r u e :失败时,返回值为f a l s e ; 实现原理:本函数只支持操作一个串口。程序根据串口配置情况调用c r e a t e f i l e 0 函 数打开串口,随后启动串口监视线程等待应答数据。其执行流程如图4 1 所示。 图4 1i n i t m y c o m o i 函数流程图 f i g u r e4 1t h ef l o wc h a r to ff u n c t i o n “t m y c o m o ( 2 ) 写串口函数。 函数声明形式:b o o lc m y c o m 。:w r i t e m y c o m ( c h a r * b u r , d w o r dd w b u f l e n ) 参数含义:b u f 为待发命令的缓冲区指针,d w b u f l e n 待发字符; 返回值:返回值为实际发送的字符数; 实现原理:该函数调用w r i t e f i l e o 发送命令并调用g e t o v e r l a p p e d r e s u l t 0 函数返回实际发送的字符。 其他常用的串口函数还包括:写串口函数,监视串口函数等,但是有上述描 述可见使用串i z i a p i 函数实现串口通信是需要对串口函数十分了解,使用起来比较 复杂,不如第三方控件使用起来简单方便,所以本文选取第三方控件的方法。下面 就对第三方控件的实现进行阐述。 4 3 3s p c o m m 的实现原理和应用举例 s p c o m m 串行通信控件具有多线程的特性,接收和发送数据分别在两个线程 内完成,接收线程负责收到数据时触发o n r e c e i v e d a t a 事件;用w r i t e c o m m d a t a 0 函数将待发送的数据写入输出缓冲器,发送线程在后台完成数据发送工作。在接 收和发送数据前需要初始化串口,用s t a r t c o m m 方法打开串口,退出程序时用 s t o p c o m m 方法关闭串口。 s t a r t c o m m 过程用于打开串口,当打开失败时通常会报错,错误主要有7 种: 2 l ( 1 ) 串口已经打开; ( 2 ) 打开串口错误; ( 3 ) 文件句柄不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 瓦工贴瓷砖合同范本
- 融资租赁公司 合同范本
- 汽车区域销售合同范本
- 按揭买车贷款合同范本
- 年药店合同范本
- 瓷砖加工合同范本
- 兼职临时协议合同范本
- ktv买卖合同范本
- 家庭饮料购买合同范本
- 智能锁供货合同范本
- 2025年税法知识培训
- 麦当劳营销策略分析及对策建议定稿
- 婚内债务协议
- 70岁老年人三力测试能力考试题库附答案
- 新任教师学生管理方法培训
- 2025年智慧校园校企合作专业共建服务合同3篇
- 变化与更新-2025中国家居家装行业发展研究报告-树懒生活fine-202501
- 定额〔2025〕2号文-关于发布2020版电网技术改造及检修工程概预算定额2024年下半年价格
- 《脑卒中与急救》课件
- 九上英语单词表人教版
- 2025年北京车牌租赁合同范本
评论
0/150
提交评论