OPC+UA服务器地址空间与数据存储研究与开发.pdf_第1页
OPC+UA服务器地址空间与数据存储研究与开发.pdf_第2页
OPC+UA服务器地址空间与数据存储研究与开发.pdf_第3页
OPC+UA服务器地址空间与数据存储研究与开发.pdf_第4页
OPC+UA服务器地址空间与数据存储研究与开发.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

OPC+UA服务器地址空间与数据存储研究与开发.pdf.pdf 免费下载

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

文档简介

硕士研究生: 导师: 申请学位: 学 科: 专业: 所在学院: 答辩日期: 授予学位单位: 方辉 陆会明 工学硕士 自动化 模式识别与智能系统 控制与计算机工程学院 2 011 年3 月 华北电力大学 C a n d i d a t e : A d d r e s sS p a c ea n dD a t aS t o r a g e S u p e r v i s o r : A c a d e m i cD e g r e eA p p l i e df o r : S p e c i a l i t y : S c h o o l : D a t eo fD e f e n c e : D e g r e e - - C o n f e r r i n g - I n s t i t u t i o n : F a n gH u i P r of L uH u i m i n g M a s t e ro fE n g i n e e r i n g p a t t e r nr e c o g n i t i o n a n d i n t e l l i g e n t s y s t e m s S c h o o lo fN o r t h C h i n aE l e c t r i cP o w e r U n i v e r s i t y M a r c h 2 0 1 1 N o r t hC h i n aE l e c t r i cP o w e r U n i v e r s i t y 一 华北电力大学硕士学位论文原创性声明 本人郑重声明:此处所提交的硕士学位论文( o P cU A 服务器地址空间与数 据存储研究与开发,是本人在导师指导下,在华北电力大学攻读硕士学位期间 独立进行研究工作所取得的成果。据本人所知,论文中除己注明部分外不包含 他人已发表或撰写过的研究成果。对本文的研究工作做出重要贡献的个人和集 体,均已在文中以明确方式注明。本声明的法律结果将完全由本人承担。 作者签名: 专辉 日期:o l p 年岁月f 日 华北电力大学硕士学位论文使用授权书 ( ( O P CU A 服务器地址空间与数据存储研究与开发系本人在华北电力大学 攻读硕士学位期间在导师指导下完成的硕士学位论文。本论文的研究成果归华 北电力大学所有,本论文的研究内容不得以其它单位的名义发表。本人完全了 解华北电力大学关于保存、使用学位论文的规定,同意学校保留并向有关部门 送交论文的复印件和电子版本,允许论文被查阅和借阅。本人授权华北电力大 学,可以采用影印、缩印或其他复制手段保存论文,可以公布论文的全部或部 分内容。 本学位论文属于( 请在以上相应方框内打“4 ”) : 保密口,在年解密后适用本授权书 不保密 作者签名: 方辉 l 刷磁轹降扣哆 日期:口年3 月If 日 日期:2 口l f 年乡月lf 日 牛北电力大学顾十学位论文 摘要 传统O P C 服务器地址空间结构简单,使得服务器只能侧重于设备实时数据 的采集和交换,不利于设备的管理和维护。本文使用新的O P C 统一架构( U A ) 标 准解决这类问题。将数据、报警和事件等信息集成到统一的地址空间,使得现 场级、操作级和企业级的信息能集成到一起。地址空间是O P CU A 的核心部 分,本文研究并剖析了地址空间的实现方法。在N E T 平台上使用C # 语言开发 了基本的U A 服务器,实现了地址空间相关的服务函数。通过采用分级节点管理 结构,设计实现了创建、管理地址空间的节点管理接口。另外,提出了一个将 O P CU A 与E D D L 技术相结合的方案来实现将设备的完整信息映射到O P CU A 的地 址空间结构。 关键词:O P C 服务器;O P C 统一架构;O P C 地址空间;E D D L 技术; 华北电力犬学硕十学位论文 A b s t r a c t T h es t r u c t u r eo fa d d r e s ss p a c ei nt r a d i t i o n a l0 P Cs e r v e ri ss i m p l e S Ot h e s e r v e rc a no n l yf o C U So nt h ec o l l e c t i o na n de x c h a n g eo fd e v i c e Sr e a l t i m ed a t a ,i t i sn o tc o n d u c i v et ot h em a n a g e m e n ta n dm a i n t e n a n c eo fd e v i c e T h i sp a p e rU S e Sa n e w0 P CU n i f i e dA r c h i t e c t u r eS p e c i f i c a t i o nt oa d d r e s st h ea b o v ei s s u e s I t S s u p p o g sd a t a a l a r m sa n de v e n t si n f o r m a t i o ni n t e g r a t e di n t oau n i f i e da d d r e s s s p a c e ,w h i c hm a k e si n f o r m a t i o ni n t e g r a t i o no ft h ed e v i c el e v e l ,o p e r a t i o n a ll e v e l a n de n t e r p r i s el e v e la s p o s s i b l e A d r e s ss p a c ei st h ec o r eo f0 P CU A T h e i m p l e m e n t a t i o no f a d r e s ss p a c ea r er e s e a r c h e da n da n a l y z e di nt h i sp a p e r D e v e l o p m e n to ft h eb a s i cU A s e r v e rw h i c hu s e s N E Tp l a t f o r ma n dC 群l a n g u a g e r e a l i z e dt h ea d d r e s s s p a c e r e l a t e ds e r v i c e s B yu s i n gh i e r a r c h i c a ln o d e m a n a g e m e n ts t r u c t u r e ,t h eN o d eM a n a g e ri n t e r f a c ew h i c hc r e a t ea n dm a n a g e a d d r e s ss p a c ea r ed e s i g n e d I na d d i t i o n ,p r e s e n t st h es c h e m eo fc o m b i n e dw i t h O P CU Aa n dE D D Lt e c h n o l o g yt or e a l i z et h ec o m p l e t ed e v i c ei n f o r m a t i o n m a p p e dt ot h e0 P CU Aa d d r e s ss p a c es t r u c t u r e K e y w o r d s :O P CS e r v e r ; O P CU n i f i e dA r c h i t e c t u r e ;O P Ca d d r e s ss p a c e ; E D D Lt e c h n o l o g y U 华北电力大学硕十学位论文 目录 摘要I A b s t r a c t I I 第l 章引言l 1 1O P CU A 技术概述_ 1 1 1 1O P CU A 产生的背景1 1 1 2O P CU A 概念及其发展的意义2 1 1 3 国内外研究现状3 1 2 本论文的主要研究内容4 第2 章O P CU A 地址空间相关规范的研究5 2 1O P CU A 规范介绍。5 2 2 地址空间相关概念7 2 2 1 地址空间的功能7 2 2 2 节点和引用8 2 2 3 地址空间元模型l O 2 2 4 地址空间组织形式。1 0 2 3O P CU A 服务函数12 2 4 本章小结。1 4 第3 章程序分析与设计关键技术1 5 3 1 复杂数据内置15 3 1 1 概j 盔1 5 3 1 2 复杂类型定义节点和它们的实例声明1 7 3 1 3 复杂类型定义节点的实例1 8 3 2 地址空间节点数据的存储1 9 3 2 1 存储节点的数据结构。1 9 3 2 2 数据匹配问题的解决。2 l 3 3 分级节点管理2 2 3 4 本章小结2 3 第4 章O P CU A 服务器的开发与测试。2 4 4 1 预定义文件2 4 4 2 节点管理类2 6 1 1 I 华北电力人学硕十学位论文 4 2 1 节点管理接口I N o d e M a n a g e r 。2 6 4 2 2 核心节点管理类C o r e N o d e M a n a g e r 3 6 4 2 3 主节点管理类M a s t e r N o d e M a n a g e r 3 6 4 3O P CU A 服务器的设计3 7 4 3 1 设计基础3 7 4 3 2 前期工作3 9 4 3 3 宿丰服务器设计4 4 4 4O P CU A 服务器的测试4 7 4 5 本章小结。5 2 第5 章E D D L 技术与O P CU A 的结合5 3 5 1O P CU A 引入E D D L 的原因5 3 5 2O P CU A 引入E D D L 的可行性分析5 4 5 3 基于E D D L 技术的O P CU A 服务器实现方案5 5 5 4 本章小结5 6 第6 章结束语5 7 6 1 本文主要工作总结5 7 6 2 未来与展望5 7 参考文献5 9 攻读硕士学位期间发表的论文及其它成果6 1 蜀C 谢6 2 I V 的技术取代当前技术来满足自动化用户日益增长的需求。O P CU A 技术就是为了顺 应这样的要求而产生的。 1 1 1O P CU A 产生的背景 O P C 技术是O P C 基金会在微软W i n d o w s 的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 对象链接与嵌入) 技术和C O M D C O M 技术基础上发展的一种数据交换方法,其目 的就是通过一个统一的接口实现不同厂商的软件产品间的数据交换。它为开发应用 程序的不同厂商提供了一项共同遵循的通信标准,从而大大减少了在系统集成过程 中的重复开发,并提高了控制系统的性能。O P C 的动机是建立大量数据源通信的 标准机制,这些数据源可以是工厂的设备或控制室的数据库。经过多年的发展, O P C 组织发展了O P CD A ( 数据采集) 、O P CA l a r m s E v e n t s ( 报警和事件) 、 O P CH D A ( 历史数据) 、B a t c h ( 批次) 、S e c u r i t y ( 安全) 等技术,其中O P CD A 在自动化行业得到了广泛的应用川。 O P C 作为新兴的数据互联国际标准,其贡献是巨大的。目前O P C 在解决工业 设备实时数据采集与通信方面已经获得业内的广泛认可,是降低系统间互联成本的 最佳途径。但是O P C 本身仍处于快速发展、进化之中。现有O P C 标准已经诞生 l O 年有余,此间技术已经取得了很大进步。使得原有的O P C 技术已经无法满足实 际的需求,产生了以下主要缺陷: ( 1 ) 不具有平台无关性,仅适合于微软平台环境; ( 2 ) D C O M 不适用于I n t e m e t 环境,它不支持通过I n t e m e t 访问对象【2 】; ( 3 ) C O M 产牛的传输报文复杂,并且由于防火墙的存在,在I n t e m e t 上发送 C O M 报文非常网难。 因此,新的标准必须诞生,以跟上技术进步的步伐。O P CU A 就是在这样的背 景下诞生的。O P C 基金会于2 0 0 4 年1 月成立了U A 工作组,致力于采用最新技术 华北电力大学硕十学位论文 把O P C 建成一种新的系统架构,满足互操作和即插即用、自动识别的要求。以期 望这种新的架构在今后1 0 年或更长时间成为自动化领域的新标准。 以下是O P CU A 标准诞生的一些详细背景: ( 1 ) 微软公司为发展跨平台W e b 服务的技术和S O A ( S e r v i c eO r i e n t e d A r c h i t e c t u r e ) 技术,不再重点发展C O M 技术,O P C 技术面临失去技术支撑的境 地。随着M i c r o s o f t N E T 架构的发布,工业应用软件也逐渐转向M i c r o s o f t N E T 3 1 。 ( 2 ) O P C 产品供货商希望一个O P C 产品能够提供多种数据服务,而非像现在那 样把产品分为D A 、A E 、H A D 等多种模式。 ( 3 ) O P C 产品供货商希望O P C 产品能够运行于非微软的操作系统中,包括嵌入 式设备上。 ( 4 ) 其他一些O P C 基金会的合作组织需要支持高级结构化数据的可靠和有效的 实现手段。 1 1 2O P CU A 概念及其发展的意义 O P CU A ( O P CU n i f i e dA r c h i t e c t u r e ) 指O P C 统一体系架构,是一个不依赖于 任何平台的新的工业软件接口规范。它是O P C 基金会在2 0 0 6 年推出的第二代 O P C 技术,用来取代传统的O P C 技术。与O P CD A 标准相比,O P CU A 是跨平台 的,提供更高的可靠性、安全性和数据集成,能显著改进企业信息的连通性【4 1 。 O P CU A 扩展了O P C 的应用平台,把过去只在W i n d o w s 平台上的O P C 技术拓 展到L i n u x 和U n i x 平台。开放的基于I n t e m e t 的W e b S e r v i c e 的服务架构( S O A ) 和基于I n t e m e t 的异常灵活的数据交换系统,为构建跨地域的数据采集系统提供了 有力的技术支撑【5 】。基于O P CU A 标准的产品可更好地实现工厂级的数据采集和管 理,从P L C 、D C S 等现场设备,到H M I 、S C A D A ,再到生产制造系统,再到企业 上层管理软件,都可以通过O P CU A 标准,统一进行沟通【6 J 。如图1 1 所示。 O P CU A 标准使产品的开发和使用更为简单。O P C 标准促进了工厂自动化系统 和信息化管理系统间的数据互操作能力,避免了非标准数据接口的复杂性。O P C U A 产品的开发比非O P C 产品更为容易,因此越来越多的厂商开始开发基于O P C U A 的服务器和客户端应用。 O P CU A 定义了统一数据和服务模型。包括:代表结构、行为和语义的信息模 型、使应用程序相互作用的消息模型、在终端之间传输数据的通信模型和保证系统 之间实现互操作性的一致性模型【7 1 。这些统一的模型使数据组织更为灵活,可以实 现报警与事件、数据存取、历史数据存取、控制命令、复杂数据的交互通信。 2 牛北电力人。硕十学位论文 凸自自iA c q = s i , i 白 图1 1O P C U A 的应用 O P CU A 支持查询和通知服务,服务消息可以是二进制的,也可以是X M L 的, 这意味着O P CU A 不仅仅适于设备层、自动化层到信息化层的数据交换,还可以 透过I n t e m e t 实现远程的数据交换,能满足自动化工厂所有层面数据交换的需要 1 8 】。 O P CU A 比O P CD A 更安全。O P CU A 传递的数据是可以加密的,并对通信连 接和数据本身都可以实现安全控制【9 】。新的安全模型保证了数据从原始设备到 M E S ,E R P 系统,从本地到远程的各级自动化和信息化系统的可靠传递。 O P CU A 的设计对于基于微软C O M 技术的O P C 客户端和服务器来说,是可移 植的。可移植性在设计O P CU A 的时候已经给予了考虑【1 0 l ,以至于由传统O P C 服 务器( 数据访问、历史数据访问和事件报警) 暴露出来的数据可以通过O P CU A 进行映射和暴露出来。生产厂商既可以直接遵循O P CU A 标准移植他们的产品, 也可以对先前的产品进行外部封装来达到从传统O P C 到O P CU A 的过渡。 1 1 3 国内外研究现状 自2 0 0 4 年1 月O P C 基金会的O P CU A 工作组成立之后,经过2 年的时间,在 2 0 0 6 年发布了O P CU A 规范,规范由十三部分构成,其中有部分是草案。此后, O P C 基金会不断更新规范,到目前为止仍未形成一套最终的规范。因此,O P CU A 现在仍处于一个从理论到应用的一个过渡阶段。 华北电力夫学硕十学伊论文 华北电力大学硕十学位论文 第2 章O P CU A 地址空间相关规范的研究 O P CU A 全面确立以面向服务( s e r v i c e o r i e n t e d ) 为核心的概念,U A 被描述为 一组分层次的规格书,目前由1 3 部分构成。本文主要涉及的是第3 、4 、5 这三部 分中与地址空间关系紧密的规范。 为了明确表达U A 的结构,在以上规格书中,O P C 基金会故意使用了一些抽 象的概念和术语,在这些规格书的后半部分,特别举例说明如何通过现有技术来编 程实现这些概念。 2 1O P CU A 规范介绍 O P C 统一体系架构规范由十三部分组成】。各部分规范概要介绍如下: 第一部分C o n c 印t s ( 概念) 描述了关于O P CU A 服务器和客户端的基本概念。 盛 第二部分S e c 嘶t yM o d e l ( 安全模型) 描述了用于O P CU A 客户端和O P CU A 服务器之间安全交互的模型。 第三部分A d d r e s sS p a c em o d e l ( 地址空间模型) 描述了服务器地址空间的内容和结构。 第四部分S e i c e s ( 服务) 指定了O P CU A 服务器提供的所有服务。 。 第五部分I n f o m l a t i o nM o d e l ( 信息模型) 详细说明了为O P CU A 服务器定义的标准数据类型和它们之间的关系。 第六部分M 印p i n g s ( 映射) 详细说明了O P CU A 支持的传输映射和数据编码机制。 第七部分_ 呻r o f i l e s ( 协议) 详细说明了可用于O P C 客户端和服务器的协议。这些协议提供了可用于一致 性标准的服务和功能。服务器和客户端可依靠这些协议来进行测试。 第八部分D a t aA c c e s s ( 数据访问) 详细说明了如何使用O P CU A 进行数据访问。 第九部分A l 锄sa n dC o n d i t i o n s ( 报警与事件) 详细说明了使用O P CU A 对报警与条件通道的支持。基本的系统包括对简单 事件的支持;这部分规范拓展了对报警与事件的支持。 第十部分呻r 0 伊锄s ( 程序) 牛北电力大学硕十学位论文 详细说明了O P CU A 对程序访问的支持。 第十一部分H i s t o r i c a lA c c e s s ( 历史数据访问) 详细说明了使用O P CU A 对历史信息的访问。访问包括对历史数据和历史事 件的访问。 第十二部分D i s c o v e 珂( 查找) 详细说明了O P CU A 如何在网络中查找服务器,以及客户端如何获得需要的 信息来建立于特定服务器的连接。 第十三部分A g g r e g a t 鼯( 聚合) 详细定义了从原始数据计算样本值的方法,主要用于处理实时数据和历史数 据。 以上规范中,第三部分和第四部分对于理解并实现地址空间和数据访问具有非 常重要的作用,这两个子规范是设计和开发O P CU A 应用程序的关键文档。第三 部分定义了构建一个服务器地址空间需要的元数据模型和类型信息。第四部分定义 了服务器和客户端之间用于交互的抽象服务模型,客户端使用这些服务函数来查找 和访问服务器提供的信息。由于规范中只定义了应用程序间要交换的信息,但并没 有涉及到具体的功能实现和接口定义,所以这些服务都是抽象的。 O P CU A 实质上是一种抽象的框架,是一个多层架构,其中的每一层完全是从 其相邻层抽象而来。把O P CU A 规范划分成不同的部分是为了把核心设计从底层 的运算处理和网络传输分离出来。这使得O P CU A 在不改变基础设计的情况下, 被运用到未来技术上成为可能。这些层定义了线路上的各种通信协议,以及能否安 全地编码解码包含有数据、数据类型定义等内容的讯息。利用这一核心服务和数 据类型框架,人们可以在其基础上轻松添加更多功能。这样也便于O P CU A 结合 传统O P C 规范中的最佳特性和功能,通过添加服务导向型( S O A ) 架构将其提高 到新的水平【I2 1 。 由于O P CU A 架构中的层是抽象的,因此可以添加新的线上( o v e r - t h e w i r e ) 协议、新的安全和保密技术或新的数据类型【1 3 J 。随着技术的进步,O P CU A 也将与 时俱进。 O P CU A 已经超越了当前所有的传统O P C 规范:O P CD A ( 数据访问) 、A E ( 警报和事件) 、H A D ( 历史数据访问) 以及命令和复杂数据。O P CU A 支持用 户选择适合自己的功能级别,因此这一切变得不再复杂。O P CU A 将提供支持此类 自定义功能的子集。每种传统O P C 规范都可以被视为一个子集。 6 华北电力大学硕十学伊论文 2 2 地址空间相关概念 O P CU A 服务器为客户端提供的数据和相关信息都是与服务器的地址空间有关 的。O P CU A 地址空间是以一组用引用形式连接起来的节点来描绘它的内容。 2 2 1 地址空间的功能 图2 1 中显示的是地址空间在服务器中的位置和它所需要实现的功能。O P C U A 提出了一个一致的地址空间和服务模型。这样就可以用一个单一的O P CU A 服 务器把数据,报警与事件和历史信息统一存储到它的地址空间里,并且可以用一套 统一的服务为它们向外提供接口【1 4 1 。从图中可以看到,地址空间及数据存储模块是 服务器从外界获取数据的必经之地,它最典型的获取数据的方式是从具体设备的硬 件驱动程序中获得,然后作为其它模块的数据源。获取数据的方式不仅仅只有从设 备中获取,也可以从D C S 系统、数据库或者是其它O P C 服务器中获取。 I 礁 ,l :秘础蹦 嚣 I j 【体竣件漫貉 图2 - IO P CU A 服务器中地址空间的位置和作用 对于地址空间中要被访问的对象,O P CU A 也允许服务器给客户端提供类型定 义。这使得标准信息模型可以被用来描述地址空间的内容。O P CU A 允许数据以不 同的格式暴露出来,包括二进制结构和X M L 文档,这是规范强制要求的。 7 华北电力人学硕十学位论文 2 2 2 节点和引用 地址空间的基本组成单位是节点【1 5 】。节点由属性和引用定义,而属性和引用需 要给定值。图2 2 显示的是节点的基本组成。 图2 - 2 节点组成部分 属性是用来描述节点的数据元素。客户可以通过读、写、查询、订阅监视项 的方式存取属性值。属性是节点类的基本的组成部分。属性定义是节点类定义的一 部分,因此,不包括在地址空间内。每个属性由一个属性I D ,一个名字,一个描 述,一个数据类型和一个强制可选指示器构成。属性定义不能由客户或服务器来 扩展。当一个节点在地址空间实例化后,节点类属性的值将被提供。强制可选指 示器指示属性是不是必须被实例化。 引用可以用浏览和查询的方式访问。就像属性一样,它也是节点的基本组成部 分。与属性不同的是,引用是作为引用类型节点的实例被定义。引用类型节点在地 址空间里是可以看到的,并使用引用类型节点类来定义。源节点、引用类型、目标 节点的联合唯一标识了一个引用。因此,每个节点仅能使用一次相同的引用类型来 引用其他的节点。任何具体引用类型中的图表类型等同于基本的具体引用类型。目 标节点可以在相同的地址空间里也可以在其他O P CU A 服务器的地址空间里。位 于其他服务器的目标节点需要使用远程服务器名,并且远程服务器要给节点分配一 个标识符。O P CU A 并不要求目标节点一定得存在,引用可以指向一个并不存在的 节点。 O P CU A 一共有八种类型节点。如图2 3 所示,分别是V a r i a b l e ( 变量) 、 V a r i a b l e T y p e ( 变量类型) 、O b j e c t ( 对象) 、O b j e c t T y p e ( 对象类型) 、V i e w ( 视域) 、 D a t a T y p e ( 数据类型) 、R e f e r e n c e T y p e ( 1 用类型) 、M e t h o d ( 方法) 。它们都是从基节 华北电力人学硕十学位论文 点继承而来,基节点有7 种属性,其中标识为“1 ”的是必须实现的属性,标识为 “0 1 ”的是可选实现的。 图2 3O P C U A 节点模型 节点有哪些属性是由节点类决定的。但是,也有一些属性是所有节点共有的。 表2 1 列出了这些属性。 表2 1 节点共同属性 属性数据类型描述 唯一地标识O P CU A 服务器中的一个节点, N o d e l dN o d e I d 并用于定位O P CU A 服务中的节点 N o d e C l a s sN o d e C l a s s 识别节点的枚举类别如对象或方法 B r o w s e N a m e Q u a l i f i e d N a m e浏览O P CU A 服务器时,用于标识节点 D i s p l a y N a m e L o c a l i z e d T e x t 用来在用户界面中显示节点的名称 D e s c r i p t i o n L o c a l i z e d T e x t 可选属性,包含该节点的本地化说明文本 可选,指定了节点属性是可写的,可以由 W t i t e M a s kU h t 3 2 O P C U A 客户端修改 可选,指定了由当前连接到服务器的用户是 U s e r W r i t e M a s kU h t 3 2 否叮以修改节点的属性 9 乍北电力大学硕士学能论文 节点I D 在服务器中唯一标识了一个节点,在关于节点的访问定位服务中,节 点I D 是最重要的概念。浏览或查询地址空间时服务器返回节点I D ,在调用服务中 客户端使用节点I D 来定位节点。一个节点可以有多个备选节点I D 用于定位节 点。通过读节点D 属性,即使这个节点是通过备用节点I D 定位的,也可以得到 节点的标准节点I D 2 2 3 地址空间元模型 在O P CU A 中,元模型被称为地址空间模型。元模型由U M L 类表示,并且 U M L 对象由固定的 标记。这些固定的U M L 对象代表数据类型 或者引用类型。主要的模型可以包含用户定义的引用类型和数据类型,同样作为 标记。另外,主要模型包含对象类型、变量类型等,作为U M L 对象描述。 图2 4 显示的是O P CU A 地址空间模型、信息模型和数据之间的关系示意图。 不同的节点类和它们的属性定义了O P CU A 的元模型。除了节点类外,某些标准 的节点也被用于元模型内部,并且因此也可以被视为元模型的一部分。它有基本引 用类型如H a s S u b t y p e 和基本类型定义如P r o p e r t y T y p e ,也有标准的输入和输出参 数的方法。O P CU A 信息模型使用地址空间模型的概念来定义自己特定域的类型, 以及定义明确的实例。最后,服务器的数据基于信息模型创建。 通常,服务器会支持多个信息模型,其中一些可能基于其他的信息模型。O P C U A 规范已经定义了包含基本类型的基本信息模型。一些已是O P CU A 元模型的一 部分,而其它的部分是用作服务器地址空间入口点或提供服务器诊断信息的模型 D 6 I 。基于基础信息模型,其它信息模型可以由其派生用于特定用途。最后,服务器 可能会扩展信息模型用于提供特定的数据,定义某些服务器特定的类型和服务器特 定的信息模型。 2 2 4 地址空间组织形式 通常,底层的系统结构庞大,客户端经常只对某个指定的子集的数据感兴趣。 比如某工厂的温度传感器检修人员,他只需要查看温度传感器的数值,所以他需要 在大量的数据中查找他所关心的数据。很显然,这样的工作效率十分低下。为了解 决这个问题,规范定义了视域的概念。 1 0 华北电力大学硕十学位论文 皇舅曼曼曼鲁皇量曼I I I I 一, 舅舅量量量皇曼皇皇曼鼍曼皇曼曼曼曼量曼皇曼曼皇曼邑量曼量量曼曼皇皇曼曼曼曼曼皇皇皇曼曼曼曼皇曼曼曼曼舅曼舅皇曼量曼曼量 服务器通过视点的筛选参数属性,筛选相应的引用类型构成的区域称之为视 域。视域由视域节点类定义。视域指定了一个地址空间的予集,整个地址空间就是 一个 地址空间模型 ( 元模型) 定义节点类的基本 类型和约束 图2 4 地址空间模型和信息模霉! ! 默认的视域。视域节点是视域的所有节点的根节点。当浏览视域时,视域中包含的 所有节点都可以从视域节点开始。包含的所有节点不是必须从视域节点开始浏览。 视域节点不仅仅是用来作为地址空间的额外的进入点,也用来组织地址空间的 结构并作为进入地址空间的子集的唯一进入点。因此当揭示地址空间时,客户端不 华北电力大学硕十学位论文 能忽略视域节点。简单客户端不把视域作为过滤的目的,可以把视域节点作为文件 夹类型的对象处理。 图2 5 显示的是实际编程时节点的组织情况。红色方框显示的是地址空间的标 准进入点。在根节点下有3 类节点:视域、对象和类型。对象下面组织的就是地址 空间的丰体,表示了实际设备在地址空间的组织。类型下面包含了四种类型,地址 空间的每个节点都引用其中的一个类型节点。由于视域和类型节点的这种组织形 式,使得地址空间由一个树状结构变成了一个复杂的网状结构。 图2 5 地址空间在程序中的实际架构 2 3O P CU A 服务函数 O P CU A 服务集定义了应用层上的数据通信,是O P CU A 客户端提供的用于访 问O P CI d A 服务器信息模型的数据的各种方法。类似于传统O P C ( 规范仅仅定义 了应用程序之间的各种A P I ) ,服务集定义了U A 应用程序间的通信接口。但服务 集的定义不依赖于传输协议和开发环境,这是与传统O P C 最基本的差别( A P I 依 赖于微软的对象组建模型C O M 这个特殊的传输机制) 。 对传输协议和开发环境的独立性决定了服务集的定义只能是抽象的,U A 规范 第四部分中抽象的定义可以用于不同的传输机制和不同的编程语言下的O P CU A S t a c k 。 华北电力人学硕十一伊论文 曼皇曼曼曼皇曼鼍曼舅皇皇I I , , 一- 量量皇曼曼皇曼量量曼曼曼曼曼曼曼曼曼皇曼鲁喜曼量曼皇量舅舅皇量量皇曼曼皇曼量量曼曼曼曼曼曼曼曼曼曼曼曼曼曼蔓皇曼 类似于传统O P C ,U A 服务集定义了运行在不同进程或不同网络节点上的应用 程序之间的块数据交换,以减少不必要的通信次刿1 7 1 。例如,调用一次R e a d 服务 不仅仅只读一个变量,而是读预先定义好的一组变量,这样就可以减少很多通信次 数。O P CU A 服务集精简成了一个通用的方法集合,精简的原因有两个:一是服务 器的地址空间模型采用了经典O P C 的信息提供方式,只能用通用的方法如R e a d 而 不是其他特殊的方法来访问信息。一个简单的例子是服务器的状态信息,在经典 O P C 中通过G e t S t a t u s 方法获取,在U A 中这个信息模型化为服务器状态变量,可 以被R e a d 服务或者是监测服务读取;另一个是设计目标,为特定的功能提供一个 通用的服务,而不是提供一系列用于不同变量信息的方法。 与网络服务类似,U A 的服务也使用的是请求和响应模式,即每个服务是由请 求消息和响应消息构成。如图2 - 6 所示。调用服务器的一个服务,客户端需要发送 请求信息到服务器。服务器处理收到的请求后,返回一个响应信息给客户端。 由于信息交换是异步的,因此所有服务的调用也是异步的。在发送请求信息 后,客户端程序可以处理的其他应用,直到响应信息返回在接着处理原先的任务。 大多数U A 堆栈的接口函数也提供了同步响应版本以方便使用。这对传统O P C 来 说是一个进步,因为经典O P C 所有的函数都是同步的,仅在后续升级版本提供了 部分函数的异步版本。 客户端 服务器终端 图2 - 6 消息在客户端与服务器之间的交互 O P CU A 规范的第四部分定义了U A 通用的功能函数集合,它们被称之为服务 集。U A 一共定义了3 4 个服务函数,它们被分成了9 个服务集,分别是S e c u r e C h a n n e lS e r v i c eS e t ( 安全信道服务集) 、S e s s i o nS e r v i c eS e t ( 会话服务集) 、 N o d eM a n a g e m e n tS e r v i c eS e t ( 节点管理服务集) 、V i e wS e r v i c eS e t ( 视域服务 集) 、Q u e r yS e r v i c eS e t ( 查询服务集) 、A t t r i b u t eS e r v i c eS e t ( 属性服务集) 、 华北电力夫学硕十学位论文 M e t h o dS e r v i c eS e t ( 方法服务集) 、S u b s c r i p t i o nS e r v i c eS e t ( 订阅服务集) 、 M o n i t o r e dI t e mS e r v i c eS e t ( 监控项服务集) 。但在实际使用中的差别,可以按表 2 2 的方法划分服务集。 表2 - 2 根据实际使用划分服务集 实际使用服务集 查找服务器D i s c o v e r yS e r v i c e sS e t S e c u r eC h a n n e lS e r v i c eS e t 管理客户端与服务器间的通信 S e s s i o nS e r v i c eS e t 查找地址空间中的信息 V i e wS e r v i c eS e t 读写数据 R e a da n dW i i t eS e r v i c e 订阅数据改变与事件通知 S u b s c r i p t i o nS e r v i c eS e t M o n i t o r e dI t e mS e r v i c eS e t 调用服务器端的函数 C a l lS e r v i c e 访问历史数据和事件 H i s t o r y R e a da n dH i s t o r y U p d a t e S e r v i c e 奄找整个地址空间中的信息Q u e r yS e r v i c eS e t 修改服务器中地妇r ,审问的结构N o d eM a n a g e m e n tS e r v i c eS e t 本文开发的服务器是由多人共同实现完成,本人实现了以下六个服务函数,分 别是:A d d N o d e s ( 增加节点) 、D e l e t e N o d e s ( 删除节点) 、A d d R e f e r e n c e s ( 增加引用) 、 D e l e t e R e f e r e n c e ( 册Y 除引用) 、B r o w s e ( 浏览) 和T r a n s l a t e B r o w s e P a t h ( 转换浏览路径) 。 2 4 本章小结 本章首先介绍了O P CU A 的各部分规范,简要阐述了U A 规范的特点。然后重 点介绍了地址空间在服务器中的功能,以及地址空间的基本组成单位、实际组织的 架构、元模型结构。最后指出O P CU A 的功能是以服务函数的形式向外界提供。 对O P CU A 技术的理解是建立在对规范的深入理解之上。O P CU A 体系庞大, 结构复杂,需要对规范的所有部分都进行掌握才能更好地开发O P CU A 程序。由 于本文只侧重于地址空间的研究,所以只介绍了地址空间相关部分的规范。对地址 空间和信息模型的理解是认识整个O P CU A 的基础,然而不了解其它部分的规范 对于研究地址空间的影响不大。尽管如此,但是还是建议对O P CU A 各个部分的 规范都进行一定程度的了解;这对于协作完成整个O P CU A 程序有帮助。 1 4 华北电力大学硕十学位论文 ! 第3 章程序分析与设计关键技术 O P CU A 相对于传统O P C 有了很大变化,特别是在地址空间的设计和使用 上。传统O P C 的地址空间只有三层结构【l 钔,只能存储数据值,而且都是存放在项 对象中,结构比较简单,在地址空间的使用和维护上也很方便。 U A 的功能更加复杂化和多样化,这使得地址空间也必须做根本性的改变才能 满足新的要求。然而,O P CU A 的规范都是抽象化的,没有具体规定如何去实现各 个部分的内容,地址空间方面也是如此。本论文结合O P CU A 规范的内容,对地 址空间实现的难点进行剖析后,总结提出以下几个实现地址空间的重要措施。 3 1 复杂数据内置 O P CU A 支持复杂数据内置,数据的表现形式不再是单纯的值形式。U A 地址 空间的多层次网状结构是U A 存储复杂数据类型的基础,也更增加了地址空间设计 参 的灵活性和多样性。 3 1 1 概述 当客户端需要用到复杂数据结构体时,有三个不同的方、法【1 9 1 : 1 ) 创建多个使用简单数据类型的简单变量来反映结构的简单部分。然后使用 对象将这些变量组织起来。 2 ) 创建一个复杂数据类型,以及使用这个数据类型的简单变量。 3 ) 创建一个复杂数据类型和一个使用这个数据类型的复杂变量,同样揭示这 个复杂数据结构作为使用简单数据类型的复杂变量。 第一个方法的优点是数据的复杂结构在地址空间中可见;一个普通的客户端可 以很容易访问这些数据而不需要知道用户定义的数据类型;客户端可以访问复杂数 据的单独部分。缺点是访问单个数据不提供任何处理的上下文;对于特殊的客户 端,服务器首先需要将数据转化,并且客户端也需要将服务器传来的数据再转化, 这样才能获得底层系统提供的数据结构。 第二个方法的优点是数据可以在处理的上下文中被访问,复杂数据类型可以结 构化,这样的话服务器就不需要将数据进行转化而直接传给特殊的客户端以供直接 使用。缺点是普通客户端无法直接访问

温馨提示

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

最新文档

评论

0/150

提交评论