已阅读5页,还剩50页未读, 继续免费阅读
(计算机应用技术专业论文)基于opc的电力远动调度通信服务的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华北电力大学硕士学位论文摘要 摘要 传统的电力远动系统在数据传输速度和灵活性方面,无法满足对实时数据交换 的要求,为此i e c 制定了最新的通信标准i e c6 1 8 5 0 。然而新标准的普及还需要时 间,多种远动规约共存是当今的现状。针对当前的这种情况,本文采用工业过程控 制中的标准化技术o p c 技术,对电力远动信息传输方式进行了深入的研究和探索。 本文对o p c 规范及其核心技术c o m 进行了剖析,重点对最新的远动规约i e c 6 1 8 5 0 的体系结构、信息建模方法以及变电站配置语言s c l 进行了研究。在上述技 术基础上设计了基于o p c 的电力远动调度通讯服务组件,为从变电站端到调度中 心的数据访问提供了统一的接口,并针对i e c6 1 8 5 0 信息模型,给出了一种数据映 射方法。 关键词:o p c ,x m l ,数据模型,i e c6 1 8 5 0 a b s t r a c t t r a d i t i o n a lp o w e rt e l e c o n t r o ls y s t e mi su n a b l et om e e tt h ed e m a n d so fr e a l - t i m ed a t ae x c h a n g ei nt h es p e e do fd a t at r a n s m i s s i o na n df l e x i b i l i t y ,t h e r e f o r et h e l e cc o n s t i t u t e dt h en e w e s tc o m m u n i c a t i o ns t a n d a r d i e c618 5 0 h o w e v e r ,t h e p o p u l a r i z a t i o no fn e ws t a n d a r ds t i l ln e e dal o n gt i m e ,t h ec u r r e n t l ys t a t u si sm a n y s t a n d a r d sc o e x i s t a i ma tt h i st h i n g ,t h ep a p e ra d o p t st h es t a n d a r d i z e dt e c h n i q u ei n i n d u s t r yc o n t r o l o p c ,c o n d u c t sa ni n - d e p t hs t u d ya n de x p l o r a t i o no nt r a n s m i s s i o n m o d eo fp o w e rt e l e c o n t r o li n f o m a t i o n t h ep a p e ra n a l y s e st h eo p ca n di t sc o r et e c h n i q u ec o m ,e m p h a s i so nt h e a r c h i t e c t u r ea n di n f o r m a t i o nm o d e lo fi e c6l8 5 0a n ds u b s t a t i o nc o n n g u r a t i o n l a n g u a g e o nt h eb a s i so fa b o v e ,d e s i g n sa no p cb a s e dc o m m u n i c a t i o ns e r v i c e m o d u l ef o rt e l e c o n t r o l , p r o v i d e sau n i f o r mi n t e r f a c et od a t aa c c e s sf r o ms u b s t a t i o n t od i s p a t c h i n gc e n t e r ,a i m sa ti e c618 5 0d a t am o d e l ,i tg i v e sa nd a t am a p p i n g m e t h o d 、 ,a n gz e y u ( c o m p u t e ra p p l i c a t i o n r e c h n o l o g y ) d i r e c t e db yp r o f :z h uy o n g l i k e yw o r d s :o p c ,x m l ,d a t am o d e l ,i e c6 1 8 5 0 华北电力大学硕士学位论文摘要 摘要 传统的电力远动系统在数据传输速度和灵活性方面,无法满足对实时数据交换 的要求,为此i e c 制定了最新的通信标准i e c6 1 8 5 0 。然而新标准的普及还需要时 间,多种远动规约共存是当今的现状。针对当前的这种情况,本文采用工业过程控 制中的标准化技术o p c 技术,对电力远动信息传输方式进行了深入的研究和探索。 本文对o p c 规范及其核心技术c o m 进行了剖析,重点对最新的远动规约i e c 6 1 8 5 0 的体系结构、信息建模方法以及变电站配置语言s c l 进行了研究。在上述技 术基础上设计了基于o p c 的电力远动调度通讯服务组件,为从变电站端到调度中 心的数据访问提供了统一的接口,并针对i e c6 1 8 5 0 信息模型,给出了一种数据映 射方法。 关键词:o p c ,x m l ,数据模型,i e c6 1 8 5 0 a b s t r a c t t r a d i t i o n a lp o w e rt e l e c o n t r o ls y s t e mi su n a b l et om e e tt h ed e m a n d so fr e a l - t i m ed a t ae x c h a n g ei nt h es p e e do fd a t at r a n s m i s s i o na n df l e x i b i l i t y ,t h e r e f o r et h e l e cc o n s t i t u t e dt h en e w e s tc o m m u n i c a t i o ns t a n d a r d i e c618 5 0 h o w e v e r ,t h e p o p u l a r i z a t i o no fn e ws t a n d a r ds t i l ln e e dal o n gt i m e ,t h ec u r r e n t l ys t a t u si sm a n y s t a n d a r d sc o e x i s t a i ma tt h i st h i n g ,t h ep a p e ra d o p t st h es t a n d a r d i z e dt e c h n i q u ei n i n d u s t r yc o n t r o l o p c ,c o n d u c t sa ni n - d e p t hs t u d ya n de x p l o r a t i o no nt r a n s m i s s i o n m o d eo fp o w e rt e l e c o n t r o li n f o m a t i o n t h ep a p e ra n a l y s e st h eo p ca n di t sc o r et e c h n i q u ec o m ,e m p h a s i so nt h e a r c h i t e c t u r ea n di n f o r m a t i o nm o d e lo fi e c6l8 5 0a n ds u b s t a t i o nc o n n g u r a t i o n l a n g u a g e o nt h eb a s i so fa b o v e ,d e s i g n sa no p cb a s e dc o m m u n i c a t i o ns e r v i c e m o d u l ef o rt e l e c o n t r o l , p r o v i d e sau n i f o r mi n t e r f a c et od a t aa c c e s sf r o ms u b s t a t i o n t od i s p a t c h i n gc e n t e r ,a i m sa ti e c618 5 0d a t am o d e l ,i tg i v e sa nd a t am a p p i n g m e t h o d 、 ,a n gz e y u ( c o m p u t e ra p p l i c a t i o n r e c h n o l o g y ) d i r e c t e db yp r o f :z h uy o n g l i k e yw o r d s :o p c ,x m l ,d a t am o d e l ,i e c6 1 8 5 0 声明尸明 本人郑重声明:此处所提交的硕士学位论文基于o p c 的电力远动调度通信 服务的研究,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研 究工作和取得的研究成果。据本人所知,除了文中特别加以标注和致谢之处外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得华北电力大 学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究 所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 学位论文作者签名:期:丝堂! 三二! d 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有 权保管、并向有关部门送交学位论文的原件与复印件:学校可以采用影印、缩 印或其它复制手段复制并保存学位论文;学校可允许学位论文被查阅或借阅; 学校可以学术交流为目的,复制赠送和交换学位论文;同意学校可以用不同方 式在不同媒体上发表、传播学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名: 日期: 工d 口f ;c p 导师签名: 辣鼻匆 华北电力大学硕士学位论文 1 1 选题的背景及意义 第一章引言 电力远动系统是一个完成电力系统远方采集、监视与控制分析的大型计算机应 用系统,是电力系统自动化的重要组成部分。它采用远程通信技术,把调度中心和 变电站联系起来,对远方的电力运行设备进行监视和控制,以实现遥测、遥信、遥 调和遥控。由于互联电网的规模越来越大,其安全、稳定问题越来越突出,近年来 若干发达国家发生的大规模停电事故正是这些问题的例证。因此,基于电网广域信 息的电力系统协调保护与控制是解决长期困扰电力部门电网安全、稳定运行问题的 重要出路u 叫1 。 电力远动系统通信和系统所采用的通信协议是密不可分的,目前所采用的远动 协议标准有多种,调度中心和变电站端都有各自不同的通信标准,这使得在采用不 同通信协议的设备之间通信必须进行大量的规约转换,这不仅浪费了大量的人力物 力,而且势必影响系统的实时性能,阻碍了远动系统进一步的发展。因此采用统一 的规约标准,实现电力远动系统的无缝通信成为业界极为关注的焦点问题啼1 。 在这种情形下,i e ct c 5 7 制订了变电站通信系统和网络标准i e c6 1 8 5 0 ,它是 基于广域网的远动信息传输的协议基础,未来的无缝通信系统体系标准是以i e c 6 1 8 5 0 为基础的。它融入了当今计算机、通信和自动化技术的最新概念和技术,符 合未来的发展趋势哺7 1 。 虽然目前已有符合i e c6 1 8 5 0 标准的设备推出,在我国广泛应用的依然是c d t , i e c6 0 8 7 0 5 1 0 l 1 0 4 等面向点规约。新的标准体系的应用是发展的趋势,但要真正 做到在系统中的广泛应用以及电力系统通信规约的统一化还有漫长的路要走。当前 需要解决的关键问题是在保护原有系统正常运行的前提下,兼容各种现行通信规 约,有效、可靠和高速地从现场获取系统所需的各种实时生产数据,为调度中心提 供统一的数据访问接口,使系统逐步走上标准化之路。 o p c ( o l ef o rp r o c e s sc o n t r o l ,面向过程控制的o l e ) 阳3 技术作为硬件与软件 之间的一个中间件技术解决了以上问题,它为工业计算环境提供了一种标准,支持 分布式应用和异构环境下软件的无缝集成。供应商可以开发一个高度优化的、可重 用的o p c 服务器访问底层的数据信息,并将数据以0 p c 接口的方式提供给任何支 持o p c 规范的客户端程序,这样客户应用程序就可以按照统一的数据访问标准访 问不同厂商不同标准的硬件产品。在电力远动调度端广泛采用的i e c6 1 9 7 0 标准的 c i s 部分完全支持o p c 规范,这使得远动系统的信息集成性更强。这种软件组件技 华北电力人学硕十学位论文 术支持软件开发的可重用性、可扩展性、可移植性、易维护性和高可靠性,恰好为 解决电力远动系统中多种通信协议共存和开放性问题提供了契机。 1 2o p c 技术及其发展现状 随着计算机技术、工业控制等方面新技术进步,计算机监控系统由早期的集中 式监控向全分布式的方向发展,开放性和互操作性成为发展的趋势,因此迫切需要 一种能有效进行数据访问和管理的开放标准,使工业控制计算环境中的各个数据源 之间能够灵活地进行数据通信,o p c 技术正是在这种情形下产生的。o p c 是为过 程控制设计的o l e 技术,由一些世界上技术上占领先地位的自动化系统和硬件、 软件公司与微软公司紧密合作而建立的,并已形成一个体系标准。 1 2 10 p c 规范简介 o p c 基金会( o p cf o u l l d a t i o n ) 是管理o p c 标准的国际组织,它负责o p c 规 范的制定和发布,其成员几乎包括了世界上所有的控制系统、仪器仪表和过程控制 系统的主要供应商。o p c 规范是一套标准的接口协议,它主要包括以下单独规范。 数据访问规范:定义了o p c 服务器中一组c o m 对象及其接口,并规定了客户 对服务器程序进行数据存取时需要遵循的标准。借助m i c r o s o r 的d c o m 技术,o p c 实现了高性能的远程数据访问能力1 。 报警和事件处理规范:该规范提供了一种通知机制,在指定事件或报警条件发 生时,o p c 服务器能够主动通知客户程序引。 历史数据访问规范:该规范提供一种通用历史数据引擎,可以向感兴趣的用户 和客户程序提供数据汇总和数据分析等额外的信息1 。 1 2 20 p c 技术的优势 ( 1 ) 硬件厂商可以只为它的所有客户仅提供一套软件,软件厂商也仅需要开 发一套通信接口程序。当硬件的新版本出现时,软件开发者不用重写驱动程序。 ( 2 ) 不管现场设备以何种形式存在,客户都以统一的方式去访问,从而实现 系统的开放性,易于实现与其它系统的接口。 ( 3 ) o p c 规范以o l e d c o m 为技术基础,而o l e d o o m 支持t c p i p 等网 络协议,因此可以将各个子系统从物理上分开,使得系统的应用范围更广。 ( 4 ) 采用o p c 规范,便于系统的组态,简化系统的复杂性,大大缩短软件开 发周期,提高软件运行的可靠性和稳定性,易于系统的升级与维护。 2 华北电力大学硕士学位论文 1 2 3o p c 技术的应用现状 近几年来,o p c 技术不断发展,产品日臻完善,在全世界工控行业得到了广泛 的应用。全球0 p c 基金会成员已达3 0 0 多个,已成为工控领域最新、应用最广泛 的软总线标准。 o p c 中国促进会是o p c 基金会的中国分会常设机构,自成立以来一直以本地 化的形式加强中国与o p c 国际基金会的联系以及信息技术的传播,推广o p c 在工 业及商用领域的应用。虽然国内起步较晚,但鉴于o p c 巨大的技术和经济优势, 越来越多的科研院所和公司投入到o p c 的研究和应用中。 o p c 技术在电力系统中有着广泛的应用n 钉,在多调度端和多变电站的分布式 系统中,o p c 服务器可作为远方变电站和调度中心之间的通信桥梁,不但可以从各 个远方变电站读取实时数据,实现差错控制、传输控制、速率变换和报文处理,还 可以将实时数据传送给调度主站,同时将调度主站的控制命令分发给各个远方变电 站,从而完成数据采集、规约转换等重要的处理任务。o p c 服务器可以作为电力远 动通信系统中系统集成与数据交换的重要工具。 1 3 本文主要工作和章节安排 本课题是在企业工程环境中接触到了o p c 技术,讨论了o p c 技术在电力远动 调动中的应用。并围绕i e c6 18 5 0 标准展开研究,设计实现基于0 p c 的电力系统实 时信息的网络化交互。本文主要对以下内容进行了研究: ( 1 ) o p cd a 规范及其相关的c o m 技术,实现o p c 服务器开发的方法。 ( 2 ) 电力远动通信规约及i e c6 1 8 5 0 标准。 ( 3 ) x m l 技术及其解析方法,实现对变电站设备配置文档的解析。 ( 4 ) 针对当前通信规约的现状,设计基于o p c 的电力远动通讯服务组件,并 实现i e c6 1 8 5 0 信息模型到o p c 体系结构的数据映射。 全文章节安排如下: 第一章针对当前电力远动系统中存在的问题,简要论述了课题的研究方案,并 对该方案中涉及到的相关技术及国内外研究现状进行了分析,为以后的深入研究提 供参考资料。 第二章对o p cd a 体系结构进行了系统的分析,包括c o m 组件对象模型、各 对象模型的关系以及o p c 客户程序与服务器问的通信机制,为服务器的设计开发 打下了基础。 华北电力大学硕士学位论文 第三章介绍了当前的远动规约的现状并分析了i e c6 1 8 5 0 标准的体系结构,对 其主要特点及信息交换模型和配置描述语言进行了研究。 第四章在深入了解电力远动通讯模式的基础上,设计了基于o p c 的电力远动 调度通讯服务模块,并对采用o p c 模式的通信性能进行了分析。 第五章针对i e c6 1 8 5 0 信息模型,设计了基于s c l 的数据映射方法,实现了到 o p c 数据项标记点的映射,为调度中心应用提供了统一的数据访问接口。 第六章对本文所作的工作和所取得的阶段性成果作一个总结,对今后作了一个 展望并指出以后需要深入开展的工作。 4 华北电力人学硕士学位论文 第二章o p cd a 体系结构研究 本课题的研究是建立在o p c 技术基础上的,因此在对系统进行设计开发之前, 有必要对o p c 规范及其所采用的技术进行跟踪研究。目前国内外研究最多、需求 最大的就是o p cd a ( o p cd a t aa c c e s s ) 数据访问规范,它也是其它o p c 规范的 基础。本章借助对o p cd a 2 0 5 a 规范详细的研究和实践来阐述o p c 技术的体系结 构。 2 1 0 p c 技术的本质一c o m d c o m o p c 技术采用了m i c r o s o f t 的c o 删d c o m ( 组件对象模型分布式组件对象模 型) 技术n 铲7 1 ,c o m 主要是为了实现软件复用和互操作,并且为基于w i n d o w s 的 程序提供了统一的、可扩充的、面向对象的通讯协议。d c o m 是c o m 技术在分布 式计算领域的扩展,使c o m 支持在局域网、广域网甚至i n t e m e t 上不同计算机的 对象之间通讯。 2 1 1c o m 对象 c o m ( c o m p o n e n to b ;e c tm o d e l ) 提供的是面向对象的组件模型,c o m 组件提 供给客户的是以对象形式封装起来的实体。客户程序与c o m 组件程序进行交互的 实体是c o m 对象,它并不关心组件模块的名称和位置,但必须明确在与哪个c o m 对象交互。 2 1 1 1c o m 对象与c + + 等面向对象语言中对象概念的异同 ( 1 ) 形式上相同,与c + + 中的对象一样,c o m 对象也是某个类的实例,而类 则是一组相关的数据和功能组合在一起的一个定义,使用对象的应用或另一个对象 称为客户。c o m 对象也包括属性和方法,属性是对象的变量,方法是对象提供给 外界的接口,客户必须通过接口才能获得对象的服务。 ( 2 ) 建立的基础不同,c o m 对象建立在二进制可执行代码级基础上,而c + + 等语言中的对象是建立在源代码级基础上的。因此c o m 对象是语言无关的,这一 特性使用不同编程语言开发组件对象成为可能。 ( 3 ) 封装形式不同,c o m 对象中的数据是完全封装在对象内部的,外部不可 能直接访问对象的数据属性,因为c o m 对象和客户程序可能在不同的进程中或在 不同的机器上。c + + 对象的使用者与对象一般在同一个程序模块中,所以使用者可 以直接访问对象的数据成员。 华北电力大学硕士学位论文 ( 4 ) 可重用性不同,c o m 对象的重用表现在c o m 对象的包容与聚合,一个 对象可以完全使用另一个对象的所有功能;c + + 对象的重用表现在源代码一级的继 承性。 ( 5 ) 多态性不同,c o m 的多态性通过c o m 对象所具有的接口体现,而c + + 对象的多态性通过虚函数体现。 2 1 1 2c o m 对象的标识 c o m 规范采用1 2 8 位全局唯一标识符g u i d ( g l o b a l l yu n i q u ei d e n t i f i e r ) 来标 识一个c o m 对象,c l s i d ( c l 嬲si d e “f i e r ,类标识或类i d ) 就是用来标识c o m 对象的g u i d 。g u i d 是一个随机数,不能绝对保证唯一性,但发生标识符相重的 可能性非常小。g u i d 的随机性有两个方面的特性保证:一是空间,对于网络中的 计算机,通常取网络适配器的地址值,没有网络适配器的计算机用其它的随机数生 成算法产生;另一是时间,同一计算机不同时间产生的标识符总不相同。实际使用 过程不用担心g u i d 的冲突危险。m i c r o s o rv i s u a ls t u d i o 中提供了两个生成g u i d 的工具:u u i d g e n e x e 和g u i d g e n e x e ,c o m 库也提供了a p i 函数h r e s u l t c o c r e a t e g u i d ( g u i d + p g u i d ) 来产生g u i d 。g u i d 并不是专门用来定义c o m 对象的 标识,也用于其它实体的标识,下面将要讨论的c o m 接口也是用g u i d 来标识的。 2 1 2c o m 接口 完整的c o m 编程是基于接口的,c o m 对象和它的客户程序之间完全通过接口 进行交互。c o m 规范的核心就是关于接口的定义,c o m 接口是包含一组函数的数 据结构,通过这组数据结构,客户程序可以调用组件对象所提供的功能。接口定义 了一组成员函数,这组成员函数是组件对象暴露出来的所有信息,客户程序利用这 些函数获得组件对象的服务。 曲怕b l e y l a b i e i 接口删蚓a 删b 指针函数i 勃 r、 指幸i l 数2 氛 指针函数3 l 对豫实现 y k 图2 1c o m 接口的结构 客户程序用一个指向接口数据结构的指针来调用接口成员函数,接口指针实际 又指向另一个指针,这第二个指针指向一组函数,称为接口函数表,接口函数表中 包含多个函数指针,每个函数指针与对象的具体实现相链接,如图2 1 所示。通过 6 华北电力大学硕士学位论文 这种方式,客户只要获得接口指针,就可以调用对象的实际功能。 接口函数表通常称为虚函数表( v i r t u a lf u n c t i o nt a b l e ,简称v t a b i e ) ,指向v t a b l e 的指针称为p v t a l b e 。对一个接口来说,它的虚函数表v t a b l e 是确定的,因此接口 的成员函数个数不变,并且成员函数的先后顺序也不变;对每个成员函数来说,其 参数和返回值也是确定的。在接口定义中,所有信息都必须在二进制一级定义,不 管采用什么编程语言,只要支持这种内存结构,就可以定义接口。 接口是组件程序与客户程序之间的桥梁,所以接口应具有不变性,一个c o m 对象可以支持多个接口,类似c o m 对象的标识方法,c o m 接口也用g u i d 标识, 称为接口标识符( i i d ,i n t e r f a c ei d e n t i f i e r ) 。对c o m 接口的定义可以采用接口描述 语言( 1 d l ,i n t e r f a c ed e s c r i p t i o nl a n g u a g e ) ,是一种不依赖于任何编程语言的接口 描述方法,是组件程序和客户程序之间的共同语言。m i c r o s o r s u a is t u d i o 提供了 m i d l 工具,可以把i d l 接口描述文件编译成c c + + 兼容的h 接口描述头文件。 c o m 接口具有以下特点: ( 1 ) 二进制特性,c o m 接口规范并不建立在任何编程语言基础上,而是规定 了二进制一级的标准。 ( 2 ) 接口不变性,接口是组件程序与客户程序之间的桥梁,c o m 规范要求接 口应具有不变性以保证两者的独立开发。 ( 3 ) 继承性( 扩展性) ,c o m 接口虽然具有不变性,但接口还是可以扩展的。 c o m 接口可以通过继承来扩展,但接口继承只继承了基接口的成员函数说明,并 不继承基接口的实现。 c o m 规范定义的每一个接口都必须从i u n k n o w n 接口派生,这是因为i u n k n o 、v n 接口提供了两个非常重要的特性:生存周期控制和接口查询。i u n k n o 、粕引入了引 用计数( r e f e r e n c ec o u n t i n g ) 机制,有效地控制对象在内存中的生存期,当不需要 对象的时候将对象从内存中释放。由于c o m 对象可能有多个接口,客户程序在初 始时往往不能得到服务器对象所有接口的指针,首先得到i u n k n o w n 接口的指针, 然后使用i u n k n o w n 接口的接口查询方法实现接口之间的跳转,获得该对象支持的 任何一个接口的指针。 2 1 3c o m 库 c o m 库是c o m 规范的实现部分,包括一些核心的系统级代码,使得对象与客 户程序之间可以通过二进制级代码进行交互。在w i n d o w s 操作系统中,它们以d l l 文件的形式存在。 7 华北电力大学硕士学位论文 ( 1 ) 提供少量的a p i 函数实现客户和服务器c o m 应用程序的创建过程。客户 端主要是一些创建函数,服务器提供对象访问的支持。 ( 2 ) c o m 库通过注册表查找本地服务器以及程序名与c l s i d 的转换。 ( 3 ) 提供一些标准的内存控制方法。 c o m 库在操作系统层次上实现,依赖于具体的操作系统平台,尤其是系统底 层的一些标准,一个操作系统只有一个c o m 库实现。c o m 库可以保证所有的组件 按照统一的方式进行交互,在编写c o m 应用程序时可以直接利用c o m 库提供的 a p i 函数,大大加快了开发速度。 2 1 4 类厂和组件的注册 c o m 对象可位于客户进程空间之外,并且必须能被不同的语言访问,因此需 要一种与编程语言无关的方法来实例化一个组件。c o m 提供了一个标准的接口: 类厂i c l a s s f a c t o r y 。该接口是一个特殊的、必须实现的构造器组件,客户利用它才 能创建组件实例。 类厂是c o m 对象的生产基地,对应于每一个c o m 类,都有一个类厂专门用 于c o m 对象的创建工作。它有两个方法:c r e a t e i n s t a n c e 和l o c k s e n r e r 。 c r e a t e i n s t a n c e 方法创建组件实例并返回该实例所请求的接口,l o c k s e n ,e r 方法为客 户提供了一个在内存中锁定一个服务器的途径。c o m 规定每个c o m 对象类都应该 有一个相应的类厂对象,如果一个组件程序实现了多个c o m 对象类,则相应有多 个类厂对象。类厂的创建工作是由c o m 库来完成的,但组件程序必须提供 d i l g e t c l a s s o b i e c t 引出函数。c o m 库在接收到对象创建指令后,它调用进程内组 件的d l l g e t c l a s s o b j e c t 函数,由该函数创建类厂对象,并返回类厂对象的接口指针, 继而创建相应的c o m 对象。 c o m 规范使用1 2 8 位的g u i d 来标识c o m 对象和接口,客户程序通过这些 g u i d 值来创建c o m 对象并与对象进行交互。因为客户程序与组件程序是独立的, 客户程序在创建对象时并不知道组件程序的确切位置。c o m 规范要求客户程序通 过c o m 库完成组件对象的创建,c o m 库通过系统注册表所提供的信息对组件进行 注册,c o m 在注册表中查找类的g u i d ,借助相关的注册表条目建立与对象的连接。 2 1 5 引用计数 从技术上讲,接口也表现为对象。大量的各种类型的对象充斥在系统中,当它 们不再使用时,需要从系统中清除以释放资源。c o m 接口没有析构函数,它通过 引用计数实现对象生命周期的管理。每个c o m 类都有一个数据成员,用来统计对 8 华北电力大学硕士学位论文 象的用户数目。每当客户请求一个新的接口时,服务器将对象的引用计数值增加l , 当客户使用完指针时,调用接口的r e l e a s e 函数,告诉服务器不再使用该接口,服 务器将对象的引用计数值减l 。当引用计数为0 时,表明不再有客户访问该对象, 对象就删除自身。 2 1 6 包容和聚合 包容和聚合是c o m 的两种可重用性模型。 包容:被包含组件的接口通过包含组件( 或称外部组件) 的方法间接的向外公 开( 或被包含组件的接口对外不可见) ,通过这种方法实现的组件重用被称为包容。 聚合:直接向外公开内部对象的接口来实现组件重用的方法称为聚合。 2 1 7d c o m d c o m ( d i s t r i b u t e dc o m ) 是为了支持在局域网、广域网甚至i n t e r n e t 上组 件对象通信的技术,它基于c o m ,是c o m 的无缝延续。它是一种领先的组件技术, 可以利用c o m 组件的优势来进行分布式的访问。 通过d c o m 技术,o p c 客户程序可以访问不在同一台机器上的o p c 服务器。 对于客户程序而言,服务器程序所处的位置是透明的,不必编写任何处理远程调用 的代码。由于c o m 是一项应用广泛、成熟的组件技术,所以可以充分利用c o m , 并把它们转移到分布式计算领域中来。因为d c o m 已经处理了底层网络协议的所 有细节,可以把重点放在应用的业务逻辑上,而不必再为底层的处理费时费力。 2 20 p c 体系结构 2 2 1o p c 客户程序和o p c 服务器 o p c 的结构是客户服务器模式,一个o p c 客户端可以连接一个或多个o p c 服务器,而多个0 p c 客户端也可以同时连接一个o p c 服务器【l0 1 ,其关系如图2 2 所示。 各个o p c 客户程序通过o p c 标准接口对o p c 服务器管理的设备进行操作,而 不需要关心服务器的实现细节及设备内部的具体细节。服务器按进程模型可分为进 程内和进程外两种。其中进程外服务器和客户运行在不同的进程空间中,服务器和 客户之间采用本地过程调用和远程过程调用的方式通过代理、占位进行进程之间的 通信。d c o m 把c o m 技术扩展到网络,可以很方便的开发适合分布式环境下的客 户服务器程序。 9 华北电力大学硕十学位论文 图2 2o p c 客户与服务器的关系 2 2 2o p c 逻辑对象模型 一个o p c 服务器由三个对象组成:服务器( s e r v e r ) 、组( g r o u p ) 和项( i t e m ) , 它们之间的关系如图2 3 所示。 图2 3o p c 对象之间的关系 1 ) 服务器对象:o p c 服务器对象是一个c o m 对象,有自己唯一的类标识符 c l s i d ,客户程序在注册表里通过c l s i d 可查找到需要访问的o p c 服务器。它位 于对象模型的最顶层,用来提供关于服务器对象自身的相关信息,并且作为组对象 的容器。一个o p c 服务器对应一个服务器对象,在一个服务器对象中可以有若干 个组对象。 2 ) 组对象:o p c 组对象用来提供关于组对象自身的相关信息,并提供组织和 管理项的机制。o p c 组对象提供了o p c 客户程序用来组织数据的一种方法,例如 一个组对象可以代表一个设备中需要读写的寄存器组。一个客户程序可以设置组对 象的死区,刷新频率,需要组织的项等。o p c 规范定义了两种组对象:公共组和私 有组。公共组由多个客户共享,私有组只隶属于一个客户程序。公共组对所有连接 到服务器的应用程序都有效,而私有组只对建立它的客户有效。 3 ) 项对象:0 p c 项代表了o p c 服务器到数据源的一个物理连接,数据项是读 写数据的最小逻辑单位。一个数据项不能被o p c 客户程序直接访问,因为在o p c 1 0 华北电力大学硕士学位论文 规范中没有对应于项的c o m 接口,所有对项的访问都需要通过包含项的组对象来 实现。对于一个项而言,它只代表了数据源的地址。在一个组对象中,客户程序可 以添加多个数据项,每个数据项包括三个变量:值( v a l u e ) 、品质( q u a l i t y ) 和时 白j 戳( t i m es t a m p ) ,其中数据值是以v a r i a n t 形式表示的。 2 2 30 p c 接口体系结构 与c o m 体系一样,o p c 也是c s 结构的,o p c 服务器提供标准的接口供o p c 客户程序访问。0 p c 规范提供了两套接口方案:自定义接口( c u s t o mi n t e r f a c e ) 和 自动化接口( a u t o m a t i o ni n t e r f a c e ) ,客户程序通过这两套接口与服务器通信。 0 p c 服务器必须提供自定义接口,而对于自动化接口,在o p c 规范定义中是 可选的。如果客户程序使用支持指针的编程语言如c + + ,一般采用自定义接口方案; 如果客户程序采用解释性语言或宏编程语言v b ,一般采用自动化接口方案。自定 义接口方案效率高,自动化接口方案简单但是运行速度比较慢。典型的o p c 接口 体系如图2 4 所示。 i 应;袅序 o p c 自动化接口 o p c 自动化 j - l 封装器 本地或远程 o p c 服务器 l 应蒜序 o p c 自定义接口 一 l 服务器数据缓存 介 上 物理设备 数据 2 30 p c 对象与接口 图2 4 典型的o p c 接口体系结构 由c o m 原理可知,在o p c 服务器与客户程序进行通信时,客户程序唯一可见 的就是服务器所暴露出来的o p cs e r v e r 、g r o u p 的c o m 接口,客户程序正是通过 这些接口的方法进行组和项创建管理,以及进行同步、异步、订阅等多种数据通信 方式。可以说,o p c 接口是o p c 服务器实现的核心部分。 o p c 服务器提供众多接口,它们根据管理对象的不同,分布在服务器对象和组 对象中,有些接口是必须实现的,有些是可选择实现的。根据o p c 服务器所需实 现的功能,丌发者实现可选接口后,当支持这些接口的客户程序查询它们时,就可 华北电力大学硕士学位论文 以利用这些可选接口实现一些额外的功能,如枚举状态空间、提供公共组的管理等。 2 3 10 p cs e r v e r 幂口g r o u p 对象 图2 5 列举出了o p c 规范中定义的s e r v e r 和g r o u p 对象的c o m 接口模型,其 中带 的接口为可选接口。 图2 - 5o p cs e r v e r 和g r o u p 对象接口 在服务器对象中,i o p c s e r v e r 接口主要用于组对象的创建、删除、枚举和获取 当前状态等操作。通过i o p c c o m m o n 接口可为某特定的客户服务器对话设置和查 询本地标识,这样,一个客户程序的操作将不会影响其它的客户程序。 i c o n n e c t i o n p o i n t c o n t a i n e r 接口支持可连接点对象,当o p c 服务器关闭时需要通知 所有的客户程序释放o p c 组对象和其中的组员,此时可利用该接口调用客户方的 i o p c s h u t d o w n 接口实现服务器的正常关闭。i o p c s e n ,e r p u b l i c g r o u p s 接口用于对公 共组进行管理。i p e r s i s t f i l e 接口允许用户装载和保存服务器的设置,这些设置包括 服务器通信的波特率、现场设备的地址和名称等,这样用户就可以知道服务器启动 和配置的改变而不需要启动其它的程序。 组对象中,i o p c i t e m m g t 接口用于客户程序添加、删除和组对象中组员等控制。 i o p c g r o u p s t a t e m g t 接口允许0 p c 客户程序操作或获取用户组对象的全部状态( 主 要是组对象的刷新率和活动状态) 。i o p c p u b l i c g r o u p s t a t e m g t 为可选接口,用于将 私有组对象转化为公有组对象。可选接口i o p c a s y n c i o 和i d a t a o b j e c t 接口用于异 步数据传输,现其功能已被i o p c a s y n c l 0 2 和i c o n n e c t i o n p o i n t c o n t a i n e r 接口取代。 i o p c s y n c i o 用于同步数据访问。 1 2 华北电力人学硕士学位论文 2 3 2o p c 客户方c o m 对象 i o p c d a t a c a l l b a c k 接口。为支持连接点,客户程序必须创建一个既支持 i u n k n o w n 又支持i o p c d a t a c a i l b a c k 的接收器对象。客户向服务器i c o n n e c t i o n p o i n t 的a d v i s e 方法传递i u n k n o 、l l 接口建立连接,然后服务器调用其q u e u i n t e r f a c e 方 法获得i o p c d a t a c a l l b a c k 接口指针。接口指针可在组对象的数据变化时或 i o p c a s y n c l 0 2 接口被调用时用到。 i o p c s h u t d o w n 接口。为支持此连接点,客户程序必须创建一个既支持i u n k n o 、n 又支持i o p c s h u t d o w n 的接收器对象。服务器获得i o p c s h u t d o 、n 接口指针的方法 与i o p c d a t a c a l l b a c k 出接口相同。接口的s h u t d o w n r e q u e s t 方法在服务器需要切断 连接时调用,客户应该用u n a d v i s e 取消所有连接,移除所有组,并释放所有接口。 当一个客户程序与多个服务器相连时应该保存相对于每个对象的独立的 s h u t d o w n r e q u e s t 回调,这样每个服务器可以独立的切断服务。 2 40 p c 中的数据通信方式 o p c 规范定义了两种数据通信方式:同步通信方式和异步通信方式。这两种通 信方式与常见的串口同步通信、异步通信以及以太网的同步、异步通信的功能相差 不大n 8 1 。 同步通信时,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 ) 异步写:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 传染病患者转运知情同意书
- 2026年小学生安全技能培训
- 2026年乒乓球儿童教学方法
- 2026高频面试题及答案大全
- 苏教版数学五年级上册:期末测试卷及答案
- 2026国际学校面试题及答案
- 2026海口导购员面试题及答案
- 投资管理总经理岗位职责(3篇)
- 2026护理规划面试题及答案
- 2026华为面试题及答案连线
- 班组安全互保联保制度培训
- (2026年)肠内营养相关性腹泻的预防及护理课件
- 2026年村级集体经济强村公司发展与收益分配规范测试
- 2026年重庆八中中考语文模拟试卷(3月份)
- 护理教学查房示范课件
- 矿山立井冻结法施工及质量验收标准
- 污水处理培训资料课件
- 采购内控制度培训课件
- 舆情处置培训课件图片
- 2025年越南语等级考试零基础入门试卷
- 食品检验检测技术专业教学标准(高等职业教育专科)2025修订
评论
0/150
提交评论