本文对于OPC XML DA规范做简单介绍。更多通讯资源请登录网信智汇(wangxinzhihui)。
OPC(OLE for Process Control)是为过程控制专门设计的OLE 技术,基于COM/DCOM的数据访问的标准。OPC DA(OPC Data Access),是基于OPC标准的数据访问接口。COM/DCOM存在如下缺陷:
- 缺少跨平台通用性:由于COM/DCOM依赖于Windows系统, OPC COM接口很难被应用到其他非Windows的操作平台上,使得工业互联受到很大的限制。
- 不易通过防火墙,与互联网应用集成难度大:由于防火墙会过滤大多数基于COM传输的数据,所以,基于COM的OPC应用就很难与互联网应用集成。
为了解决以上问题,OPC基金会制定了OPC XML标准,就是对原有OPC Server进行功能扩展。由于XML具有良好的跨平台通用性,广泛应用于Internet应用,且很容易穿透防火墙,使得OPC DA能够跨平台或在互联网上得到应用。
OPC XML DA基于XML的web技术,采用SOAP作为对应用程序共享消息进行包装的通讯协议,实现OPC Server和OPC Client之间通过Http协议传输数据,使得数据很容易在不同平台间传输,并轻易实现在Internet上发布OPC数据。
如下图所示,增加1个OPC XML Server,与OPC DA Server通讯,并将数据以XML发布到Web Server上,这样Web浏览器或者其他非Windows应用就可以通过internet访问web server来获取到OPC DA的数据。
OPC XML DA 支持Browse、Read、Write、SubScribe等服务,每种服务都包括1对请求(Request)/响应(Respone)。通过对这些服务的定义,提供了访问OPC Server的标准接口。请求和响应按照SOAP协议标准封装成SOAP信封,信封标题说明消息如何被处理,信封正文包含了相关数据。
OPC XML DA定义了以下服务:
1)数据请求: 请求OPC数据。有同步(请求-回应)与异步(订阅-更新)两种方式。它通过读取请求和订阅请求来实现。
2)数据响应: 对数据请求的响应。如果是同步请求,那么请求一次,回答一次;如果是异步请求,则是包括初始值与错误代码,此后,服务器发送包含发生值改变的项目的回应。
3)写请求:是指写数据到一个特定项目的请求。如果超过了设定的过期时间,服务器没有收到请求的话,那就什么也写不了。
4)写响应: 是对写请求的响应,它给出从写数据到特定项目过程中存在的所有错误。
5)取消数据请求: 是取消特定数据请求的要求,如果数据请求是订阅请求,所有后续数据更新将被取消,如果不是订阅,则是请求服务器释放分配给这个请求的资源。
6)取消数据响应: 取消数据响应就是对取消数据请求的响应,它显示出取消动作是否成功。
7)浏览请求:请求显示有服务器地址空间的标签结构列表,返回信息将显示标签结构列表。
8)浏览响应:对浏览请求的响应,返回值为位于指定位置的“枝叶”。
综上所述,OPC XML DA就是对OPC DA的XML扩展标准,其目的就是在于解决OPC DA不能跨平台的缺陷。