OPC DA 与 OPC UA区别
OPC首字母缩写词代表什么?
问一个OPC老手,他们或许会笑,因为他们知道有很多含义!在经典的且程序化的说法是:O LE for P rocess C ontrol(用于过程控制的OLE)。OLE 或对象链接和嵌入是Windows的基本早期构建块,允许应用程序在它们之间共享复杂的信息。我记得Windows 3.0的第一个演示中,人们将 Excel电子表格嵌入到 Microsoft Word文档中,以及更新电子表格,打开Word和更新文档的重要性。原始OPC标准源自该技术和 COM 或 Windows 组件对象模型。
从那以后,我们会听到很多其他的一些定义,但是比较出名的是现在官方OPC基金会所给出的说法是:它的含义是O pen P latform C ommunications(开放平台通信)。其实无论它的定义是什么,其目标保持不变:消除自动化软件和硬件平台之间互操作性的障碍,为用户提供选择。
OPC Client(OPC客户端)和OPC Server(OPC服务器)之间有什么区别?
OPC客户端请求数据,有时也想写入数据。如果允许的话,服务器会响应客户端的请求并提供数据或接受其写入。最简单的形式就是这样。
可以将OPC服务器看作是协议转换器,OPC服务器使用设备的专用协议与设备通信,然后使用OPC Classic和OPC UA规范定义的标准化格式提供对该数据的访问。通常情况下,OPC服务器在OPC客户端请求读取或写入数据之前不会执行任何操作。而某些OPC服务器可以配置为即使在没有客户端请求的情况下也可以从设备轮询数据。这通常是为了允许OPC服务器在其内部缓存中就具有当前数据并且在客户端请求它时就已经准备就绪(但是是以产生可能不需要的通信流量为代价。)目前许多OPC服务器为用户提供了灵活性,可以根据应用需求来进行配置。
什么是 OPC数据质量 和 TImestamps ?
在 OPC 之前,当你的 HMI 或 SCADA 软件用内置驱动程序读取数据之前,它要么得到数据要么没有数据。 如果你没有得到数据,你就无法知道最后一次获得数据是什么时候。 两者之间没有差别。
使用OPC服务器,它们可以缓存或保留从设备读取的最后一个值。它们还会在缓存中为数据加时间戳(TImestamps),通常使用OPC服务器从设备读取值的时间。某些设备存储上次更改数据的时间戳,并可使用设备特定的通信协议将其传递给OPC服务器。如果设备支持该设备并且OPC服务器支持它,那么则可以使用设备时间戳。(如:支持该功能的协议的设备时间戳的Software Toolbox产品包括TOP Server DNP,IEC 61850和IEC 60870驱动程序。)
OPC质量是OPC服务器告诉OPC客户更多关于它们提供价值的一种方式。这样做的方法是传递一个数字以及值和时间戳。在OPC中我们称之为VQT或"Value,Quality,Timestamp"(“价值,质量,时间戳”)。OPC质量编号实际上是通过设置字位来确定的,这会导致产生不同的值。值192表示“良好”质量,这意味着OPC服务器最后一次轮询设备它能够成功获取数据,因此OPC客户端可以信任该值。值为0表示质量不佳,通常表示OPC服务器与其轮询的设备之间存在通信故障。OPC服务器可以使用一系列其他值来表示质量差的原因,但目前它们并未得到广泛实施
OPC实时数据访问规范(OPC DA)定义了包括数据值,更新时间与数据品质信息的相关标准。
OPC历史数据访问规范(OPC HDA)定义了查询、分析历史数据和含有时标的数据的方法。
OPC报警事件访问规范(OPC AE)定义了报警与时间类型的消息类信息,以及状态变化管理等相关标准。
【为什么要开发 OPC UA】
基于COM/DCOM的技术有着不可根除的缺点,因此随着技术的进步,以及数据交换各方面需求的提高,OPC基金会在2008年发布了新的规范:OPC UA。
【OPC UA 的技术特性】
OPC UA规范不再是基于COM/DCOM技术,因此OPC UA不仅能在Windows平台上实现,更可以在Linux,以及其他的嵌入式平台中实现。与传统OPC规范相同,OPC UA 同样有着相同的设计目标:1. 功能等价:所有的基于COM的OPC规范中的功能,都映射到了OPC UA中。2. 多平台支持:支持从嵌入式的微控制器到基于云的分散式控制架构。3. 安全:信息加密,互访认证以及安全监听功能。4. 扩展性:不影响现有应用程序的情况下,就可以添加新的功能。5. 丰富的信息建模:可定义复杂的信息,而不再是单一的数据。
【OPC UA相对于传统OPC的变化】
一、功能方面,OPC UA不仅支持传统OPC的所有功能,更支持更多新的功能:1. 网络发现:自动查询本PC机中与当前网络中可用的OPC Server。2. 地址空间优化:所有的数据都可以分级结构定义,使得OPC Client不仅能够读取并利用简单数据,也能访问复杂的结构体。3. 互访认证:所有的读写数据/消息行为,都必须有访问许可。4. 数据订阅:针对OPCClient不同的配置与标准,提供数据/消息的监控,以及数值变化时的变化报告。5. 方案(Methods)功能:OPC UA中定义了通过在OPCServer中定义方案(Methods),来让OPC client执行特定的程序。
二、平台支持方面,由于不再基于COM/DCOM技术,OPC UA标准提供的更多的可支持的硬件或软件平台。硬件平台诸如传统的PC机、基于云的服务器、PLC、ARM等其他微处理器;而软件平台可支持微软的Windows、苹果公司的OSX、安卓,以及其他的基于Linux的分布式操作系统。
三、安全性方面,最大的变化是OPC UA可以通过任何单一端口(经管理员开放后)进行通信,这使得OPC通信不再会由于防火墙受到大量的限制。
【OPC UA 的技术细节概述】
1、OPC UA在传输中可通过XML格式或者二进制格式来传输,并且可选择并兼容更多通用的IT通信协议,比如HTTPS。同时,在加密时,也能达到128或者256位的加密深度。在客户端与服务器的通信许可方面,OPC UA使用了OpenSSL许可证来规定哪些应用程序或系统可以使用OPC与另一端相连接。2、在建模方面,OPC UA将建模的架构由“数据建模”扩展为了“信息建模”。OPC UA规范中不仅仅提供了完整的面向对象的数据建模,同时也可定义复杂的多级结构体。数据类型或结构体都在配置文件(profiles)中定义,不仅可以定义已存在的传统OPC规范中的类型,还可以扩展加入其他的供应商或组织定义的新类型。
OPC DA 与 OPC UA区别相关推荐
- OPC DA与OPC UA的区别
OPC实时数据访问规范(OPC DA)定义了包括数据值,更新时间与数据品质信息的相关标准. OPC历史数据访问规范(OPC HDA)定义了查询.分析历史数据和含有时标的数据的方法. OPC报警事件访问 ...
- OPC 、OPC DA、OPC UA介绍
目录 一.OPC介绍 1.OPC是什么? 2.OPC的本质 3.OPC诞生背景 二.OPC DA介绍 1.OPC DA是什么? 2.OPC DA的本质 3.OPC DA的远程通讯 三.OPC UA介绍 ...
- OPC DA调研报告
OPC DA调研报告 一.基础背景知识 1.OLE 1.1.OLE(Object Linking and Embedding):对象连接与嵌入 1.2**名词解释**: 1.3.起源说明: 2.COM ...
- Prosys OPC Client连接OPC DA
Prosys OPC Client连接OPC DA Prosys OPC 客户端将帮助排除 OPC 连接故障并测试 OPC 服务器. 您可以读写数据.浏览服务器以及导出和导入地址空间. OPC 客户端 ...
- OPC DA客户端工具Opc quick client使用
OPC DA客户端工具Opc quick client使用 什么是OPC OPC是工业控制和生产自动化领域中使用的硬件和软件的接口标准,以便有效地在应用和过程控制设备之间读写数据.O代表OLE(对象链 ...
- Unity/UE读取OPC UA和OPC DA数据(UE4)
Unity/UE4通过OPC UA和OPC DA协议读取PLC数据,通过采集服务将数据采集到数据库中,Unity3d和UE4再从数据库中读取数据进行展示,用于三维数字孪生系统接入自动化系统的硬件数据. ...
- 手把手教你玩转UA Tunneller的OPC DA转UA
前段时间我们谈到了PLC不支持OPC UA的解决方法,得到了非常多的关注.在那篇文章里我们主要是针对现在很多人的痛点有针对的的将OPC UA Tunneller进行了简单介绍,描绘了OPC UA Tu ...
- java读取OPC DA数据---Utgard
java读取OPC DA数据-Utgard Utgard库已经过时,原作者早已删除库,建议使用OPC UA,兼容OPC DA. 下面讲解Utgard使用 C#和C++都不用配置DCOM,直接调用函数 ...
- OPC协议解析-OPC UA OPC统一架构(转载)
1 什么是OPC UA 为了应对标准化和跨平台的趋势,为了更好的推广OPC,OPC基金会近些年在之前OPC成功应用的基础上推出了一个新的OPC标准-OPC UA.OPC UA接口协议包含了之前的 ...
最新文章
- matlab传递闭包动态聚类图,用SPSS制作3D散点图全方位动态展示K均值聚类效果
- 【SCOI 2009】生日快乐
- u盘读写测试_关于闪迪u盘cz880速度测试
- VC打包程序,并修改注册表(详细以后补充)
- 假如一个程序员有社交牛逼症
- 无缝的缓存读取:双存储缓存策略
- 数据结构和算法 D2
- 开课吧课堂:深入了解学习C++的意义与就业方向
- MongoDB笔记十四——启动配置详细讲解
- [原创]jQuery的this和$(this)
- win10录屏_win10录屏打不开怎么办?怎么给win10录制屏幕视频?
- 三自由度机械臂的三维设计
- android 公式编辑,能编辑公式的安卓手机股票软件
- 燃尽图 (Burn up and Burn down Chart)—介绍
- 有哪些适合大学生投稿的普刊(社科类)?
- 【深度学习】一文读懂机器学习常用损失函数(Loss Function)
- 微信提现到零钱 CA_ERROR报错总结
- “无剑胜有剑”软件大师之路的一点探索
- 实数二分(模板及例题)
- istat menus 序列号
热门文章
- 01-线性回归sklearn实现
- 静心解压,或许你需要一个电子木鱼
- 飞机气动导数的插值计算_Matlab
- EndNote修改导入文献格式的方法
- zynq嵌入式linux显示logo,如何定制嵌入式linux 启动logo(小企鹅)
- java faces,用JavaServer Faces开发Web应用(3) (转)
- 基于java+springboot+mybatis+vue+elementui的农机机械设备租赁平台
- 基于Python + Django + mysql的协同推荐算法的电影推荐系统
- 【转】高手速成android开源项目【View篇】
- BurpSuite 通过google浏览器抓取https流量包