OPC自从1994年制定标准,迄今已经10多年了,越来越多设备制造商和仪器制造商都开始支持OPC了,下面以NI 的OPC 服务器为例,介绍以下OPC的基本概念和使用方法。

NI的OPC SERVER是WINDOWS 32位应用程序,它为PC用户提供了访问外部设备数据和信息的通道或者说手段,通过OPC,设备变成了PC网络的一个成员。

OPC的概念

OPC是OLE FOR PROCES CONTROL的英文缩写,直译是OLE用于过程控制,OLE是WINDOWS的一个基本概念,是对象嵌入链接的缩写,过程控制实际是工业自动化控制的概念,目前,PLC技术和NC技术、CAD CAM技术以及工业控制总线已经成了工业自动化控制的核心,因此可以说OPC本身就是PC在工业自动化控制领域的扩展。


1994年,世界一些知名的工业设备制造商成立了一个专业组织,宗旨是为各种各样的工业设备指定一个统一的软件数据通讯(不是物理层的通讯)标准,这就是后来为大家熟知的OPC。

OPC 的一个主要目的是避免PC客户为工业设备开发通讯驱动程序,为一个特定设备开发驱动程序是极其复杂和耗时的,因为设备千差万别,硬件接口也是多种多样的, 对于一般的软件开发人员是很那作到的,一个更好的办法是制定一个统一的数据访问标准,而硬件驱动的部分有硬件厂商或者专门OPC开发人员负责,这样,PC 用户就可以依据这个标准,和外部工业设备无逢连接,这个数据访问标准就是OPC。

通过OPC,一个PC客户(OPC客户)可以访问多个外部设备
Picture
多个OPC客户(可能是网络上的)可以访问多个外部设备
Picture
对于OPC CLIENT,OPC SERVER提供了几个高层对象供CLIENT访问,分别是SERVER,GROUP和ITMES,这非常类似DDE通讯。

SERVER对象提供的是服务的有关信息,同时有是GROUP对象的容器。

GROUP对象提供的性能相似的分类信息,OPC CLIENT可以配置是否允许GROUP和GROUP
组数据的更新频率,同时也提供了如果数据访问失败的错误信息。GROUP同时也是ITEM对象的容器。

ITEM对象是每个特定的数据项目,比如可能是设备一个特定的寄存器。

这是一个典型的分层结构,如果我们要访问一个ITEM,途径必须是

SERVER----》GRUOP----》ITEM
OPC CLIENT是没有办法直接访问具体的ITEM,这样有效地实现了数据的封装。

有两种形式的OPC GROUP,公有或者私有(也称做局部),公有可以被所有的OPC CLIENT访问,私有只能被特定的OPC CLIENT访问。

每一个GROUP对象都包括多个ITEM对象。
Picture
对于每一个具体的ITEM,又由三部分组成,VALUE,QUALITY和TIMESTAMP

VALUE是变体数据,表示ITEM当前值,QUALITY与总线形式有关,TIMESTAMP是时间戳。

虽然OPC主要用于网络设备的数据访问,但是在单机控制设备时也经常使用。
Picture
OPC服务器的内核是COM的DCOM,对于PC CLIENT提供了两种接口,一种是针对C++客户,可以直接访问,速度较快,另外一种是通过AUTOMATION自动化服务器,这是VB和脚本语言用户使用的接口,因为OPC需要对其进行解释,相对速度较慢。
Picture
Picture



Leave a Reply.