一 、概述

OPC 的全称是OPC(OLE for Process Control), 用于过程控制的OLE,OLE(Object Linking and Embedding)大家都知道是对象连接与嵌入,简称OLE技术。

OPC标准于1996年首次发布,其目的是把PLC特定的协议(如Modbus,Profibus等)抽象成为标准化的接口,作为“中间人”的角色把通用的OPC“读写”请求转换成具体的设备协议来与HMI/SCADA系统直接对接,反之亦然。就此出现了一个完整的产品行业,终端用户可以借助其来最优化产品,通过OPC协议来实现系统的无缝交互。

二、OPC DA

OPC数据访问(Data Access,DA)规范是指简化不同总线标准间的数据访问机制,为不同总线标准提供了通过标准接口访问现场数据的基本方法。OPCDA服务器屏蔽了不同总线通信协议之间的差异,为上层应用程序提供统一的访问接口,可以很容易的在应用程序层实现对不同总线协议的设备进行互操作。

最普遍的标准是 OPC DA,但它有一个明显的缺点。在其发展时,它建立在当时的现代 Windows 技术之上:OLE、ActiveX、COM/DCOM,但此后行业发生了变化,其他操作系统和技术也开始流行。因此,使 OPC 技术独立于平台,并在开放的跨平台技术上开发了 OPC UA(统一架构)标准。

根据实际经验来说 DA模式的OPC Client 需要与OPCServer 放在同一台服务器。或者通过配置DCOM来解决远程访问OPC Server的问题。

三、OPC UA

OPC UA(统一架构)是工业网络中数据传输的现代标准。它提供设备之间安全可靠的通信,同时独立于硬件和平台,允许不同操作系统的设备之间进行通信。

OPC UA 的优势在于面向对象的信息模型,它允许“查看”数据(以 Web 浏览器样式)和面向服务的架构 (SOA)。如果之前您必须使用多个 OPC 服务器:用于实时数据的 OPC DA、用于历史的 OPC HDA 和用于事件的 OPC AE,现在所有这些以及更多功能都可以在一个 OPC UA 标准中使用。现在引入了节点或对象的概念,而不是标签树。每个节点包括一个真实对象的变量、方法和其他数据结构。

在使用方法上OPC UA 可以通过 IP加端口的方式访问OPC Server,不需要配置DCOM信息。

四、OPC 现行标准

  • OPC DA(数据访问)是最常见的标准,它描述了一组与 PLC、DCS、HMI、CNC 和其他设备进行实时数据交换的功能。
  • OPC HDA(历史数据访问)提供对已保存数据和历史的访问。
  • OPC AE(警报和事件)为各种事件提供按需通知功能:紧急情况、操作员操作、信息消息等。
  • OPC Batch提供工艺过程的步骤和配方控制功能。
  • OPC DX (Data eXchange)提供通过以太网在 OPC 服务器之间组织数据交换的功能。该标准的主要目的是为来自不同制造商的设备和程序之间的数据交换创建网关。
  • OPC 安全定义了组织客户端对 OPC 服务器数据的访问权限的功能。
  • OPC XML-DA(XML 数据访问)提供了一种灵活的、规则驱动的格式,用于通过 XML、SOAP 和 HTTP 交换数据。
  • OPC 复杂数据是一组针对 OPC DA 和 XML-DA 的附加规范,允许服务器处理复杂数据类型,例如二进制结构和 XML 文档。
  • OPC 命令是一组编程接口,允许 OPC 客户端和服务器识别、发送和控制在控制器或 I/O 模块中执行的命令。
  • OPC UA(统一架构)是不基于 Microsoft COM 技术的最新规范,它提供了跨平台兼容性。

五、一个高效实用的 OPC DA 数据采集传输架构

OPC 详解 第一篇 基础概念的更多相关文章

  1. IIS负载均衡-Application Request Route详解第一篇: ARR介绍(转载)

    IIS负载均衡-Application Request Route详解第一篇: ARR介绍 说到负载均衡,相信大家已经不再陌生了,本系列主要介绍在IIS中可以采用的负载均衡的软件:微软的Applica ...

  2. IIS负载均衡-Application Request Route详解第一篇: ARR介绍

    IIS负载均衡-Application Request Route详解第一篇: ARR介绍 说到负载均衡,相信大家已经不再陌生了,本系列主要介绍在IIS中可以采用的负载均衡的软件:微软的Applica ...

  3. 入木三分学网络第一篇--VRRP协议详解第一篇(转)

    因为keepalived使用了VRRP协议,所有有必要熟悉一下. 虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是解决局域网中配置静态网关时,静 ...

  4. python中的buildin函数详解(第一篇)

    这会是很长的一个帖子,因为我打算从python最基础的东西开始,尝试去完全的掌握它,buildin中有一些常用的函数比如 abs, open, setattr, getattr, 大家都很了解他们的用 ...

  5. nginx配置文件详解----第一篇【访问与错误日志】

    error_log错误日志    access_log访问日志 log_format指令 语法: log_format name string …;默认值: log_format combined “ ...

  6. Orchard详解--第一篇 介绍

    Orchard是一个开源的内容管理系统(CMS),它提供了简单的向导式的安装方法,用于快速建站(如WordPress).对于.Net的开发者来说,Orchard有更好的学习价值,所以本系列文章将对Or ...

  7. Java中JNI的使用详解第一篇:HelloWorld

    转自: http://blog.csdn.net/jiangwei0910410003/article/details/17465085 今天开始研究JNI技术,首先还是老套路,输出一个HelloWo ...

  8. IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm(转载)

    IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm 自从本系列发布之后,收到了很多的朋友的回复!非常感谢,同时很多朋友问到了一些问题,有些问 ...

  9. bt协议详解 DHT篇(下)

    bt协议详解 DHT篇(下) 最近开发了一个免费教程的网站,产生了仔细了解bt协议的想法,这篇文章是bt协议详解系列的第三篇,后续还会写一些关于搜索和索引的东西,都是在开发这个网站的过程中学习到的技术 ...

  10. bt协议详解 DHT篇(上)

    bt协议详解 DHT篇(上) 最近开发了一个免费教程的网站,突然产生了仔细了解bt协议的想法,这篇文章是bt协议详解系列的第三篇,后续还会写一些关于搜索和索引的东西,都是在开发这个网站的过程中学习到的 ...

随机推荐

  1. 2023 Stack Overflow 调研

    一.Programming, scripting, and markup languages 二.Databases 三.Web frameworks and technologies 四.Other ...

  2. Linux中的touch命令

    Linux中一个文件有3种时间属性,分别是mtime,ctime,atime: modification time (mtime) 当该文件的『内容数据』变更时,就会升级这个时间!内容数据指的是文件的 ...

  3. grads 同时读取多个ctl文件方法

    1.不同的文件进行不同的设置:'set dfile 2' 2.读取不同文件的变量:qv.2 实例如下:'reinit''open e:\tskt.CTL''open e:\uwnd.CTL''open ...

  4. 线程安全使用 HashMap 的四种技巧

    这篇文章,我们聊聊线程安全使用 HashMap 的四种技巧. 1方法内部:每个线程使用单独的 HashMap 如下图,tomcat 接收到到请求后,依次调用控制器 Controller.服务层 Ser ...

  5. Chart.js (v2.9.4)--如何像高版本一样支持skipNull

    项目开发中,用到Chart.js展示图表,用起来也非常方便,配置很灵活,很好用,给个数据集,设置一些配置值,实例化一个Chart出来,图表就非常丝滑地展现出来了. 但是作为开发人员都知道的一个真理,永 ...

  6. Django中模型类的定义

    1.模型文件以及继承的类 2.ORM对应关系 一个class类,对应数据库一个表 一个class属性,对应一个字段 一个实例对象,对应一条数据记录 3.主键 可以自己定义主键列,如果自己不定义主键的话 ...

  7. golang beego 使用supervisor 部署后台进程管理. 静态文件找不到的解决办法.

    directory=/root/go/src/you_self_dir 请在客户端配置文件*.ini中加入一行命令, 等于号后面就是自己的项目目录,这时就能找到项目文件了.

  8. 浏览器打开JupyterLab后所有快捷键与窗口按键均失效怎么办?

      本文介绍JupyterLab中菜单栏按钮无法点击.快捷键无法执行问题的解决办法.   近期打开JupyterLab后,发现其中菜单栏按钮无法点击,快捷键也均无法执行.如图,红框内的按钮点击均无任何 ...

  9. ASP.NET Core SignalR .NET 客户端

    项目 2022/11/29 13 个参与者 反馈 通过 ASP.NET Core SignalR .NET 客户端库可以从 .NET 应用与 SignalR 中心进行通信. 查看或下载示例代码(如何下 ...

  10. nginx基础安装使用和负载均衡高可用,日志切割配置

    1. Nginx简介 Nginx [engine x]是HTTP和反向代理服务器,邮件代理服务器和通用TCP / UDP代理服务器,最初由Igor Sysoev编写.很长一段时间以来,它已经在许多重负 ...