(计算机软件与理论专业论文)cs模式在监控系统中的研究与应用.pdf_第1页
(计算机软件与理论专业论文)cs模式在监控系统中的研究与应用.pdf_第2页
(计算机软件与理论专业论文)cs模式在监控系统中的研究与应用.pdf_第3页
(计算机软件与理论专业论文)cs模式在监控系统中的研究与应用.pdf_第4页
(计算机软件与理论专业论文)cs模式在监控系统中的研究与应用.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机软件与理论专业论文)cs模式在监控系统中的研究与应用.pdf.pdf 免费下载

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

文档简介

摘要 论文首先分析了分布式监控系统的设计要求。之后,在对设计要求进行分 析的基础上,结合了传统集中式监控系统及组态软件的设计与实现,同时以分 布式对象技术为支持,提出了基予c s 模式的分布式监控系统的网络结构和软 件结构。论文分别对数据通讯、数据访问以及系统实时性等几项关键技术进行 了详细的论述。针对这几个方面,论文提出了划分协议层次和统一协议接口的 系统设计思路;讨论了本地访问数据、远程访问数据以及在w e b 上发布数据三 种数据访问的方式;并从实时数据库的使用和服务器功能优化等方面,具体的 介绍了以提高系统实时性为目标的几种实现技术。最后,论文在总结了前面几 项工作的基础上,探讨了监控系统的未来发展方向,并在基于现有的分布式技 术和软件架构的基础上提出了更为通用的分布式监控系统的解决方案。 关键词:分布式监控系统,集中式监控系统,组态系统,构件,注册,实 时数据库,数据访问,协议 要韭三些查兰堡主兰苎一 & b s t r a c t n l i s p a p e rw o r k so n t h ed e s i g na n dr e a l i z a t i o no fd i s t r i b u t e dm o n i t o r i n g s y s t e m i nt h eb e g i n n i n gp a r to ft h i sp a p e r , s e v e r a lp r i m a r yd e s i g n i n gp o i n t sa r e f i r s t l yp u tf o r w a r d a sf o rd i s t r i b u t e dm o n i t o r i n gs y s t e mc o m p a r e dw i t hc e n t r a l i z e d m o n i t o r i n gs y s t e ma n dc o n f i g u r a t i o ns y s t e m ,t h i sp a p e rb r i n g sf o r w a r di t ss t r u c t u r e o fn e t w o r ka n di t sf r a m e w o r km a i n l yb a s e do nt h ec sp a t t e r n w h i c hd e p e n d so n t h ed i s t r i b u t e dc o m p o n e n tt e c h n o l o g y t h r e ep o i n t sa r ee m p h a s i z e di nt h ep a p e r f i r s t ,t h ei d e o l o g yo fc l a s s i f y i n gt h ed a t aa n du n i f y i n gt h ei n t e r f a c e so fu s i n gd a t ai s p r e s e n t e di nc o n s i d e r a t i o no fh o w t oa c c o m p l i s hd a t at r a n s m i s s i o n s e c o n d t h r e e w a y s t og e td a t a , r e s p e c t i v e l yf r o mt h e1 0 c a l ,f r o mt h er e m o t ea n df r o mt h ew e b ,a l e d i s c u s s e df o rt h ep u r p o s eo fd a t aa c c e s s a n dt h i r d s e v e r a lt e c h n i q u e sa i m i n ga tt h e q u a l i t yo f r e a l t i m ed a t aa r ep u tf o r w a r d ,i n c l u d i n gt h eu s eo fr e a l t i m ed a t a b a s ea n d t h eo p t i m i z a t i o no fs e r v e rp e r f o r m a n c e a t i e rs u m m a r i z i n gt h ef i n i s h e dw o r k s o m e d e s i g n i n gm e t h o d s a n da p p l i e df i e l d si nt h ef u t u r ea r ea l s od i s c u s s e d w i t ht h eh e l p o fc u r r e n tt e c h n o l o g ya n ds o f t w a r ea r c h i t e c t u r e sa v a i l a b l ei nt h ed i s t r i b u t e ds y s t e m as o l u t i o no fd i s t r i b u t e dm o n i t o r i n gs y s t e mt h a tc a nb ea p p l i e di nm o r ef i e l d s ,i s p r o p o s e di nt h el a s tp a r to f t h i sp a p e r k e yw o r d s :d i s t r i b u t e dm o n i t o r i n gs y s t e m ,c e n t r a l i z e dm o n i t o r i n gs y s t e m , c o n f i g u r a t i o ns y s t e m ,c o m p o n e n t ,r e g i s t e r , r e a l t i m ed a t a b a s e ,d a t a a c c e s s , p r o t o c o l 3 第一章绪论 1 1 论文背景 随着工业的不断发展以及电力基础设施的建设,我国的供、用电体系正在 发生巨大的变化,对电器设备本身和控制保护设备的要求更为严格而且复杂。 电力市场的进步形成,也对测量、监测、控制系统提出新的要求。这些要求 表现为:要求测量控制设备能进行远程测量、累计、计算、存储各个时段负荷, 同时满足不同单位的各项要求而不至于相互影响;要求检测设备能及时发现危 及电网稳定运行的隐患;要求保护能够自诊断和监视报警,实现信息的共享与 保护的集成,能够进行波形的识别与定值的动态修改等。很显然,传统的保护 测量监控设备已难以满足电力工业及广大用户的要求。迫切希望有一种更加灵 活的、方便的、实时性更高的、多功能的监控系统。 各种各样的新型智能电子装置不断出现并在供用电系统中大量运用,初步 形成了低压智能配电中心、智能马达控制中心、电子脱扣器、变电站综合自动 化系统、馈线自动化系统、数据采集与监控系统等一系列的产品,也建立起来 信息收集与处理的通讯系统,对于提高电力系统的自动化水平和运行的可靠性 起到很大的作用。 上述这些技术以及其他硬件方面的技术的发展,使构造一种实时性、操作 便捷性、可靠性、内容丰富性等更好的监控系统成为可能。 在软件方面,随着计算机控制系统的发展,工业控制系统的复杂性的增加、 数量的增大,工业控制系统已经开始走向标准化,构成工业控制系统的可组合 化的硬设备已经成型这使得工业控制系统的兼容性、可靠性、互换性都大大 增加,并且使得系统易于升级和替换。而工业测控系统软件的开发就显得相对 落后,这使得大多数用户和项目承包商还需自行开发相应的应用软件,这既延长 了开发周期,又由于开发水平参差不齐,使得应用软件水平不高,质量不好, 造成了大量低水平的不必要的重复。人们认识到,得力的工业控制系统软件开 发工具在工业控制系统软件的开发过程中是必不可少的。从而出现了一种新型 的系统软件开发工具工业控制组态软件。用户可以通过工业控制组态软件, 自行经过组态过程构成其所需要的工业控制系统软件。 智能化电器、现场总线和工业控制组态软件三者的紧密结合为具备通信功 能的、传输信号全数字化的智能化监控系统的出现提供了强大的推动力。 智能化电器的功能实现是通过软件对设备的控制而完成的,软件系统的特 性直接决定整个系统的性能。为了适应智能电器发展的要求,方便用户的控制 和检修,软件系统应具备以下的特征:多任务实时系统,它可以保证满足不同 功能对实时性、可靠性的要求,也有利于实现软件的组态;用户的可编程支持, 程序开发人员不可能完全了解用户的实际需要,也不可能对各种情况完全考虑 的周到,提供给用户简单可行的编程支持十分必要,实际上,通过多任务内核 和相应的编程支持完全可以实现:系统的自检和监视,它是提高智能化电器可 靠性的重要保障,对于一般设备、器件的软件算法比较成熟。多处理器系统才 能真正实现完全的自检和诊断:网络通讯的多协议支持,为保证不同系统的兼 容,支持多种协议是软件系统的重要特性。 西北工业大学硕士论文 在现有的系统基础上,为了进一步扩充系统的功能,实现具有可靠性高的 子站分段管理,网络距离较远的子站之间的长距离管制,数据的集中管理以及 工程容量的扩充等具有网络特性的功能,提出了基于c s 结构的网络模式。这 就是该论文所要研究的内容。具体的讲就是,改变以往单机本地监控的模式, 采用一种基于局域网的多机远程监控的模式。 1 2 论文内容安排 本文在抽象和总结工程项目的基础上,结合软件复用和构件技术,参考国内外 优秀工控组态软件的设计思想。从集中式监控系统的实现出发,分析集中式监控系 统与分布式监控系统的异同,提出了分布式监控软件的体系结构和设计思路。 论文首先简要地介绍了分布式技术,并分析了分布式监控系统的特点,概要的 提出了在分布式系统设计中的设计要点。引出了分布式监控系统体系结构,在结合 监控组态系统地设计的同时分析了集中式监控系统的体系结构之后,从系统的构架 和数据存储等方面详细的讨论了分布式监控系统的体系结构,并提出一种贯穿全文 的构架方案。 论文重点探讨了针对分布式系统而提出的协议,并对协议进行了分层,对各层 的协议详细介绍了协议的具体要求和格式。 论文中还探讨了监控系统最重要的部分之一数据访问技术的实现,并结 合集中式。分布式以及基于w e b 三种访问方式,分别讨论了各自的需求特性和技术 要点。 针对监控系统的实时性,论文中从设计和实现的角度,提出了一些具体的方案, 并在论文中进行了集中讨论。 论文的最后参考国内外比较流行的监控软件以及它们的分布式方向的扩展,对 分布式监控系统作了前景展望,抛开一些技术局限,提出了比较理想的构架模型。 第二章分布式监控软件 2 1 分布式对象技术介绍 软件复用及分布式构件技术的最新研究成果为监控软件以及监控组态软件 提供了方便的研究和设计,尤其是在向分布式方面的扩展,更是起到了过渡衔 接的作用。下面就首先介绍一下构件以及分布式对象技术。 2 1 1 构件技术 构件是一种可复用的软件单元,是对系统中相对稳定的实体的抽象。构件 具有以下性质: 相对独立性。构件相对独立于其他构件,构件之间的关系是松散连接。 封装性。构件封装了内部设计和实现细节,外部只能通过接口访问构件。 可组装性。构件可以与其他构件组合构成更大的构件。 完成一个清晰、明确的功能。 遵循一套接口标准。 构件必须为复用者提供关于自身的信息。构件的描述有: 属性。是指构件可以由外部直接操作的特性,属性值可读,也可写。 功能接口。构件向外输出的可操作方法,也是对构件功能和活动的一种定 义。 依赖关系。指出当该构件被实例化时所依赖的构件或接口,这是构件完成 其功能所必需的部分。 关于构件的描述通常被称为构件的元数据( m e t a d a t a ) ,构件必须是可以浏 览的,即可以由工具将各个可复用构件的元数据列出来,使复用者能够了解到 关于构件的必要信息。 构件的设计应该遵循以下原则: 构件根据子系统或子功能来划分,使构件与实体相对应。 构件粒度不宜过大,实现的功能尽量单一,以方便复用。 接口设计要友好规范,既要满足信息隐藏的要求,还应该符合互操作的要 求,以便使用。 扩展性和兼容性,因此设计中的关键是定义构件应该对外暴露哪些接口以 及内部相应的应该实现哪些功能。 对构件进行复用的目的在于使用目前可获得的构件构造出可运行的应用程 序或者更大的构件。构件组装过程即是把现有构件加入到个框架中,然后将 所加入的构件利用事件进彳亍连接的过程。对于源码型构件,相互之间的连接方 式相对简单,只需首先对源码进行必要的分析,然后在调者代码中适当的位置 加入对被调用者的调用语句即可。采用这种方式,一旦建立起连接关系后就很 难再进行调整,因为连接关系信息被编译在目标码中,如果要对其进行调整, 必须修改源码,并重新编译。分布式构件采用构件接口引用( r e f e r e n c e ) 机制来 6 实现构件连接,解决了在不改变目标码的前提下加入连接信息的问题。这种连 接方式很灵活,增强了动态配置的功能,使系统可以在运行过程中增加新的构 件或替换旧的构件,并且不影响系统的正常运行。 构件组装工具是构件技术的重要组成部分示构件以及图形化操作构件等多 方面功能。 1 构件浏览 它首先应该能够浏览被复用构件的信息,包括构件层次、构件属性、 构件分布等。这些信息通常存放在构件池中,可以根据设计需要从中查找 满足条件的构件。对于满足条件的构件,可以根据构件分布信息将其实例 化,并在组装空间中表示出来。由于构件可能存在依赖关系,因此可以在 实例化一个构件之前应该首先将其所依赖的构件实例化。 2 构件的图形表示 尽管分布式构件多数是在运行过程中不可见的构件,在设计过程中为 便于对构件进行操作,必须将其在构件组装空间中以图形化的方式表示出 来。构件的图形化表示可以根据需要突出表示开发者最关心的信息,而将 不重要的信息予以屏蔽,有助于降低开发过程的复杂程度。图形化构件的 另一个好处是可以采用“拖”、“放”的形式将构件装入另外一个包含者构 件中。并在拖放结束的同时完成实例间的包含操作。 3 构件的关联 事件关联是构件组装的另外一项核心内容,事件源与事件监听者通过 一条有向线段进行事件间的关联,事件源对应构件某属性,监听者对应- 另一构件的某一操作。该工作完成的同时,事件监听者完成了自身向事件 源的注册操作。 2 1 2 分布式对象技术 当前主流分布式对象技术有:m i c r o s o f t 公司的c o m d c o m 、对象管理组 o m g 的c o b r a 以及s u n 公司的e j b 。它们相互借鉴相互竞争,各有千秋。c o m d c o m 跨平台能力相对较弱,但对基于w i n d o w s 的开发来说,c o m d c o m 集成在 操作系统中。能最大限度的发挥性能,而且有成熟强大的开发工具支持,因而 得到广泛的应用。利用c o m 通讯机制可以组装不同开发商提供的构件,c o m 的 核心是一组应用程序调用接口,该接口提供了创建构件和组装构件的方法。d c 册 是c o m 的扩充,其目的是适应分布式网络环境,支持不同节点上、不同操作系 统、由不同语言实现的对象进行互操作。本文使用c o m 技术开发工控组态软件 的核心构件,并使用d c o m 实现了分布式处理和远程访问。 一、c o m 对象 类似于c + + 中对象的概念:对象是某个类的实例,而类是一组相关数据和 功能组合在一起的一个抽象定义,c o m 对象是c o m 构件的实例。使用对象的应 用( 或另一个对象) 为客户,对象对于客户来说是不可见的,客户请求服务是通 过接口进行的。c o m 构件提供给客户的是以对象形式封装起来的实体。客户程 序与c o m 构件程序进行交互的实体是c o m 对象,它并不关心构件模块的名称和 位置,但它必须知道自己在与哪个c o m 对象进行交互。 西北工业大学硕士论文 二、c o m 接口 接口是构件和客户程序通信的基础和关键。c o m 接口是组逻辑上相关的 函数集合。c o m 对象可以提供多个c o m 接口,通过每个接口的成员函数为客户 提供各种形式的服务。每个c o m 接口都用一个1 2 8 位的全局唯一标识符( g u i d ) 来标识。客户通过g u i d 获得接口的指针,再通过接口指针调用相应的成员函数。 接口是由接口定义语言( 1 d l ) 来定义的,i d l 定义的接口能够完整的给出该接口 的定义并详细给出每个操作要求的参数。i d l 提供了一种不依赖于任何语言的 接口定义方法。 三、c o m 库 c o m 库是操作系统层次上实现的系统级代码,它提供了c o m 通信必需的基 础代码,使得构件对象和客户程序之间可通过接口在= 进制代码级进行交互, 而且大大简化了c o m 构件的开发。c o m 库包括以下内容: 提供少量a 函数实现客户和服务器端c o m 构件的创建。 通过注册表查找并定位c o m 构件。 提供了一种标准的内存控制方法,使用控制进程中的内存分配。 四、c o m 的客户服务器模型 c 0 m 基于客户服务器模型,其工作方式类似于服务器,可以接收处理客户 程序的请求,井产生回复信息。c o m 的客户服务器模型如图2 2 所示。 图2 ic o m 客户服务器模型 五、c o m 特性 c o m 具有以下特性: 语言无关性。 c o m 规范的定义不依赖于特定的语言。与面向对象的编程语言不同, c o m 规范采用二迸制代码级的标准。面向对象的封装性只是语义上的封装, 对于对象使用者是可见的,面向对象编程语言( 0 0 p ) 实现的对象只能在相 同的语言中复用。c o m 对象把o o p 语言中对象的数据和功能实现完全封装 起来,对外提供一致的接口,客户只有通过接口才能调c o m 对象,从而使 得c o m 对象可以在各种语言中复用。 进程透明性。 c o m 对象在实现时有两种进程模型:进程内对象和进程外对象,分别 掣 e 蕊 包装为d l l 和e x e 文件形式。进程内对象在客户进程空间中运行:进 程外对象则运行在同一机器的另个进程空间或者在远程机器的进程空 间中。实现进程透明的关键是c o m 库,它负责构件的定位,管理构件对象 的创建和对象与客户之间的通信,使得c o m 对象不同的进程模型对客户程 序来说是透明的,从而为功能模块的实现提供了很大的灵活性。 可复用性。 面向对象的可复用性受编程语言的限制,局限于源代码级。通过继承, 派生类a 可以获得继承类b 的方法和属性,如果修改了类b ,那么类a 必 须重新编译或者修改相应的代码。c o m 规范则通过引入接口机制,把构件 的功能和具体实现分离开,实现了二进制级的复用,不受编程语言的限制, 其复用更简单有效。通过包容或聚合机制,对象a 可以完全复用对象b 的 功能,若对象b 版本升级,对象a 自动使用新版本的对象b ,而不需要重 新编译或者设置,因此c o m 的复用是动态的。 六、d c o m 分布式c o m ( d c o m ) 是c o m 的无缝扩展,可以支持局域网、广域网甚至通过 i n t e r n e t 连接的不同计算机上构件对象与客户程序之间或者构件对象之间的 相互通信。d c 0 m 处理了底层网络协议的所有细节,客户程序可以透明的调用远 程构件,构件的位置是透明的,其结构模型如下图所示。 广 ,、厂 弋、 ) 客户h 黑) i 构件卜一一。一器) l 。、一j 、。一、,一【一,。,、j 1 、,。,。 f安全 d e c 安全 d e c l提供器 r p c 提供器r p c f协议栈协议栈 图2 2d c o m 结构模型 在典型的分布式应用系统中,d c o m 构件封装了业务逻辑,运行于应用服务 器,客户调用这些构件,从而完成实际的功能操作,如访问数据库或进行一些 复杂的数据处理,客户程序只负责接受用户的输入并把服务器的响应结果反馈 给用户。这种结构减轻了客户程序负担( 要求服务器具有较高性能) ,节约了网 络资源,提高了系统的整体性能。d c o m 除了具有位置透明性、可复用性、语啬 无关形等基本c o m 的特性外,从分布式的角度来看,还具有如下特性: 可扩展性: 基于d c o m 的分布式应用可以适应系统规模的变化。一方面d c o m 利用操 作系统的可扩展性,如w i n d o w s n t 的多c p i j 支持;另一方面,d c o w t 提供了 灵活的配置方案,位置透明特性保证在不同服务器上配置构件而不必修改 构件源代码。 可配置性: 基于d c o m 的分布式应用可以方便的对系统进行重新配置,包括服务器 的变化、客户程序的自动安装等。d c o m 提供了一个图形界面的配置工具 d c o m c n f g e x e ,可以使客户程序和构件在不改变代码的情况下适应不同的 网络环境。 安全性: 分布式环境中的安全性非常重要。d c o m 使用了w i n d o w sn t 提供的可扩 展安全性框架,实现了构件的访问安全性和激活安全性。 协议无关性: d c o _ i 可以使用t c p i p 、u d p 、i p x s p x 等协议,对网络具有很强的适 应能力。 七、c o m d c o m 构件的开发环境 1 m f c a t l v i s u mc + + 提供了两种开发c o m 构件的工具m f c ( h i c r o s o f tf o u n d a t i o r l c l a s s ) 和a t l ( a c t i v et e m p l a t el i b r a r y ) 。 m f c 采用面向对象的方式将c o m 的基本功能封装在若干m f c 的c + + 类中,可 以通过继承这些类得到c o m 支持。m f c 通过预定义宏实现c o i l 接口的定义和对 象的注册等功能,并提供了对a c t i v e x 控件的支持。使用m f c 提供的c o m 支持 开发c o m 应用,大大提高了自动化程度,缩短了开发时间。然而,m f c 被设计 成开发w i n d o w s 平台应用的基本类库,使用m f c 开发的c o m 构件,代码冗余量 大,而且必须依赖于m f c 运行库才能正确运行,因此在网络环境的应用受到限 制。 a t l 是套基于模板的c + 十类库,它专门针对c o m 应用,其内部的模板类实 现了c 洲的一些基本特征,如一些基本c o m 接口i u n k n o w n 、i c l a s s f a c t o r y 、 i d i s p a t c h 等,也支持c o m 的一些高级特性,如双接口( d u a l i n t e r f a c e ) 、连接 点( c o n n e c t i o n p o i t i t ) 、a c t i v e x 控件等。a t l 充分考虑到构件在网络上的应用, 根据网络带宽低和服务器迟滞的现状,a t e 中的代码经过充分优化,可以创建 小巧快速的c o m 对象,并且不用附带任何外部的d l l ,适用于网络环境下实现 应用的分布式构件结构。a t l 最大的缺点是图形处理能力较弱。 针对 4 f c 和a t l 各自的特点,本文主要利用a t l 开发c o m 构件图形处理等, 需要m f c 支持的构件则利用m f c 进行开发。 2 微软事务服务器( m t s ) m t s 是个基于构件的事务处理系统,用于开发、配置和管理高性能、高 可靠和易扩展的企业级应用软件。m t s 提供了包括数据连接缓冲、线程管理、 事务服务等支持,很好的解决了多客户端利用构件频繁访问后台数据库等一系 西北工业大学硕士论文 列闯题。m t s 为分布式应用提供了底层的基础结构,它把应用系统的客户程序 和应用构件对象以及各种资源有机的组织起来。 m t s 的编程模型为开发构件提供了一个框架,这些构件中可以封装应用的 业务逻辑,而且屏蔽了复杂的细节,如并发性、安全特性等。m t s 的运行环境 是运行这些构件的中间平台。m t s 提供如下服务: 分布式事务处理。一个事务作为一个不可分割的操作来处理,事务中 的所有数据更新操作要么被成功提交,要么事务失败,所有数据更新 操作回滚到事务之前的原始状态。 进程和线程的自动管理。 通过即时激活( j u s t i n t i m ea c t i o n ) 和对象缓冲机制,优化对象实例 管理。 基于角色的分布式安全服务,用于控制对象的创建和使用。 2 2 分布式监控软件及其设计要点 分布式监控系统,是相对于集中式控制系统而言的一种新型计算机控制系 统,它是在集中式控制系统的基础上发展、演变而来的。这种分级分布式的计 算机系统实现了集中管理与分散控制相结合,性能稳定、可靠性高、易于操作 和维护。 集中控制系统是指将过程数据输入输出、实时数据库的管理、实时数据的 处理与保存、历史数据库的管理、历史数据处理与保存、人机界面处理、报警 与日志记录、报表直至系统本身的监督管理等所有功能集中在一台计算机中的 系统。其优点是结构简单、清晰,集中式的数据库易于管理和保证数据一致性。 但是集中式控制系统也存在很多缺点,表现在以下几个方面:1 ) 各种功能集中 在一台计算机中,使得软件系统相当庞大,各种功能要由很多实时任务完成, 而任务数量的增m 口会导致系统开销增大,使计算机运行效率下降:2 ) 由于集中 式系统需要庞大而复杂的软件体系,使得系统软件可靠性下降;3 ) 系统的可扩 展性差。限于计算机硬件的配置和性能,一个系统在建立时基本上就已经确定 了其最终能力,系统的扩展很困难:4 ) 所有功能集中在一台计算机上大大增加 了计算机失效或故障对接个系统造成的危害。 针对集中式控制系统存在的问题,分布式监控系统采用了以下设计原则: 1 ) 使用多台计算机共同完成所有过程量的输入、输出,每台计算机只处理一部 分实时数据,这样,任何计算机的失效只会影响到自身处理的实时数据,而不 至于造成整个系统失去实时数据;2 ) 用不同的计算机处理不同的功能,使每台 计算机的处理尽量单一,以提高每台计算机的运行效率和软件的可靠性:3 ) 用 计算机网络解决系统的扩充升级问题,计算机网络具有设备相对简单、可扩展 性强、初期投资较小的特点,只要选型得当,网络架构可以具有极大的伸缩性, 从而增强系统的可扩展性:4 ) 网络中的计算机处于平等地位,运行中互不依赖, 以保证任一计算机的失效只影响自身。 西北工业大学硕士论文 第三章体系结构 3 1 集中式监控软件的体系结构的分析与设计 与监控软件结合的软件产品往往包括组态平台,这里为了能够更好的介绍 监控系统需要简要的介绍一下组态系统,并在后面的体系结构分析中,结合组 态系统一起进行讨论 3 1 1 监控的组态系统 复用与产品化的目标是要找出并实现领域内系统的最大交集,在通过参数 化和恰当的定制。构造出满足特定需求的个性化软件应用系统,工控系统的共 性是相对稳定的,而可变性则是需要利用组态技术实现,以适应不同的工业现 场。工控软件的可变性一般包括采集数据的性质( 模拟量还是开关量,路数,精 度,物理意义等) ,数据分析处理的方法以及呈现给用户的方式,控制算法及其 需要实现的控制目标等。组态系统结构如下图所示。 图3 1 组态系统结构 1 系统组态:配置整个系统中现场测控对象的属性,包括站点序号、站点名 称、通信地址、地理分布、口令及权限等。 2 数据库组态:配置所采集现场测控对象的数据的属性,包括序号、物理名 称、数据类型、物理地址、采集频率、数据类型、测量精度、量程上下限 等,并由此生成相应的数据库表格,存储各种实时数据和历史数据。 3 通信组态:配置通信方式和通信协议等。 4 报警组态:配置报警的上下限、优先级、报警方式等。 5 流程图组态:使用图元对象制作流程图,并记录图元对象在流程图中的相 对位置关系及其关联数据。流程图通常需要动态实时的显示运行系统各种 采集信号的数据和状态,如温度、压力、流量、阀门的开关、水泵的启停、 水的流向等,因此需要图元对象具有动态连接属性,包括动态变化的数据 源和变化方式的信息。 6 图表组态:配置图表的数据源、颜色、坐标、频率等,包括实时趋势图直 方图和历史趋势图直方图。 7 报表组态:配置报表的数据源、报表数据的统计方法、格式、打印方式等。 运行系统通过加载组态配置信息生成目标运行系统,它从功能上可以划分 为数据通信、实时监控和数据管理三部分,这三部分通过数据进行交互。构成 一个有机的整体,如下图所示。 图3 2 监控系统结构 1 数据通信通过通信网络实现与现场测控对象的数据交互功能,主要包括数 据采集、参数设置和时间设置。 2 ,实时监控实现数据,报警、系统状态等信息的实时显示,以及现场设备和 参数的控制,主要包括流程图、趋势图、分布图等。 3 数据管理实现控制系统数据的存储、统计分析、打印、查询等功能,主要 包括数据存储、数据报表、数据查询等。 组态软件通常由于组态的内容和深度的不同,差别很大。对于用户来说, 个尽可能简单方便的组态软件,是他们的期望,但是,这个要求必然会导致 软件必须面向一个具体详尽的系统,从而降低了软件的通用性。如果这样,也 就失去了组态的意义。而一个通用的软件,需要考虑到很多方面,除了领域内 的共性之外,还必须考虑各个具体系统的差异。面对这样的问题,有两种解决 方法,首先,建立一个完备的领域内标准,使得该领域内的任何系统,只要遵 从了这个标准,就一定可行:第二种方法是把系统间的差异交给用户来处理, 软件只是提供尽量通用的接口,由用户使用接口来实现特定的需求。两种方法 中,第一种是理想的, 这个方法的思想同时也是软件在各领域中应用的一个期望,在前景展望一章将 有有关这方面更详细的论述。第二种方法是一种妥协,它的前提就是理想暂时 没有条件实现。所以软件的通用性就需要用户的介入,而软件为用户提供的处 理差异的通用接口也就成为了衡量软件通用性的一个标准,显然,这个通用接 口依赖于领域内系统之间的差异多少。 下面一节是一个电力监控系统及其组态软件的介绍,介绍中首先从需求上阐 述了已经重点讨论过的通用性方面的实现,这里主要是基于第二种方法;然后 具体介绍了软件设计方面的要点。这里的软件模型主要是依据y s s 2 0 0 0 监控组 态系统。 3 1 2 组态系统及监控系统的集中式体系结构 组态的过程是一个数据收集的过程。文件和数据库在系统中实现了数据的 集中管理。监控系统主要由功能部分和用户窗口两部分组成。两个开发子系统 主要针对这两个部分进行数据收集。 设备开发子系统以设备窗口信息模块和设备功能信息模块为中心支撑整个 系统,分别收集来自用户窗口的信息和入库设各的各种功能信息。并最终存储 在硬盘上的设备窗口文件和设备数据库中。 组态过程中所使用到的动态数据存放在动态申请的内存中,这些动态数据 保证了组态的灵活性。系统以类c d e v i c e l n f o 的实例形式在内存中记录了用户 窗口信息,图标图形信息和设备的其它信息等各种数据。下面是类c d e v i c e l n f o 的定义; c l a s sc d e v i c e l n f o a n s i s t r i n gs t r d e v i c e t y p e n o : t l i s t * t l s t i c o n l n f o : t l is t * t l s t i m a g e n f o ; t l j s t $ t i s t w i n i n f o : b o o ls a v e d e v i c e ( ) v o i dl o a d d e v i c e ( ) , 类c d e v i c e l n f o 中,s t r d e v i c e t y p e n o 记录用来唯一标识设备库中设备的 设备型号;链表t l s t w i n l n f o ,t l s t l c o n l n f o 和t l s t l m a g e l n f o 分另i j 记录当 前设备中的用户窗口信息,图标信息和图形信息。需要注意的是函数 s a v e o e v i c e 和l o a d o e v i c e 分别用于存储和载入设备信息,系统通过这两个函 数完成内存中动态数据与硬盘文件和数据库数据之间的转换。 两北t 业人学碳f + 论史 图3 3 系统设计示意图 j :狸”发厂系统以l 硎模块为,i ,i l 支撑整个系统。j :“模块收集川,纠【态 内符种予站价髓”j 1 : 终仃储在硬盘上的文件和数据阼q l 。与设褥j 1 :绞r 系统 ,! 似- i ;l , lj l :z 之j 二系统也将动态数据存储在动态f i i 请的内存i f f 。系统使f j 类 c p r o j e c t i n f o 的实例来记录了工程中子站信息、用户窗口信息、图标图形信息 和工程的基本信息。类的定义与c d e v i c e l n f a 相似。 运行监控子系统与上述的开发子系统不同,它不再以收集数据为目标,而 是使用由上述开发子系统得到的各种数据;运行子系统的另一个主要目标是采 集现场设备的实时数据,所以该子系统中是使用实时数据库作为中心模块来存 储现场设备的各种数据,而系统中的其它模块则以同步的方式对实时数据库进 行访问。运行监控子系统分为初始化和运行两个阶段,初始化阶段中系统从文 件和数据库中载入用户在工程开发系统中建立的组态数据,并构建实时数据库 结构;而在运行阶段,通过启动定时器和通讯线程系统完成显示的更新和数据 的实时更新。为了在有限的系统资源下保证系统正常工作,并对外显示有效数 据,显示部分更新的频率需要低于数据的更新频率。系统中采用线程内循环不 问断发送请求和接收应答来更新数据,而显示部分则使用定时器以5 0 0 m s 的时 间间隔进行更新。 3 2 分布式监控软件的体系结构的分析与设计 3 2 1 业务需求分析 为了满足对系统进行全方位监控的需要,分布式监控系统组态软件应该处 理以下业务: 查看工业现场的实时数据及流程画面; 统计并打印各种实时历史报表: 自由杖i j 览各个实时历史趋势画面; 及时得到并处理各种过程报警和系统报警; 在需要时,人为干预生产过程,修改系统运行参数和状态与管理部门的 计算机联网,为其提供实时数据。 3 2 2 功能分析 1 通过通信网络与下层的现场测控对象进行数据交互; 2 存储各种数据,经过分析处理以生动、形象的方式动态显示为上层管 理监视站提供所需的数据。 3 2 3 分布式监控系统的组态软件结构 分布式监控系统由组态软件系统和运行系统组成。组态系统处理系统可变 部分,通过配置系统相关数据,生成最终的图形化的目标应用系统,供系统运 行系统使用。运行系统在完成系统稳定不变的部分的同时,还通过加载组态生 成的数据以适应特定系统,从而最终完成系统监控的功能。运行系统与组态系 统之间通过组态数据库实现数据交互。 3 2 1 体系结构 这一节将重点介绍分布式监控系统的网络结构。 西北工业大学硕士论文 图3 4 分布式监控系统的网络结构 首先介绍几个概念 前台机 也称作上位机,是与现场下位机直接进行数据交换的主机。前台机 负责对下位机的数据访问以及从下位机采集数据。 客户机 请求数据的主机。前台机与客户机的区别是,客户机并不和现场的 下位机直接打交道,客户机的数据请求都来自于其它的主机。 服务器 负责系统中数据请求的路由。可以在不同的子网间互相交换数据请 求。 后备机 存储和管理数据的主机。后备机收集来自于各个前台机的数据,进 行存储和管理。 参照上面图示的网络结构,可以具体化每一个部分的功能。在一个具体的 监控系统中前台机和客户机往往是统一的,也就是说,一台主机可以参与与 下位机的数据交换,也可以对其它非本机的下位机进行数据请求。这里的不同 名称只是逻辑上的功能划分。以后的论述中,客户机和前台机指代的是同一对 象。 而服务器和后备机也可以只作为功能的划分,对于一个具体的系统,完全 可以将两个功能集中在同一台主机上,并用这台主机作为子网的标志,协助实 现各个子网间的数据通讯。这样做的好处,显而易见,简单了网络的管理,使 西北工业大学硕士论文 得数据请求和数据管理之间不需要经过太多的中介就可以交互。但是,这种功 能的集成,也大大的加重了服务器的负载。所以,在不同的网络环境下,也可 以将服务器和后备机分开,分别实现各自的功能。这点在后面的章节会有介 绍。论文中如果没有特别说明,是指前一种情况,即服务器和备份机的统。 正如上面所述,客户机请求数据,首先向服务器发送数据请求。服务器负 责集中管理子网内所有前台机采集的下位机的数据并形成数据库,包括实时 数据库和历史数据库。另外,服务器还要负责整个子网的网络管理,即在不同 的客户机之间发送数据请求和数据响应,同时,服务器还负责各个予网间的请 求交换。即将不同子网内的客户请求发送到客户要求的子网内,并且回送响应 数据。当服务器接收到客户机的数据请求后,服务器首先判断客户机请求的数 据所在范围,如果在它管辖的子网内,则直接查询由它管理的数据库,获得数 据,返回给客户机;而如果客户机请求的数据不在自己管辖的子网范围内,服 务器需要查询自己维护的一张路由表,这张路由表记录着分布在不同子网上的 系统的全局网络信息,服务器从路由表中获得数据所在的子网以及负责该子网 的服务器的地址,然后将请求发往远端子网的服务器,远端子网的服务器接收 到请求,查询自己管理的数据库,取出数据,并沿原路将数据送回前台机。 这种基于客户机服务器方式的体系结构是专门针对监控系统的实时性和 简单性设计的。由于监控系统数据的请求一般都很单一,所以管理也比较简单。 客户机服务器方式正是体现了这种简单性,同时简单的管理也减轻了整个系统 的负担,在某些方面保障了系统的实时性。 下面介绍另一种交叉式的网络结构。 图3 5 交叉式网络结构 在交叉式网络结构中,没有用于集中管理的服务器或备份机,各个前台机 维护自己的数据和整个网络的全局信息。数据的请求,完全给予直接的链路连 接。这种结构在某种程度上避免了客户机i n 务器方式的单点失效的问题,而且 直接的链路连接增强了数据的实时性。但是,数据的分散性使得数据不但大量 的冗余,而且,过多的链路连接使得管理过于复杂,加重了整个系统的负载。 另外在这种交叉式的网络结构中,各个前台机互相连接,增加了系统的开销, 数据管理混乱,也实现一致性和宪整性的保持。 而从系统的可扩展性上考虑。客户机服务器更便于向外扩展,独立的子网 之间的数据交换,只要通过单一服务器既可完成。对于其它子网的用户,访问 非本子网的数据,可以转交到服务器,有了服务器集中处理,简化了处理的过 程。 3 2 2 数据流和数据的存储 服务器的一个功能就是集中管理整个子网的数据。服务及建立个子网数 据的集合,存储所有的前台机的数据。而对于子网中的每个前台机,仍然需要 建立自己的数据集合。这是因为服务器上数据需要与前台机上数据致,无论 如何前台机上数据总是最及时的,服务器上数据的更新必须以前台机作为基准。 远程的数据访问可以通过访问本地的数据镜像来实现。即在远端主机上, 存放中心主机上的数据副本。从分布式的体系结构来看,中一d 主机不唯一,所 以数据副本的存放,需要具有三个个特点:一是完备性,二是一致性,三是最 小性。完备性指主机所要访问的数据完全可以从本地的数据库中获得,不用到 远端主机上获取,这样保证了数据的有效性。一致性保证了本地主机和远端主 机数据的一致:最小性体现了无冗余数据,即主机上存放的数据集尽量竭尽该 主机所能访问的数据集,减少了冗余数据的存储。第一点和第二点是必需的, 它直接影响了系统的性能:第三点可以根据主机的资源和能力来进行取舍。下 面一节主要讨论了第一点的实现。 3 2 3 基于数据完备性和一致性的设计 主动查询方式 访问远程数据的主机。根据用户访问的数据直接访问远端主机的数据。 这样做最大限度的节省了主机的资源,并且减缓了网络的负载,但是 牺牲了系统的实时性。 被动填充方式 提供数据的主机根据本地数据的更新去更新远程主机的数据副本。这 种方式保证了数据访问的实时性和一致性。但是却是以系统的资源扩 充和网络的负载增加为代价。 查询+ 填充 对以上两种方式进行综合利用。对数据按照使用的频率进行分类,常 用数据和非常用数据。两类数据采用相应的处理方式。常用的数据使 用被动填充方式,而非常用数据使用主动查询方式。这种不同,从时 间上和空间上都对系统作了充分的节省。但是经常访问数据和非经常 访问数据的划分是一个关键的因素。以电力监控系统为例,遥测中的 数据基本上属于经常访问数据,而遥讯数据属于非经常访问数据。 从上面的三种保持数据一致性的方式可以看到,系统可以采用所谓的“推” 或“拉”的方式来保证客户机与服务器上意义相同的数据能够具有相同的数据 值。这两种方式的根本区别在于服务器和客户机对数据传送的主动性上,在 “推”这种方式中,服务器定时的向客户机发送某些数据,客户机存储这些数 l9 西北工业大学硕士论文 据,以后客户机访问数据就可以首先查找本地的数据备份,因为正是这种“推” 的方式,保证了客户机和服务器数据的一致性。但是,这里需要考虑是否将服 务器上的所有数据定时的发送到客户机上,显然这种方法会大大的增加网络的 负担,反而降低了整个系统的实时性。一个好的选择方案是部分的发送数据, 而且保证这些数据是客户机最需要的,当然,这个数据的集合与客户机需要的 数据集合越接近越好。实现这种优化的方案可以通过开发系统的支持来完成, 服务器如何知道客户机需要什么样的数据,在系统组态的时候,就应该有客户 机告诉服务器,这些

温馨提示

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

评论

0/150

提交评论