(计算机应用技术专业论文)组态软件在动力环境监控系统中的应用研究.pdf_第1页
(计算机应用技术专业论文)组态软件在动力环境监控系统中的应用研究.pdf_第2页
(计算机应用技术专业论文)组态软件在动力环境监控系统中的应用研究.pdf_第3页
(计算机应用技术专业论文)组态软件在动力环境监控系统中的应用研究.pdf_第4页
(计算机应用技术专业论文)组态软件在动力环境监控系统中的应用研究.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

(计算机应用技术专业论文)组态软件在动力环境监控系统中的应用研究.pdf.pdf 免费下载

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

文档简介

摘要 组态软件在动力环境监控系统中的应用研究 摘要 组态软件是指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控 层、管理层两级的软件平台和开发环境,能以灵活多样的组态方式提供良好的用户开 发界面和快捷的使用方法,其预先设置的各种软件模块可以非常容易地实现和完成控 制系统的各项功能,并能同时支持各种硬件厂家的计算机和i o 设备,与高可靠的工 控计算机和网络系统结合,可提供软、硬件的全部接口,进行系统集成。 本文在分析和研究了国内外现有的主流组态软件平台的基础上,将组态软件的通 用特性和动力环境监控系统的特定的用户需求结合起来,设计了一个组态软件平台。 提出了组态软件平台的数据结构设计方法,文件结构及存储方式的设计方法,同硬件 设备通讯的解决方法,组态软件平台开发环境和运行环境的设计方案。而且,整个系 统利用面向对象的设计思想,在数据采集方面将采用多线程技术解决多通讯口同步实 时采集,并在内存中分解各通讯口采集到的数据时采用线程同步处理技术,刷新数据 显示将尝试使用消息驱动的方式,而不是采用一般实时数据常用的定时执行刷新的方 法。 针对组态软件平台中常用的组态画面可视化开发功能提出了自己的设计和解决 方案。并利用d e l p h i 实现了该组态软件平台的开发环境和运行环境,为课题提供了 通用的组态开发平台和运行环境。 本课题还基于j 2 m e 技术实现了在手机终端可以实时查询监控数据和告警的功 能,使得组态软件和移动通讯技术得到有机结合。 该组态软件平台满足了课题的要求,实现了对课题中用到的硬件设备的监控,为 课题提供了快速有效的开发平台。同国内外主流的组态软件相比,具有简单易用,系 统配置要求较低,成本低等优点。 关键字:组态软件,控件,串口通讯,可视化开发 a b s t r a c t a p p ii c a t i o na n dr e s e a r c ho fc o n f i g u r a t i o ns o f t w a r ei np o w e r a n de n vir o n m e n tm o nif o rs y s t e m a 8 s t r a c t c o n f i g u r a t i o ns o f t w a r ei st h es o f t w a r et h a ti su s e df o rt h ed a t ac o l l e c t i o na n dp r o c e s s c o n t r 0 1 i ti st h ep l a t f o r ma n dd e v e l o p i n ge n v i r o n m e n to nt h em o n i t o r i n gl e v e la n dt h e m a n a g e r i n gl e v e lo ft h ea u t o c o n t r o ls y s t e m i tc a np r o v i d et h eg o o dg u ia n de a s yw a yo f d e v e l o p m e n tf o r t h eu s e r sb ya l lk i n d so fc o n f i g u r a t i o nm a n n e l 研l es o f t w a r em o d e l ss e ti n a d v a n c ec a nc o m p l e t ea l lk i n d so ff u n c t i o n se a s i l y 1 h ec o n f i g u r a t i o ns o f t w a r ec a na l s o s u p p o r tt h ec o m p u t e r sa n di 0d e v i c e so fm a n yc o m p a n i e s b yu s i n gt h ei n d u s t r yc o m p u t e r a n dn e t w o r k ,t h es o f t w a r ec a np r o v i d ea l lt h ei n t e r f a c e so fs o f t w a r ea n dh a r d w a r ef o rt h e c o n t r o la n dm a n a g e m e n tl e v e lt op e r f o r mt h es y s t e mi n t e g r a t i o n o nt h eb a s i so fa n a l y z i n ga n d r e s e a r c h i n gt h ep r i m a r yc o n f i g u r a t i o ns o f t w a r ep l a t f o r m ,a t y p ec o n f i g u r a t i o ns o f t w a r ep l a t f o r mh a sb e e nr e a l i z e db yd e l p h i i th a st h ec o l n m o n c h a r a c t e r so fc o n f i g u r a t i o ns o f t w a r ea n dm e e t st h es p e c i f i cr i s e rr e q u e s to fp o w e ra n d e n v i r o n m e n tm o n i t o rs y s t e m t h ed a t as t r u c t u r eu s e di nt h es o f t w a r ep l a t f c i r n lh a sb e e n d e s i g n e d i td e s i g n e dt h ef i l es t r u c t u r ea n dt h em e t h o do ft h es t o r i n gd a t a a n dt h ep r o b l e mo f c o m m u n i c a t i n gw i t ht h eh a r d w a r eu s e di nt h i sp r o j e c th a sb e e ns o l v e d n em a i n f r a m eo ft h e d e v e l o p i n ga n dr u n n i n ge n v i r o n m e n th a sb e e nr e a l i z e d 1 1 1 es p e c i f i cs o l u t i o nt ot h ep r o b l e m s o f d e v e l o p i n gc o n f i g u r a t i o np i c t u r e sv i s u a l l ya n de d i t i n gs c r i p th a sa l s ob e e nr e a l i z e d d e l p h i h a sr e a l i z e dt h ed e v e l o p i n ge n v i r o n m e n ta n dr u n n i n ge n v i r o n m e n to ft h i ss o f t w a r ep l a t f o r m a n di tw i l lb eu s e do nt h ep r o j e c t t h i ss o f t w a r ep l a t f o r mp r o v i d e dt h ec o l n m o ns o l u t i o nf o r t h ep r o j e e t i nt h es y s t e m ,t h et e c h n o l o g yo fm u t i l - t h r e a di su s e di ns e r i a lp o r tc o m m u n i c a t i o n a n ds e p a r a t i n go fd a t a , a n dr e f r e s ht h eu it h r o u g ht h ee v e n tr a t h e rt h a nw a l ta ni n t e r v a l 1 1 l ep r o g r a mo ft h em o b i l ep h o n er e a l i z e dt h ef e a t u r et h a ts h o w st h er e a lm o n i t o rd a t a a n ds h o w st h er e a la l a r md a t a1 7 e a l i z e db a s e do nj 2 m e t l l i ss o f t w a r em e e t st h er e q u e s to ft h ep r o j e c t i th a sr e a l i z e dm o n i t o r i n ga n d c o n t r o l l i n g o ft h ed e v i c e su s e di nt h i sp r o j c o t i th a sb e c o m et h es o f t w a r ep l a t f o r mt h a tp r o v i d e saf a s t w a y o f d e v e l o p i n gt h ec o n f i g u r a t i o np i c t u r e s c o m p a r e dw i t hs o m ek i n d so ft h ec o n f i g u r a t i o n s o f t w a r ep o p u l a ru s e d ,t h i ss o f t w a r ep l a t f o r mh a st h ec h a r a c t e r so fe a s yu s i n g , l o ws y s t e m r e q u e s ta n dc o s t k e yw o r d s :c o n f i g u r a t i o ns o f t w a r e ,c o n t r o l s ,s e r i a lp o r tc o m m u n i c a t i o n ,v i s u a ld e v e l o p m e n t 独创性声明 本人郑重声明:所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表和撰写的研究成果,也不包含为获得华 东交通大学或其他教育机构的学位或证书所使用过的材料。与我一同工作 的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢 = e m 口 本人签名鏖筮j 啦日期j 竺鱼也 关于论文使用授权的说明 本人完全了解华东交通大学有关保留、使用学位论文的规定,即:学 校有权保留送交论文的复印件,允许论文被查阅和借阅。学校可以公布论 文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。 保密的论文在解密后遵守此规定,本论文保密期年。 本人签名童超嫜导师签名二臼勉日期 扣。占年加 一一 圭要翌! 望翌 s c s s s u s m 越 d l c i 主要符号说明 监控中心( s u p e r v i s i o nc e n t e r ) 监控站( s u p e r v i s i o ns t a t i o n ) 监控单元( s u p e r v i s i o nu n i t ) 监控模块( s u p e r v i s i o nm o d u l e ) 模拟量 开关量 控制量 1 第一章绪论 第一章绪论 1 1 前言 近年来,随着科学技术的发展,计算机技术及控制技术不断取得突破,对使用中的 动力设备实施计算机集中监控的重要性越来越引起人们的关注。在系统的实际应用中, 一般不同地点、不同规模的工程所需要的监控功能基本是一致的,但被监控的对象的种 类和数量却可能存在一定的不同。这样,就产生了一个问题,即运行软件所需完成的工 作是一样的,但针对不同的工程,需要根据实际情况配置不同的工程信息。正因为如此, 很多厂商将配置信息的配置部分与实时监控分开来,单独编写一个配置子系统来完成配 置信息的配置。在运行监控程序时,将配置予系统配置好的配置加载进来,从而实现不 同工程不需要修改监控程序,只需要重新配置一个新的工程配置。通过配鼍功能可灵活、 方便地增加、修改或删除监控对象和内容,为用户维护系统和进行系统扩容提供方便1 1 i 。 基于组态软件的方式构建一个高性能的监控系统就很好的解决了上述问题,它是利 用图形拖放的方式实现对监控对象和内容的增加、修改或删除,这样对用户而言,使用 很方便、快捷。另外一方面,组态软件在运行的时候,将采用多线程同步等技术,提高 监控系统的实时性。 上述方法虽然解决了因为不同工程而编写不同监控程序的问题,但这样做的话, 个新的问题也就随着产生了,即在监控过程中,如果配置信息需要修改,实时监控系统 不得不要停止运行监控程序,运行配置子系统修改工程配置1 6 】。这对实时监控系统丽言, 是一个不可忽视的问题。本课题也将就在线配置问题进行深入研究,并在多层架构的组 态软件中实现管理层和监控层之间进行同步在线配置,从而解决上述需要停止程序的问 题1 1 6 , 1 7 。 为了让系统管理员查询监控系统的信息更方便快捷,课题还设计了一个基于手机终 端的监控程序,该程序可以与组态软件进行通讯,从而实现在手机上可以实时数据的查 询和告警查询的功能。 1 2 本课题相关领域的现状及发展趋势 目前,国内外组态软件发展到了较高水平,拥有大批优秀组态软件l z 川。例如: w o n d e r w a r e 公司的i n t o u c h ;i n t e f l l u t i o n 公司的i f i x :西门子公司的w i n c c ;n a t i o n a l i n s t r u m e n t s 公司的l a b v i e w ;亚控公司的组态王;三维科技公司的力控组态。 其中,i f i x 图形功能很强,支持多种图形格式,其追加的图形库,内容丰富,解决 ,原来图形过大的问题。w i n c c 使用内部语言,环境如同c 语言,同样使得其功能扩 展变得容易。在国内,亚控公司的组态王功能方面做的比较完善,很多项目采用它进行 2 第一章绪论 施工固趔】。力控具有很多新的功能,例如j 策略编辑生成及运行程序,新一代基j 一嵌入式 系统的自动化控制软件,可提供比p l c 迥为强大、更为灵活的功能。力控w e bs c r v e r , 运行在w e b 服务器上的应用软件,可为世界各地的远程用户在台式机或便携机上用标 准浏览器实时监控现场生产过程。 很多国内外的组态软件功能日益强大,一方面它越来越适用不同的行业领域,另一 方面它不断提高整体运行性能【4 9 l 。其中,实时响应时间是组态软件一个很重要的性r 2 指 标,如何提高这一指标一直是组态软什的一个研究方向【1 5 】。另外组态软件还向支持在线 组态方面发展。大多监控组态软件基本只提供离线组态,配置信息需要更改时,组态软 件必须退出运行程序,这使得系统不能保证2 4 小时不间断运行,影响了整个监控系统 的性能。 1 3 动力环境监控系统简介 动力环境监控系统:即动力设备及环境监控系统的简称,是按邮电部颁发的标准所 开发的一套软硬件系统。 、 。 近年来,随着电信业务的快速增氏,对作为负责支撑这些业务的动力基础设施的管 理要求也越来越高。如何科学、合理的对这些分布广( 分布在全市各个电信营业厅) : 类型多的动力设备以及动力设备所处环境进行日常运行管理和维护,成为一个急需解决 的问题。 国外很多大的动力设备厂商,都有不同水平的与自己的动力设备柏配套的远程监控 软件。但由于其成本很高,而且只能监控本公司的设备,各种设备之| 1 日j 不能通用,同时, 由于各种类型设备的功能不同,所以与其配套的软件功能都比较专业化,且功能单一, 不能适应国内用户的需求。为了更好的满足需要,国内一些有实力的公司开始研制相关 的系统。 针对上述情况,基于较高的计算机技术平台,通过面向对象的技术,开发了套功 能丰富、具有开放性、兼容性很强的动力环境监控系统。考虑到系统的维护,版本升级 以及与其它系统连接,系统运用先进的开发工具,采用了开放式软、硬件平台。系统采 用标准三级结构,符合邮电部相关文件要求,同时也符合我国目前电信综合网管的实际 情况。系统的监控模块与各级应用软件为自主开发,并采用模块化设计,这就为系统的 平滑升级,用户的二次开发和特定化设计提供了可能。系统的监控模块采用面向电信电 源、空调及环境的专业化设计,即专用又通用,即分布又集中,真正做到设备配置的集 约化,以适应电信部门的不同情况,减少设备冗余,节约用户投资。 系统的基本功能:性能管理( 监视控) 、告警管理、配置管理、安全管理、设备管 理以及业务处理等功甜3 0 j 。 在长期的系统开发、升级过程中,目前系统已经形成了包括通信电源、空调及环境 监控系统;图像监控系统;基站监控系统;乡镇支局监控系统在内的全系列产品。 3 第一章绪论 动力环境集中监控系统采用逐级汇接的架构,通常由监控中心( s o s u p e r v i s i o n c e n t e r ) 、监控站( s s s u p e r v i s i o ns t a t i o n ) 、监控单元( s u - s u p e r v i s i o nu n i t ) 和监控模 块( s m - s u p e r v i s i o nm o d u l e ) 构成。系统拓扑结构图如图l 1 所示: 、 图1 - 1 系统拓扑结构图 d f i 9 1 1 s t r u c t u r ec h a r t o fs y s t e m 。 其中,监控中心( s c ) 通常设在本地网的市局,其主要职能是集中监视各机房的通 信电源、机房空调及环境设备的运行状况,并对监控站进行管理,也可对监控单元进行 监控和维护操作。 监控站( s s ) 在一个本地网内可设立多个,其主要职能是为监控中心进行数据分流、 过滤和通信枢纽,并受监控中心调度,执行对下属端局的监控和维护操作。监控站具体 的设立需根据电源及环境设备分布情况而定,通常设在区( 县) 局内。 监控单元( s u ) 设在各个被监控的端局,负责对端局内的监控模块进行管理,并负 责与监控中心或监控站通信。 监控模块( s m ) 直接对应监控对象接口,负责设备运行数据的采集和设备控制。 本系统采用组态方式设计,在监控中心( s c ) 、监控站( s s ) 、监控单元( s u ) 部 分均实现配置和运行分离,三个部分均通过各自的配置子系统进行灵活配置,然后在运 行监控程序时加载配置信息。 在系统设计初期,三个部分的配置程序各自负责各自部分的配置工作,它们之1 1 日j 由 于所需要的配置信息不完全相同,所以每个功能都需要对三个部分进行相应的配置。这 样,不仅整个工程的配置工作量很大,而且大大降低了系统配置的一致性、准确性。系 统也没有考虑修改配置需要停止运行实时监控程序的问题,但随着系统的不断升级,将 此功能进行了重新设计。 将原系统中的三个配置子系统变为只有监控中心( s c ) 有配置子系统,其他两个部 分的配置子系统的配置从监控中心( s c ) 的工程配置得到。在工程施工完毕后,形成了 4 第一章绪论 一个完整的监控中心( s c ) 工程配置,由监控中心( s c ) 配置子系统自动一次性,成 监控站( s s ) 、监控单元( s u ) 部分的工程配置。这样就可以完全保证三个部分配置的 一致性、准确性。 如果在以后运行的过程中,需要对工程配置进行修改,该工作也由监控中心( s c ) 负责,操作人员根据操作提示,修改工程配置后,在不停止实时监控的情况下,在线修 改工程配置,并将修改的部分通过通讯网络通知监控站( s s ) 、监控单元( s u ) ,它们 各自负责接收到通知信息后修改相应的配置部分。 1 4 组态软件在监控系统中的地位 动力环境监控系统是以标准的工业计算机软、硬件平台构成的集成系统,它取代传 统的封闭式系统,其具有适应性强、开放性好、易于扩展、经济、开发周期短等鲜明优 点【2 9 】。系统划分为控制层、监控层、管理层三个层次结构。 控制层主要由硬件设备组成( 控制层主要由硬件实现,由于论文重点研究组态软件 部分,所以本文将不详细描述该部分) ,该层在整个控制系统中主要负责与被监控的设 备进行信息交互。其中包括从被监控设备中获取实时的运行数据,以及实现对被监控设 备的控制。 其中监控层对下连接控制层,对上连接管理层,它不但实现对现场的实时监测与控 制,并且常在监控系统中完成数据的上传下达、组态开发的重要作用。监控层的硬件毛 受采用工业级的微型计算机【5 1 。 管理层主要是负责从监控层获取信息,并对获取到的信息进行显示、管理,悔l 时也 可以向监控层发送控制指令。管理功能包括根据要求分析数据,并统计出有参考价值的 结果,或产生相应的报表等。 具体层次划分如图1 2 所示: 图1 - 2 监控系统层次划分图 f i l l - 2l a v e fs t r u c t u r ec h a r to fm o n i t o rs y s t e m 5 第一章绪论 组态技术主要应用于监控层和管理层,使得这两层的监控内容配置完全变为图形化 操作,简化了配置流程,提高了配置准确性、运行速度和系统稳定性。在监控系统中采 用组态软件具有很多优点,系统软件的可组态性成为众多用户选择软件的前提。 1 5 自主开发组态软件的必要性 当前国内数以万计的工厂、企业正在筹划生产、经营和管理的综合自动化,监控系 统中采用组态软件已是大势所趋。从企业实际情况出发,单纯地引进设备和技术,而不 加以消化吸收,并不能从根本上解决问题,对技术的发展也不会产生多大促进作用。因 此,在这种形势下,开发适合自身实际情况的、全中文界面和高性价比的组态软件,就 显得十分紧迫和重要 2 7 1 。 1 6 本文的组织 本文由八章构成,本人工作重点在第三、四、五、六、七章,各章主要内容如下: 第一章简述组态软件的发展历史、现状、在动力环境监控系统中的地位,以及研究 和设计组态软件的意义。 第二章阐述组态软件应具备的功能,给出了它的设计思想、体系结构、数据流图。 讨论了整个软件的模块设计框架。 第三章阐述整个组态软件的并发通讯机制。通讯机制包括多线程采集数据机制和组 态软件监控层和管理层以及移动手机之间网络相互通讯机制两种。 第四章对通讯数据分解的过程以及消息驱动刷新机制进行描述。 第五章探讨组态数据在内存中的表示和存储方法,以及组态软件的数据库设计。 第六章讨论图形界面系统,主要提供了各种组态图元的实现技术以及描述了如何实 现在线组态。 第七章简单介绍动力环境监控系统的一个应用实例,还阐述了在手机终端实现实时 监控的设计方案。 第八章总结整个课题。 6 第二章监控组态软件的总体设计 第二章监控组态软件的总体设计 2 1监控系统对组态软件的性能要求 ( 1 ) 实时多任务 实时性是计算机控制系统应该歹【有的能在限定的时间内对外来事件作出反应的特 性。在具体地确定这里所说的限定时间时,主要考虑两个要素:其一,根据工业生产过 程出现的事件能够保持多长的时间;其二,该事件要求计算机在多长的时间内必须做出 反应,否则,将对生产过程造成影响甚至造成损害。可见,实时性是相列的。工业控制 计算机及监控组态软件具有时间驱动能力和事件驱动能力,即在按一定的时间刷期对所 有事件进行巡检扫描的同时,可以随时响应事件的中断请求。实时性一般要求i 算机具 有多任务处理能力,以便将测控任务分解成若干并行执行的多个任务,提高系统的效率。 ( 2 ) 高可靠性 在计算机、数据采集控制设备正常工作时情况下,如果供电系统正常,当监控组态 软件的目标应用系统所占的系统资源不超负荷时,则要求软件系统稳定可靠地运行。 ( 3 ) 图形组态方便快捷 图形组态是组态软件的一个重要性能指标。为了能适用不同监控内容,并能在缶f j 时 间内方便快捷配置好监控界面,要求有丰富的图形组态功能1 5 ,1 叭。 h ) 标准化和开放性 目前尚没有一个明确的国际、国内标准来规范整个组态软件,但在设计、开发组态 软件时,往往要求它的某些组件的功能或对外的接口符合当前某些标准或规范【1 8 冽。 2 2 监控组态软件的需求 组态软件的使用者是自动化工程设计人员。组态软件的主要目的是让使用者在生成 适合自己需要的应用系统时不需要修改程序的源代码,因此在设计组态软件时应充分了 解自动化工程设计人员的基本要求,并加以总结提炼,重点、集中解决共性问题。 下面是组态软件要解决的问题: 如何与采集、控制设备间进行数据交换;如何使来自设备的数据与计算机图形 画面上的各元素关联起来;如何处理数据报警及系统报警;如何存储历史数据 并支持历史数据的查询;以及各类报表的生成和打印输出;为使用者提供灵活、 多变的组态工具,可以适应不同应用领域的需求,最终生成的应用系统运行稳 定可靠;具有与第三方程序的接口,方便数据共享l 硐;如有必要,可集成工业 电视系统的功能,采用多媒体技术录制被控对象现场的音频、视频信息,然后 传至操作室供操作人员参考,或者进行对声音和图像信号进行特殊的分析处理。 7 第二章监控组态软件的总体设计 为了更方便的查看监控系统的数据,本课题要求提供工作人员使用手机可以实 时查看监控数据和告警数据。 自动化工程设计人员在组态软件的组态环境中只需要填写一些事先设计的表 格,利用图形功能把被控对象( 如监控设备、温度计、趋势曲线等) 形象地画出 来j 并将画出的图形对象的属性与内存交量关联,然后再将内存变量( 点参数) 与被控对象的属性或加设备的实时数据关联。这些动画连接和数据连接关系 作为组态结果保存在文件中。组态软件的运行部件运行时读出组态结果并解释 它,然后在内存中生成完整的目标系统,被控对象的属性变化使计算机屏幕上 的相应图形对象的属性跟着变化;操作人员修改图形对象的属性值,引起i o 设备的实时数据发生变化,将会直接带动被控对象的属性变化。因此,j | f 控组 态软件又称为“过程可视化系统”。 2 3 组态软件的设计思想概述 本课题按照监控组态软件整体需求将组态软件大致分成下列模块: 丸通讯处理模块( 包括第三方程序接口模块) ; b 数据分解处理告警处理控制处理模块; 。 c 内存及数据库存储模块; d 图形界面处理模块; e 手机查询模块; 本课题总的设计思想框架如图2 - 1 所示: 图2 - 1 监控系统设计图 f i 9 2 1d e s i g nc h a r t o fm o n i t o rs y s t e m 8 第二章监控组态软利的总体殴计 正如上图所示,组态软件通讯处理模块a 将与硬件模块( f ) 通讯,采集刮现场设 备的数据( 硬件模块在此课题中将不详细描述) ,然后将采集到的数据传递给b 模块( 数 据处理模块) 。b 模块将对接收到的数据进行分解,如果有告警的发生,它也将进行告 警处理,如果用户下发控制指令,b 模块也将控制指令发送给a 模块。 b 模块还将分解后的数据发送到c 模块,c 模块将数据保存到内存和数据库中,同 时c 模块将同步刷新图形界面。 e 模块运行在手机上,它会主动定时发送查看数据请求给通讯处理模块( a ) ,这样 就可以实现在手机上查看实时数据了。 下面将分别阐述部分模块的设计思想。 2 3 1 通讯处理模块 通讯处理模块主要采用并发通讯机制。通讯机制包括多线程采集数据机制和组念软 件的监控层和管理层以及移动手机之间网络相互通讯机制两种。 本课题考虑到系统实时性的要求很高,所以在对硬件设备进行数据采集时,将采用 多线程技术。 本课题主要采集数据的方式是r s 2 3 2 和r s 4 8 5 ( 将通过转换器转换成r s 2 3 2 ) ,基 本都是通过计算机的串口进行通讯。考虑到计算机自身带的串口个数有限,所以在工程 应用中,一般采用在监控计算机中插入多串口卡,这种卡可以支持最多达6 4 个串口, 这样就大大扩展了串日的数量。在串口通讯子模块里,将采用一个有共享源码的控件 a s y c o m m ,这样我们以后可以根据自己的需要对该控件进行源代码修改。 在该控件的基础上,我们再进行了封装,以便组态软件其他模块进行调用,提高它 的独立性。 为了更好的管理,我们设计了一个通讯管理线程t c o l l e c t m a n a g e r ,它将执行 s t a r t w o r k 方法,该方法将统计出每个通讯口捆绑的模块( 当用户在组态配置系统里面配 置监控内容时,将已经配置好哪些硬件模块从哪个通讯口进行采集) ,并将每个通讯口 要采集的模块记录在内存中,将每个模块的参数写入到指定串口的模块数组中。根据挂 苜模块的串口数来知道需要启动线程的个数,最后创建各个线程,各个线程各自运行, 果集自己设备的数据。由于各个线程将并发的采集不同通讯口的数据,所以系统数据采 集的效率将很高。 组态软件监控层和管理层以及移动手机之间主要是采用s o c k e t 进行网络通讯。因为 s o c k e t 是一个标准的网络通讯方式,所以系统能同时也能提供给第三方一个标准的通讯 接口。 2 3 2 数据分解处理告警处理控制处理模块 为了提高系统实时性,本课题在数据分解、告警处理、控制处理方面也采用了多线 程机制。 9 第二章监控组态软件的总体设计 当通讯处理模块把各个通讯口中的数据采集完成,并进行相应的数据正确性效验 后,它将根据数据的处理类型,交付给相应的处理模块。由于采集和处理都是采用多线 程机制,所以不同通讯口采集的数据将并发的被处理模块处理。 本模块主要完成对采集到的数据进行分解,并将分解后的实时数据存储在内存和数 据库中,如果分解过程中分析有告警的发生( 根据组态软件设定的告警阈值) ,它也将 进行告警处理。如果用户需要下发控制指令给监控设备,本模块也将控制指令编码后发 送给通讯处理模块。 为了提高系统的整体实时性,本课题在图形界面实时显示方面,改变了一般组态软 件进行定时更新的方式,采用消息驱动刷新机制。该机制是在数据分解模块分解完数据 的时刻,马上将图形界面需要刷新显示的数据传送到图形界面,这样就使得系统图形界 面能够马上得到更新,不会像一般组态软件那样必须等定时去刷新,从而更加提高系统 的实时性。如何实现将在后面章节中描述。 2 3 3 内存、数据库存储模块 本课题在内存和数据库存储设计方面主要考虑存储三种数据,即:图形界面数据, 实时数据,历史统计数据。 图形界面数据主要是存储各个图形界面上配置的图元信息,这些信息包括每个界面 由哪些图元,每个图元的位置、大小等信息,各个通讯口的设置,以及每个图元与哪个 i o 端口相对应等。 实时数据是指从硬件设备采集到的最新数据,它会被数据分解模块分解后,按照链 袭的形式有规律的存储在内存中哺。 历史统计数据主要是存储比较重要的设备以往运行的状况信息和进行最大、最小、 平均、整点等统计后的数据。 其中,前两种存储在内存和数据库中。考虑到历史数据数据量比较大,同时对查询 的响应时间要求不是很高,所以只存储在数据库中。 2 3 4 图形界面处理 组态软件提供了友好的人机交互界面,利用各种图形工具、参数组态,使得系统功 能更易于实现,从而加快了系统开发速度,简化了编程工作。 目前,工控组态软件大都运行于w i n d o w s 环境下,充分利用w i n d o w s 的图形功能 完备,界面美观的特点,提供给用户丰富的作图工具,可随心所欲的绘制出各种画面, 并可任意编辑,从而将开发人员从繁重的画面设计中解放出来,丰富的动画连接方式, 如隐含、冈烁、移动等等,使画面生动、直观。 工程技术人员在组态软件中只需利用图形拖放功能把被控对象形象地画出来,通过 内部数据链接把被控对象的属性与m ) 设备的实时数据进行逻辑连接。当由组态软件生 成的应用系统投入运行后,与被控对象相连的y o 设备数据发生变化后会直接带动被控 第二章! 氍控组态软件的总体设计 对象的属性发生变化。若要对应用系统进行修改,也十分方便,这就是组态软件的方便 性。 本课题考虑到整个系统图形配置要求比较复杂,并且需要支持图形的动态生成,动 态拖动,动态删除等功能,所以需要设计一个扩展性很强的结构。在设计上将采用面向 对象的思想,充分利用o o 的多态性等特性,设计一个结构清晰的图元控件组。 整个图元控件组都从一个基类t s o n c l a s s 继承。该类封装了图元的基本属性和方法, 其它从它继承的图元将继承它的这些属性和方法,当然,如果子图元需要执行自己的特 殊方法或实现不同的方法,予图元类将重新实现这些方法。 图形界面中每个显示实时数据的图元都将被设置和一个内存中的监控参数相对应, 这样当该内存中的监控参数发生变化时,就会马上刷新图形界面中的图元,从而实现 u i 的实时刷新。 为了解决在监控过程中,如果配置信息需要修改,实时监控系统不得不要停止运行 监控程序的问题,本课题还在上述图形界面的基础上,实现了在线组态技术。下文中第 六章就如何解决这个问题进行详细描述。 2 ,3 5 移动手机上实现监控 , 随着科学技术的发展,移动手机的性能越来越好,而且手机的屏幕也越来越大,再 加上手机小巧轻便,很容易携带,如果应用程序安装在手机上,用户可以随时使用。正 凶为这样,一些第三方的应用程序也开始应用在手机上。 本课题考虑到上述原因,所以特在组态软件中开发了一个通讯接口,利用手机g p r s 功能在移动手机上实现对监控系统的实时监控,其中手机主要可以完成查询实时数据和 查询告警等功能。 2 4 组态软件的结构设计 从工程应用的角度来看,组态软件一般是由系统开发程序和系统运行程序两大部分 构成的,如图2 - 2 所示。 a 系统开发程序。它为工程技术人员提供一个通过图形拖放配置被监控内容的工作 环境。工程施工时,技术人员通过它可以设置好监控内容,设置好每个监控设备的数据 从哪个通讯口采集等。并将上述所有信息,保存到数据库中,供系统运行程序运行时使 用。 组态程序性能的优劣是实现系统组态的关键,它为用户提供了友好的界面,以方便、 紧凑的方式从用户处获得有关系统运行的信息,经系统效验通过后存储于数据库中,供 以后修改及运行程序使用。 b 系统运行程序。它负责从数据库中加载系统开发程序配置的信息,并根据这些信 息,生成相应的图形界面,在内存中生成相应的设备链、参数链。在运行过程中,通过 通讯口,从硬件采集到数据,将数据分解给相应的设备链的设备、参数链的参数。当前 显示的图形界面上的元素根据自己存储的相应设备编号,和参数编号刷新自己的最新数 据 图2 - 2 组态软件的结构设计图 f i 9 2 - 2 s t r u c t u r ed e s i g nc h a r to fc o n f i g u r a t i o ns o f t w a r e 本课题中,如果系统处于2 4 小时不问断运行过程中,该组态软件也可以支持在线 组态技术,可在不退出系统运行环境的情况下直接进入组态环境并使修改后的组态直接 生效。 、 进行工程施工最先接触的一定是系统开发环境,在通过一定工作量的系统组态和调 试,最终系统运行程序投入实时运行,完成一个工程项目。 2 5 数据流图 组态软件一方面通过i o 从现场设备获取实时数据【8 1 ,并对数据进行必要的处理后, 以图形方式直观地显示在计算机屏幕上;另一方面按照组态要求和操作人员的指令将控 制数据送给加设备,对执行机构实施控制或调整控制参数。 图2 - 3 直观地表示出了组态软件的数据处理流程。 第二章g t 控组态软件的总体设计 业务处理 画面显示 告警处理控制指令处理 4 d 数据源变量刷新、叫 数据存储处理 网络通讯处理 图形界面系统 数据业务处理通讯处理 俞介 il 、v , 移动手机中的程序 或其它第三方程序 被监控设备 图2 - 3 组态软件的数据处理流程图 f i 9 2 3 d a t af l o wc h a r to fc o n f i g u r a t i o ns o f t w a r e 2 。6 模块结构图 本课题基于以上分析设计了模块结构图,设计时我们采用逐步细化的方法,并按层 次进行。整个结构分为三层,即业务层、逻辑层、通讯层。 ( 1 ) 业务层模块结构图 图2 4 业务层模块结构图 f i 醇- 4m o d e lc h a r to fb u s i n e s sl a y e r ( 2 ) 逻辑层模块结构图 逻辑层分解来自系统的告警以及来自s c 或s s 的请求命令,同时将请求响应包转 第二章b 控组态软件的总体设计 _ 一_ 一 换为s c 或s s 可接收的格式。 鼍黠产l | 鼍宴学 至丽甄百丽1 降丽飘唇动1 响应包处理fi 请求包处理j 晰3 1 l l 啪3 1 2 警蔓曼多| | 缨设置响il 童警初始化1 r 鼯丽爵田r 研砭- 钉阿羁寝正嗣降誊蓑翳嗣陌譬藏验丽1 求包处理| | 应包处理i i 请求包处理| | 响应包处理i | 、应包处理| 求包处理| i 求包处理】i 应包处理l 婪! ! :! i i 些:! :! f i 墼! :! j l 墼i :! - j1 9 6 3 7i i1 1 6 3 8 啪3 9i 淞3 1 0 图2 - 5 逻辑层模块结构图 f i 萨- 5 m o d e lc h a r t o fl 0 9 i cl a y e r ( 3 ) 通讯层模块结构图 图撕通讯层模块结构图 f i 簖一6m o d e lc h a r to f c o m m u n i c a t i o nl a y e r 2 7 运行平台和开发工具的选择 目前,w i n d o w s 操作系统是运行组态软件的理想平台,该操作系统的稳定性、实时 性、多任务特性较好,而且其软件资源丰富,支持的i 0 设备数量繁多,图形界面标准。 正因为如此本课题以微软的w i n d o w s 操作系统为设计、开发环境。 1 4 第二章j 控组态软纠的总体设计 在设计、开发组态软件时,选择开发工具、语言也是重要的环节。现在歼发上具主 要有m i c r o s o f t 公司和b o r l a n d i n p r i s e 公司的开发工具集,不同的开发工具、语言各自擅 长。本课题采用d e l p h i 开发,并且本文用它来描述组态软件各组件的数据结构和程序段。 第三三章并发通讯机制 第三章并发通讯机制 在本课题中,主要需要解决的问题之一是如何提高监控系统的实时性。在数据采集 方面将采用多线程技术实现多通讯口同步实时采集,并在内存中分解各通讯口采集到的 数据时采用线程同步处理技术。在数据处理和数据、告警刷新显示处理上尝试使用合理 的方案,在配置信息有序存储的基础上,利用消息驱动的方式,也就是直接在内存中将 数据、告警通过事件、消息的形式传递给刷新显示处理模块处理。这样处理时间大大缩 短,实时性得到提高。 本章节将对并发通讯机制进行详细描述,其中包括多线程采集数据机制和组态软件 中监控层和管理层之间以及与移动手机之间网络通讯机制两种。 3 1 多线程通讯 使用多线程技术编程有很多优点,例如:、提高c p u 的利用率。由于多线程并 发运行,可以使用户在做一件事情的时候还可以做另外一件事。特别是在多个c p u 的 情况下,更可以充分地利用硬件资源的优势:将一个大任务分成几个小任务,由不同的 c p u 来合作完成。采用多线程技术,可以设置每个线程的优先级,调整工作的进度。 在d e l p h i 环境下,只要通过t r h r e a d 类就可以很方便地编写多线程应用程序1 1 0 ,b j ( 但不能直接使用,因此要派生新类) ,具体流程如下: 从t i l a r e a d 类派生出一个新的线程类 创建线程对象 设置线程对象的属性项 挂 起或唤醒线程( 根据具体情况操作) 。 结束线程。 3 1 1 监控层中通讯层设计 在本课题中,数据采集的实时性是最重要的指标之一。为了提高系统数据采集的实 时性,在硬件方面我们采用了多串口卡,该卡可以扩展计算机到6 4 个串口。在软件设 计方面,监控层采用了多线程设计,这样就可以支持对多个通讯口的同步数据采集,大 大提高采集的频率。同时在数据分解上,也采用同样的同步技术。 由于r s 2 3 2 支持的距离有限,一般在短距离内数据传输比较稳定,所以监控层考虑 通过r s 4 8 5 、普通拨号m o d e m 、专线m o d e m 或者其他远距离通讯设备中提供的r s 2 3 2 通讯口进行对远距离的设备进行数据采集。其中,r s 4 8 5 可以采用通讯转换器( 硬件设 备) 转换成r s 2 3 2 ,所以对软件而言,可以将它作为r s 2 3 2 通讯方式处理【1 2 , 1 4 j 。 综合上面的通讯方式,在数据采集方面我们主要设计了两种采集线程类进行处理。 一个是普通的串口采集线程,一种是对m o d e m 进行操作、采集的线程。具体在工程 应用中,将根据组态软- 牛- 对通讯端口类型的设置来决定该通讯口启用哪种线程。 在串口通讯子模块里,采用一个有共享源码的控件a s y c o m m ,这样我们以后可 第三章并发通爪讥制 以根据自己的需要对该控件进行源代

温馨提示

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

评论

0/150

提交评论