(计算机应用技术专业论文)基于构件技术的电力实时信息交换方法的研究.pdf_第1页
(计算机应用技术专业论文)基于构件技术的电力实时信息交换方法的研究.pdf_第2页
(计算机应用技术专业论文)基于构件技术的电力实时信息交换方法的研究.pdf_第3页
(计算机应用技术专业论文)基于构件技术的电力实时信息交换方法的研究.pdf_第4页
(计算机应用技术专业论文)基于构件技术的电力实时信息交换方法的研究.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

(计算机应用技术专业论文)基于构件技术的电力实时信息交换方法的研究.pdf.pdf 免费下载

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

文档简介

华北电力大学硕士学位论文摘要 摘要 电力系统实时信息软件依赖于多个不同功能的子系统,而各个子系统之间的传 统的数据交换方式没有一个统一的标准,造成接口众多、访问性、安全性差等多方 面的问题,从而形成了一个个的“信息孤岛 。在这种情况下,本文分析了现今较 为流行的几种构件技术的优缺点,从中找出一种更适合于电力系统实时信息交换的 o p c 技术进行研究。本论文以i e c 6 0 8 7 0 格式的现场设备的实时数据为例设计了一个 三层体系结构,主要工作是实现业务逻辑层,即实现o p cd a 服务器,并给出了此 系统的研究设计流程及实现过程,最终测试能够很好的进行电力系统的实时信息交 互。 关键词:构件技术,o p c ,实时信息,i e c 6 0 8 7 0 a b s t r a c t r e a l t i m ei n f o r m a t i o no ft h e e l e c t r i c p o w e rs y s t e mi sd e p e n d e do n m u l t i s u b s y s t e m so fd i f f e r e n tf u n c t i o n s , t h e r ei sn os t a n d a r dt ot h em e t h o d o ft r a d i ti o n a ld a t ae x c h a n g e s ot h e r ea r em a n yp r o b l e m ss u c ha s : m a n y i n t e r f a c e s , p o o ra c c e s s i b i l i t ya n ds e c u r i t ya n de t c , t h i sb r i n g so nm a n y “i n f o r m a t i o ni s l a n d ,u n d e rt h i sc i r c u m s t a n c e ,t h i sp a p e ra n a l y s e st h e m e r i t sa n ds h o r t c o m i n go fs e v e r a lp r e s e n tp o p u l a rc o m p o n e n tt e c h n o l o g i e s , a n df i n d so u tas u i t e dt e c h n o l o g yo p c f o rr e a l 一t i m ei n f o r m a t i o no ft h e e l e c t r i cp o w e rs y s t e mt or e s e a r c h t h ep a p e rt a k e st h ei e c 6 0 8 7 0f o r m a t sa s a ne x a m p l et oo b t a i nt h ed a t af r o mt h es p o te q u i p m e n t sa n dd e s i g nt h et h i r d l a y e rs y s t e ms t r u c t u r e t h em a i nt a s ko ft h ep a p e ri st or e a l i z et h eb u s i n e s sl o g i c l a y e r ,t h a ti s t os a y ,s t u d yh o wt or e a l i z et h eo p cd as e e r ,t h e np r o vid e st h e r e s e a r c hd e s i g ns c h e m ea n dt h ei m p l e m e n tp r o c e s so ft h i ss y s t e m ,a n di sv e r y s u c c e s s f u lt oe x c h a n g et h ee l e c t r i cp o w e rr e a l t i m ei n f 0 r m a t i o nt r o u g ht e s t i n g l i uh o n g - y a n ( c o m p u t e ra p p l i c a t i o nt b c h n o l o g y ) d i r e c t e db yp r o f z h a ix u e m i n g k e yw o r d sc o m p o n e n tt e c h n o l o g y , 0 p c , r e a l t i m ei n f o r m a t i o n , i e c 6 0 8 7 0 华北电力大学硕士学位论文摘要 摘要 电力系统实时信息软件依赖于多个不同功能的子系统,而各个子系统之间的传 统的数据交换方式没有一个统一的标准,造成接口众多、访问性、安全性差等多方 面的问题,从而形成了一个个的“信息孤岛 。在这种情况下,本文分析了现今较 为流行的几种构件技术的优缺点,从中找出一种更适合于电力系统实时信息交换的 o p c 技术进行研究。本论文以i e c 6 0 8 7 0 格式的现场设备的实时数据为例设计了一个 三层体系结构,主要工作是实现业务逻辑层,即实现o p cd a 服务器,并给出了此 系统的研究设计流程及实现过程,最终测试能够很好的进行电力系统的实时信息交 互。 关键词:构件技术,o p c ,实时信息,i e c 6 0 8 7 0 a b s t r a c t r e a l t i m ei n f o r m a t i o no ft h e e l e c t r i c p o w e rs y s t e mi sd e p e n d e do n m u l t i s u b s y s t e m so fd i f f e r e n tf u n c t i o n s , t h e r ei sn os t a n d a r dt ot h em e t h o d o ft r a d i ti o n a ld a t ae x c h a n g e s ot h e r ea r em a n yp r o b l e m ss u c ha s : m a n y i n t e r f a c e s , p o o ra c c e s s i b i l i t ya n ds e c u r i t ya n de t c , t h i sb r i n g so nm a n y “i n f o r m a t i o ni s l a n d ,u n d e rt h i sc i r c u m s t a n c e ,t h i sp a p e ra n a l y s e st h e m e r i t sa n ds h o r t c o m i n go fs e v e r a lp r e s e n tp o p u l a rc o m p o n e n tt e c h n o l o g i e s , a n df i n d so u tas u i t e dt e c h n o l o g yo p c f o rr e a l 一t i m ei n f o r m a t i o no ft h e e l e c t r i cp o w e rs y s t e mt or e s e a r c h t h ep a p e rt a k e st h ei e c 6 0 8 7 0f o r m a t sa s a ne x a m p l et oo b t a i nt h ed a t af r o mt h es p o te q u i p m e n t sa n dd e s i g nt h et h i r d l a y e rs y s t e ms t r u c t u r e t h em a i nt a s ko ft h ep a p e ri st or e a l i z et h eb u s i n e s sl o g i c l a y e r ,t h a ti s t os a y ,s t u d yh o wt or e a l i z et h eo p cd as e e r ,t h e np r o vid e st h e r e s e a r c hd e s i g ns c h e m ea n dt h ei m p l e m e n tp r o c e s so ft h i ss y s t e m ,a n di sv e r y s u c c e s s f u lt oe x c h a n g et h ee l e c t r i cp o w e rr e a l t i m ei n f 0 r m a t i o nt r o u g ht e s t i n g l i uh o n g - y a n ( c o m p u t e ra p p l i c a t i o nt b c h n o l o g y ) d i r e c t e db yp r o f z h a ix u e m i n g k e yw o r d sc o m p o n e n tt e c h n o l o g y , 0 p c , r e a l t i m ei n f o r m a t i o n , i e c 6 0 8 7 0 声明尸明 本人郑重声明:此处所提交的硕士学位论文基于构件技术的电力实时信息交换方 法的研究,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究工作 和取得的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得华北电力大学或其他教育机构的 学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示了谢意。 学位论文作者签名:惮日 期: 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权保管、 并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或其它复制手 段复制并保存学位论文;学校可允许学位论文被查阅或借阅;学校可以学术交流为 目的,复制赠送和交换学位论文;同意学校可以用不同方式在不同媒体上发表、传播 学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名:立拉啦 日 期:k 墨:圣:6 导师签名: 日期:型:三:7 华北电力大学硕士学位论文 1 1 选题背景及其意义 第一章引言 随着信息技术的发展,电力企业信息化程度不断提高,对大范围信息共享的需 求愈加强烈,尤其是实时信息的交互,对系统的开放性提出了越来越高的要求。而 今天业界所广泛采用的传统的d c s 等类系统由于采用自定义的专用网络和协议, 没有统一的接口标准,难以与其他厂家的系统或仪表互连、互操作,各家自成体系 所形成的“信息孤岛”难以与外界交换数据。因此,需要发展一种有效的技术为不 同厂商生产的软硬件提供系统集成与数据交换的途径。 正是在这种开放性要求的驱使下,构件技术应运而生。构件的概念是为提高软 件的可重用性而提出的,其思想是将软件按一定的标准封装成构件。整个构件隐藏 了具体的实现,对外提供一组访问接口,指明构件与其容器或与其他构件交互的机 制,它吸收了面向对象技术的模块化、信息隐蔽性、继承性等思想,以嵌入后马上 可以使用的即插即用型软件构件概念为中心,通过构件的组合来建立应用的技术体 系,因此构件的扩展和维护十分方便。在不同层次上,构件均可以将底层的多个逻 辑组合成高层次上的粒度更大的新构件,甚至直接封装到一个系统,使模块的重用 从代码级、对象级、架构级到系统级都可能实现,从而使软件像硬件一样,能任人 装配定制而成的梦想得以实现。 1 2 国内外研究动态 在电力企业中,有一类与生产密切相关的信息系统,它们实时获取d c s 、s c a d a 等生产系统中的现场数据,帮助管理者及时调度、指挥地理位置分散但又密切相关 的现代化生产,这就是实时信息系统( r e a lt i m ei n f o m a t i o ns y s t e m ,i 玎i s ) 。 与一般信息系统相区别,实时信息系统最大的特点是系统的实时性。由于有实 时数据库的支撑,实时信息系统可以实时地查询到企业各生产现场地生产实时数 据,这对于企业实时掌握生产情况,正确调度和指挥生产,以及及时处理生产中出 现的问题具有十分重要的意义。 从2 0 世纪7 0 年代开始,国内大量引进d c s 技术和产品。随着d c s 系统的大 量应用,企业的生产规模越来越大,企业的管理层就有了生产数据集中的需求,即 对实时信息系统的需求。9 0 年代初,在引进国外实时数据库的同时,国内已经有不 少单位开始研究实时数据库的理论并付诸实践。l o 多年过去了,国内实时数据库和 实时信息系统的应用有了较大的发展。但是由于从实时数据库到实时信息系统的构 l 华北电力大学硕士学位论文 件有相当的技术难度,而且运行和维护好一个实时信息系统决非易事,真正成功的 高水平实例不多。 目前在理论上对实时数据、实时数据库、实时数据库的结构等基本方面还没有 统一的定义和处理方法,实时数据库要达到关系数据库那样的理论和系统的统一尚 需时日。不同开发商的实时数据库系统对于实时数据的定义、理解和处理不尽一致, 对于实时数据库的功能和性能的要求也不尽一致,实时数据库能达到的实际性能与 功能也层次不齐,对实时数据库的访问也没有类似s q l 语言那样的标准。 另一方面,大量构件技术的涌现,统一了数据访问接口,使控制系统迸一步走向 开放,实现信息的集成和共享,用户能够得到更多的方便,同时也解决了使用实时数 据库所带来的技术难题和实时性能不高的问题。 1 3 本系统侧重点及论文要完成的工作 1 3 1 本系统的侧重点和主要解决的问题 ( 1 )建立一个三层软件结构,自顶向下依次为客户层、业务逻辑层以及数据 服务层,最终确定主要实现业务逻辑层,即o p cd a 服务器的实现。 ( 2 )从同步通信、异步通信两种方式中找出一种更适合电力系统实时信息交 换的通信方式来进行数据通信。 ( 3 )找出一种适用的方式转换从现场设备中获取的i e c 6 0 8 7 0 规约格式的实 时信息。 在本系统以电力系统的实时信息交换为主线,以o p c 数据访问服务器的开发为 实现目标。 1 3 2 论文要完成的工作 本课题立足于中国电力工业的实际,运用现代多层软件结构的设计理论,采用 当前主流的网络技术和编程语言设计开发了一个基于构件技术的电力实时信息交 换的应用系统。主要涉及以下几个方面的主要内容: ( 1 )研究多种构件技术,比较其优缺点,从中确定使用o p c 来研究电力系统 的实时信息交换。 ( 2 )熟悉电力系统实时信息交换知识,解决知识表达问题。 ( 3 )研究电力系统通信体系结构及其实时信息交互方式,熟悉i e c6 0 8 7 0 规约, 设计基于构件技术的电力系统实时信息交换模型。 2 华北电力大学硕士学位论文 ( 4 )将i e c 6 0 8 7 0 格式的现场设备的实时数据转换为o p c 可用的信息。 ( 5 )实现o p c 服务器与客户端的异步通讯。 华北电力大学硕士学位论文 第二章基于构件技术的电力系统实时信息交换的理论研究 2 1 构件技术 构件是软件的构成元素,具有一定的功能和结构,并符合一定的标准,可以完 成一个或多个特定的服务。构件隐藏了具体的实现,通过接口对外提供服务。一般 而言,构件是软件系统中具有相对独立功能、可以明确辨识、接口由契约指定、和 语境有明显依赖关系、可独立部署、可组装的软件实体。广义上讲,构件可以是数 据,也可以是被封装的对象类、软件构架、文档、测试用例等。软件构件就是可复 用的软件组成成份,可被用来构造其他软件。 目前,主流的分布构件技术标准有:由o m g ( o b j e c tm a n a g e m e n t 研o u p ,即对 象管理组织) 提出的跨平台的开放标准c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e r a r c l l i t e c t u r e ,即公共对象请求代理体系结构) 、m i c r o s o r 构件对象模型 c o m ( c o m p o n e n to b j e c tm o d e l ) 和 s u n公司的 e j b ( e n t e r p r i s ej a v a b e a n s ) 、 d d e ( d y n a m i c d a t ae x c h a n g e ) 、r m i 以及o p c 技术等,它们为应用软件的开发提供 了可移植性、异构性的实现环境和健壮平台,结束了面向对象中的开发语言混乱的 局面,解决软件复用在通信、互操作等环境异构的瓶颈问题。这里只着重介绍 c o r b a 、d d e 、o p c 技术。 2 1 1c o r b a 与依赖于微软平台的各种数据通信规范相比较,o m g 制定的c o r b a 规范也 获得了广泛的应用,它不依赖于任何平台。c o r b a 主要面向异构环境下的分布式 应用,能够屏蔽异构系统各种平台以及通信协议的不同,因此适合用于开放企业级 的分布式应用。 该规范定义了服务器端构件的结构及构件间互操作的结构,并描述了构件系统 平台的运行机制和相关的接口设计标准。c o r b a 分布构件技术采用的体系结构设 计是构件构件容器构件服务器三级系统模型,并规定了各级模型的内部结 构、实现功能,以及不同级之间( 主要是构件与构件容器) 的应用编程接口标准。 除了客户和服务器的静态关联之外,c o r b a 客户可以动态地发现一个服务器 的i d l 接口,而不需要有关服务器细节地先验知识。此外,支持o r b 的服务可提 供范围广泛的功能,诸如事件服务、事务和并发控制、持久对象和交易服务。应用 程序通过可移植对象适配器( p o a ) 访问这些服务。但缺乏对实时应用的支持,o r b 没有被设计得使操作服从时间约束,结果,有许多操作对软实时系统是不适合的, 华北电力大学硕士学位论文 更不用提必须在紧迫的时间约束之下进行操作的系统。 2 1 2d d e d d e 动态数据交换是在w i n d o w s 平台下两个进程之间的数据交换及命令的传 递,是基于消息的,并且利用通常的w i n d o w s 中的通信联络系统进行内部进程间 的相互通信。d d e 使用共享内存实现进程之间的数据交换及使用协议达到传递数 据的同步。 d d e 应用程序采用应用程序名、主题名以及项目名组成一个三层识别系统以从 其它的d d e 应用程序中辨认它们本身。建立起一个对话之后,客户应用程序能够创 建与服务器相连的一条或多条永久性数据链路,客户与服务器就是通过这条数据链 路来交换数据的。 目前,经常使用的软件如w i n d o w s 、w | 0 r d 、e x c e l 等都设计有d d e 接口,而大 多数工控组态软件也都有d d e 接口,这样,通过d d e ,很容易实现m i c r o s o f t w i n d o w s 产品与监控组态软件的数据交换。另外,当控制网络和信息网络之间具有 中间系统或共享存储器工作站时,也可以采用d d e 方式实现二者的集成,应用的 实质是各应用程序通过共享内存来交换信息,中间系统中的信息处理机是控制系统 的工作站,另外也是信息网络中的工作站。其中运行两个程序,一是接收、校验实 时信息的通信程序,为信息网络数据库提供实时数据信息:另一个是数据访问应用 程序接口,它接收d d e 服务器实时数据并写入数据库服务器中,供信息网络实现 信息处理、统计分析等功能。熟练掌握动态数据交换的消息传递机制是编写基于 d d e 多任务程序的关键。 d d e 方式不能适应大批量的数据交换,而且d d e 交换的速度比较慢,实时 性差。故d d e 在早期的软件系统中应用较多,目前仅应用于一些只有少量数据交 换的应用软件中。 2 1 30 p c o p c 意指o l ef o rp r o c e s sc o n t r o l ,即用于过程控制的对象链接嵌入( o l e o b j e c tl i n k i n ga n de m b e d d i n g ) 技术。它是世界上多个自动化公司、软硬件供应商 与微软合作开发的一套接口的工业标准。它基于微软现有的o l e 、组件对象模型 c o m 、分布式组件对象模型d c o m 技术,但又不同于o l e 。o p c 定义了一套适于 过程控制应用,支持过程数据访问、报警、事件与历史数据访问等功能接口。其中, o p c 实时数据访问接口( d a t aa c c e s si n t e r f a c e :d a ) 规范,它面向实时数据处理:对 于高敏感度的实时数据,o p c 将其从普通实时数据中分离,提出报警事件的概念, 制定了专门的报警及事件接口( a l a r ma i l de v e n ti n t e r f a c e :a e ) 规范;对于面向趋 5 华北电力大学硕士学位论文 势显示、历史分析、报表的数据,o p c 制定了历史数据访问接口( h i s t o r i c a ld a t a a c c e s si n t e r f a c e :h d a ) ;其他的o p c 规范还包括o p c 安全( s e c l l r i t y ) ,o p c 批处理 ( b a t c h ) ,o p c 可扩展标记语言( e x t e n s i b l em a r k u pl a n g u a g e :x m l ) ,以及o p c 数据 交换( d a t ae x c h a l l g e :d x ) 等。而常规应用中的o l e c o m 只是支持复合文档、数据 传递等功能。其设计目标是为现场设备、自动控制应用、企业管理应用软件之间提 供开放、一致的接口规范,为来自不同供应商的软硬件提供“即插即用( p l u ga n d p l a y ) ”的连接。当各现场设备、应用软件都具备有标准的o p c 接口时,便可集成 来自不同数据源的数据,使运行在不同平台上、用不同语言编写的各种应用软件顺 利集成。o p c 技术将成为工业管理控制中系统集成与数据交换的重要工具【2 】。 2 1 4 结论 基于上述分析,在实时信息处理方面,尤其是当通信数据大时,o p c 具有明显 的优势。因此,本系统拟采用o p c 技术来研究电力系统的实时信息交换。 2 20 p c 数据存取规范 在本章的第一部分,已经对o p c 数据访问规范进行了简单的分析。这一部分将 深入的介绍o p c 数据访问规范的主要内容,分析其技术特点,支持的对象与接口的 功能等。 o p c 数据访问规范包含【2 】: ( 1 )o p c 数据访问自定义接口规范主要描述o p c 组件对象的自定义接口及 其方法。 ( 2 )o p c 数据访问自动化接口规范主要描述了o p c 组件对象的自动化接口 及其方法。这套接口对相应的自定义接口进行了包装,以自动化“友好 的方式提供了与自定义接口完全相同的功能。它方便了v b 、d e l p h i 和其 它支持自动化的应用程序与o p c 服务器进行连接。 如同所有的c o m 结构一样,o p c 是c s 结构的,o p c 服务器提供标准的接口 供o p c 客户程序访问。o p c 服务器必须提供自定义接口,对于自动化接口,在o p c 规范定义中是可选的。所以本系统只研究o p c 数据访问自定义接口规范。 2 2 10 p c 数据存取规范的发展历程 o p c 技术规范是o p c 基金会组织倡导和制定的一个非赢利性的技术规范,由 一些世界上技术上占领先地位的自动化系统和硬件、软件公司与微软公司 ( m i c r o s o f j 【) 紧密合作而建立的,o p c 基金会负责o p c 规范的制定和发布。o p c 6 华北电力大学硕士学位论文 提出了一套统一的标准,采用c l i e n t s e r v e r 模式,针对硬件设备的驱动程序由 硬件厂商或专门的公司完成,提供具有统一o p c 接口的s e i w e r 程序,软件厂商 按照o p c 标准访问s e r v e r 程序,即可实现与硬件设备的通信。目前o p c 数据访 问规范得到广泛的应用,它主要解决服务器端和客户端的实时数据访问问题。1 9 9 7 年9 月发布o p cd a l 0 规范以来,先后经历了两次大的版本升级。 1 9 9 5 年3 月,u sd a t a 提出了一个提案,可以看作是o p c 规范的雏形。同年, o p ct a s kf o r c e ( o p c 基金会的前身组织) 提出了一个新的o p c 规范版本。同年的 1 2 月,o p c 规范草案发表。 1 9 9 6 年3 月提出o p c 规范草案第二版。同年8 月2 9 日发布o p c 规范1 0 版。 同时还在芝加哥成立了o p c 基金会。应用o p c 的商业产品在1 9 9 6 年开始出现。1 9 9 7 年发布了称为1 o a 版的o p c 数据访问规范。 1 9 9 8 年1 0 月1 9 日,发布了o p c 数据访问规范2 o 版。这是第一次重大的版本 升级。此后,o p c 基金会不断的推出o p c 数据访问规范2 o 版的修订版。2 0 0 2 年 的6 月2 8 日,发布了o p c 数据访问规范2 0 5 a 版,这是2 o 版本规范的最后一个 修订版本。 2 0 0 3 年3 月4 日,o p c 数据访问规范经历了第二次重大的版本升级,即推出了 一个几乎全新的o p c 数据访问规范3 o 版。3 o 版本与之前的版本相比,进行了许 多重大的改进,标志着o p c 数据访问规范逐步趋于完善f 2 】。 2 2 20 p c 技术的现状 由于o p c 已成为统一的工业标准,以及在工业生产过程的应用中所带来的优越 性,已获得广泛的支持。目前越来越多的厂商开始了o p c 的应用和对o p c 的支持。 目前国外对o p c 的研究及应用非常热门。有2 2 0 家企业是o p c 基金会的成 员,其中北美有8 7 家,日本有4 0 家,欧洲有5 4 家,其它地方有5 家,包括以 微软为代表的众多软件公司,还有g e 等工业领域的大公司,已经发布了4 0 0 多种 基于o p c 的产品,促成o p c 成为工业控制过程国际标准的地位。目前国内的o p c 研究比较少,基本还处于少数几个自动化研究院如沈阳自动化研究所及清华大学的 研究所。国内关于o p c 的研究论文也极其少,而且基本没有产品出现。 在o p c 的几个规范中,0 p cd a 在国外已经得到了大量的成熟的应用。o p ca e 目前的产品尚还比较少。h d s 规范尚在制定中。 目前国外对o p c 有关的应用包括: ( 1 )基于硬件:设备供应商提供o p c 软件包。 ( 2 )基于应用:客户针对设备供应商提供o p c 软件包的开发。 7 华北电力大学硕士学位论文 ( 3 )基于集成:s c a d a 系统,h m i 等系统集成软件。 ( 4 )基于o p c 开发工具;纯粹o p c 软件包工具供应商。 2 2 3o p c 的基本结构 o p c 的结构是客户机一服务器模式。一个o p cc l i e n t 可以连接一个或多个 o p c 服务器,而多个o p cc l i e n t 也可以同时连接一个o p c 服务器,各个o p c 客 户程序通过o p c 标准接口对各个o p c 服务器管理的设备进行操作,而不需关心 服务器的实现细节及设备内部具体细节。如图2 1 为o p c 客户端o p c 服务器关系 示意图。 图2 1o p c 客户端o p c 服务器关系图 o p c 规范通常包括两套接口:自定义接口( t h eo p cc u s t o mi n t e r f a c e s ) 和自动 化接口( t h eo p ca u t o m a t i o ni n t e r f a c e s ) ,如图2 2 所示。自动化接口主要供v b a p p l i c a t i o n 调用,自定义接口主要供c c + + a p p l i c a t i o n 调用。 c + + 客户应用 。p c 定制接口 0 p c 服务器 辱发商逻辑接 硬件设备 v b 客户应用 ? 僦愀口令 图2 2 定制接口与自动化接口 规范详细说明了这些c o m 接口,但是并没有提供接口的实现细节,o p c 服 务器根据自己工业或商业用途来具体实现其接口所需要的功能。这对不同厂家和客 户提供了更大的自主空间,更加有利于工业的需要。 2 2 40 p c 服务器的对象组成 一个o p c 服务器由三个对象组成,相当于3 种层次上的接口:服务器 r 华北电力大学硕士学位论文 ( s e r v e r ) 、组( g r o u p ) 和数据项( i t e m ) 【2 1 。o p c 服务器、组、项对象之间关系如图 2 3 所示。 ( 2 ) ( 3 ) 图2 3o p c 服务器、组、项对象之间关系 服务器对象包含服务器的所有信息,同时也是组对象的容器。一个服务器 对应一个o p cs e r v e r ,即一种设备的驱动程序。在一个s e r v e r 中,可以 有若干个组。 组对象包含本组的所有信息,同时包含并管理o p c 数据项。o p c 组对象 为客户提供了组织数据的一种方法。组是应用程序组织数据的一个单位。 客户可对其进行读写,还可设置客户端的数据更新速率。但服务器缓冲区 内数据发生改变时,o p cs e r 、,e r 将向客户发出通知,客户得到通知后再进 行必要的处理,而无须浪费大量的时间进行查询。例如一个组对象代表了 一个p l c 中需要读写的寄存器组。一个客户程序可以设置组对象的死区、 刷新频率、需要组织的项等。o p c 规范定义了2 种组对象:公共组和私 有组。公共组由多个客户共享,局部组只隶属于一个o p c 客户。全局组 对所有连接在服务器的应用程序都有效,而私有组只能对建立它的 c l i e n t 有效。在一个s e r v e r 中,可以有若干个组。 数据项是读写数据的最小逻辑单位,一个数据项与一个具体的位号相连。 数据项不能独立于组存在,必须隶属于某一个组。o p c 数据项是服务器 端定义的对象,通常指向设备的一个寄存器单元。o p c 客户对设备寄存器 的操作都是通过其数据项来完成的。通过定义数据项,o p c 规范尽可能地 隐藏了设备的特殊信息,也使o p c 服务器的通用性大大增强。简单的讲, 对于一个项而言,一个项可以是p l c 中的一个寄存器,也可以是p l c 中 的一个寄存器的某一位。在一个组对象中,客户可以加入多个o p c 数据 项。每个数据项包含3 个变量:值( v a l u e ) 、品质( q u a l i t y ) 和时间戳( t i m e s t a m p ) 。数据值是以v a r i a n t 形式表示的。 9 华北电力大学硕士学位论文 o p c 数据项并不提供对外接口,客户不能直接对其进行操作,所有操作都是 通过组对象进行的。应用程序作为o p c 接口中的c l i e n t 方,硬件驱动程序作为o p c 接口中的s e r v e r 方,每一个o p cc l i e n t 应用程序都可以连接若干个o p cs e r v e r ,每 一个硬件驱动程序可以为若干个应用程序提供数据。 2 2 。50 p c 的数据访问方式 o p c 规范规定了两种通讯方式,即同步通讯方式和异步通讯方式。这两种通讯 方式与我们常见的串口同步通讯、异步通讯以及以太网的同步通讯、异步通讯的功 能上基本相同。 1 同步数据访问方式 同步通讯时,o p c 客户程序对o p c 服务器进行相关操作时,o p c 客户程序必 须等到o p c 服务器对应的操作全部完成以后才能返回,在此期间o p c 客户程序一 直处于等待状态,如进行读操作,那么必须等待o p c 服务器完成读后才返回。如图 2 4 为同步数据访问方式示意图。 o p c 客户程 o p c 服务器 时间 时间 图2 4l 司步数据访问方式 由图2 4 可以看出,在同步通讯时,如果有大量数据进行操作或者很多o p c 客 户程序对o p c 服务器进行读、写操作,必然造成o p c 客户程序的阻塞现象。因此 同步通讯适用于o p c 客户程序较少、数据量较小的场合。 2 异步数据访问方式 o p c 服务器接到o p c 应用程序的要求后,几乎立即返回。o p c 应用程序随后 可以进行其他处理。当o p c 服务器完成数据访问时,o p c 服务器转换角色充当成 客户程序,而原来的客户程序此时可以看成是服务器。o p c 服务器主动触发o p c 应用程序的异步访问完成事件,将数据访问结果传送给o p c 应用程序。0 p c 应用 程序在其事件处理程序中接收从0 p c 服务器传来的数据。如图2 5 为异步数据访问 方式示意图。 1 0 华北电力大学硕士学位论文 o o 图2 5 异步数据访问方式 由图2 5 可以看出,异步通讯时,o p c 客户程序对服务器进行相关操作时,o p c 客户程序操作后立刻返回,不用等待o p c 服务器的操作,可以进行其他操作。当 o p c 服务器完成操作后再通知o p c 客户程序,如进行读操作,o p c 客户程序通知 o p c 服务器后立刻返回,不等待o p c 服务器的读完成,而o p c 服务器完成读后, 会自动的通知o p c 客户程序,把读结果传送给o p c 客户程序。相对于同步通讯, 异步通讯的效率更高,适用于多客户访问同一o p c 服务器和大量数据的场合。 o p c 的异步通讯有四种方式: ( 1 )数据订阅,客户端通过订阅方式后,服务器端将变化的数据通过回调传 送给客户程序。 ( 2 )异步读,返回操作结果和数据值。 ( 3 )异步写,返回操作结果,成功、失败。 ( 4 )异步刷新,异步读所有i t e m 的值。 2 2 6o p cd a 3 o 版规范的优点 本课题的研究是基于构件技术o p c d a 3 0 来进行的。与传统方式相比,0 p c 技术具有以下优势: ( 1 )o p c 规范以o l e d c o m 为技术基础,而o l e d c o m 支持t c p i p 等网 络协议,因此可以将各个子系统从物理上分开,分布于网络的不同节点 上。 ( 2 )o p c 按照面向对象的原则,将一个应用程序( o p c 服务器) 作为一个对 象封装起来,只将接口方法暴露在外面,客户以统一的方式去调用这个 方法,从而保证软件对客户的透明性,使得用户完全从底层的开发中脱 离出来。 1 1 华北电力大学硕士学位论文 ( 3 )o p c 实现了远程调用,使得应用程序的分布与系统硬件的分布无关,便 于系统硬件配置,使得系统的应用范围更广。 ( 4 )采用o p c 规范,便于系统的组态化,将系统复杂性大大简化,可以大大 缩短软件开发周期,提高软件运行的可靠性和稳定性,便于系统的升级 与维护。 ( 5 )o p c 规范了接口函数,不管现场设备以何种形式存在,客户都以统一的 方式去访问,从而实现系统的开放性,易于实现与其它系统的接口。 因此,o p c 技术得到了广大软硬件厂商的支持,并迅速发展。而本系统采用的 o p cd a 3 o 与原来的版本相比,具有以下优点: ( 1 )去掉服务器对象的i o p c s e r v e r p u b l i c g r o u p s 接口说明新版本不再支持公 共组的概念,原因可能是,当多客户同时对公共组进行操作时,会引起 服务器的效率降低及不稳定。 ( 2 )服务器对象的接口i o p c i t e m p r o p e r t i e s 和i o p c b r o w s e s e r v e r a d d r e s s s p a c e 虽然被去掉,但它们的功能被整合到新的1 0 p c b r o w s e 接口中去了,新的 i o p c b r o w s e 接口只有两个方法,效率大为提高。 ( 3 )3 o 版本的服务器对象新增了i o p c i t e m i o 接口,允许客户避开组对象而 直接对项对象进行读写操作,满足了不同客户的需求。 ( 4 )3 o 版本增加的i o p c g r o u p s t a t e m g t 2 接口允许客户为订阅设置k e e p a l i v e 时间,这样即使在指定的时间内数据项无变化,客户也能接收到服务器 的回调,保证客户与服务器中间的正常连接。 ( 5 )3 o 版本的组对象升级了同步或异步读写项对象的接口,提供了新的功能 如异步写时间戳及品质值和“m a x a g e ”特性等。 ( 6 )3 o 版本的组对象新增的i o p c i t e m d e a d b a n d m 舀接口允许单独设置每个项 对象的百分比死区,在以前的版本中这是不允许的。 ( 7 )3 0 版本的组对象新增的可选接口i o p c i t e m s a m p l i n g m g t 允许客户控制单 独的项对象从下层设备获取数据的速率,而在以前的版本中这个功能也 是没有的。 总的来说,3 0 版本的o p c d a 规范对原来的规范进行了优化整合,并增加了一 些新的功能,大大提高了o p c 服务器的效率及稳定性,同时也满足了不同的客户的 特殊需求。 1 2 华北电力大学硕士学位论文 230 p c 的技术基础一c 0 m d c o m o p c 中大量用到了c o m ,d c o m ( 组件对象模型分布式组件对象模型) 技术中 的知识,o p cd a 服务器实质上就是一个有固定接口和功能的c o m 组件,而o p c 的客户端实质上就是一个对c o m 组件的调用。因此,对c o m ,d c o m 的理解是开 发o p c 服务器的难点之一。本章主要介绍c o m ,d c o m 的有关基础知识。 2 31 c o m ( c o m p o n e n t0 b j e c tm o d e1 ) 2 311c 0 m 概述 随着计算机软件科学的发展,应用系统功能日趋复杂,程序愈加庞大,软件开 发的难度也更大。为此,需要将应用程序划分为多个功能独立的模块,由各模块协 同完成实际的任务。这些模块将称为组件,它们可以被单独设计、编译和调试。组 件与组件之间通过接口进行通信,因此,组件之间的接口就是组件软件的关键,在 同一软件中的组件必须使用同样的接口标准才能保证组件之间可以进行通信。 c o m 就是一个由m i c r o s o 矗公司推出的开放的组件标准,其中文意思是组件对 象模型,本质上是一种二进制网络标准,类似于o p 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 接口。图2 6 表明c o m 组件、c o m 对象和c o m 接口三者之间的关系 l c o m 组件 对盈j对象2 接口1 接口2接口3 图26c 洲组件、c 洲对象和c 0 m 接口关系 在w l n d o w s 系统平台上,一个c o m 组件可以是一个d l l ( d y n a m l cl 】n k l n g 1 3 华北电力大学硕士学位论文 l i b r a r ) r ,动态链接库) 文件,也可以是一个e x e ( 可执行程序) 文件。一个组件程序可 以包含一个或多个组件对象,并且每个c o m 对象可以实现多个接口。当其它的组 件或普通程序( 即组件的客户程序) 调用组件的功能时,它首先创建一个c o m 对 象或者通过其他途径获得c o m 对象,然后通过该对象所实现的c o m 接口调用它所 提供的服务。当所有的服务结束后,如果客户程序不再需要该c o m 对象,那么它 应该释放对象所占有的资源,包括对象自身。 2 3 1 2c 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 l o b a lu n i q u ei d e n t i 6 e r ,全局唯一标志符) 来标识,每个对象也用

温馨提示

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

评论

0/150

提交评论