OPC与OPC UA说明

什么是OPC协议?

OPC(OLE for Process Control)

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

OPC数据访问是一组客户端 - 服务器标准,提供从PLC等数据采集设备到显示和接口设备(如人机界面(HMI),SCADA系统以及ERP)的实时数据通信规范。MES系统。规范侧重于数据的连续通信。

OPC数据访问规范也称为OPC DA。OPC DA仅处理实时数据而非历史数据(对于需要使用OPC历史数据访问或OPC HDA的历史数据)或事件(对于需要使用OPC报警和事件或OPC AE的报警和事件) 。

OPC DA数据有三个属性。一个值,价值的质量和一个时间戳。

OPC DA规范声明必须将这三个属性返回给发出请求的OPC客户端。因此,例如,如果数据源无法提供时间戳,则OPC DA服务器必须创建时间戳。

OPC Classic规范基于Microsoft COM技术并定义了C/C ++ 接口。还定义了一个标准的自动化 包装器接口,用于从Visual Basic,Delphi和其他支持自动化的语言进行访问。一些供应商提供.NET工具包,以便在.NET应用程序中访问OPC接口。

较新的OPC .NET(OPC Xi)规范基于WCF(Windows Communication Foundation),并定义了具有OPC Classic规范OPC DA,OPC HDA和OPC AE(警报和事件)功能的.NET接口。

最新的OPC统一架构允许相同的功能,但提供平台独立性和可选的复杂信息建模功能。

什么是OPC UA?

OPC统一架构OPC UA)是OPC Foundation开发的用于工业自动化的机器通信协议。区别特征是:

专注于与工业设备和系统进行通信,以进行数据收集和控制

开放- 根据GPL 2.0许可免费提供和实施[1]

跨平台- 不依赖于一种操作系统或编程语言

面向服务的体系结构(SOA)

固有的复杂性 - 规范包含14个文档中的1250页

强大的安全性

集成信息模型,它是信息集成所必需的基础结构的基础,供应商和组织可以将其复杂数据建模到OPC UA名称空间,以利用丰富的面向服务的OPC UA体系结构。目前与OPC基金会有超过35个合作。主要行业包括制药,石油和天然气,楼宇自动化,工业机器人,安全,制造和过程控制。

历史

虽然OPC UA由同一组织开发,但与其前身开放平台通信(OPC)有很大不同。基金会OPC UA的目标是提供原始OPC通信模型(即Microsoft Windows-only流程交换COM /DCOM)的前进路径,以更好地满足工业自动化的新兴需求。[2]

经过三年多的规范工作和另一年的原型实施,统一架构的第一个版本于2006年发布。

该规范的当前版本是1.04(2017年11月22日[3])。除了客户端/服务器通信基础设施之外,新版本的OPC UA现在还添加了发布/订阅。

创新

尽管对COM /DCOM的原始绑定帮助OPC很好地分发,但它有几个缺点:

DCOM经常出现配置问题;

没有可配置的超时;

仅限Microsoft Windows;

安全性较低;

无法控制DCOM(COM / DCOM是一种黑盒子,开发人员无法访问源,因此必须处理错误或不充分的实现)。

这些缺点以及许多其他考虑因素推动了为OPC UA开发新的独立堆栈的决定,它取代了COM / DCOM。该通信栈的主要特征是:

多平台实现,包括可移植的ANSI C,Java和.NET实现;

可扩展性:从智能传感器和智能执行器到大型机;

多线程,以及单线程/单任务操作 - 将堆栈移植到嵌入式设备所必需的;

安全性,基于新标准;

每项服务的可配置超时;

大数据报的分块。

这种通信堆栈反映了各种创新的开始。OPC UA体系结构是面向服务的体系结构(SOA),基于不同的逻辑级别。

OPC Base Services是抽象方法描述,它们与协议无关,并为OPC UA功能提供基础。传输层将这些方法放入协议中,这意味着它将数据序列化/反序列化并通过网络传输。为此目的指定了两个协议。一种是二进制TCP协议,针对高性能进行了优化,第二种是面向Web服务的。

OPC信息模型是基于节点的所谓全网状网络。这些节点可以包括任何类型的元信息,并且类似于面向对象编程(OOP)的对象。节点可以具有读取访问权限(DA,HDA),可以调用的方法(命令)以及可以传输的触发事件(AE,DataAccess,DataChange)。节点保存过程数据以及所有其他类型的元数据。OPC名称空间包含类型模型。

客户端软件可以验证服务器支持的配置文件。如果服务器仅支持DA功能或另外支持AE,HDA等,则这对于获取信息是必要的。此外,可以获得关于服务器是否支持给定简档的信息。OPC UA的新功能和重要功能包括:

冗余支持

双向连接的心跳(指示另一端是否“活着”)。这意味着服务器和客户端都可以识别中断。

缓冲数据和传输数据的确认。丢失的连接不再导致数据丢失。可以重新获取丢失的数据报。

在2006年10月于慕尼黑举行的OPC UA DevCon上,第一批原型机现场展出。各种UA服务器已在Beckhoff 可编程逻辑控制器和欧洲的嵌入式测试板上展示。Beckhoff PLC基于Windows XP Embedded,嵌入式控制器基于实时操作系统Euros。嵌入式实验室有限公司在具有64kBRAM的单芯片ARM微控制器上演示了基于自己的C ++ UA堆栈的OPC-UA服务器。2012年10月,德国Fraunhofer应用中心IOSB-INA和工业信息技术研究所(inIT)表明,OPC-UA服务器可扩展至15 kB RAM和10 kB ROM,因此可用于芯片级。

更多文章请继续关注

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180811G0R3YH00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券