OPC UA 是OPC协议的升级版,在学习OPC UA协议之前,先掌握OPC的核心概念,对理解OPC UA有很大好处。

OPC是OLE for Process Control的缩写,即应用于过程控制的OLE。它是工业控制领域的一种标准的数据访问机制(OLE为对象连接和嵌入)。为什么需要这种机呢?因为工业控制领域用到大量的自动化控制设备,由于工业控制领域涉及方方面面有汽车生产,有飞机生产,有钢铁生产,于是有各种各样的设备供应商为这些领域提供自动化控制设备。在这些设备运行时,用户总是希望可以从这些设备获取状态数据,以便知道设备的运行情况和产品的生产情况。但是在OPC出现以前,由于自动控制设备多种多样,所以软件开发商需要开发大量的驱动程序来连接这些设备。往往硬件供应商在硬件上做了一些小小改动,应用程序也可能需要重写。同时,由于不同设备甚至同一设备不同单元的驱动程序也有可能不同,软件开发商很难同时对这些设备进行访问以优化操作。虽然硬件供应商也在尝试解决这个问题,然而由于工业控制客户来源的领域实在太多,各个领域有着不同的需要、同时也存在着不同的数据传输协议,因此也一直没有完整的解决方案。

但是OPC协议的推出解决了这一个问题,这个协议的本质是在硬件供应商和软件开发商之间建立一套完整的数据传输“规则”。只要遵循这套规则,数据交互对两者来说都是透明的,硬件供应商只需考虑应用的需求,软件开发商也不必了解硬件的实质和操作过程。

OPC 协议包含14个子协议,但最重要的是3个子协议

  1. OPC数据存取(DA):描述访问过程数据的当前值。
  2. OPC报警和事件(A&E):描述基于事件的信息接口,包括了过程报警确认。
  3. OPC历史数据存取(HDA):描述了访问历史数据。

OPC采用C/S架构(客户端/服务器)。OPC服务器将数据源如各种控制设备,进行封装,然后向外提供访问接口。OPC客户端连接到OPC数据服务器后,可以访问和使用它提供的数据

OPC使用了微软公司的COM和DCOM技术,这使得OPC无需再定义一个网络协议或者进程间通信协议,省去了重复造轮子的功夫。同时可以直接在windows系统中得到良好应用。但后面这也成了它的局限性,因为在Linux环境下难以使用。

1、OPC 数据访问DA

OPC最重要的接口就是OPC DA接口。OPC 数据访问DA接口可以读写,监控包含当前过程数据的变量。主要应用场景是将PLC,DCS和其他控制设备的实时数据送到HMI和其他显示设备。

由于使用了微软的对象技术,所以OPC的操作都是使用对象来执行的。OPC DA客户端首先通过创建一个OPCServer对象来建立到服务器的连接。而该服务器对象向外提供了各种操作方法,来使得客户端很容易的找到自己想要的数据。具体来说OPCServer根据统一的配置信息,对数据进行分类,它将同一种类别的数据添加到一个OPCGroup对象中,以方便分类访问。

对于大多数控制变量来说,它们往往是周期性变化的,因此客户端也希望周期性的获取到它们的最新值。客户端定义好感兴趣的的数据更新速率,告诉服务器。然后服务器就按这个更新的速率检查值得变化,到达下一个访问周期后,服务器只将已经变化的值发送给客户端即可。

OPC标准会为数据打上时间戳和质量戳,当设备出现故障或者通信中断时,可以用于区分数据的好坏。

2、OPC报警和事件

由于工业现场中如果出现了不正常的信号,往往需要系统发出告警并且要求确认。OPC也提供了报警和事件机制。这同样通过对象来解决。OPC服务器中维护一个OPCEventServer对象,然后采用订阅者模式,在客户端生成一个事件订阅对象OPCEventSubscription

通过定义一些过滤规则,来过滤掉一些不需要关心的事件,同时接收需要的事件。

3、OPC历史数据访问

由于DA只规定了当前数据的获取,很多时候用户需要回溯历史数据,对历史数据进行各类分析,如提取,分析趋势等等。因此OPC对历史数据存储提出了统一的格式,从简单的串行数据记录系统到各种SCADA数据采集系统采集的数据,只要遵循OPC标准都可以统一被检索。当然这也是通过对象技术实现的。

OPC客户端在HDA服务器中创建一个历史数据服务器对象OPCHDAServer。这个对象提供了读取和更新历史数据的所有的接口和方法。

另外用一个OPCHDA浏览器对象OPCHDABrower来提供对历史数据的读写。

好了,OPC的主要3个子协议介绍完了。上图是OPC接口标准的全部协议,一般情况下我们对3个主要子协议掌握即可。

opc客户端_OPC UA 预备知识 OPC 核心概念相关推荐

  1. opc ua 用哪种语言编写_OPC UA是什么 OPC UA简介

    最近在电视上看到,消费电子取得了一些突破性的技术进步,这让我感到非常惊奇.例如,手机上配备了内置的Google应用,一款内置Google应用的惠普打印机则支持用户直接从互联网或无线设备上打印图像和文档 ...

  2. opc客户端_组态王作为OPC服务器的使用介绍,欢迎读者阅读

    组态王在原有的OPC客户端的基础上添加了OPC服务器的功能,实现了组态王对OPC的服务器和客户端的统一.通过组态王OPC服务器功能,用户可以更方便的实现其他支持OPC客户的应用程序与组态王之间的数据通 ...

  3. 很无聊但是又很重要的 计算机网络基础知识 ---“网络核心概念“

    目录 网络核心概念 传输方式 分组交换 存储转发传输 排队时延和分组丢失 电路交换 分组交换和电路交换的对比 分组交换网的时延.丢包和吞吐量 单播.广播.多播和任播 广播(Broadcast) 多播( ...

  4. 很无聊但是又很重要的 计算机网络基础知识 --- “HTTP 核心概念(二) ” 【面试必问】

    目录 HTTP 标头 通用标头 Cache-Control Connection 持久性连接 Date Pragma Trailer Transfer-Encoding Upgrade Via War ...

  5. OPC通讯开发简介——基于WTOPCSVR的OPC服务器端和基于WTCLIENT的OPC客户端开发

    OPC通讯开发简介--基于WTOPCSVR的OPC服务器端和基于WTCLIENT的OPC客户端开发 说明 一.OPC技术背景及介绍 二.OPC通讯的流程(OPC经典架构) 三.OPC标准官方文件部分变 ...

  6. 用Delphi开发OPC客户端工具的方法研究

    用Delphi开发OPC客户端工具的方法研究[1]<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:o ...

  7. [1] OPC UA基础知识简介

    OPC UA简介 OPC 什么是OPC? 为什么需要OPC? OPCUA简介 什么是OPC UA? OPC UA的优势: OPC UA规范标准 OPC UA基础 OPC UA 软件层 OPC UA 学 ...

  8. 什么是opc ua通信?opc ua的介绍

    什么是opc ua通信?opc ua的介绍 一.OPC-UA通讯的产生 为了应对各生产基地的通讯机制不一样,需要一个标准化的通讯格式来统一各种设备平台的通讯.其中OPC标准的的OPC-UA网络协议就是 ...

  9. opc客户端读取数据品质是bad_听说看了这篇文章就彻底搞懂了什么是OPC(上)

    从2000年初以来,我们就一直在使用OPC软件互操作性标准,而那些正准备踏入和想要踏入工业自动化领域的人们却对这些含义感到困惑. 所以在本中,我将系统地为你梳理OPC知识. OPC首字母缩写词代表什么 ...

最新文章

  1. 下java7 64有什么用_Win 7 64位系统安装java 8,看完就明白了
  2. Zookeeper C API 指南一(转)
  3. UVALive - 3902 Network
  4. 运行里用\\加IP地址访问远程主机和用mstsc登录远程主机有什么区别??
  5. 计算Gaunt积分m1m2≥0
  6. jQuery 如何ajax
  7. 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  8. Bootstrap CSS 编码规范之带前缀的属性
  9. 在ionic这个框架下(Angular JS),对URL进行重写,过滤掉URL中的#号
  10. 页面查询条件选框被隐藏的问题
  11. python常用模块初始
  12. 彻底关闭Excle进程的几个方法
  13. 分享一个手写轮播图的学习案例
  14. 软件测试薪资高不高?软件测试工资水平调研公布
  15. 学it中的python怎么样_长安大专网教学历
  16. iptable 笔记
  17. Win10无法访问网上邻居共享设备及共享文件夹错误代码(0x80004005)
  18. C# WPF窗体+WCF实现五子棋
  19. SUST Weekly Final Round One 参考题解
  20. SQL Server 2016 快照代理过程分析

热门文章

  1. 推荐模型之:跨会话信息感知的推荐模型探索与实践
  2. 不做冤大头!大数据“杀熟”最高罚5000万!
  3. 【干货】2021技术展望:开拓新局,掌握变局时代的技术先机-埃森哲.pdf(附下载链接)
  4. linux周期执行某任务方法
  5. python install causes ModuleNotFoundError: No module named ‘_swigfaiss‘
  6. (Object detection)目标检测从入门到精通——第五部分YOLO 算法
  7. 算法大赛十强战队解题方案大公开!【附PPT下载】
  8. 站在BERT肩膀上的NLP新秀们(PART III)
  9. matlab 模拟滤波器转换为数字滤波器,一种模拟滤波电路数字化方法
  10. 饥荒联机版运行不了服务器,饥荒联机版启动服务器出现问题 | 手游网游页游攻略大全...