《OPC UA实践》 - 阅读笔记 3 OPC UA与产业升级

2024-08-24 19:48

本文主要是介绍《OPC UA实践》 - 阅读笔记 3 OPC UA与产业升级,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第三章 OPC UA与产业升级

3.1 OPC UA对于控制层的意义和构想。

OPC 为不同控制器之间以及控制器和MES/管理
系统之间的通信打下了坚实的基础。

大量的控制器(PLC)和MES系统厂商只专注于自己的专业领域,而OPC UA提供了一个纵向通信来打通这一点,并提供了标准的接口,且更加安全、实用。

控制器层面所有的相关内容都可以被认为是面向服务控制(SoA-PLC)的基本准则。而控制器的实时性通常由发布-订阅模式来实现。

由于TCP/IP协议的数据完整性需要通过重发来保证,因此缺乏PLC所需要的实时性。(现在机器人行业常用的ROS1通过UDP协议来实现发布订阅,ROS2则利用DDS来实现)
其中的难点在于:
实时域(PLC)与非实时域(OPC UA)之间的数据传输要如何定义接口与传输方式。


PLCopen:控制层映射及功能块
PLCopen国际组织根据不同的国际标准,针对控制器设计定义了许多重要组件(如运动控制)。
他们也发布了两个技术规范:

  • 《PLCopen OPC UA信息模型》:如何在OPC UA环境中描述IEC 61161-3 所定义的数据类型、功能块和数据结构等。(也就是OPC UA到IEC 61161-3 的映射)
  • 《PLCopen OPC UA UA IEC 61161-3客户端》:如何利用PLCopen功能块以客户端角色发起 OPC UA通信

功能块:

建立链接
获取地址空间索引
获取节点句柄
读取数据

OPC UA 发布-订阅模式

客户端-服务器模式更适合非实时、异步的数据通信。
实时通讯通常使用基于以太网的现场总线协议,如EtherCAT等。此时数据传输模式为发布-订阅模式。

发布者
UDP多播组
订阅者
订阅者
订阅者

OPC UA正在对标准的发布者-订阅者通信模式进行扩展, 以便同时支持典型的、标准的OPC UA数据呈现,以及当前所欠缺的实时加密的1:n通信方式。新的标准在工业4.0框架中同时支持基于UDP\IP的数据传输(实时)和基于其他协议(AMQP\MQTT)的数据传输(非实时)。

当不同厂商的控制器采用UDP\IP协议进行数据交换时,它所带来的好处:
只要通信部份在控制器固件的实时域内实现,系统就自然获得了数据交换的实时性。

OPC UA确立标准,不同厂商控制器都需要信息交换,可实现更简单便利的实时通讯。


行业信息模型

OPC UA在控制器领域内还支持所谓的行业伴随标准。
OPC UA元模型(metamodel)的基础上定义用于描述特定应用领域内的专用数据类型、实例和关系。可以从原来的行业标准–映射到OPC UA服务器中。
典型示例:

  • OPC UA ADI(分析仪设备集成,Analyzer Device Integration)标准
  • AMI(自动识别、数据采集以及移动数据通信)协会的AutoID标准

无需对设备做更多配置(定义行业相关数据类型和方法),就可直接对其进行访问。

借助OPC UA特定应用域模型的确立,长久以来讨论中的即插即生产(plug-and-produce)理念才有可能成为现实。

控制器层面的两个可能性:

  1. 通过控制器模拟这些设备
  2. 为控制器添加额外的用于与行业设备通信的库函数。

OPC UA以XML格式描述行业伴随标准,且类型和实例的编码位于节点集合内。OPC UA服务器可以方便地加载或者导入这些信息模型。而控制器厂商只需要确定规则,将节点集合内的数据点与控制器上的实际数据点链接起来。

UA-Nodeset
上述行业伴随标准开源可下载:UA-Nodeset
每个标准下有这些文件:

  • .NodeSet2.xml - The formal definition of the Nodes defined by the specification;
  • .Types.xsd - The XML schema for the DataTypes defined by the specification;
  • .Types.bsd - The OPC Binary schema for the DataTypes defined by the specification (obsolete);
  • .NodeIds.csv - A CSV file containing the NodeIds assigned to Nodes defined by the specification;

通常如其名称所述,为节点、类型的节点集合,偶尔也有信息模型文件。不同领域互相还有引用。
例如Robotics的Nodeset就需要依赖于DI的Nodeset。

<UANodeSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" LastModified="2019-05-06T00:00:00Z" xmlns="http://opcfoundation.org/UA/2011/03/UANodeSet.xsd"><NamespaceUris><Uri>http://opcfoundation.org/UA/Robotics/</Uri><Uri>http://opcfoundation.org/UA/DI/</Uri></NamespaceUris><Models><Model ModelUri="http://opcfoundation.org/UA/Robotics/" Version="1.0.0" PublicationDate="2019-05-06T00:00:00Z"><RequiredModel ModelUri="http://opcfoundation.org/UA/" Version="1.04" PublicationDate="2019-05-01T00:00:00Z" /><RequiredModel ModelUri="http://opcfoundation.org/UA/DI/" Version="1.02" PublicationDate="2019-05-01T00:00:00Z" /></Model></Models>

基于SoA-PLC的TwinCAT概念
TwinCAT
此现代控制器能够与其他基于OPC UA的控制器或控制系统无障碍数据交换和互操作。
控制器为核心,主要任务为实现实时逻辑处理和控制相应的输入输出信号。
数据由实时域采集,opc ua向外部提供。
基于软PLC概念(控制器内核运行于通用PLC和实时操作系统平台)

  1. 最内层的工程化、诊断、检测等借助OPC UA服务。
  2. 提供自定义类型和高附加值功能(提高语义层面互操作性)
  3. 最外层(传输层),具体的数据通信,分为两种形式:基于TCP/IP的客户端-服务端,基于UDP的发布订阅模式。包括网络安全保护机制。

控制器中的opc ua的现状和未来
独一无二,数据通信、基于类型的系统和网络安全技术的整合。

3.2 西门子控制器中的opc ua

在这里插入图片描述
管理层:制造执行系统(MES)
操作者:数据采集于监视控制系统、工程结构、能源管理
控制层:PLC、HMI、工业PC、通信、运动控制、CNC数控
现场级:电源、工业标识、分布式输入输出、电机驱动器、工业控制器

OPC UA可以与PROFINET在同一线缆上并行。

OPC UA与现有设备升级

  1. 快速大规模移植
  2. 渐进式移植并支持更多现有协议
  3. 基于OPC UA网关实现系统移植。

这篇关于《OPC UA实践》 - 阅读笔记 3 OPC UA与产业升级的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1103438

相关文章

华为鸿蒙HarmonyOS 5.1官宣7月开启升级! 首批支持名单公布

《华为鸿蒙HarmonyOS5.1官宣7月开启升级!首批支持名单公布》在刚刚结束的华为Pura80系列及全场景新品发布会上,除了众多新品的发布,还有一个消息也点燃了所有鸿蒙用户的期待,那就是Ha... 在今日的华为 Pura 80 系列及全场景新品发布会上,华为宣布鸿蒙 HarmonyOS 5.1 将于 7

java中Optional的核心用法和最佳实践

《java中Optional的核心用法和最佳实践》Java8中Optional用于处理可能为null的值,减少空指针异常,:本文主要介绍java中Optional核心用法和最佳实践的相关资料,文中... 目录前言1. 创建 Optional 对象1.1 常规创建方式2. 访问 Optional 中的值2.1

Nginx Location映射规则总结归纳与最佳实践

《NginxLocation映射规则总结归纳与最佳实践》Nginx的location指令是配置请求路由的核心机制,其匹配规则直接影响请求的处理流程,下面给大家介绍NginxLocation映射规则... 目录一、Location匹配规则与优先级1. 匹配模式2. 优先级顺序3. 匹配示例二、Proxy_pa

MyBatis编写嵌套子查询的动态SQL实践详解

《MyBatis编写嵌套子查询的动态SQL实践详解》在Java生态中,MyBatis作为一款优秀的ORM框架,广泛应用于数据库操作,本文将深入探讨如何在MyBatis中编写嵌套子查询的动态SQL,并结... 目录一、Myhttp://www.chinasem.cnBATis动态SQL的核心优势1. 灵活性与可

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

Mybatis嵌套子查询动态SQL编写实践

《Mybatis嵌套子查询动态SQL编写实践》:本文主要介绍Mybatis嵌套子查询动态SQL编写方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、实体类1、主类2、子类二、Mapper三、XML四、详解总结前言MyBATis的xml文件编写动态SQL

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

Jvm sandbox mock机制的实践过程

《Jvmsandboxmock机制的实践过程》:本文主要介绍Jvmsandboxmock机制的实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、背景二、定义一个损坏的钟1、 Springboot工程中创建一个Clock类2、 添加一个Controller