0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

超全的OPC UA技术解析

智能制造之家 来源:智能制造之家 2023-02-08 15:25 次阅读

写在前面

大家好,我是小智,智能制造之家号主~

前面我们分享了西门子、施耐德、三菱、罗克韦尔等工业巨头的主要工控协议及其端口

西门子、施耐德、三菱、RA:全球主要工控协议及端口解析

原创了很多工业协议、工业通讯相关的干活文章:

技术解读PROFINET、Ethernet/IP等7种主流工业以太网

最全整理工业通讯上的领域各种总线+协议+规范+接口—数据采集与控制

最详细的工业网络通讯技术与协议总结解读(现场总线、工业以太网、工业无线)

RS232RS485RJ45以及Modbus协议超全解析

工控协议之ModbusTCP报文功能码详解及模拟下载分享

入门工业通讯之EtherNet/IP协议分析

还分享了各种SCADA与数据采集解决方案:

重磅PPT | 详解工业数据采集与应用!

XX数字化工厂MES/SCADA系统规划与实施方案

XX集团工厂集成改造MES+SCADA数字化项目实施方案

数字化车间的自动化设备联网与数据采集实践

今天我们分享超全的OPC UA技术解析~

所以我们将通过接下来三期文章,重点通过OPCUA技术的进化史、OPCUA的软件架构和合适的OPCUA开发工具三个维度介绍OPCUA的现状。旨在能够为希望使用OPCUA的朋友提供从入门到进阶的知识渠道。

OPCUA技术的前身

OPCUA技术的前身是1996年发布的Classic OPC。最成功的Classic OPC标准是OPC数据访问(OPC Data Access),它被设计成通信驱动的接口。此接口允许在自动化设备上以标准化的形式读取和写入数据。主要使用对象是HMI和SCADA系统,以获取不同供应商设备统一的软件接口和数据。

随着Classic OPC的成功应用, 即成为自动化金字塔结构中不同层级之间的标准接口。但由于OPC对COM的依赖性以及使用DCOM的限制,不能将OPC用于远程访问,最终导致无法得到更广泛的使用。

4da4f660-a761-11ed-bfe3-dac502259ad0.png

因此,OPC UA(OPCUnified Architecture)诞生的目标,就是希望设计一种能够取代现有基于COM的特性同时不损失任何功能和性能的新规范。此外,它还要满足能够覆盖所有独立系统平台的需求,也包含描述复杂系统的丰富的可扩展接口和建模能力。覆盖范围可从嵌入式系统到SCADA和MES甚至DCS和ERP系统,让OPC技术的使用范围扩展到更多应用领域。

4dbe1546-a761-11ed-bfe3-dac502259ad0.png

基于对新一代OPC的更多功能需求,由来自40多家组织的代表组成最初的工作组。在该工作组中,OPC基金会定义了如何描述和传输数据,而协作的其他组织根据其特定信息模型定义各自需要的描述和传输数据内容。为了达到最初定义的目标,OPC UA按照不同层次定义不同功能。

OPC UA层次结构

为了涵盖Classic OPC中已使用的所有成功的服务,在OPC UA基础服务(OPC UA Base Services)的上层为信息模型定义了对应的服务功能。DA定义了对指定过程数据的操作,例如模拟或数字量的建模以及如何发布。Alarm& Conditions(AC)定义了报警管理和状态监控功能的高级模型。Historical Access(HA)定义了访问历史数据和历史事件的机制。Programs(Prog)定义了启动、操作和监视程序执行的机制。

4de55a70-a761-11ed-bfe3-dac502259ad0.png

其他组织能够基于OPC UA信息模型层(Specifications of InformationModels of other Organisations)建立专属模型,并通过OPC UA发布他们规范化信息。例如,已经在OPC UA进行FDI标准和PLCOpen。FDI包括电子设备描述语言(EDDL)和现场设备工具(FDT),它用于描述、配置和监视设备。PLCopen是一种用于PLC的编程语言标准。除了其他组织进行的规范集成,设备制造商信息模型也可以通过使用UA基础功能、OPC模型或其他基于OPC UA的信息模型定义。

OPC UA技术在OPC技术的基础上做了大幅的改进,不仅适用于传统的过程控制的数据监控类应用,其应用范围扩展到从嵌入式传感器到现场级控制器,到HMI/SCADA系统以及MES和ERP系统,甚至现在一些云服务商在提供工业云通讯的解决方案时也支持OPC UA。2015年,凭借具备信息模型建模和通讯加密的能力,OPC UA正式作为工业4.0参考架构模型里唯一推荐的通讯层规范。

OPC UA的发布解决了Classic OPC对于Windows COM/DCOM依赖的局限性以及其他功能上的限制。同时增强了通讯的安全机制、加强了数据建模等能力。所以,我们可以说Classic OPC被设计成设备驱动接口,而OPC UA被设计成系统接口。它不仅是一种通讯协议,更是一种系统描述方法。

OPC UA使用类似于传统OPC的客户端---服务器概念。向其他应用程序发布信息的应用程序称为UA服务器,从其他应用程序获取信息的应用程序称为UA客户端。

典型的OPC UA服务器/客户端应用程序由三个软件层组成,如下图所示。完整的软件协议栈可以用C/C++、.NET或JAVA等实现,OPC UA没有限制使用这些编程语言和开发平台。

4dfb04ba-a761-11ed-bfe3-dac502259ad0.png

OPC UA软件层

OPC UA应用程序是要通过OPC UA发布或消费数据的系统。OPC UA应用程序包含应用程序所需的特定功能,并通过使用OPC UA协议栈(OPC UA Stack)+OPC UA软件开发工具包(OPC UA Client/Server SDK),将应用程序的功能映射到OPC UA的信息模型和服务中。OPC UA客户端或服务器SDK实现通用OPC UA功能,这些功能要作为应用层一部分的,并实现信息模型和服务。

UA Part 6中的UA通讯协议栈层定义4e11946e-a761-11ed-bfe3-dac502259ad0.gif

OPC UA协议栈(OPC UA Stack)实现UA第6部分(OPC UA Part6)中定义的多种OPC UA传输映射。UA协议栈用于跨进程或网络调用UA服务。在OPC UA协议栈(OPC UA Stack)部分又划分成三个层次,并且每层有不同的规范,如下图:

4e39f652-a761-11ed-bfe3-dac502259ad0.png

消息编码层(MessageSerialization)以二进制格式和XML格式定义服务参数的序列化。消息安全层(MessageSecurity)指定如何通过使用Web Service安全标准或UA二进制版本来保护消息。消息传输层(MessageTransport)定义了使用的网络协议,例如UA TCP或HTTP和用于Web服务的SOAP。

OPC UA协议栈(OPC UA Stack)通过封装为OPC UA SDK,以提供对应开发语言的UA客户端和UA服务器应用程序API。对于设备供应商来说,OPC UA协议栈(OPC UA Stack)和OPC UA SDK这些组件只是工作开始的第一步,更重要的工作是根据具体需求提供模型抽象。

OPCUASDK

OPC UA SDK是对UA协议栈功能的结构化封装,实现了所有UA应用程序所需的UA通用功能、安全的处理方法,并提供常用功能的示例程序。Unified Automation基于OPC Unified Architecture技术规范,提供一系列跨平台的软件开发框架,以适应从嵌入式设备制造商到企业应用程序开发人员的应用程序垂直信息集成。Unified Automation提供的OPC UA SDK包括Ansi C、C++、.NET和Java开发语言。设计的平台从小的嵌入式系统到桌面PC机上到系统服务器。支持的操作系统包括Windows、LinuxVxWorks、WinCE、OnTime RTOS-32、InTime、FreeRTOS等。

4e62672c-a761-11ed-bfe3-dac502259ad0.png

下图展示了SDK的主要模块以及与OPC UA应用程序的集成。

4e8c8f5c-a761-11ed-bfe3-dac502259ad0.png

在OPC UA Server/Client SDK模块中实现了所有UA服务器/客户端通用的UA功能。供应商在使用SDK的过程中不需要了解或者更改这些模块的内部功能。SDK的用户只需要知道模块提供的接口和辅助功能的用法。基础模块用于实现OPC UA客户端和服务器应用程序所需的基本功能。这些基本功能包含使用操作系统功能的封装,以及用于UA类型(如字符串,扩展对象或其他常用UA结构)的封装。

核心模块用于管理OPC UA的地址空间,并实现UA的基本功能,例如管理连接和OPC 基金会定义的地址空间部分。

Pub/Sub模块实现了OPC UA Pub/Sub通信所需的功能。它可以充当OPC UA发布者或OPC UA订阅者。更多关于Pub/Sub功能,以及Unified Automation的Pub/Sub SDK的信息,我们今后专门进行讨论。

用户产品的UA功能在OPC UA的SystemIntegration模块中实现。OPC UA SDK定义了应用所需的ServerConfig、NodeManager和IOManager接口以及MethodManager、EventManager和HistoryManager等可选接口,方便开发者将应用插入到核心模块。

使用OPC UA SDK是开发OPC UA应用程序最便捷的方法。Unified Automation公司的SDK提供OPC UA Standard一致性标准的所有支持功能,并且OPC UA SDK服务可以作为独立应用程序运行,也可以是现有应用程序的一部分。其SDK使用厂商几乎囊括了国外所有大型自动化企业,例如ABB、Siemens、Bosch、Trumpf、Kuka、Yokogawa、Honeywell等知名厂商。SDK的稳定性和接口易用性在多个行业的知名厂商产品中得到了具体验证。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OPC
    OPC
    +关注

    关注

    7

    文章

    338

    浏览量

    46151
  • 智能制造
    +关注

    关注

    48

    文章

    5549

    浏览量

    76314

原文标题:超全的OPC UA技术解析

文章出处:【微信号:智能制造之家,微信公众号:智能制造之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    为何选择OPC UA

    为何选择OPC UAOPC UA有哪些应用?
    发表于 09-23 08:45

    钡铼技术的BL102 OPC UA网关的OPC UA配置方式

    OPC UA协议已经越来越多的应用在工业物联网中。本文介绍钡铼技术的BL102 OPC UA网关的OPC
    发表于 12-23 08:10

    多协议转换网关支持OPC UA及SNMP协议

    与SNMP OPC UA协议之间的转换。具体实现方式会因不同的网关而有所差异,但通常是利用相应的协议库解析源协议的数据包,将其中的信息提取出来,然后封装在SNMP OPC
    发表于 10-09 19:52

    ZWS云平台是如何支持OPC UA通信的?

    ,具有远程监控和管理设备、数据解析、数据分析、告警触发、数据推送等功能。 本文将简要介绍OPC UA以及ZWS云平台
    的头像 发表于 11-09 11:01 2949次阅读
    ZWS云平台是如何支持<b class='flag-5'>OPC</b> <b class='flag-5'>UA</b>通信的?

    Matrikon OPC UA Tunneller软件的安装步骤

    工业4.0背景下,越来越多的用户需要在混合环境中实现OPC UA,包括将UA的产品与之前Classic的组件整合到一起,这是一种从技术和成本角度出发的优选方案,而虹科Matrikon
    发表于 09-02 10:47 2244次阅读

    OPC UA技术助力信息化工厂建设

    OPC基金会在OPC基础上开发出新一代OPC技术——OPC UA,实现了不同系统和不同协议设备之
    的头像 发表于 04-14 10:20 1476次阅读

    OPC UA SDK for Java通过OPC基金会认证

    OPC UA SDK for Java内设Java代码生成器,可以自动创建模型代码。导入到SDK的模型可以使用标准的OPC UA模型,或者使用OPC
    的头像 发表于 06-08 10:28 1w次阅读

    MES数据采集网关通过OPC UA网关实现工业现场设备对接OPC UA服务器

    通过OPC UA网关实现工业现场设备对接OPC UA服务器
    的头像 发表于 10-29 15:13 2361次阅读

    OPC UA技术解析

    OPC UA协议栈(OPC UA Stack)实现UA第6部分(OPC
    的头像 发表于 02-08 15:22 9384次阅读

    PLC如何转换成OPC UA

    OPC UA PLC数据OPC UA
    的头像 发表于 10-26 09:24 1623次阅读
    PLC如何转换成<b class='flag-5'>OPC</b> <b class='flag-5'>UA</b>

    嵌入式OPC UA网关BL102简化了OPC UA程序的开发与IIOT工业物联网应用

    嵌入式OPC UA网关BL102简化了OPC UA程序的开发与IIOT工业物联网应用
    的头像 发表于 08-20 11:45 1312次阅读
    嵌入式<b class='flag-5'>OPC</b> <b class='flag-5'>UA</b>网关BL102简化了<b class='flag-5'>OPC</b> <b class='flag-5'>UA</b>程序的开发与IIOT工业物联网应用

    OPC UA FX是什么?优势及未来趋势解析

    首先,OPC UA 是什么? OPC UA是一种开放的、基于以太网的通信标准 ,它集成了OPC Classic规范的所有功能,并提供了一个
    的头像 发表于 10-25 14:30 825次阅读
    <b class='flag-5'>OPC</b> <b class='flag-5'>UA</b> FX是什么?优势及未来趋势<b class='flag-5'>全</b><b class='flag-5'>解析</b>

    Prosys OPC UA Edge 介绍

    Prosys OPC UA Edge (EDGE) ,它结合了边缘计算和数据协调的优点,使用户可以轻松地将底层OPC UA服务器的不同信息模型转换为一个标准化模型。
    的头像 发表于 01-11 14:03 866次阅读
    Prosys <b class='flag-5'>OPC</b> <b class='flag-5'>UA</b> Edge 介绍

    技术分享】 OPC UA安全策略证书简述

    在工业通信领域上,OPC UA通信相信大家都不陌生,在使用OPC UA建立客户端和服务器连接的配置过程中,经常会用到OPC
    的头像 发表于 05-14 16:16 534次阅读

    BACnet转OPC UA网关实现智能插座与InTouch系统对接

    ,能够实现BACnet设备与OPC UA客户端之间的数据转换和传输。其实现步骤如下: 1.协议解析:网关首先解析
    的头像 发表于 08-13 16:09 308次阅读
    BACnet转<b class='flag-5'>OPC</b> <b class='flag-5'>UA</b>网关实现智能插座与InTouch系统对接