第三章 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等。此时数据传输模式为发布-订阅模式。
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)理念才有可能成为现实。
控制器层面的两个可能性:
- 通过控制器模拟这些设备
- 为控制器添加额外的用于与行业设备通信的库函数。
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概念
此现代控制器能够与其他基于OPC UA的控制器或控制系统无障碍数据交换和互操作。
控制器为核心,主要任务为实现实时逻辑处理和控制相应的输入输出信号。
数据由实时域采集,opc ua向外部提供。
基于软PLC概念(控制器内核运行于通用PLC和实时操作系统平台)
- 最内层的工程化、诊断、检测等借助OPC UA服务。
- 提供自定义类型和高附加值功能(提高语义层面互操作性)
- 最外层(传输层),具体的数据通信,分为两种形式:基于TCP/IP的客户端-服务端,基于UDP的发布订阅模式。包括网络安全保护机制。
控制器中的opc ua的现状和未来
独一无二,数据通信、基于类型的系统和网络安全技术的整合。
3.2 西门子控制器中的opc ua
管理层:制造执行系统(MES)
操作者:数据采集于监视控制系统、工程结构、能源管理
控制层:PLC、HMI、工业PC、通信、运动控制、CNC数控
现场级:电源、工业标识、分布式输入输出、电机驱动器、工业控制器
OPC UA可以与PROFINET在同一线缆上并行。
OPC UA与现有设备升级
- 快速大规模移植
- 渐进式移植并支持更多现有协议
- 基于OPC UA网关实现系统移植。