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

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

3天内不再提示

超全的OPC UA技术解析

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

今天我们分享超全的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通讯协议栈层定义

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的稳定性和接口易用性在多个行业的知名厂商产品中得到了具体验证。

编辑:黄飞

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

    关注

    12

    文章

    8125

    浏览量

    82539
  • 客户端
    +关注

    关注

    1

    文章

    282

    浏览量

    16344
  • OPCUA
    +关注

    关注

    1

    文章

    21

    浏览量

    2253
收藏 人收藏

    评论

    相关推荐

    为何选择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 2696次阅读
    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 1923次阅读

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

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

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

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

    现代协议:OPC UA与MQTT

      在实施 OPCOPC UA 架构之前,请考虑以下挑战。关于OPC UA最常见的抱怨是实施起来有多复杂。
    的头像 发表于 11-24 15:21 2267次阅读

    如何仿真博途S7-1500 OPC UA

    添加了一个OPC UA服务器进来,打开添加的OPC UA服务器,它已经找到S7-1500的OPC UA
    的头像 发表于 02-07 10:23 2652次阅读
    如何仿真博途S7-1500 <b class='flag-5'>OPC</b> <b class='flag-5'>UA</b>

    超全的OPC UA技术解析

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

    PLC如何转换成OPC UA

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

    三菱FX5U转OPC UA三菱PLC转OPC UA

    组建加上OPC UA网关采用OPC UA统一标准将大大降低开发难度和实现效率,深圳市钡铼技术有限公司推出的BL102网关很好的解决了这个问题
    的头像 发表于 11-30 19:01 2122次阅读
    三菱FX5U转<b class='flag-5'>OPC</b> <b class='flag-5'>UA</b>三菱PLC转<b class='flag-5'>OPC</b> <b class='flag-5'>UA</b>

    三菱FX3U转OPC UA三菱PLC转OPC UA

    然后在做开发,如果使用标准OPC UA客户端组建加上OPC UA网关采用OPC UA统一标准将大
    的头像 发表于 11-06 17:17 1194次阅读
    三菱FX3U转<b class='flag-5'>OPC</b> <b class='flag-5'>UA</b>三菱PLC转<b class='flag-5'>OPC</b> <b class='flag-5'>UA</b>

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

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

    Prosys OPC UA Edge 介绍

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