OPCUA服务器地址空间与数据存储研究与开发资料下载.pdf
《OPCUA服务器地址空间与数据存储研究与开发资料下载.pdf》由会员分享,可在线阅读,更多相关《OPCUA服务器地址空间与数据存储研究与开发资料下载.pdf(73页珍藏版)》请在冰点文库上搜索。
据本人所知,论文中除己注明部分外不包含他人已发表或撰写过的研究成果。
对本文的研究工作做出重要贡献的个人和集体,均已在文中以明确方式注明。
本声明的法律结果将完全由本人承担。
作者签名:
专辉日期:
olp年岁月f日华北电力大学硕士学位论文使用授权书(OPCUA服务器地址空间与数据存储研究与开发系本人在华北电力大学攻读硕士学位期间在导师指导下完成的硕士学位论文。
本论文的研究成果归华北电力大学所有,本论文的研究内容不得以其它单位的名义发表。
本人完全了解华北电力大学关于保存、使用学位论文的规定,同意学校保留并向有关部门送交论文的复印件和电子版本,允许论文被查阅和借阅。
本人授权华北电力大学,可以采用影印、缩印或其他复制手段保存论文,可以公布论文的全部或部分内容。
本学位论文属于(请在以上相应方框内打“4”):
保密口,在年解密后适用本授权书不保密作者签名:
方辉l刷磁轹降扣哆日期:
口年3月If日日期:
2口lf年乡月lf日牛北电力大学顾十学位论文摘要传统OPC服务器地址空间结构简单,使得服务器只能侧重于设备实时数据的采集和交换,不利于设备的管理和维护。
本文使用新的OPC统一架构(UA)标准解决这类问题。
将数据、报警和事件等信息集成到统一的地址空间,使得现场级、操作级和企业级的信息能集成到一起。
地址空间是OPCUA的核心部分,本文研究并剖析了地址空间的实现方法。
在NET平台上使用C#语言开发了基本的UA服务器,实现了地址空间相关的服务函数。
通过采用分级节点管理结构,设计实现了创建、管理地址空间的节点管理接口。
另外,提出了一个将OPCUA与EDDL技术相结合的方案来实现将设备的完整信息映射到OPCUA的地址空间结构。
关键词:
OPC服务器;
OPC统一架构;
OPC地址空间;
EDDL技术;
华北电力犬学硕十学位论文AbstractThestructureofaddressspaceintraditional0PCserverissimpleSOtheservercanonlyfoCUSonthecollectionandexchangeofdeviceSrealtimedata,itisnotconducivetothemanagementandmaintenanceofdeviceThispaperUSeSanew0PCUnifiedArchitectureSpecificationtoaddresstheaboveissuesItSsuppogsdataalarmsandeventsinformationintegratedintoaunifiedaddressspace,whichmakesinformationintegrationofthedevicelevel,operationallevelandenterpriselevelaspossibleAdressspaceisthecoreof0PCUATheimplementationofadressspaceareresearchedandanalyzedinthispaperDevelopmentofthebasicUAserverwhichusesNETplatformandC群languagerealizedtheaddressspacerelatedservicesByusinghierarchicalnodemanagementstructure,theNodeManagerinterfacewhichcreateandmanageaddressspacearedesignedInaddition,presentstheschemeofcombinedwithOPCUAandEDDLtechnologytorealizethecompletedeviceinformationmappedtothe0PCUAaddressspacestructureKeywords:
OPCServer;
OPCUnifiedArchitecture;
OPCaddressspace;
EDDLtechnologyU华北电力大学硕十学位论文目录摘要IAbstractII第l章引言l11OPCUA技术概述_1111OPCUA产生的背景1112OPCUA概念及其发展的意义2113国内外研究现状312本论文的主要研究内容4第2章OPCUA地址空间相关规范的研究521OPCUA规范介绍。
522地址空间相关概念7221地址空间的功能7222节点和引用8223地址空间元模型lO224地址空间组织形式。
1023OPCUA服务函数1224本章小结。
14第3章程序分析与设计关键技术1531复杂数据内置15311概j盔15312复杂类型定义节点和它们的实例声明17313复杂类型定义节点的实例1832地址空间节点数据的存储19321存储节点的数据结构。
19322数据匹配问题的解决。
2l33分级节点管理2234本章小结23第4章OPCUA服务器的开发与测试。
2441预定义文件2442节点管理类2611I华北电力人学硕十学位论文421节点管理接口INodeManager。
26422核心节点管理类CoreNodeManager36423主节点管理类MasterNodeManager3643OPCUA服务器的设计37431设计基础37432前期工作39433宿丰服务器设计4444OPCUA服务器的测试4745本章小结。
52第5章EDDL技术与OPCUA的结合5351OPCUA引入EDDL的原因5352OPCUA引入EDDL的可行性分析5453基于EDDL技术的OPCUA服务器实现方案5554本章小结56第6章结束语5761本文主要工作总结5762未来与展望57参考文献59攻读硕士学位期间发表的论文及其它成果61蜀C谢62IV的技术取代当前技术来满足自动化用户日益增长的需求。
OPCUA技术就是为了顺应这样的要求而产生的。
111OPCUA产生的背景OPC技术是OPC基金会在微软Windows的OLE(ObjectLinkingandEmbedding对象链接与嵌入)技术和COMDCOM技术基础上发展的一种数据交换方法,其目的就是通过一个统一的接口实现不同厂商的软件产品间的数据交换。
它为开发应用程序的不同厂商提供了一项共同遵循的通信标准,从而大大减少了在系统集成过程中的重复开发,并提高了控制系统的性能。
OPC的动机是建立大量数据源通信的标准机制,这些数据源可以是工厂的设备或控制室的数据库。
经过多年的发展,OPC组织发展了OPCDA(数据采集)、OPCAlarms&
Events(报警和事件)、OPCHDA(历史数据)、Batch(批次)、Security(安全)等技术,其中OPCDA在自动化行业得到了广泛的应用川。
OPC作为新兴的数据互联国际标准,其贡献是巨大的。
目前OPC在解决工业设备实时数据采集与通信方面已经获得业内的广泛认可,是降低系统间互联成本的最佳途径。
但是OPC本身仍处于快速发展、进化之中。
现有OPC标准已经诞生lO年有余,此间技术已经取得了很大进步。
使得原有的OPC技术已经无法满足实际的需求,产生了以下主要缺陷:
(1)不具有平台无关性,仅适合于微软平台环境;
(2)DCOM不适用于Intemet环境,它不支持通过Intemet访问对象【2】;
(3)COM产牛的传输报文复杂,并且由于防火墙的存在,在Intemet上发送COM报文非常网难。
因此,新的标准必须诞生,以跟上技术进步的步伐。
OPCUA就是在这样的背景下诞生的。
OPC基金会于2004年1月成立了UA工作组,致力于采用最新技术华北电力大学硕十学位论文把OPC建成一种新的系统架构,满足互操作和即插即用、自动识别的要求。
以期望这种新的架构在今后10年或更长时间成为自动化领域的新标准。
以下是OPCUA标准诞生的一些详细背景:
(1)微软公司为发展跨平台Web服务的技术和SOA(ServiceOrientedArchitecture)技术,不再重点发展COM技术,OPC技术面临失去技术支撑的境地。
随着MicrosoftNET架构的发布,工业应用软件也逐渐转向MicrosoftNET31。
(2)OPC产品供货商希望一个OPC产品能够提供多种数据服务,而非像现在那样把产品分为DA、A&
E、HAD等多种模式。
(3)OPC产品供货商希望OPC产品能够运行于非微软的操作系统中,包括嵌入式设备上。
(4)其他一些OPC基金会的合作组织需要支持高级结构化数据的可靠和有效的实现手段。
112OPCUA概念及其发展的意义OPCUA(OPCUnifiedArchitecture)指OPC统一体系架构,是一个不依赖于任何平台的新的工业软件接口规范。
它是OPC基金会在2006年推出的第二代OPC技术,用来取代传统的OPC技术。
与OPCDA标准相比,OPCUA是跨平台的,提供更高的可靠性、安全性和数据集成,能显著改进企业信息的连通性【41。
OPCUA扩展了OPC的应用平台,把过去只在Windows平台上的OPC技术拓展到Linux和Unix平台。
开放的基于Intemet的WebService的服务架构(SOA)和基于Intemet的异常灵活的数据交换系统,为构建跨地域的数据采集系统提供了有力的技术支撑【5】。
基于OPCUA标准的产品可更好地实现工厂级的数据采集和管理,从PLC、DCS等现场设备,到HMI、SCADA,再到生产制造系统,再到企业上层管理软件,都可以通过OPCUA标准,统一进行沟通【6J。
如图11所示。
OPCUA标准使产品的开发和使用更为简单。
OPC标准促进了工厂自动化系统和信息化管理系统间的数据互操作能力,避免了非标准数据接口的复杂性。
OPCUA产品的开发比非OPC产品更为容易,因此越来越多的厂商开始开发基于OPCUA的服务器和客户端应用。
OPCUA定义了统一数据和服务模型。
包括:
代表结构、行为和语义的信息模型、使应用程序相互作用的消息模型、在终端之间传输数据的通信模型和保证系统之间实现互操作性的一致性模型【71。
这些统一的模型使数据组织更为灵活,可以实现报警与事件、数据存取、历史数据存取、控制命令、复杂数据的交互通信。
2牛北电力人。
硕十学位论文凸自自iAcq=si,i白图11OPCUA的应用OPCUA支持查询和通知服务,服务消息可以是二进制的,也可以是XML的,这意味着OPCUA不仅仅适于设备层、自动化层到信息化层的数据交换,还可以透过Intemet实现远程的数据交换,能满足自动化工厂所有层面数据交换的需要18】。
OPCUA比OPCDA更安全。
OPCUA传递的数据是可以加密的,并对通信连接和数据本身都可以实现安全控制【9】。
新的安全模型保证了数据从原始设备到MES,ERP系统,从本地到远程的各级自动化和信息化系统的可靠传递。
OPCUA的设计对于基于微软COM技术的OPC客户端和服务器来说,是可移植的。
可移植性在设计OPCUA的时候已经给予了考虑【10l,以至于由传统OPC服务器(数据访问、历史数据访问和事件报警)暴露出来的数据可以通过OPCUA进行映射和暴露出来。
生产厂商既可以直接遵循OPCUA标准移植他们的产品,也可以对先前的产品进行外部封装来达到从传统OPC到OPCUA的过渡。
113国内外研究现状自2004年1月OPC基金会的OPCUA工作组成立之后,经过2年的时间,在2006年发布了OPCUA规范,规范由十三部分构成,其中有部分是草案。
此后,OPC基金会不断更新规范,到目前为止仍未形成一套最终的规范。
因此,OPCUA现在仍处于一个从理论到应用的一个过渡阶段。
华北电力夫学硕十学伊论文华北电力大学硕十学位论文第2章OPCUA地址空间相关规范的研究OPCUA全面确立以面向服务(serviceoriented)为核心的概念,UA被描述为一组分层次的规格书,目前由13部分构成。
本文主要涉及的是第3、4、5这三部分中与地址空间关系紧密的规范。
为了明确表达UA的结构,在以上规格书中,OPC基金会故意使用了一些抽象的概念和术语,在这些规格书的后半部分,特别举例说明如何通过现有技术来编程实现这些概念。
21OPCUA规范介绍OPC统一体系架构规范由十三部分组成】。
各部分规范概要介绍如下:
第一部分Conc印ts(概念)描述了关于OPCUA服务器和客户端的基本概念。
盛第二部分Sec嘶tyModel(安全模型)描述了用于OPCUA客户端和OPCUA服务器之间安全交互的模型。
第三部分AddressSpacemodel(地址空间模型)描述了服务器地址空间的内容和结构。
第四部分Seices(服务)指定了OPCUA服务器提供的所有服务。
第五部分InfomlationModel(信息模型)详细说明了为OPCUA服务器定义的标准数据类型和它们之间的关系。
第六部分M印pings(映射)详细说明了OPCUA支持的传输映射和数据编码机制。
第七部分_呻rofiles(协议)详细说明了可用于OPC客户端和服务器的协议。
这些协议提供了可用于一致性标准的服务和功能。
服务器和客户端可依靠这些协议来进行测试。
第八部分DataAccess(数据访问)详细说明了如何使用OPCUA进行数据访问。
第九部分Al锄sandConditions(报警与事件)详细说明了使用OPCUA对报警与条件通道的支持。
基本的系统包括对简单事件的支持;
这部分规范拓展了对报警与事件的支持。
第十部分呻r0伊锄s(程序)牛北电力大学硕十学位论文详细说明了OPCUA对程序访问的支持。
第十一部分HistoricalAccess(历史数据访问)详细说明了使用OPCUA对历史信息的访问。
访问包括对历史数据和历史事件的访问。
第十二部分Discove珂(查找)详细说明了OPCUA如何在网络中查找服务器,以及客户端如何获得需要的信息来建立于特定服务器的连接。
第十三部分Aggregat鼯(聚合)详细定义了从原始数据计算样本值的方法,主要用于处理实时数据和历史数据。
以上规范中,第三部分和第四部分对于理解并实现地址空间和数据访问具有非常重要的作用,这两个子规范是设计和开发OPCUA应用程序的关键文档。
第三部分定义了构建一个服务器地址空间需要的元数据模型和类型信息。
第四部分定义了服务器和客户端之间用于交互的抽象服务模型,客户端使用这些服务函数来查找和访问服务器提供的信息。
由于规范中只定义了应用程序间要交换的信息,但并没有涉及到具体的功能实现和接口定义,所以这些服务都是抽象的。
OPCUA实质上是一种抽象的框架,是一个多层架构,其中的每一层完全是从其相邻层抽象而来。
把OPCUA规范划分成不同的部分是为了把核心设计从底层的运算处理和网络传输分离出来。
这使得OPCUA在不改变基础设计的情况下,被运用到未来技术上成为可能。
这些层定义了线路上的各种通信协议,以及能否安全地编码解码包含有数据、数据类型定义等内容的讯息。
利用这一核心服务和数据类型框架,人们可以在其基础上轻松添加更多功能。
这样也便于OPCUA结合传统OPC规范中的最佳特性和功能,通过添加服务导向型(SOA)架构将其提高到新的水平【I21。
由于OPCUA架构中的层是抽象的,因此可以添加新的线上(over-thewire)协议、新的安全和保密技术或新的数据类型【13J。
随着技术的进步,OPCUA也将与时俱进。
OPCUA已经超越了当前所有的传统OPC规范:
OPCDA(数据访问)、A&
E(警报和事件)、HAD(历史数据访问)以及命令和复杂数据。
OPCUA支持用户选择适合自己的功能级别,因此这一切变得不再复杂。
OPCUA将提供支持此类自定义功能的子集。
每种传统OPC规范都可以被视为一个子集。
6华北电力大学硕十学伊论文22地址空间相关概念OPCUA服务器为客户端提供的数据和相关信息都是与服务器的地址空间有关的。
OPCUA地址空间是以一组用引用形式连接起来的节点来描绘它的内容。
221地址空间的功能图21中显示的是地址空间在服务器中的位置和它所需要实现的功能。
OPCUA提出了一个一致的地址空间和服务模型。
这样就可以用一个单一的OPCUA服务器把数据,报警与事件和历史信息统一存储到它的地址空间里,并且可以用一套统一的服务为它们向外提供接口【141。
从图中可以看到,地址空间及数据存储模块是服务器从外界获取数据的必经之地,它最典型的获取数据的方式是从具体设备的硬件驱动程序中获得,然后作为其它模块的数据源。
获取数据的方式不仅仅只有从设备中获取,也可以从DCS系统、数据库或者是其它OPC服务器中获取。
I礁,l:
秘础蹦嚣Ij【体竣件漫貉图2-IOPCUA服务器中地址空间的位置和作用对于地址空间中要被访问的对象,OPCUA也允许服务器给客户端提供类型定义。
这使得标准信息模型可以被用来描述地址空间的内容。
OPCUA允许数据以不同的格式暴露出来,包括二进制结构和XML文档,这是规范强制要求的。
7华北电力人学硕十学位论文222节点和引用地址空间的基本组成单位是节点【15】。
节点由属性和引用定义,而属性和引用需要给定值。
图22显示的是节点的基本组成。
图2-2节点组成部分属性是用来描述节点的数据元素。
客户可以通过读、写、查询、订阅监视项的方式存取属性值。
属性是节点类的基本的组成部分。
属性定义是节点类定义的一部分,因此,不包括在地址空间内。
每个属性由一个属性ID,一个名字,一个描述,一个数据类型和一个强制可选指示器构成。
属性定义不能由客户或服务器来扩展。
当一个节点在地址空间实例化后,节点类属性的值将被提供。
强制可选指示器指示属性是不是必须被实例化。
引用可以用浏览和查询的方式访问。
就像属性一样,它也是节点的基本组成部分。
与属性不同的是,引用是作为引用类型节点的实例被定义。
引用类型节点在地址空间里是可以看到的,并使用引用类型节点类来定义。
源节点、引用类型、目标节点的联合唯一标识了一个引用。
因此,每个节点仅能使用一次相同的引用类型来引用其他的节点。