OPC协议学习笔记?
Posted 小麦大叔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OPC协议学习笔记?相关的知识,希望对你有一定的参考价值。
OPC全称是Object Linking and Embedding(OLE) for Process Control
,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。
换句话说,OPC协议就是上位机和PLC之间的一个桥梁,一种通讯协议。
OPC协定包括:
- DA(Data Access)规范:访问数据主要采用该规范
- A&E(Alarm and Event)规范:基于事件,提供Client端订阅,事件触发后Server端主动提交回数据的数据访问方式。
- HDA(History data access)规范
- OPC XML-DA规范
这里我只简单用过OPC协议;例如DA,A&E等等,实际上还需要参考opc协议的用户手册。
OPC架构
OPC的架构类似于C/S架构,通常有一个server和多个client。具体如下图所示;
这里就可以实现OPC Client 间接控制PLC的一个过程,OPC Server在中间起到一个桥梁的过程。
这里举一个简单的例子,这里以西门子的PLC为例,假设在PLC的V300.0
地址进行读写,相当于单片机中的一个pin out
,或者可以理解成一个开关量。这个开关量可以控制电机的开和关。
下面该如何通过OPC Client软件去控制这个电机呢?
- 第一步:在OPC Server中添加相应的PLC设备(这里需要搭建相应的环境,不同的PLC,环境也是不相同)
- 第二步:根据实际PLC中的地址,比如上面是
V300.1
, 将这个地址添加到相应的设备中; - 第三步:在server中是否可以正常读写,如果读写正确,表示server链路和PLC端可以正常通讯;
- 第四步:编写opc client,这里可以是纯opc协议,也可以是opc-ua协议(后面继续介绍),需要在client中添加相应的地址,这个要和server里的地址相对应,比如
V300.0
的地址,在server中是PLC.DEV1.MOTOR
,那么在client中也要将这个PLC.DEV1.MOTOR
标识添加;
OPC UA
OPC UA(Unified Architecture)
:OPC协定的新版, 不再拘束于COM/DCOM技术,意味着不再像传统的(Classic)OPC协定那样仅支持在Windows等平台上使用,具有跨平台性,同时OPC UA也使用了可靠的通信机制,接口简单一致。
比如:对传统的三种不同类型OPC服务器的访问 - 数据访问(DA)、报警和事件(AE)、历史数据访问(HDA),
要获得一个温度传感器的当前值、一个高温度事件和温度的历史平均值,要依次使用不同的命令执行;
而使用OPC UA,仅用一个组件就非常容易地完成了。
配置和工程的时间也因此可以大大缩短。
不出意外,下面基本上基于OPC UA
协议进行展开。
常用的OPC-SERVER
比较常用的OPC软件有,KEPWARE
,或者叫 KEPSERVER
;
常见的开源库
- open64521
以上是关于OPC协议学习笔记?的主要内容,如果未能解决你的问题,请参考以下文章