OPC UA

OPC UA将来自不同厂商不同设备的数据进行统一格式、统一显示。

以下转自:智能制造还有多远?--谈谈为什么要采用OPC UA?

9月5日,OPC UA正式成为国家推荐性标准。而对于OPC UA是什么,为什么选择OPC UA很多人却并不了解。以下推荐的这篇文章,将有助于大家全面立理解这一数据互联的基础标准与规范。

转自微信公众号:说东道西

---------------以下是正文---------------

前段时间与PLCopen主席严义老师探讨在PLCopen教育合作项目,据严老师前期的调研发现,与运动控制相关的教材非常少,甚至很多大学老师也是不了解PLCopen Motion的,这让人难以接受,因为,就我们讲“智能”而言,运动控制的精度与速度关乎产品的质量与生产效率,而且,通过灵活的参数设置,运动控制可以让生产变得更为灵活。我们不管上层架构是如何进行智能分析与优化的,但是,到了制造执行层面,如果缺乏运动控制系统的精准、柔性的执行,那么无法达到所谓的“智能”-执行是智能的重要组成,就相当于企业战略很美好,却无法执行。

图1-我们的产业有太多的理想有待实现

同样道理,我们总是探讨高大上的云平台、大数据分析、人工智能、物联网,但是,数据互联却是第一个障碍,而同样道理,OPC UA作为数据互联的基础标准与规范,却似乎很多人并不了解,甚至很多做所谓工厂集成的人也不是很清楚,在数据采集、传输与生产运营中,我们会需要对现场的机器状态、生产能耗、质量相关、生产相关参数进行采集,但是,如果缺乏统一的标准与信息模型,我们会遇到非常大的困境。

智能制造的美好前景需要底层的技术支撑,标准与规范先行,否则,我们就会离智能制造很远—远到超出我们的想像。

数据采集的困境

尽管大家都认为大数据分析将给我们带来巨大制造优化潜力,并改善我们的生产运营效率、资产管理水平,但是,在现实的智慧工厂互联的时候,却困难重重,无论是IIoT还是大数据分析各种概念都给我们以未来无限光明的愿景,但现实却那么骨感。

1大量的连接工作耗费精力

凡是在做智慧工厂的公司、系统集成商都清楚,包括MES厂商,就光将现场数据采集实现,这个工作量有多大,为了一个不大的项目,要去连接各种通信总线、要配置各种机器的参数,很多参数还因为技术保密的原因不开放,因此,采集了很多价值量并不高的数据,很多从IT业过来掘金工业物联网的公司都很郁闷,因为这个钱赚的实在是太辛苦,以至于他们对这件事情产生了悲观情绪。做自动化的还好,原来就是遇到这些问题,但对IT就很惨了,因为,这太过消耗工程师资源。

图2-数据是否让我们无所适从?

2采集什么数据不是很清楚

这是一个困难,对于如何运营生产系统,往往很多做IT的缺乏对机器的了解,对生产工艺、流程的了解,不能定义清楚需要采集什么样的数据?如何使用这些数据?

很多时候,大家只是说“先把数据采起来再说”,至于这个数据能干什么,那是以后的事情,先让数据不要流失、浪费,但是,如果不知道数据的用途,那么你怎么知道你采集的数据是对的?如果采集了一大堆数据在用的时候发现少了一个数据不能用于分析工艺对能耗的影响,那岂非你所有采集的数据就没有用了?

3数据要做什么用不清楚

这又是一个尴尬,就是要这些数据干什么用?如何使用这些数据,而这个问题又不再是一个技术问题,而牵扯到公司的运营管理水平的问题,如果能够达到较高的数据精准化管理、并且有先进的管理模型,那么这件事情反倒易于理解,因为首先它知道哪些数据需要采集,而如果运营管理水平一般的情况下就会出现委托第三方系统集成商采集的数据不知道该怎么用,这牵扯到企业的数字化经营的策略问题。

图3-我们要这些数据干什么?

为什么要采用OPC UA?

包括主流的自动化厂商,以及IT世界的华为、Microsoft、CISCO等都成为了OPC UA的支持者,以及协会组织如OMAC、Euromap、Automation ML、ISA、FDT/DTM、MTConnect、BacNet,以及全球主要的现场总线基金会如PI、EPSG、ETG、SERCOSIII均支持与OPC UA的融合与开发工作,为什么这些国际自动化、IT、基金会组织、行业协会都聚焦在了OPC UA上?

图4为结合OPC UA的标准文档,自行设计的图用于阐述采用OPC UA的八个原因。

图4-为什么选择OPC UA?

工业通信分为互联(硬件接口的连接)、互通(软件层面的数据格式与规范)、语义互操作(语义的定义与规范)几个层面,而各种总线解决的是连接问题,而互通解决了应用层的匹配,而OPC UA则解决不同系统之间的语义的互操作-包括应用行为与动态功能。

独立性、安全、国际标准、建模与信息模型、即插即用这些都是从技术角度来分析OPC UA何以成为大家关注的焦点。

信息模型的建立

如何理解信息模型?

信息模型是什么?

如果用OPC UA的技术来介绍可能不大易于理解,但是,如果我们想实现机器人与注塑机进行协同的工作的时候,我们必须清楚,他们之间需要哪些数据来保证他们之间的工作一致性呢?这就是数据的应用问题,而同样道理,我们希望实现OEE的统计,那么OEE的计算就是一个信息模型,我们需要与之相关的数据,而垂直行业的信息模型则在于具体的包装、塑料、印刷行业所采集的对象定义不同。

图5-让数据变得规范与标准

简单理解信息模型就是为了实现特定任务,而对数据所进行的标准封装,OPC UA提供了一个如何封装信息模型的标准,除了已经纳入到OPC UA架构下的PackML、MTConnect、Euromap、Automation ML等之外,OPC UA还支持行业自定义的信息模型,OPCUA采用面向对象的思想,使得这些开发变得简单。

图6-OPC UA架构

图6是OPC UA的架构,它包含了基础信息模型、行业信息模型,也包括制造商自定义的信息模型,提供传输服务、发现功能是基础的,而信息模型是跨平台、跨行业的应用需求。

OPC UA的应用好处有哪些?

4.1对于系统集成而言,OPC UA有哪些好处?

我们必须确保针对质量、效率、能源、维护等参数具有统一的模型,这样可以让我们做到以下几点:

(1).软件复用:通过数据建模形成的应用模块,如PackML可以让我们针对包装机与MES相互关联的数据统一封装,可以通过一个模块的调用即可实现相关数据的调用。这就像贝加莱的mapp中的PackML、Euromap软件模块一样。

(2).关注点分离与软件模块化:通过共享的信息模型,OPC UA让面向服务(SoA)的应用得以实现,由于采用了关注点分离的设计思想,HMI与应用程序可以分离,而数据与应用实现分离,可以由不同的应用程序读取共享信息模型进而实现分析、显示应用的各行其道。

像早期的Andriod一样,很多现场的应用存在着一些类似的问题,你必须为每种不同的屏幕开发相应的画面,因为无法自适应这些尺寸,尤其是那些非标的规格,而另一方面大量的程序员也面临着HMI与应用程序之间的复杂耦合关系带来的麻烦。

在程序开发中也存在这样的问题,当HMI与应用程序之间出现一方修改时,另一方也得修改,另外一方面,针对不同的屏幕尺寸需要采用不同的画面设计。对OEM厂商而言,这便意味着为了个性化的机器,必须反复的修改画面和程序、并对不同尺寸规格的HMI进行重新设计。

图7-mappVIEW借助于OPC UA实现关注点分离

图7所示的mappVIEW技术即通过OPC UA实现了HMI与程序的关注点分离,使得修改HMI画面的组态界面、流程与应用程序无关,而应用程序的修改也不会影响HMI的画面。并且,任意尺寸规格的HMI、智能终端均可自适应的访问机器数据。

当然,关注点分离也是模块化软件实现的主要方式,这与软件模块化可以列入同一优点描述。

(3).大量的节约工程时间:由于采用了标准的数据模型,使得数据仅需配置,而无需大量的编程操作,另外,标准的数据包一次性让与任务相关的数据被读取,而无需很多次的调用不同的参数,这也节省了工程时间。

(4).最大化数据应用:设计与生产、维护等能够在同一架构下进行数据交换,实现企业的数据共享与数据价值的最大化发挥。就像Automation ML一样,从工程设计平台到工艺辅助平台、MES、控制层数据可以实现统一的标准下的连接和分享。

OPC UA在整体上使得在工厂的各个环节的横向与纵向数据实现了透明交互,并且,配置效率更高,程序与应用模块化更强,使得工厂组织更为便利,即使面对复杂的变化,也可以实现快速的切换。

4.2行业信息模型带来快速数据配置与采集

(1).无关PLC是谁家的:如果我不用在乎谁家的控制器开发的注塑机、机械手的系统,而是直接通过数据的标准配置即可访问到机器,那是否很方便的呢?

显然,这是今天做工厂集成项目的人的最美好想法,可现实中却并非如此,也是可以连接的,他们需要针对不同的控制器配置不同的软件程序、而且还需要不同的接口模块来支撑,但是如果无论你采用何种品牌控制器、采用何种现场总线,只要你采用OPC UA,我们就可以相互访问和配置机器的参数,那么这是否会让工厂的集成人员变得工作简单很多呢?

Euromap 77是基于OPC UA的标准设计的注塑机通信模型,包括了注塑机信息、配置、状态、模具、驱动的数据对象,也包括Job、数据集管理的数据模型,如图8所示。

图8-Euromap 77基于OPC UA的注塑机信息模型开发

对于PackML而言,其旨在提供相应的能力去连接MES与质量数据,其实,对于PackML而言,图9的机器状态使得机器的时间统计变得简单,而PackML正是遵循了OPC UA的标准与规范。

图9-PackML的设备状态

通过图9所示的状态与显示画面,每个按键按下都会记录时间,最终与设备OEE统计相关的时间将被用于实现生产运营效率的统计分析。

(3).实现OICT融合的数据融合

OICT的融合,必然使得跨平台的IT与OT系统在语义方面需要融合,每个人必须懂得另一个人所说的每局话的含义,采用统一的标准数据格式、单位标准(公斤、瓦特、米、秒、小时)、能源采集的标准与数据集的统一。

边缘计算正在连接现场设备,实现数据应用,而OPC UA则是一个标准与规范,用于实现IT与OT的互联,如图10,注塑机的参数通过Euromap标准被管理、分析系统读取并通过OPCUA将生产任务下达至机器。

图10-基于OPC UA实现注塑机新工厂与老工厂的集成

事实上,各个行业都在大张旗鼓的推进着智能制造,但是,就基础的而言,OPC UA、PLCopen等标准化工作是必须先行的,当然也包括基于IEC 61508的功能安全技术标准、机器人的ISO 10218等。

这就是想说的“智能制造离我们还有多远?”—我们应该基础工作做好。不仅产业里,包括大学里的课程,关于互联互通这些问题还停留在久远的现场总线,而无视产业已经大量的采用实时以太网技术,而新的TSN也将在不久与OPC UA融合成为可以预见的未来互联集成方案。

原文地址:https://www.cnblogs.com/embedded-linux/p/10414914.html

时间: 2024-11-10 17:00:17

OPC UA的相关文章

OPC UA 统一架构学习4

今天华为发邮件咨询opc ua 的开发工作,也在进行嵌入式opc ua 的研究,在做通讯行业的预研,做万物互联的准备. 他的要求基本上可以如下实现: 1.用传统的开发方法开发出几个测试函数来模拟真实的业务操作.然后把这些测试函数写入到相应的板子中. 2.开发一个简单的opc ua server,将测试函数映射到地址空间中.地址空间里面其实就是类似于一个函数指针,指向测试函数的内存地址.而这个操作是sdk已经实现的. 3.开发或者使用一个ua client去调用相应的api.由服务器端的地址空间去

OPC UA 节点

OPC UA 节点定义: 1 public interface INode 2 { 3 /// <summary> 4 /// The node identifier. 5 /// </summary> 6 /// <value>The node identifier.</value> 7 ExpandedNodeId NodeId 8 { 9 get; 10 } 11 /// <summary> 12 /// The node class. 1

从 OPC 到 OPC UA

[前言]OPC是一个工业标准,所属国际组织是OPC基金会,现有会员已超过220家,包括世界上所有主要的自动化控制系统.仪器仪表及过程控制系统的公司. [经典 OPC]经典OPC规范基于微软Windows系统提供的COM/DCOM技术,用于软件之间数据交换的规范.OPC规范定义了几种不同的,用于访问过程数据.报警信息以及历史数据的版本规范:OPC实时数据访问规范(OPC DA)定义了包括数据值,更新时间与数据品质信息的相关标准.OPC历史数据访问规范(OPC HDA)定义了查询.分析历史数据和含有

关于CoDeSys OPC ua配置的记录

1.创建一个简单的CoDeSys程序,TEST001. 在Device中配置网关连接. 其中, PLC_PRG中设置了局部变量, 在GVL_XJ中添加全局变量. 2.在device上右键->添加对象->符号配置. 3.对符号配置进行属性设置,勾选'支持opc ua特性'. 4. 勾选需要的节点. 5.编译后下载. 附: opc客户端浏览节点

OPC UA官方文档翻译第一部分 --待续

Part 1 前言 使用协议 修订102版集锦 概括 参考文件 术语定义缩小 1 OPC UA术语 11 地址空间AddressSapce 12 报警Alarm 13 属性Attribute 14 证书Certification 15 客户端Client 16 条件Condition 17 通信栈Communication Stack 18 复杂数据Complex Data 19 发现Discovery 110 事件Event 111 事件通知器EventNotifier 112 信息模型Inf

SharpNodeSettings项目,可配置的数据采集,统一的工业数据网关,OPC UA服务器开发,PLC数据发布到自身内存,redis,opc ua,以及数据可视化开发

本项目隶属于 HslCommunication 项目的SDK套件,如果不清楚HslCommunication组件的话,可以先了解那个项目,源代码地址:https://github.com/dathlin/HslCommunication 本项目源代码地址:https://github.com/dathlin/SharpNodeSettings 本项目的主要实现的功能主要有2个: 实现单个设备信息的可配置,可存储,采用一个相对标准的Xml存储机制实现,适用的场景是:如果你有20个西门子PLC(种类

C# 实现opc ua服务器的远程连接(转)

原文转自:https://www.cnblogs.com/dathlin/p/7724834.html OPC UA简介 OPC是应用于工业通信的,在windows环境的下一种通讯技术,原有的通信技术难以满足日益复杂的环境,在可扩展性,安全性,跨平台性方面的不足日益明显,所以OPC基金会在几年前提出了面向未来的架构设计的OPC 统一架构,简称OPC UA,截止目前为止,越来越多公司将OPC UA作为开放的数据标准,在未来工业4.0行业上也将大放异彩. 在OPC UA的服务器端.会公开一些数据节点

OPC协议解析-OPC UA OPC统一架构

1    什么是OPC UA 为了应对标准化和跨平台的趋势,为了更好的推广OPC,OPC基金会近些年在之前OPC成功应用的基础上推出了一个新的OPC标准-OPC UA.OPC UA接口协议包含了之前的 A&E, DA,OPC XML DA or HDA,只使用一个地址空间就能访问之前所有的对象,而且不受WINDOWS平台限制,因为它是从传输层Scoket以上来定义的,这点后面会提到,导致了灵活性和安全性比之前的OPC都提升了. 2    OPC UA的优势 1)一个通用接口集成了之前所有OPC的

基于open62541的opc ua 服务器开发实现(1)

关于opcua的介绍这里就不多说了,相信大家大都有了一些了解,open62541是一个开源C(C99)的opc-ua实现,开源代码可在官网或github上下载. 话不多说,首先搭建一个opcua服务器实例 1 #include <signal.h> 2 #include "open62541.h" 3 UA_Boolean running = true; 4 static void stopHandler(int sig) { 5 UA_LOG_INFO(UA_Log_St