OPC协议_opc通讯协议简介

OPC协议_opc通讯协议简介一、OPC:OPC是一种利用微软的COM/DCOM技术来达成自动化控制的协定,采用典型的C/S模式,针对硬件设备的驱动程序由硬件厂商完成,提供统一OPC接口标准的Server程序,软件厂商只需按照OPC标准接口编写Client程序就访问Server程序进行读写,即可实现与硬件设备的通信。OPC协定包括:1.DA(DataAccess)规范:访问数据主要采用该规范2.A&E(Alarma…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

一、OPC:OPC是一种利用微软的COM/DCOM技术来达成自动化控制的协定,采用典型的C/S模式,针对硬件设备的驱动程序由硬件厂商完成,提供统一OPC接口标准的Server程序,软件厂商只需按照OPC标准接口编写Client程序就访问Server程序进行读写,即可实现与硬件设备的通信。


OPC协定包括:
1.DA(Data Access)规范:访问数据主要采用该规范
2.A&E(Alarm and Event)规范:基于事件,提供Client端订阅,事件触发后Server端主动提交回数据的数据访问方式。
3.HDA(History data access)规范
4.OPC XML-DA规范


二、OPC UA(Unified Architecture):OPC协定的新版,不再拘束于COM/DCOM技术,意味着不再像传统的(Classic)OPC协定那样仅支持在Windows等平台上使用,具有跨平台性,同时OPC UA也使用了可靠的通信机制,接口简单一致。比如:对传统的三种不同类型OPC服务器的访问 – 数据访问(DA)、报警和事件(AE)、历史数据访问(HDA),要获得一个温度传感器的当前值、一个高温度事件和温度的历史平均值,要依次使用不同的命令执行;而使用OPC UA,仅用一个组件就非常容易地完成了。配置和工程的时间也因此可以大大缩短。


三、OPC逻辑对象模型包括3类对象:OPC server对象、OPC group对象、OPC item对象,每类对象都包括一系列接口。

  • OPC Server对象:

主要功能:

1、创建和管理OPC Group对象;

2、管理服务器内部的状态信息。

  • OPC Group对象:

主要功能:

1、管理OPC Group对象的内部状态信息;


2、创建和管理Items对象;

3、OPC服务器内部的实时数据存取服务(同步与异步方式)。

属性:

name
:组的名字,由客户端自己定义。


active
:组的激活状态,如果为false则组内全部Item将不再从数据源取数据,在客户端中的表现是读取不到数据,同时写数据也影响不到服务器端。


update rate
:服务器向客户端提交变化数据的更新速率(这个数值应比服务器设定的最小值大)。

Percent Dead band:数据死区,即能引起数据变化的最小数值百分比。

  • OPC Item对象:

主要功能:

用来描述实时数据,代表了与服务器数据源的连接,而不是数据源。一个项不能被OPC客户端访问,因此在OPC规范中没有对应于项的COM接口,所有对项的访问都需要通过OPC Group对象来实现。

属性:

name:项的名称,在服务器对应于Item ID。

active:项的激活状态。

value:项的数据值。

quality:项的品质,代表数值的可信度。

Timestamp:时间戳,代表数据的存取时间。


注:

1.Item的存储类型————VARIANT(编写程序时使用的主要也是它)
2.Item的数据类型(VARTYPE):

OPC协议_opc通讯协议简介

3.Item的Alias:项的别名,由服务器设置,避免了项名称过长所带来的麻烦。
4.Group类型:公共组和私有组。公共组由多个客户共享,私有组只属于某一OPC客户。公共组对连接到服务器的所有客户都有效,而私有组只能对建立它的客户程序有效。(大多服务器未实现有公共组)
5.Item在服务器端定义,对应于硬件实际地址,客户端连接服务器端后创建并添加OPC Group,并创建一系列OPC Item(连接到服务器端定义的Item),将逻辑上等价的一组OPC Item添加到OPC Group中才能通过组对象来对数据进行存取操作。


四、OPC通信:

1. 同步通信:OPC客户端对OPC服务端进行读取操作时,OPC客户端必须等到OPC服务器端完成对应操作后才能返回,在此期间OPC客户端处于一直等待的状态。

2. 异步通信:OPC客户端对OPC服务器端进行读取操作时,OPC客户端发送请求后立即返回,不用等待服务器端,当OPC服务器端完成操作后再通知客户端程序。

3. 订阅:需要服务器端支持OPC A&E规范,由客户端设定数据的变化限度,如果数据源的实时数据变化超过了该限度,服务器则通过回调返回数据给客户端。


五、OPC客户端开发大致步骤:

1. COM组件初始化;

2. 创建服务器Server对象;

4. 创建组Group对象;

5. 创建项Item对象;

6. 添加Item到Group中;

7. 添加Group到Server对象中;

8. 连接服务器(这里的顺序与具体实现有关),完成相应操作;

9. COM组件关闭。

转自:https://blog.csdn.net/vevoliang/article/details/56015712

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/200647.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • CentOS7安装tomcat7「建议收藏」

    CentOS7安装tomcat7「建议收藏」安装说明安装环境:CentOS7安装方式:源码安装 软件:apache-tomcat-7.0.29.tar.gz下载地址:http://tomcat.apache.org/download-70.cgi安装前提系统必须已经安装配置了JDK6+,如果不会安装请参考《CentOS-6.3安装配置JDK-7》。安装tomcat将apache-tomca

  • 图书管理系统的系统设计_图书管理系统设计与实现

    图书管理系统的系统设计_图书管理系统设计与实现图书管理系统设计与实现图书馆人员结构复杂,人员数量有限,涉及方面很广,如果还使用手工操作处理图书借阅问题,工作将非常繁琐,需要大量的人力、物理、财力,极大的浪费了资源,对于图书管理人员来说,图书馆管理包括图书信息管理、图书类别管理、借阅信息管理、管理员信息管理等等。而这些项目在过去靠手工操作,需要手工记录这些事情,不但麻烦,还经常出错,给广大用户带来很多不便,因此,开发这样一套图书馆管理系统软件。让管理员方便的管理图书及用户信息,方便用户查找图书。1、本课程设计的目的(1)掌握企业级应用系统的基本

  • qt的内存映射

    qt的内存映射uchar*QFileDevice::map(qint64offset,qint64size,QFileDevice::MemoryMapFlagsflags=NoOptions)从偏移量开始将文件的大小字节映射到内存中。应该打开一个文件以使映射成功,但在映射内存之后,该文件不需要保持打开状态。当QFile被销毁或用这个对象打开一个新文件时,任何未被映射的映射都将被自动取消映射。映射将具有与文件相同的打开模式(读和/或写),除非使用maprivateOption,在这种情况下,始终可以

  • 一些安全扫描工具_web弱口令扫描工具

    一些安全扫描工具_web弱口令扫描工具术语表术语定义敏感数据敏感数据的具体范围取决于产品具体的应用场景,产品应根据风险进行分析和判断。典型的敏感数据包括口令、银行帐号、大批量个人数据、用户通信内容和密钥等。一类如果丢失或者泄漏,会对数据的所有者造成负面影响的数据。本基线定义的“敏感数据”包括但不限于:口令、通行码、密钥、证书、License、隐私数据(如短消息的内容)、授权凭…

  • Feign的工作原理[通俗易懂]

    Feign的工作原理[通俗易懂]Feign的工作原理Feign是一个伪JavaHttp客户端,Feign不做任何的请求处理。Feign通过处理注解生成Request模板,从而简化了HttpAPI的开发。开发人员可以使用注解的方式定制RequestAPI模板。在发送HttpRequest请求之前,Feign通过处理注解的方式替换掉Request模板中的参数,生成真正的Request,并交给JavaHttp客户端去处理。利用这种方式,开发者只需要关注Feign注解模板的开发,而不用关注Http请求本身,简化了Http请求

  • AVX2 初探

    AVX2 初探Intel最近发布了AVX-512,据说对浮点运算有很大提升,我的机器目前不支持AVX-512,但是支持AVX2,按照之前Intel给出的数据,据说能提速将近8倍:IntroductiontoIntel®AdvancedVectorExtensions测试环境可能这篇文章有点偏老,我这边也想验证一下没有优化的C/C++浮点运算和AVX2优化后的浮点运算到底快多少。这是我机器的配置:Manufacturer GenuineIntelName IntelCorei77820

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号