【1】OPCUA参考_什么是OPCUA

  • 2021-07-09
  • Admin

简介

OPC UA是一个平台无关的标准,使用该标准可在位于不同类型网络上的客户端和服务器间发送消息,以实现不同类型系统和设备间的通信。它支持健壮、安全的通信,可确保客户端和服务器的识别并抵御攻击。

目标

初步了解OPCUA的历史和现状。

阅读基础

快速阅读

什么是OPC

OPC介绍

自20世纪年代初以来,工业自动化领域内,基于和软件的自动化系统,特别是基于Windows上的可视化和控制应用迅速增长。

很快,1996年8月,OPC DA(数据访问)规范发布了。0PC基金会是维护这个标准的非盈利组织。几乎所有提供工业自动化系统的厂商都成为了OPC基金会的成员。取得这样的成功的一个原因是:削减主要特性和限定API的定义使用微软Windows的COM和DCOM技术。

经过12年的发展,OPC基金会已拥有超过450个成员,包括全世界所有相关的自动化系统供应商。下图显示了OPC基金会按成员类别和地区划分的成员统计:

BolgImage-20210812143125

OPC基金会在其产品目录中列出超过1500个基于OPC的产品。该目录仅包含来自OPC成员的产品。整个OPC市场上,2500佣多家供应商提供了15000多个使用OPC的产品。

OPC采用客户端/服务器方式进行信息交换,它可以提供数据访问、报警和事件、历史数据访问等功能。

OPC的应用场景

在自动化行业,需要采集数据去上位机系统也就是Windows。

一台电脑要进行数据采集,又要进行数据显示,又要应用在现场,这种电脑,很多时候往往就是工控机的角色了。而电脑采集数据,无非就是通过串口、以太网、是板卡集成到PC主机数据采集。

每家的数据采集都不一样,没有个标准和统一,也可以理解为硬件商提供的数据采集都不一样。一般硬件厂商A把数据采集做好,封装成COM组件或服务;同时软件客户B把UI软件设计出来了,UI调需要用数据,查阅和管理数据,只需要调用COM组件或服务。

因为OPC基于COM,DCOM技术,只能在Windows系统实现。如果想要OPC支持远程访问,那就必须配置支持RPC服务等,也局限于在Windows系统上

OPC DA

OPC DA是OPCDA的数据访问,OPC数据采集端通过串口,以太网,板卡,采集到的数据。然后客户端通过DOM技术进行访问服务器采集到的数据,这里的客户端和服务端,在同一台电脑里。

BolgImage-20210707111751

比如:

比如A程序把采集到的数据写到一个指定文件里,A是服务端。

然后B程序到指定的文件读取数据并显示出来的,B是客户端。

什么是OPCUA

OPCUA介绍

OPC的一个没有损失任何OPC功能和性能的真正替代品。此外,它必须满足能够描述复杂系统的丰富的和可扩展的建模能力,以及平台独立的系统接口的所有需求。OPCUA的广泛应用要求提供从嵌人式系统跨越SCADA和DCS到MES和ERP系统的延展性。OPCUA最重要的需求见表。

BolgImage-20210812144235

为了达到既定目标,OPC UA由下图所示6层构成

BolgImage-20210812144622

OPCUA使用类似经典OPC的客户端/服务器概念。一个希望对其他应用暴露自己的信息的应用程序被称为UA服务器。而一个想要使用其他应用程序的信息的应用程序被称为UA客户端

但是,期望与经典OPC相比,更多的应用是在一个应用程序中包含UA服务器和UA客户端。其中一个原因是,越来越多的UA服务器将被直接集成在设备中,同时实现一个UA客户端使设备到设备的通信变得可行。另一个原因是,OPCUA用作配置接口,UA客户端同时也是一个可以通过OPCUA进行配置的IJA服务器。

一个典型的UA的应用是由下图所示的三个软件层次组成的。一个OPCUA应用程序是一个要公开或使用OPCUA数据的系统。它包含该应用程序指定的功能,以及通过使用OPCUA栈和OPCUA的软件开发工具包(SDK),从该功能到OPCUA的映射。

BolgImage-20210812151121

OPC UA的客户端也可以理解为专有模型,这种模型可以使用特定领域和用例定义的增强功能。

BolgImage-20210812145338

OPCUA更加灵活,而且功能比所有经典OPC规范加在一起还要多得多。它整合了现有的规范的所有成功的观念,解决了现有标准中的已知问题,并增加了对大量新增用例的标准化。

OPCUA的特点

统一所有架构

因此OPCUA同时为用户提供了(不像OPC那样是分散的,访问DA和HHA,A&E需要分别访问不同的服务器):

  1. 实时数据访问规范(OPCDA)
  2. 历史数据访问规范(OPCHDA)
  3. 报警事件访问规范(OPCA&E)
  4. OPC安全协议(OPCSecurity)

平台的独立性

OPCUA可以移植到任何操作系统,在UNIX、Linux、嵌入式操作系统等替代平台上增加了OPC技术的市场需求。OPCUA支持C/C++,Java,.NET,Pathon等。

可扩展性

可以在嵌入式系统、控制器、便携式电脑、桌上型电脑、服务器、服务器群集、大型机。

安全网络通信

  1. 安全遵循Web标准
  2. 安全证书加密通信
  3. 应用证书确保只有认证的应用程序可以连接
  4. 用户账户确保授权访问

通信的可靠性

OPCUA从通讯丢失恢复,

OPCUA可以确保可靠的通信

  1. Keep-alive监控
  2. 数据缓冲和确认
  3. 在通信错误的情况下快速恢复
  4. 冗余概念

统一数据模型

Cliassic OPC为过程数据、报警和历史数据定义了不同的地址空间模型。

通过提供用于访问信息的通用架构来降低系统集成成本。

方法调用/程序

市场需求是启动和停止驱动器时将文件下载到设备,调用批处理文件并跟踪下载RESP批处理过程。OPCUA将程序调用和状态机定义为统一的地址空间的一部分。

OPCUA功能

监测变量功能

当本地的某个含义的变量值需要传送给其他的设备或平台,那么这个数据是否应不停地传输呢?

如测温设备获取环境的温度信息,发送到一个监控设备中。当温度变化了,才有必要将温度信息发送给监控设备。监测变量功能就是当变量值发生变化时会主动进行通知,当收到通知后再去执行相应的操作。

Server角色和client角色都拥有监测变量功能。这个功能的开启和具体操作由使用者实现。

添加对象和对象类型

​ 在OPC UA Server中可添加对象并自定义对象类型。对于OPC UA来说一个对象也是一个节点,类型也是是节点,变量也是节点,节点间使用信息模型的各种关系来互相连接,如hasComponent,用一个例子进行说明:

image-20210708153552106

可添加方法

​ 在OPC UA信息模型中,有些对象会包含方法,这个和面向对象编程中对象类型中包含方法是类似的。如果一个OPC UA对象类型里包含方法,那么当使用这个对象类型去实例化对象时就会给这个对象添加该方法的引用,而不是把这个方法拷贝给对象,使用相同类型创建的所有对象,它们的方法都会指向同一个方法。

事件

有时我们希望在运行时,某些突发事件发生时可以通知给用户,例如锅炉温度达到了高温上限值,就把这件事的相关情况都告知用户,通常情况下,都会使用监测的方法实现这个高温报警功能。但是OPC UA提供了事件的功能。

监测和事件有点类似,当变量发生变化后就通知Client或Server,但是监测变量值有2个缺点:

  1. 有一定的延迟,这个和采样时间的设置有关;
  2. 无法直接提供事件的相关信息,如发生时间点,严重程度,哪个发生的等等。

事件可以在任何时间点触发,并且可以同时携带多个信息,而用户可以根据需要来挑选对自己感兴趣的信息。

加密

OPC UA Client和OPC UA Server之间可以加密通信,这是个非常重要的功能,掌握了这个功能,就可以增加软件产品的安全性。只有当Client端拿到正确的证书才可以和Server建立通信,否则就会被Server拒绝。

想实现加密通信,就需要自签名证书和私匙。mbedTLS是一个库,这个库可以给软件产品加入加密和 SSL/TLS 功能,官网是https://tls.mbed.org/。

历史数据

​ OPC UA的历史访问功能通过检索历史数据库实现,OPC UA协议中定义了对历史时序数据和历史事件数据的描述和访问。通过历史数据访问信息模型来定义描述在何处可找到历史数据的配置信息。

用户名与密码登录

不进行配置时,OPC UA Client和OPC UA Server之间的连接都是使用的匿名,并没有使用用户名和密码。

OPC UA提供了用户名与密码登录的功能。使用用户名和密码登录OPC UA Server,这个和我们平时登录电脑或APP账户等是类似的。关闭匿名登录,可以加大保密性,使用安全证书登录可以增加安全性。

OPCUA的应用

OPC UA在IIOT(或工业互联网或工业 4.0)中的应用,其中有的Server既充当Server也充当Client,云设备中的OPC UA角色是最大的Combined OPC UA Server and Client

image-20210708153855220

其他

相关资源下载

opcua统一架构最新规范.rar-互联网文档类资源-CSDN下载

欢迎关注微信公众号

weixingognzhonghaoerweima

原文:https://blog.csdn.net/aa1319594154/article/details/118596499

联系站长

QQ:769220720