"); //-->
OPC是一种利用微软的COM/DCOM技术来达成自动化控制的协定,
采用典型的C/S模式,
针对硬件设备的驱动程序由硬件厂商完成,提供统一OPC接口标准的Server程序,
软件厂商只需按照OPC标准接口编写Client程序就访问Server程序进行读写,即可实现与硬件设备的通信。
OPC协定包括:
DA(Data Access)规范:访问数据主要采用该规范
A&E(Alarm and Event)规范:基于事件,提供Client端订阅,事件触发后Server端主动提交回数据的数据访问方式。
HDA(History data access)规范
OPC XML-DA规范
2 OPC UAOPC UA(Unified Architecture):OPC协定的新版,
不再拘束于COM/DCOM技术,意味着不再像传统的(Classic)OPC协定那样仅支持在Windows等平台上使用,具有跨平台性,同时OPC UA也使用了可靠的通信机制,接口简单一致。
比如:对传统的三种不同类型OPC服务器的访问 - 数据访问(DA)、报警和事件(AE)、历史数据访问(HDA),
要获得一个温度传感器的当前值、一个高温度事件和温度的历史平均值,要依次使用不同的命令执行;
而使用OPC UA,仅用一个组件就非常容易地完成了。配置和工程的时间也因此可以大大缩短。
3 OPC逻辑对象模型
包括3类对象:OPC server对象、OPC group对象、OPC item对象,每类对象都包括一系列接口。
OPC Server对象:
主要功能:
创建和管理OPC Group对象;
管理服务器内部的状态信息。
OPC Group对象:
主要功能:
管理OPC Group对象的内部状态信息;
创建和管理Items对象;
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):

3.Item的Alias:项的别名,由服务器设置,避免了项名称过长所带来的麻烦。
4.Group类型:公共组和私有组。公共组由多个客户共享,私有组只属于某一OPC客户。公共组对连接到服务器的所有客户都有效,而私有组只能对建立它的客户程序有效。(大多服务器未实现有公共组)
5.Item在服务器端定义,对应于硬件实际地址,客户端连接服务器端后创建并添加OPC Group,并创建一系列OPC Item(连接到服务器端定义的Item),将逻辑上等价的一组OPC Item添加到OPC Group中才能通过组对象来对数据进行存取操作。
4 OPC通信:
同步通信:OPC客户端对OPC服务端进行读取操作时,OPC客户端必须等到OPC服务器端完成对应操作后才能返回,在此期间OPC客户端处于一直等待的状态。
异步通信:OPC客户端对OPC服务器端进行读取操作时,OPC客户端发送请求后立即返回,不用等待服务器端,当OPC服务器端完成操作后再通知客户端程序。
订阅:需要服务器端支持OPC A&E规范,由客户端设定数据的变化限度,如果数据源的实时数据变化超过了该限度,服务器则通过回调返回数据给客户端。
5 OPC客户端开发大致步骤COM组件初始化;
创建服务器Server对象;
创建组Group对象;
创建项Item对象;
添加Item到Group中;
添加Group到Server对象中;
连接服务器(这里的顺序与具体实现有关),完成相应操作;
COM组件关闭
6 使用VFbox网关把opc转换modbus协议的方案
在实际的工程项目中,经常会遇到需要把OPC UA DA的协议转换成其他协议,比如modbus,profinet等。有时也需要把modbus转成OPC UA DA接入到OPC UA DA系统,这时候就需要使用协议转换网关进行转换。如下图所示,使用vfbox网关,把modbus协议转换成OPC UA DA协议。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。
相关推荐
高通突破ARM“封锁”,将改变PC市场格局?
GSM手机短消息协议
普通型欧洲短信电话(协议二)电路
厦新与TI签署GPRS/GSM合作协议
基于英飞凌MCU PSoC™ 6的 Matter智能家居解决方案 实现家庭自动化例程
《TCP_IP详解,卷3:tcp事务协议等》
采用SPC3协议芯片设计PROFIBUS-DP智能从站
蓝牙技术及其协议栈
介绍DSP外部电路设计的经典著作
演示广受欢迎的NEC红外协议
由AD421构成的基于HART协议(高速可寻址远程传感器通信协议)的智能变送器
IoT物联网居然包含这么多种协议
一文把TCP/IP协议讲绝了!
意法半导体:做万物互联3.0时代的引领者
Vxworks网络协议栈初始化流程(老站转)
深入理解 I²C 协议
使用OPC连接LabVIEW到任意PLC
【嵌入式TCP/IP协议研究与实现】
《TCP_IP详解,卷1:协议》.
基于ST VIPERGAN50的20V/2.25A 小体积之PD快充方案
普通型欧洲短信电话(协议一)电路
高速电路设计技巧\\preface
IP视频压缩协议H.263 [转帖]
DA 证书链之初体验
中国发布HDMI和DisplayPort替代方案!GPMI接口来了:一根线支持480W供电+192Gbps带宽
增强型欧洲短信电话芯片(协议一/二)电路