产品中心当前位置: 首页 > 产品中心


知识分享 | OPC和OPC UA有什么区别

 

2017年9月,OPC UA正式成为国家推荐性标准。而对于OPC UA是什么,和OPC有什么区别,为什么要使用OPC UA,很多人却感到疑惑。以下这篇文章,将帮助大家解答疑惑。

什么是OPC

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

经典OPC规范基于微软Windows系统提供的COM/DCOM技术,用于软件之间数据交换的规范。OPC规范定义了几种不同的,用于访问过程数据、报警信息以及历史数据的版本规范:

•  OPC实时数据访问规范:OPC DA (Data Access, exchange of real-time values)定义了包括数据值,更新时间与数据品质信息的相关标准。

• OPC报警事件访问规范:OPC A&E (Alarms & Events, exchange of alarms and events) 定义了报警与时间类型的消息类信息,以及状态变化管理等相关标准。

• OPC历史数据访问规范:OPC HDA (Historical Data Access, exchange of historical values) 定义了查询、分析历史数据和含有时标的数据的方法。

• OPC基于XML Web服务的数据访问规范:OPC XML DA (XML-based exchange of real-time values)规范定义了常用标记的命名空间,及目标命名空间。

以上所有的接口定义都统称为OPC。

 

什么是OPC UA

为了应对标准化和跨平台的趋势,为了更好的推广OPC,OPC基金会近些年在之前OPC成功应用的基础上推出了一个新的OPC标准-OPC UA。

OPC UA接口协议包含了之前的 A&E, DA,OPC XML DA or HDA,只使用一个地址空间就能访问之前所有的对象,而且不受WINDOWS平台限制,灵活性和安全性比之前的OPC都得到了提升。

OPC UA规范不再是基于COM/DCOM技术,因此OPC UA不仅能在Windows平台上实现,更可以在Linux,以及其他的嵌入式平台中实现。

 

区别

OPC和OPC UA协议使用的TCP层不一样:

OPC是基于DOM/COM上,应用层最顶层;

OPC UA是基于TCP IP scoket 传输层。

OPC虽然通过配置COM/DOM来提供数据加密和签名功能,配置防火墙,用户权限来让数据访问变得更加安全,但是会增加额外的工作量,尤其是对非IT的工程师来说;

对于OPC UA,数据加密和签名,防火墙等都是默认的功能。比如基于DOM的OPC使用的动态端口分配,端口不固定,让防火墙难以确定,而OPC UA的端口都是唯一的,比如SINUMERIK 840D是PORT 4840,SIMATIC S7是PORT 4845。DOM/COM也可以生成不同级别的事件日志,但日志内容不够详细,只会提供“谁连接上服务器”这种,而对于OPC UA来说都是默认的功能,生成的日志内容更全面。

 

为什么使用OPC UA

01

功能方面,OPC UA不仅支持传统OPC的所有功能,更支持更多新的功能,例如地址空间优化、互访认证等。

02

平台支持方面,由于不再基于COM/DCOM技术,OPC UA标准提供的更多的可支持的硬件或软件平台。

03

安全性方面,最大的变化是OPC UA可以通过任何单一端口(经管理员开放后)进行通信,这使得OPC通信不再会由于防火墙受到大量的限制。