OPC UA

OPC
什么是OPC?
OPC全称是OLE(Object Linking and Embedding) for Process Control。

为了便于自动化行业不同厂家的设备和应用程序能相互交换数据,定义了一个统一的接口函数,就是OPC协议规范。有了OPC就可以使用统一的方式去访问不同设备厂商的产品数据。
简单来说:OPC就是为了用于设备和软件之间交换数据。

OPC基金会前前后后规定了不同的接口定义,如下:

• OPC DA (Data Access, exchange of real-time values)
• OPC A&E (Alarms & Events, exchange of alarms and events)
• OPC HDA (Historical Data Access, exchange of historical values)
• OPC XML DA (XML-based exchange of real-time values)

以上所有的接口定义,我们现在都统称为OPC。OPC是基于WINDOWS COM/DOM接口技术来规定的。

为什么需要OPC?
1.工业领域有大量的硬件,硬件与应用软件耦合较大,底层变动对应用影响较大。
2.硬件设备厂商较多,不同设备之间的通讯及互操作困难。

工业控制领域用到大量的现场设备,在OPC出现以前,软件开发商需要开发大量的驱动程序来连接这些设备。即使硬件供应商在硬件上做了一些小小改动,应用程序也可能需要重写。同时,由于不同设备甚至同一设备不同单元的驱动程序也有可能不同,软件开发商很难同时对这些设备进行访问以优化操作。

为了消除硬件平台和自动化软件之间互操作性的障碍,建立了OPC软件互操作性标准,开发OPC的最终目标是在工业控制领域建立一套数据传输规范。

OPCUA简介
什么是OPC UA?
UA全称是unified architecture(统一架构)。
为了应对标准化和跨平台的趋势,为了更好的推广OPC,OPC基金会近些年在之前OPC成功应用的基础上推出了一个新的OPC标准-OPC UA。OPC UA接口协议包含了之前的 A&E, DA,OPC XML DA or HDA,只使用一个地址空间就能访问之前所有的对象,而且不受WINDOWS平台限制,因为它是从传输层以上来定义的,导致了灵活性和安全性比之前的OPC都提升了。

OPC UA的优势:
一、功能方面,OPC UA不仅支持传统OPC的所有功能,更支持更多新的功能:1. 网络发现:自动查询本PC机中与当前网络中可用的OPC Server。2. 地址空间优化:所有的数据都可以分级结构定义,使得OPC Client不仅能够读取并利用简单数据,也能访问复杂的结构体。3. 互访认证:所有的读写数据/消息行为,都必须有访问许可。4. 数据订阅:针对OPCClient不同的配置与标准,提供数据/消息的监控,以及数值变化时的变化报告。5. 方案(Methods)功能:OPC UA中定义了通过在OPCServer中定义方案(Methods),来让OPC client执行特定的程序。
二、平台支持方面,由于不再基于COM/DCOM技术,OPC UA标准提供的更多的可支持的硬件或软件平台。硬件平台诸如传统的PC机、基于云的服务器、PLC、ARM等其他微处理器;而软件平台可支持微软的Windows、苹果公司的OSX、安卓,以及其他的基于Linux的分布式操作系统。
三、安全性方面,最大的变化是OPC UA可以通过任何单一端口(经管理员开放后)进行通信,这使得OPC通信不再会由于防火墙受到大量的限制。

核心的区别是因为OPC和OPC UA协议使用的TCP层不一样,如下:
OPC是基于DOM/COM上,应用层最顶层;OPC UA是基于TCP IP scoket 传输层


OPC UA规范标准
为了使 OPC UA 规范具有普遍的适应性,OPC 基金会使用了抽象的概念和术语形成 UA 规范,其中核心规范有 6 部分,访问类型规范由 6 部分组成。UA 服务器和客户端开发除了依赖于 UA 十三个规范的需求性指导以外,还需要合适的技术作为开发 UA服务器和客户端功能模块的基础。因此,具体的开发过程,需要分析相关规范,并结合具体的实践环境,确定合适的技术手段。

Part1到Part13全部文档下载链接:下载链接

OPC UA基础
OPC UA 规范实质上是个抽象的分层架构,层与层之间是紧密联系,OPC UA 由下图的不同层次构成,它的基础组件是传输机制和信息建模,从图中能清楚得到,规范中第6
、7、8、9、11 部分是描述了数据机制,而规范中第 3、4、5 部分是说明信息建模。
OPC UA 在传输机制方面超越了传统的 OPC规范,它为企业内部网通信定义了二进制TCP,同时为防火墙友好的互联网通信定义了映射,接受如Web服务,XML、HTTP
等的互联网标准的通信。OPC UA 对传统 OPC 规范的最大创新是信息建模。

OPC UA 规范划分为不同层次,目的是为了把核心设计从底层运算处理和传输网络中分离开来,这能使在不改变底层设计的情况下,运用最新技术,这些底层设计主要定
义了传输的通信协议,对数据的解编码,和各种数据类型定义等信息。在这些核心服务与数据类型框架下,未来人们能根据实践需要添加更多功能。这样,能使 OPC UA 更具有生命力。

OPC UA 软件层
OPC UA使用类似经典OPC的客户端/服务器概念。一个希望对其他应用暴露自己的信息的应用程序被称为UA服务器。而一个想要使用其他应用程序的信息的应用程序被称为UA客户端。但是,期望与经典OPC相比,更多的应用是在一个应用程序中包含UA服务器和UA客户端。其中一个原因是,越来越多的UA服务器将被直接集成在设备中,同时实现一个UA客户端使设备到设备的通信变得可行。另一个原因是, OPC UA用作配置接口, UA客户端同时也是一个可以通过OPC UA进行配置的UA服务器。

一个典型的OPC UA的应用是由上图所示的三个软件层次组成的。整个完整的软件栈可以使用C/C ++、.NET或Java实现。OPC UA不限定只使用这些编程语言和开发平台,但目前只有这些环境下的OPC基金会的UA栈的实现可以交付使用。一个OPC UA应用程序是一个要公开或使用OPC UA数据的系统。它包含该应用程指定的功能,以及通过使用OPC UA栈和OPC UA 的软件来发工具包(SDK), 从该功能到OPC UA的映射。

在网络环境中基于 SDK 构建 UA 应用程序之间的交互。下图中能看出,SDK 总是在协议栈之上,UA 服务器和 UA 客户端都在 SDK 之上开发的。

各种开源OPC UA实现工具代码,SDK,开源代码等:链接

OPC UA 学习内容
如果想要了解学习OPC UA,可以根据自身需求,参照下表,学习对应的内容。

参考:《OPC 统一架构》、OPC UA信息模型及其应用—江城、

水平有限,如有不对之处,还请指正。
————————————————
版权声明:本文为CSDN博主「Kunaly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33406883/article/details/106261867

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值