OPC 详解 第一篇 基础概念
一 、概述
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 详解 第一篇 基础概念的更多相关文章
- IIS负载均衡-Application Request Route详解第一篇: ARR介绍(转载)
IIS负载均衡-Application Request Route详解第一篇: ARR介绍 说到负载均衡,相信大家已经不再陌生了,本系列主要介绍在IIS中可以采用的负载均衡的软件:微软的Applica ...
- IIS负载均衡-Application Request Route详解第一篇: ARR介绍
IIS负载均衡-Application Request Route详解第一篇: ARR介绍 说到负载均衡,相信大家已经不再陌生了,本系列主要介绍在IIS中可以采用的负载均衡的软件:微软的Applica ...
- 入木三分学网络第一篇--VRRP协议详解第一篇(转)
因为keepalived使用了VRRP协议,所有有必要熟悉一下. 虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是解决局域网中配置静态网关时,静 ...
- python中的buildin函数详解(第一篇)
这会是很长的一个帖子,因为我打算从python最基础的东西开始,尝试去完全的掌握它,buildin中有一些常用的函数比如 abs, open, setattr, getattr, 大家都很了解他们的用 ...
- nginx配置文件详解----第一篇【访问与错误日志】
error_log错误日志 access_log访问日志 log_format指令 语法: log_format name string …;默认值: log_format combined “ ...
- Orchard详解--第一篇 介绍
Orchard是一个开源的内容管理系统(CMS),它提供了简单的向导式的安装方法,用于快速建站(如WordPress).对于.Net的开发者来说,Orchard有更好的学习价值,所以本系列文章将对Or ...
- Java中JNI的使用详解第一篇:HelloWorld
转自: http://blog.csdn.net/jiangwei0910410003/article/details/17465085 今天开始研究JNI技术,首先还是老套路,输出一个HelloWo ...
- IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm(转载)
IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm 自从本系列发布之后,收到了很多的朋友的回复!非常感谢,同时很多朋友问到了一些问题,有些问 ...
- bt协议详解 DHT篇(下)
bt协议详解 DHT篇(下) 最近开发了一个免费教程的网站,产生了仔细了解bt协议的想法,这篇文章是bt协议详解系列的第三篇,后续还会写一些关于搜索和索引的东西,都是在开发这个网站的过程中学习到的技术 ...
- bt协议详解 DHT篇(上)
bt协议详解 DHT篇(上) 最近开发了一个免费教程的网站,突然产生了仔细了解bt协议的想法,这篇文章是bt协议详解系列的第三篇,后续还会写一些关于搜索和索引的东西,都是在开发这个网站的过程中学习到的 ...
随机推荐
- [Cmake Qt]找不到文件ui_xx.h的问题?有关Qt工程的问题,看这篇文章就行了。
前言 最近在开发一个组件,但是这个东西是以dll的形式发布的界面库,所以在开发的时候就需要上层调用. 如果你是很懂CMake的话,ui_xx.h的文件目录在 $ 下 然后除了有关这个ui_xx.h,还 ...
- PageOffice在线打开编辑Word文件获取指定区域的数据并且保存整篇文件
一.首先在word文件中给需要在后台获取数据的区域设置以PO_开头的书签. 二.通过pageoffice在线打开文件并编辑保存.有两种打开文件的模式 1.普通编辑模式(docNormalEdit) 普 ...
- python连接redis,mongodb以及简单命令使用
redis 环境如下: [root@mcw01 ~/msRedis]$ ps -ef|grep -v grep|grep redis root 46061 1 0 14:28 ? 00:00:45 r ...
- VSCode 圈复杂度插件 CodeMetrics
前言 圈复杂度(Cyclomatic Complexity)是一种代码复杂度的衡量标准.它可以用来衡量一个模块判定结构的复杂程度,数量上表现为独立现行路径条数,也可理解为覆盖所有的可能情况最少使用的测 ...
- Vue——安装
Vue.js 设计的初衷就包括可以被渐进式地采用.这意味着它可以根据需求以多种方式集成到一个项目中. 将 Vue.js 添加到项目中主要有四种方式: 1.在页面上以 CDN 包的形式导入. <s ...
- WPF DataGrid使用 自动显示行号、全选、三级联动、拖拽
1.DataGrid的使用自动显示行号(修复删除行时行号显示不正确) dgTool.LoadingRow += new EventHandler<DataGridRowEventArgs&g ...
- 快速生成树协议(RSTP)基本知识及实验(使用eNSP)
关于生成树协议的知识可参考我的另一个博客:https://www.cnblogs.com/mrlayfolk/p/12242627.html 这篇博文主要介绍快速生成树协议(RSTP)的基本知识.-- ...
- Grafana监控系统的构建与实践
本文深入探讨了Grafana的核心技术.数据源集成.仪表盘与可视化构建以及监控与告警配置,旨在为专业从业者提供全面的Grafana技术指南. 关注[TechLeadCloud],分享互联网架构.云服务 ...
- memo(自带)
React.memo()是一个高阶函数,它与 React.PureComponent类似,但是一个函数组件而非一个类.如果你的组件在相同 props的情况下渲染相同的结果,那么你可以通过将其包装在 R ...
- OpenCV简单实现AR需用到的算法函数介绍
目前的AR需求(想要达到的目标) 公司目前的需求是要能够指定一个物体开始追踪,将一张预先准备好的图像覆盖在被追踪的物体上, 然后镜头偏转缩放各类操作,再转回来仍然可以识别到,并且同样依旧覆盖图片到先前 ...