电力电缆温度监测系统设计_第1页
电力电缆温度监测系统设计_第2页
电力电缆温度监测系统设计_第3页
电力电缆温度监测系统设计_第4页
电力电缆温度监测系统设计_第5页
已阅读5页,还剩103页未读 继续免费阅读

下载本文档

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

文档简介

1、摘 要在电力线路中,电缆所占的比重正逐渐增加,对电缆表面温度的控制就显得非常重要,而利用科学技术改善电缆表面温度监测条件是符合社会主义现代化发展的。因此,开发一种能够实时、准确地处理温度信息的无线测控系统就变得很有必要。本软件是电力电缆温度监测系统中的一部分,它接收由现场测温节点上传的数据,并将其处理后进行显示与存储,为管理人员提供温度监测信息。软件前台开发工具为DELPHI7,后台开发工具为ACCESS,采用了先进的ADO数据库引擎技术。该软件设计了实时监测模块、历史查询模块、参数设置模块等,实现了实时温度数据的表格显示、图形化显示以及历史数据的查询显示,同时能对下位机节点数等参数进行配置,

2、实现电缆温度监测的基本功能。该软件经过测试,可正常运行,完成各项既定功能,证明了设计思想和开发技术的正确。关键词:温度监测;实时监测;历史查询;DELPHI7;ADOAbstractIn electric power line, the proportion of cable is gradually increasing, the cable surface temperature control is very important, and the use of science and technology to improve the surface of the cable tempe

3、rature monitoring condition that accords with the development of the socialist modernization. Under this background, develop a wireless monitoring system with real-time performance and accuracy has gained much attention.This software is part of the power cable temperature monitoring system, it recei

4、ved by the temperature sensor node upload the data, and the processing and storage displayed after, for management personnel to provide temperature monitoring information.Software development tools at the front desk for DELPHI7, backstage development tools for ACCESS, using an advanced ADO database

5、engine technology. The software design the real-time monitoring module, history inquires, parameter setting module, realize the real-time temperature data shown in the table, graphical display and historical data show the inquires, at the same time to a number of nodes under the machine parameters,

6、such as its distribution, realize the basic functions of the power cable temperature monitoring. The software test, can run normally, complete all the established function, proved that the correct design idea and development technology.Keywords: Temperature monitoring; Real-time monitoring; History

7、inquires; DELPHI7; ADO目录1系统概述21.1信息管理系统概述21.1.1 管理系统概念21.1.2信息管理系统的功能和特点21.1.3 信息管理系统的发展方向31.2 研究背景42系统的理论基础52.1引言52.2软件开发技术52.2.1软件开发过程模型52.2.2软件开发策略72.3软件开发方法83系统需求分析114系统整体设计134.1后台数据库设计134.2前后台软件整体设计144.3Access数据库管理软件介绍154.4Delphi介绍154.5通信数据包格式的设计175关键技术185.1Spcomm串口通信技术185.2ADO数据引擎215.2.1ADO数据引

8、擎技术简介215.2.2DELPHI的ADO控件235.3实时曲线绘制技术245.3.1 Tchart属性介绍255.3.2 曲线绘制265.4第三方控件RAVE报表组件包286 系统详细设计296.1 数据连接模块设计296.2 实时模块设计306.2.1 整体设计306.2.2模拟下位机发送数据设计346.2.3串口接收、数据显示与存储设计366.3 历史模块设计386.3.1 单节点历史查询设计386.3.2多节点历史查询设计416.4 参数设置模块设计456.5 帮助模块设计517 系统运行527.1 主窗口模块运行527.2 实时模块运行527.3 历史查询模块运行537.4 参数设

9、置模块运行567.5 帮助模块运行56结论57致谢58参考文献59A 附录代码60A.1 Spcomm控件关键代码60A.2 单节点查询关键代码62A.3 多节点查询关键代码64B 附录67B.1 英文原文67B.2 汉语翻译77102引言随着科学技术的飞速发展,人类已经步入了信息时代,在人类快速步入信息时代的同时,信息管理系统也逐渐进入人们的视野。所谓信息管理系统, 就是为实现企业的整体目标,对其所管理的信息进行系统的、综合的处理,可以辅助各级管理层制定决策的计算机硬件、软件、通讯设备及有关人员的统一体。它强调信息系统处理的系统性、综合性、不但要求在事务处理上的高效率,而且更强调对各级管理决

10、策的有效支持。信息管理系统可以代替早期的人工业务操作,提高工作人员的工作效率,减少工作人员的工作负担,最大程度的降低经济资源,有效的提高了一切资源的可利用率。当然,各种信息管理系统的开发必须是企业的现在行业的真实需求,能给企业带来明显的实效。因此,在开发的项目功能和数据结构的设计上要严格要求切实体现实用,并兼顾到普遍需求和特殊需求;程序设计上要求务必达到专业水准界面友好、操作简便、代码规范、交互性好、可操作性强。本文重点论述了电力电缆运行温度在线监测系统的设计思想和实现过程,主要包括系统开发的目的和意义、系统的需求分析、数据库设计开发的关键技术等。本系统基于Windows 7环境,采用Delp

11、hi7语言对数据库进行开发。针对温度监测的实际情况,各种先进软件技术构建了数据库应用系统。系统总共分为四部分:温度信息的采集、历史数据的查询、参数设置及帮助。文章围绕系统的组成,详细介绍了各部分功能模块的实现过程及基本思想。其主要内容包括温度信息采集、数据查询与管理、报表的打印、系统参数设置等实现过程。系统实现了使电力电缆运行温度在线监测更加清晰,管理更加快捷,从而具有较高的实用价值。因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中以开发一套研究项目信息管理系统,谈谈其开发过程和所涉及的问题及解决方法。1 系统概述1.1 信息管理系统概述1.1.1 管理系统概念信息管理系统的概念起

12、源是很早的,在上世纪30年代,就已经出现在国外关于企业管理的著作中,但关于信息管理系统(Management Information Systems 缩写MIS)的第一个真正完整的定义是1985年,由美国明尼苏达大学卡尔森管理学院的著名教授Gordon BDavis给出的:“它是一个利用计算机硬件和软件,手工作业,分析、计划、控制和决策模型,以及数据库的用户机器系统。它能提供信息支持企业或组织的运行、管理和决策功能。”这个定义全面地说明了信息管理系统的目标、功能和组成,而且反映了信息管理系统当时已达到的水平。在中国,最早从事信息管理系统的学者根据中国的特点给信息管理系统作了如下的定义:“一个由

13、人、计算机等组成的能进行信息的收集、传送、储存、加工、维护和使用的系统。信息管理系统能实测企业(部门)的各种运行情况;利用过去的数据预测未来;从企业(部门)全局出发辅助企业(部门)进行决策;利用信息控制企业(部门)的行为;帮助企业(部门)实现其规划目标。” 信息管理系统是一门新兴的边缘学科,到目前为止还很不完善。它引用其他学科的概念,形成一个综合的多元目的学科。这些基本学科主要包括管理科学、计算机科学、系统科学、运筹学以及统计学等。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。信息管理系统的三个要素是:系统的观点、数学的方法以及计算机的应用。1.1.2 信息管理系统

14、的功能和特点信息管理系统主要具有以下功能:1、数据处理功能 信息管理系统能对各种形式的原始数据进行收集、输入、传输、存储、加工处理和输出,以便向管理者及时、全面、准确地提供所需的信息。2、计划功能 合理安排各职能部门的计划并按照各管理层次的不同要求提供相应的计划报告。3、决策优化功能 在系统中利用数学方法和技术,对有关问题寻求最优解,为决策提供科学依据。信息管理系统的特点可以归纳为:1、信息管理系统是一个人机一体化的集成系统 利用计算机强大的处理能力和存储能力,这既是管理现代化的客观要求,也是信息管理系统的基本特点,但是,人是这个系统真正的管理者和受益者,应该充分考虑两者的特点,使之成为一个人

15、机协调统一的系统。2、信息管理系统具有统一的数据库和统一格式的信息 这样才能真正实现数据的集中统一,使数据成为各种用户的共享资源,使统计工作简化,信息成本最低。3、信息管理系统利用数学方法和各种模型处理信息 利用计算机的计算、判断功能,综合以往的数据,预测未来和科学地进行决策。4、信息管理系统是面向决策的,并具有控制能力。1.1.3 信息管理系统的发展方向 信息管理系统经历二十多年的发展,至今已具有相当高的水平,应用领域也在不断扩大和深入。计算机软硬件技术和数字通信技术的最新成就给信息管理系统提供了有力的技术支持,信息管理系统将在几个方面继续深入发展:(1)制造资源计划 MRP(manufac

16、turing resource planning)是用于企业管理的软件系统,它的基本思想是把企业作为一个有机的整体,从整体优化的角度出发,运用科学的方法把企业的各种制造资源与产、供、销、财等各个环节实行合理而有效的计划、组织、控制和调整,使它们在生产经营过程中能协调有序地充分发挥作用。(2)决策支持系统 DSS(decision support system)是旨在帮助决策者提高决策能力和水平的新的管理信息技术。它是信息管理系统的高层部分,可以作为单独的系统存在,也可以作为一个子系统存在于MIS的高层。它被认为是信息管理系统的一种发展和自然延伸。(3)办公自动化 OA(office autom

17、ation)是利用先进的科学技术,不断地使人的一部分办公业务活动物化于各种设备中,并将设备与办公人员构成服务于某种目标的人机信息处理系统,以提高生产、工作效率与质量。(4)计算机集成制造系统 CIMS(computer integrated manufacturing system)就是在计算机通信网络与分布式数据库的支持下,把各种局部自动化子系统集成起来,实现信息集成和功能继承,从而充分发挥各种技术的综合优势,求得企业的全局优化。(5) 基于Intranet的新一代信息管理系统 Intranet是一种企业内部信息管理和交换的基础设施,采用Internet的TCP/IP和WWW技术实现组织的应

18、用要求,而不一定进行Internet外部连接的网络应用系统,也称内联网。Intranet中任何个人或部门都能实现网络互联,并可进一步和Internet互联并使用其文件传输(FTP)、电子邮件(E-mail)、Web技术。1.2 研究背景本信息系统借鉴无线温度监测已有的管理思想并结合电力电缆的现状,可以完全满足电力电缆信息管理的需要。并通过对某电力电缆管理系统的研究和模拟,以灵活、通用为主要设计思想,开发适合于电力电缆无线温度检测的信息系统。本系统将会为电力电缆的管理提供更加科学的,实用的,高效的辅助手段和依据。2 系统的理论基础2.1 引言要开发出一个成功的信息管理系统必须要有相关的理论、技术

19、和方法作为基础。现代信息管理系统主要由人、计算机、管理软件三大部分组成,它是一门新兴的综合性、边缘性学科。管理软件是现代管理信息系统最重要的组成部分,管理软件开发采用的技术主要是计算机技术,具体而言主要涉及计算机理论基础、计算机应用基础、软件开发技术、数据库技术。2.2 软件开发技术2.2.1 软件开发过程模型软件开发的目标就是在规定的投资和时间范围内,开发出符合用户需求的高质量软件,因此必须用软件工程的方法和技术来指导软件开发的全过程。软件开发过程模型主要有两大类。1、瀑布模型一般来说,软件从产生、发展到淘汰要经历定义、开发和维护三大阶段,每个阶段又分为若干个小的阶段,共八个阶段,具体说就是

20、定义阶段的问题定义、可行性论证、需求分析,开发阶段的概要设计、详细设计、编码、测试,维护阶段的运行维护,这就是通常所说的软件生命期。瀑布型开发方法遵循软件生命期的划分,明确规定每个阶段的任务。瀑布型开发方法的阶段划分和开发过程如图2.1所示。从图中可以看到,在生存期中,对应于下落流线,任何一个软件都要按顺序经历8个步骤,如同瀑布流水,逐级下落。同时, 为了确保软件产品的质量,每个步骤完成以后都要进行复查,如果发现了问题就应返回到上一级修改。这就构成了图中向上的流线。瀑布型开发方法适合于软件需求比较明确、开发技术比较成熟、工程管理比较严格的场合使用。各种应用软件的开发均可使用此法。如图2.1所示

21、:图2.1 软件开发过程的瀑布模型2、渐增模型与瀑布型方法不同,渐增型开发方法不要从一开始就有一个完整的软件需求定义。渐增型开发方法允许从部分需求定义出发,先建立一个不完全的系统,通过测试运行整个系统取得经验和反馈,加深对软件需求的理解,进一步使系统扩充和完善。如此反复进行,直至软件人员和用户对所设计完成的软件系统满意为止。如图2.2所示:图2.2 软件开发过程的渐增模型2.2.2 软件开发策略实现信息管理系统是一项较为复杂的工程,应分期分批有计划有目的地进行。开发管理信息系统主要有“自上而下”和“自下而上” 两种基本策略9。“自上而下”的开发策略强调从整体上协调和规划,由全局到局部,从长远到

22、近期,自上而下,从探索一种合理的信息流出发来设计信息系统。整体性是系统的基本特征。这种方法的优点是它提供了一种确定信息需求的途径,支持信息系统的整体性,为系统的整体规划、子系统的协调和通信提供了保证。其缺点是对系统分析和设计人员的要求较高,从非结构化的目标开始向下到高度结构化的子系统的做法具有很大的难度。“自下而上”的开发策略从现行系统的业务状况出发,先实现一个个具体的功能,逐步地从低级到高级、自下而上地建立管理信息系统。这种方法的优点是可以避免大规模系统可能出现的运行不协调的危险,是系统的开发易于适应组织机构的真正需要。其缺点是没有想象中那样严密,系统数据的一致性和完整性难于保持,往往要对原

23、方案进行很多修改。为充分发挥以上两种方法的优点,把它们综合起来应用是更好的选择。用“自上而下”的策略制定组织的整体方案,确定管理信息系统的战略规划,而用“自下而上”的策略进行具体业务信息系统的总体设计,逐步实现各个子系统的开发工作,即“自上而下总体规划,自下而上应用开发”。2.3 软件开发方法为保证信息管理系统的开发质量、降低开发成本以及提高开发的成功率,必须采用正确的开发策略和科学的开发方法。在实际工作中,人们提出许多系统开发方法,但目前广泛使用的主要有以下三种:(1)结构化系统方法结构化系统方法是软件工程领域的经典方法,是目前最成熟的,也是应用最多的方法。结构化系统方法包括结构化分析方法、

24、结构化设计方法和结构化编程方法。结构化分析方法SA(structured analysis)是面向数据流进行分析的方法,适合于数据处理类型软件的需求分析。由于利用图形来表达需求,显得清晰、简明。结构化分析方法包括判定表、判定树、数据流图、数据词典、结构化语言。数据流图用以表达系统内数据的运动情况,是SA的最主要部分;数据词典定义系统中的数据;结构化语言、判定表和判定树用来描述数据流的加工8。结构化设计方法SD(structured design)是由自顶向下的软件系统总体设计思想发展而成的。该方法首先研究、分析、审查数据流图,然后根据数据流图决定问题的类型,最后导出系统结构图。利用该方法可以和

25、需求分析阶段的结构化分析方法很好衔接;在概要设计阶段,根据SD的思想,使用试探的方法可以解决模块间联系和块内联系的问题;这一方法还能和编码阶段的“结构化程序设计”相适应。结构化编程方法SP(structured program)主要包括两个方面:在编写代码时,强调采用单入口单出口的基本控制结构(顺序、选择、循环)提倡采用自顶向下和逐步细化的原则。这样做的好处是:自顶向下逐步细化的方法符合人类解决复杂问题的普遍规律,因此可以显著提高软件开发的成功率和生产率;结构化程序有清晰的层次结构,易于阅读和理解;使用单入口单出口的控制结构使程序逻辑结构清晰,保证程序的正确性7。(2)原型法由于人们对自己从事

26、的工作以及计算机应用的认识有一个过程,随着系统开发的不断深入,会不断提出新的要求,这种需求的动态变化,用传统的生命周期法很难适应。原型法是从基本需求入手,快速构筑系统原型,通过原型确认需求并对原型进行改进,最终达到建立系统的目的。原型法的过程示意图见图2.3:图2.3 原型法开发过程示意图(3)面向对象方法面向对象方法O-O(object-oriented)的概念出现在20世纪70年代,80年代得到快速发展,90年代逐渐走向成熟,表现出蓬勃的生命力,无疑O-O方法是未来最有发展前途的软件工程技术。传统的方法是面向过程的,他们将系统按功能划分成模块,然后逐个实现,这样就使系统中某些对象的信息被零

27、散地拆散到各个功能模块中6。面向对象方法是一种新的认识客观世界的方法,它把客观世界看成是由许多对象构成的,每个对象有自己的属性和行为,不同对象之间相互联系、相互作用构成客观世界。例如一个图书馆管理系统,若按功能划分,可分为借书子系统、还书子系统和统计子系统,而有关读者的信息被零散地拆散到各子系统中而遭到破坏。若用O-O方法,图书馆是一个对象,其方法是借图书和收回图书;读者是一个对象,其方法是借书和还书。读者借书时发送借书消息,图书馆接到消息后,决定是否借出图书。对象的信息被完整的保存。O-O方法的优点表现在可重用性 一个对象可由另一个对象继承而来,因此提高代码的重用度,加快开发速度可维护性 系

28、统功能扩充时可在原对象的基础上进行修改表示方法的一致性 O-O方法在分析、设计、编程时所采用的表示方法是一致。3 系统需求分析在此实例中,我们要开发一个模拟电力电缆无线温度监测系统,下面是用户对系统需求功能的陈述。通过单片机采集的数据传输给PC机,PC机通过实时监测系统将时实数据保存到数据库中。在由信息管理系统查看,调用数据并做出相应的分析5。从硬件角度来看,对PC机的要求并不是很高,只要能安装运行Windows XP操作系统,Delphi7.0,Access就能达到系统设计的要求。处于对信息安全的考虑,我们必须安装一个UPS电源,这样可以在突然停电时尽可能的保护计算机的信息不受到损害,更重要

29、的是能够保证正在训练的队员完成时训练的数据得到保存,也可以保护机器的硬件。从软件角度来看,我们只需要在PC机上安装Windows XP 操作系统和一些基本的应用软件。对于操作系统,我们要格外注意,因为这里是数据中心,如果出现病毒入侵或者系统崩溃,那么对于整个消防训练基地的管理将带来不必要的损失。我们需要在PC机上安装杀毒软件以及病毒防火墙,最好能对硬盘做镜像,保证任何情况下数据不会丢失。根据电力电缆各项指示的具体内容和目前存在的问题的调查,我认为新的电力电缆无线温度监测系统应具有如下功能:(1)数据的输入和检验功能 能方便地进行各种相关数据的输入和编辑检验,并存入数据库。(2)数据的存储和数据

30、库管理功能 设计合理的数据库结构及数据结构,方便数据的存储和用户操作数据库。(3)数据处理和显示功能 能根据用户的需求对数据进行处理,如增加、修改、删除等,并以适当的形式如报表、统计图等显示在屏幕上。(4)信息查询功能 新系统应具有较强大的查询功能,这不仅对专业人员很重要,可提高工作效率,而且对其他人员也很重要,可以就自己感兴趣的内容进行查找,所以新系统不仅应提供简单查询的功能,还应有提供多字段的组合查询。(5)打印输出功能 数据查询结果显示出来后,对一些比较重要或日后可能还需用到的内容,应设计适当的格式,可以打印输出。(6)友好的用户界面 新系统应具有良好的可操作性和易用性,方便一般人员的使

31、用而不必涉及数据库系统内部复杂的操作。4 系统整体设计4.1 后台数据库设计本系统后台采用Access数据库,设计了两个表格,realtime和setup,如图4.1所示:图4.1 Access数据库表设计图Realtime表存储从串口线接收到的记录,包括date、time以及各节点的温度数据值,如图4.2所示:图4.2 realtime设计图Setup表存储在设置模块下用户选择的参数值,包括温度报警上下限值、节点个数选择、发送数据周期、表格显示的节点名称,如图4.3所示:图4.3 setup设计图4.2 前后台软件整体设计图4.4 前后台软件整体设计流程图4.3 Access数据库管理软件介

32、绍数据库技术是数据组织与管理的技术,目前的管理信息系统几乎都建立在数据库系统的基础之上,因此,数据库技术是管理信息系统中的重要支持技术,是系统开发的重要组成部分。Microsoft Office Access是由微软发布的关联式数据库管理系统,是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。 Access能够存取 Access/Jet、Microsoft

33、SQL Server、Oracle(甲骨文软件公司),或者任何 ODBC 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的“进阶用户”则能使用它来开发简单的应用软件。虽然它支援部分面向对象(OOP)技术,但是未能成为一种完整的面向对象开发工具。图4.5 Access数据库设计图4.4 Delphi介绍本课题是在Delphi的基础上开发研制的,下面对Delphi进行简单的介绍。Delphi是Borland公司开发的可视化软件开发系统。Delphi系列软件的工作平台相当广泛,可以工作于Windows 95、Windows98、Windows N

34、T、Windows2000、Windows XP以及Windows 2003下,编程所用的语言为结构化程度相当高的Object Pascal语言。用过Delphi系列软件的程序员一定都会觉得Object Pascal 语言具有高度清晰的结构,高效率的优化系统,是一种简单易学,但又不乏其作为优秀编程语言的特点。同时,由于Delphi采用了内置高速的优化编译器,使得程序的编译、链接速度快的惊人。在与其相类似的可视化软件开发系统Microsoft Visual C+的比较中,我们不可否认Microsoft Visual C+的功能相当强大,但调试程序时的编译时间过长,使很多程序员感到棘手;而Delp

35、hi在编译时等待的时间很少。Delphi的编译器采用了事件编译和选择链接技术,使生成的可执行文件冗余更少,运行起来速度更快。另外,由于Delphi生成的可执行文件不需要动态链接库的支持,可以直接交付使用,这会使得使用Delphi的程序员充分享受Delphi为他们带来的方便快捷。Delphi系列另一个广受欢迎的原因是其强大的可扩展数据库功能。Delphi7.0不但在传统的开发能力方面持续进步,让程序员能够享有更具生产力的开发环境,对于最新的信息技术,也有非常良好的支持,让程序员能够快速地使用这些新的技术。并且支持了.net平台下的开发,让Delphi成为真正的引领潮流的多面手。在对Delphi有

36、了一个初步的了解之后,我们将进入对Delphi集成开发环境和工程管理的介绍,使大家能够进一步深入了解Delphi,并在此基础上介绍编辑器和调试器的使用方法。IDE是提供设计、运行和测试应用程序所需的所有工具的集成环境。Delphi的集成开发环境(IDE)包括代码编辑器、调试器、工具栏、图像编辑器以及诸多用于应用程序开发的组件(如数据库开发组件等)。所有这些都以集成方式进行操作,极大地简化了用户编程的过程。图4.6 Delphi界面 4.5 通信数据包格式的设计在系统进行串口通信中,对于串口数据包的格式的设计至关重要,这关系到接收端对接收数据的处理。由于系统的节点数是可变的,因此所设计的数据包也

37、是可以动态改变的,设计的数据包格式如图: 图4.7 通信数据包前四个字节是包头,包头字节为0xff,0xff,0xff,0xaa ,用于判断是否接收到是的数据包。 第5个字节是包长度,第6个字节是校验码,对整个数据包进行一个简单的校验,在接收端校验以判断接收到的数据是否正确。接下来的是N个数据值,节点数据值存储了温度数据与温度报警信息,前4位存储的是温度信息值,第5位是温度报警信息位。5 关键技术5.1 Spcomm串口通信技术Spcomm控件是一种串口通信控件,其底层核心共实现了三个类:串口类Tcomm、读线程类TreadThread以及写线程类TwriteThread。Tcomm的某个实例

38、在方法StartComm中打开串口,并实例化了一个读线程TreadThread和一个写线程TwriteThread,它们和主线程之间进行消息的传递,实现串口的通信。1、 Spcomm串口通信控件的基本属性、方法和事件,说明如下:CommName属性:计算机串口端口号的名字,COM1、COM2等,在打开串口前,必须填写好此值。Parity属性:校验位None、Odd、Even、Mark、Space等。BaudRate:设定支持串口通信用的波特率9600、4800等,根据实际需要来定,在串口打开后也可改变波特率,实际波特率随之更改。ByteSize属性:表示一个字节中使用多少个数据位收发数据,根据

39、具体情况设定5、6、7、8等。StopBits属性:表示一个字节中使用停止位的位数,根据具体情况设定1、1.5、2等。SendDataEmpty属性:布尔属性,为True时表示发送缓存为空,或者发送队列里没有信息;为False时表示发送缓存不为空,或者发送队列里有信息。StartComm方法:用来打开串口通信,开始通信。如果失败,则会导致串行口错误。错误类型大致分为串行口已处于打开状态,所以不能打开串行口;不能创建读写进程;不能建立串行口缓冲区等。StopComm方法:用来停止通信串行口所有进程,关闭串口。WriteCommData(pDataToWrite:pChar;dwSizeofDat

40、aToWrite:word)方法:是带有布尔型返回值的函数,其中参量pDataToWrite是要写入串行口的字符串,dwSizeofDataToWrite是要写入的字符串长度。该函数通过一个写线程向串行口输出缓冲区发送数据。发送操作将在后台默认执行。如果写线程PostMessage成功,则返回值为True,若写线程失败,返回值为False。OnReceiveData(Buffer:Pointer;BufferLength:word)方法:其中Buffer是指向输入缓冲区的指针。BufferLength是从缓冲区收到的数据长度。当输入缓冲区收到数据时,该事件被触发。当输入缓存有数据时将触发该事件

41、,对从串口收到的数据进行处理。2、 Spcomm串口通信的实现Spcomm串口通信控件具有多线程的特性,接收和发送数据分别在两个线程内完成,接收线程负责收到数据时触发OnReceiveData事件,用 WriteCommData()函数将待发送的数据写入输出缓冲器,发送线程在后台完成数据发送工作。在接收和发送数据前需要初始化串口,用 StartComm方法打开串口。退出程序时用StopComm方法关闭串口。实现PC机与单片机之间的数据发送及接收需要以下步骤:(1)初始化并打开串口需要选择本次通信使用的串口,确定通信协议。即设置波特率、校验方式、数据位、停止位等属性,打开该串口。示例代码如下:/

42、初始化并打开串口Comm1.BaudRate:=9600;,/波特率96obpsComm1.Parity:=None;/奇偶检验无Comm1.ByteSize:=8;/数据位8Comm1.StopBits:=1;/停止位1Comm1.StartComm;/打开串口(2)建立握手信号实现PC机与单片机之间的通信,首先要调通它们之间的握手信号,握手信号可以随意选择某特定字符串,当PC发出这样一帧数据后,通过接收事件能收到单片机 返回的这一帧数据或特定的某字符串。则表示握手成功,系统通信正常。两者之间就可以按照协议相互传输数据。否则需重新建立握手信号。(3)发送数据在编写基于串口的计算机工业测控时,

43、通常需要由PC机向下位机发送命令以控制下位机的行为,同时向下位机发送有关数据。利用Spcomm串口控件向下位机发送数据示例代码如下:/发送数据和控制字程序procedure senddata;Vari:integer,commflg:Boolean;begincommflg:=true;for i:=1 to 8 dobeginif not comm1.writecommdata(sendbutter,i)then beginCommflg=false;Break;end;end;end;(4)接收数据在编写基于串口的计算机工业测控时,通常需要由下位机向PC机发送数据以使PC机了解系统的测试数

44、据或下位机的运行状态,并进而控制下位机的行为。利用Spcomm串口控件接收下位机发送的数据信息的示例代码如下:/事件驱动方式接收数据程序procedure TForm 1CommlReceiveData(Sender:Tobject;Buffer:Pointer;bufferLength:Word);varreceivedata:array of byte;beginsleep(100);/等待lOOms,保证接收到所有数据move(buffer,receivedata,bufferlength);/将接收缓存区中的数据转移到数组中end;(5)关闭串口在系统开发中,应注意在不使用串口时应及时

45、关闭串口,释放系统资源,否则可能会影响系统的其它应用。关闭串口的代码如下:procedure TForm1FormClose(Sender;TObj ect:var Action:TCloseAction);begincomm1.StopComm ;end;3、 串口通信的关键技术Spcomm应用的核心在于主线程、读线程和写线程之间的消息传递机制,而通信数据相关信息的传递也是以消息传递的方式进行的。在使用Spcomm进行串口通信编程,除按照说明使用外,还需要特别注意以下两个问题。首先,Spcomm是通过ReadIntervalTimeout属性的设置,来确定所接收的的数据是否属于同一帧数据,其

46、默认值为100ms,也就是说,只要任何两个字节到达的时间间隔小于100ms,都被认为是属于同一帧数据,在于单片机协同工作时,要特别注意这个问题。另外,Spcomm的默认属性设置是支持软件流控制的,用于流控制的字符是13H(XofChar)和11H(Xonchar),当单片机以二进制方式发送数据时,必须要禁用Spccomm对软件流控制的支持。否则,在数据帧中出现的13H、11H会被Spcomm作为控制字符而加以忽略。5.2 ADO数据引擎5.2.1 ADO数据引擎技术简介ADO(ActiveX Data Object,ActiveX数据对象)是Microsoft继ODBC之后提出的一套数据库规范

47、,它本身是ActiveX对象,并在Internet上结合ASP技术得到了大量的应用。ADO使客户端应用程序能够通过任何OLEDB提供者来访问和操作数据库服务器中的数据,而不必进行ODBC配置。ADO有两个主要优点:其一是易于使用、速度快、内存支出少和磁盘遗迹小。ADO支持建立客户端/服务器和基于Web的应用程序的关键功能;其二是“远程数据访问(RemoteDataService,RDS),能通过一个来回的传输将数据从服务器移动到客户端应用程序或Web页中,然后在客户端对数据进行操作,最后将更新数据返回服务器。ADO是一种面向对象的编程接口,与其同IBM和Oracle提倡的那样,创建一个统一数据

48、库,不如提供一个能够访问不同数据库的统一接口,这样会更加实用一些。为 实现这一目标,微软在数据库和微软的OLE DB中提供了一种“桥”程序,这种程序能够提供对数据库的连接。开发人员在使用ADO时,其实就是在使用OLE DB,不过OLE DB更加接近底层。ADO的一项属性远程数据服务,支持“数据仓库”ActiveX 组件以及高效的客户端缓存。作为ActiveX的一部分,ADO也是COM组件的一部分。ADO是由早期的微软数据接口远程数据对象RDO演化而来的。RDO同微软的ODBC一同连接关系数据库,不过不能连接非关系数据库。 ADO向我们提供了一个熟悉的,高层的对OLE DB的Automation

49、封装接口。对那些熟悉RDO的程序员来说,你可以把OLE DB比作是ODBC驱动程序。如同RDO对象是ODBC驱动程序接口一样,ADO对象是OLE DB的接口;如同不同的数据库系统需要它们自己的ODBC驱动程序一样,不同的数据源要求它们自己的OLE DB提供者(OLE DB provider)。目前,虽然OLE DB提供者比较少,但微软正积极推广该技术,并打算用OLE DB取代ODBC。 ADO向程序员提供了很多好处。包括易于使用,熟悉的界面, 高速度以及较低的内存占用(已实现ADO2.0的Msado15.dll需要占用342K内存,比RDO的Msrdo20.dll的368K略小,大约是 DAO

50、3.5的Dao350.dll所占内存的60%)。同传统的数据对象层次(DAO和RDO)不同,ADO可以独立创建。ADO针对客户/服务器以及WEB应用程序作了优化。 ADO (ActiveX Data Objects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。像Microsoft的其它系统接口一样,ADO是面向对象的。它是Microsoft全局数 据访问(UDA)的一部分,Microsoft认为与其自己创建一个数据,不如利用UDA访问已有的数据库。为达到这一目的,Microsoft和其它数据库公司在它们的数据库和Microso

51、ft的OLE数据库之间提供了一个“桥”程序,OLE数据库已经在使用ADO技术。ADO的一个特征(称为远程数据服务)支持网页中的数据相关的ActiveX控件和有效的客户端缓冲。作为ActiveX的一部分,ADO也是Microsoft的组件对象模式(COM)的一部分,它的面向组件的框架用以将程序组装在一起。 ADO从原来的Microsoft数据接口远程数据对象(RDO)而来。RDO与ODBC一起工作访问关系数据库,但不能访问如ISAM和VSAM的非关系数据库。 ADO是对当前微软所支持的数据库进行操作的最有效和最简单直接的方法,它是一种功能强大的数据访问编程模式。可以使用ADO 去编写紧凑简明的脚

52、本以便连接到 Open Database Connectivity (ODBC) 兼容的数据库和 OLE DB 兼容的数据源,这样 ASP 程序员就可以访问任何与 ODBC 兼容的数据库,包括 MS SQL SERVER、Access、 Oracle 等等。最重要的三个ADO对象是Connection, Recordset和Command. 本文将主要介绍Connection和Recordset这两个对象。每个Connection的属性定义了与数据源的连接。Recordset对象接收来自数据源的数据。Recordset可以与Connection一起使用,先建立一个连接,然后获取数据。尽管如此,

53、Recordset也可以被单独 创建,其Connection参数可以在Open属性定义。5.2.2 DELPHI的ADO控件开发基于ADO的Delphi数据库应用程序时,在组件面板的Data Controls页、ADO页和Data Access页上的组件允许我们的应用程序从数据库中读取和写入信息。每个数据可视(data-aware)的(ADO)Delphi表单,通常情况下都包含:(1)几个数据可视组件(Data Controls页),用于创建一个可视的用户界面(数据表单的外表)。(2)一个DataSource组件(Data Access页),作为表单上数据集组件和数据可视控件的窗口。(3)一个

54、或多个数据集组件(ADO页),提供对数据库表或查询结果中数据的访问。(4)一个连接组件(ADO页),把所有的数据集组件指向指定的数据库。数据控制(Data Controls)Delphi的数据可视组件通常位于Standard页,但也有一些被改良用于显示和操作数据集(表或查询)的内容的组件。控件的选择由我们想怎样显示信息和怎样让用户浏览(操作增加或编辑)数据集的记录所决定。例如,DBEdit和DBMemo用于显示数据集的单个记录。另一方面,DBGrid通常用于显示整个数据集的内容。既然所有的数据可视控件都是标准Windows控件的“副本”带有许多额外的属性,那么建立一个具有一定功能的数据库应用程

55、序 也应是一个相关的很熟悉的任务(译者加:与通常的Windows任务相比较)。所有的数据可视组件分享同一个属性:Data Source(数据源)。数据源(Data Source)简单地说,DataSource(数据源)组件提供一种机制,把数据集组件和显示数据的数据可视化组件相连。通常,你需要一个数据源组件,用于每个数据集组件与一个或多个数据可视控件的连接。数据集(Datasets)为了创建一个基于ADO的应用程序,Delphi提供了四个数据集组件:TAdoDataSet、TAdoTable、TAdoQuery和 TAdoStoredProc。所有组件用于获得、表示和改变数据。所有组件都可通过它

56、的ConnectionString(连接字符串)直接连接到 ADO数据库(和Access数据库的数据一样),或者,它们可以共享一个连接。当通过TAdoConnection组件连接时,该连接将指定一个ADO 连接对象连接到ADO数据库。ADO连接(ADO Connection)ADOConnection组件用于建立与ADO数据库的连接。尽管每个ADO数据集组件能直接连接到数据库,但我们仍将使用ADOConnection 组件,因为该组件提供了方法和属性用于激活连接、直接访问ADO数据库和处理事务。为了连接到指定的数据库,我们使用 ConnectionString(连接字符串)属性。5.3 实时曲线绘制技术利用曲线显示数据可以很直观的显示出数据的变化情况,比纯粹的数据显示更具有说服力,因此在涉及到大量数据处理的场合,曲线绘制是必不可少的一项工作。在DELPHI 7 中有专门的用于处理曲线绘制的控件Tchart(见图5.1),利用Tchart控件可以在DELPHI中方便

温馨提示

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

评论

0/150

提交评论