什么是opc? OPC基金会定义了一组基于OLE/COM的接口来在使用COM的系统中进行实时自动化数据交换,这些接口主要适用于使用微软操作系统的基于PC的客户端。
定义接口的目的是发展所有的自动化设备和通讯系统的通用接口,使它们像MES与ERP一样,在彼此之间或与其它系统之间进行通讯。
OPC基金会已经定义了下列接口:数据访问服务,事件服务,批处理服务与历史数据服务,这些服务包含了对企业有用的信息,目前通过基于OLE/COM的接口提供给企业应用。
XML,扩展标记语言,和基于XML的模式语言为描述与交换协作应用程序之间的结构信息提供了又一种方法。XML这种技术,可以在更加广阔的平台中得到应用,这一点,比OLE/COM优越。OPC-XML是OPC基金会采用XML系列技术来方便地交换生产数据。
2.2 基础
OPC XML说明书的早期版本列出了许多可能的传输XML的方法,如SOAP,HTTP,BizTalk, Socket.最新的版本着重介绍了SOAP1.1和它的内部传输方法,HTTP和MSMQ。
OPC XML定型为一种方式:[经允许它的结构住处在SOAP住处中作为一个SOAP整体进行输送。这样,OPC XML错误信息的处理就通过SOAP错误元素和OPC错误信息来实现。SOAP的错误信息发送整体的成功/失败信息,而单个错误则通过OPC错误来传送。
2.3 OPC XML接口
OPC XML 说明书定义了一套模式语言来标记这些接口。
l读:ReadRequest, ReadReply
l写:WriteRequest, WriteReply
l订阅:SubscriptionRequest, SubscriptionReply, SubscriptionCallback
l取消订阅:SubscriptionCancelRequest, SubscriptionCancelReply
这些接口通过以下四种交换方法来实现:
l DataRequest/DataReponse
l WriteRequest/WriteResponse
l CancelDataRequest/CancelDataResponse
l BrowseRequest/BrowseResponse
由于这些语言不定,有待改动,故在此不详细解释了。
2.3.1数据请求
数据请求是请求OPC数据,有同步(请求-回应)与异步(订阅-更新)两种方式。它通过读取请求和订阅请求来实现。
2.3.2数据响应
数据响应是对数据请求的响应。如果是同步请求,那么请求一次,回答一次,如果是异步请求,则是包括初始值与错误代码,此后,服务器发送包含发生值改变的条目的回应。
2.3.3写请求
写请求是指写过程控制值到一个特定条目的请求。如果超过了特定的过期时间,服务器没有收到请求的话,那就什么也写不上。
2.3.4写响应
写响应就是对写请求的响应,它给出从写控制值到特定条目过程中存在的所有错误。
2.3.5取消数据请求
取消数据请求就是取消特定数据请求的要求,如果数据请求是订阅请求,所有后续数据更新都被取消,如果请求不是订阅,则是请求服务器释放分配给这个请求的资源。取消数据请求是由SubscriptionCancelRequest.来实现的。
2.3.6取消数据响应
取消数据响应就是对取消数据请求的响应,它显示出取消动作是否成功。
2.3.7浏览请求
浏览请求就是请求显示有服务器地址空间的特定位置的“枝”和“叶”的列表的请求,返回信息将显示“真实”存在于服务器地址空间的结构。或者能提供提示。请求的内容应包括浏览的“开始点”,空的请求默认是浏览“根”。
2.3.8浏览响应
浏览响应就是对浏览请求的响应,返回值则是位于服务器地址空间特定位置的“枝叶”
首先连接OPC服务器
因为OPC服务器对象OPCServer提供连接数据源(OPC定值接口服务器)以及数据访问(读取/写入)的方法,所以在建立OPC组和OPC项以前必须建立OPC服务器对象,然后使用OPC数据访问自动化接口的“Connect”方法和数据源连接。