OPC(OLEForProcessControl,用于过程控制的OLE)是一个工业标准。它由一些世界上占领先地位的自动化系统和硬件、软件公司与微软(Microsoft)紧密合作而建立的。这个标准定义了应用Microsoft操作系统在基于PC的客户机之间交换自动化实时数据的方法。〔O代表OLE(对象链接和嵌入),P(process过程),C(control控制)。OLE已从面向对象重新定义为基于对象并更名为ActiveX〕。管理OPC标准的组织是OPC基金会。OPC基金会现有会员已超过230家,遍布全球,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司。其前身由一个Fisher-Rosemount、RockwellSoftware、Siemens、Opto22、Intellution和IntuitiveTechnology等著名大公司组成专门的工作组,仅仅用了短短的一年时间便开发出一个基本的可运行的OPC技术规范。在1996年8月发布了简化的、一步到位的解决方案。
OPC基于微软的OLE(现在的ActiveX)、COM(部件对象模型)和DCOM(分布式部件对象模型)技术。Micosoft是OPC基金会的一个成员,已给予OPC基金会强有力的支持。ActiveX/COM技术定义各种不同的软件部件如何交互使用和分享数据。其宗旨是在MicrosoftCOM、DCOM和ActiveX技术的功能规程基础上开发一个开放的和互操作的接口标准,这个标准的目标是促使自动化/控制应用、现场系统/设备和商业/办公室应用之间具有更强大的互操作能力。概括的说,OPC简化了来自不同供应厂商的自动化部件与PC应用程序(例如可视化化和办公系统)之间的接口。不论过程中采用什么软件或设备,OPC为多种多样的过程控制设备之间进行通信提供了公用的接口。OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。
OPC提供众多的优点
在过程控制和机械制造等工业领域的“即插即用”
OPC使自动化环境中的即插即用设想成为现实。OPC允许在不同供应商开发的硬件装置和应用软件之间通过共同的接口进行数据交换,Windows技术和OPC接口使之有可能将可编程序控制器(PLC)的硬件和软件组合在一起,而不需要开发大量的专用通讯接口程序,由此减少了不少人力物力
OPC使从办公室产品到过程数据的访问简单易行而且灵活可靠
OPC和现场总线的标准化
OPC提供现场总线以外的重要的附加功能,现场总线领域标准化主要目标是快速、可靠的数据传输。OPC使标准通讯达到这样的程度,即使任何OPC服务器和应用软件联网运行而不会产生任何问题。
OPC与自动化软件
通常说来,OPC提供了对于不同厂商的设备和软件包的内部连接能力,在OPC诞生以前,企业中的应用程序与设备的I/O驱动软件(SoftwareDriver)之间的关系如图1所示。
在图1中,不同的应用程序和不同的厂商的硬件的驱动程序之间存在着大量的连接问题,需要开发各种特定的通信程序。OPC标准的制定,使得所有的通信连接问题变得简单,它提供了一种软件的总线形式(图2),这样,应用就变得简单、轻巧、更易于使用,应用程序只需知道如何从OPC数据源获取数据(OPCClient),设备的驱动程序只需知道如何以简单的格式提供数据(OPCServer)。
另一方面,虽然OPC解决的问题主要是I/O驱动程序,但在图3中也可以看到它不仅应用在设备和SCADA,SoftPLC和DCS系统之间,同时也应用在SCADA,SoftPLC或DCS内核以及HMI,趋势和报表等需要使用OPC数据的高端应用程序之间。在这样的结构中,SCADA系统、DCS系统或Softlogic系统,变成了一个“智能”设备。
OPC技术规范
OPC技术规范是以Microsoft的OLE/COM技术为基础,定义了一组接口规范。它包括OPC自动化接口(AutomationInterface)和OPC定制接口(CustomInterface)。另外,OPC技术规范定义的是OPC服务器程序和客户机程序进行通讯的接口或通讯的方法。OPC的技术小组也分为:DataAccess,HistoricalAccess,AlarmsandEvents,Security和Batch。当然目前应用最多的还仅是DataAccess。OPC基金会其目标是制订一套针对于控制对象和设备的公共接口标准,它可以让任何OPC客户机去请求和获取OPC服务器的数据。这里的OPC客户机和服务器可以是任何厂商的任何产品,通过这种方式,繁杂的各类设备驱动程序问题可以消除,同时也加速了数据的传输。
基于OPC的软件结构如图。
由图可见,应用程序与OPC服务器之间必须有OPC接口,OPC规范提供了两套标准接口:Custom标准接口,OLE自动化标准接口。通常在系统设计中采用OLE自动化标准接口。
OLE自动化标准接口,及采用OLE自动化技术进行调用,其技术为上节所述的OLE自动化技术。OLE自动化标准接口定义了以下三层接口,依次呈包含关系。
OPCServer:OPC启动服务器,获得其他对象和服务的起始类,并用于返回OPCGroup类对象;
OPCGroup:存储由若干OPCItem组成的Group信息,并用于返回OPCItem类对象。
OPCItem:存储具体Item的定义、数据值、状态值等信息。
由于OPC规范基于OLE/COM技术,同时OLE/COM的扩展远程OLE自动化与DCOM技术支持TCP/IP等多种网络协议,因此可以将OPC客户、服务器在物理上分开,分布于网络不同节点上。
OPC规范可以应用在许多应用程序中,如它们可以应用于从SCADA或者DCS系统的物理设备中获取原始数据的最低层,它们同样可以应用于从SCADA或者DCS系统中获取数据到应用程序中。实际上,OPC设计的目的就是从网络上某节点获取数据。
OPC对象与接口:
OPC服务器对象提供了对数据源进行存取(读/写)或通讯的方法,而数据源可以是现场的I/O设备,也可以是其它的应用程序。通过接口,OPC客户应用程序可以同时连到由一个或多个厂商提供的OPC服务器上。OPC服务器封装了与I/O控制设备进行通讯和访问数据的类型与名字及进行设备操作的代码。
OPC数据存取(DataAccess)规范:
总体来说,OPC数据存取规范包含几个对象:服务器对象(ServerObject)、组对象(GroupObject)、项对象(ItemObject)。OPC服务器对象维护着服务器的信息,同时也是OPC组对象的包容器。OPC组对象维护着它自己的信息并提供包容OPC项的机制,同时管理OPC项。
OPC组提供客户应用程序组织数据的机制,例如:一个组可以包含一个显示面板所有数据的项,并可对数据进行读写。在一些特殊情况下,还可以在组里建立客户应用程序与项的连接,并可以根据需要禁止或允许这种连接。OPC客户应用程序还可以修改OPC服务器向OPC客户应用程序提交数据变化的刷新数率。
OPC项代表了与服务器里数据源的连接。从定制接口(CustomInterface)角度来看,一个OPC项不能被OPC客户程序作为一个对象来进行操作,因此,在OPC项中没有定义外部接口。所有对OPC项的操作都是利用OPC项的包容器(OPC组)或OPC项的定义来进行的。
每个OPC项包含值(Value)、品质(Quality)和时间标签(TimeStamp)。
应当注意的是项不是数据源,而只是与数据源的连接。例如:在DCS系统中定义的可以让OPC客户程序访问的标签。OPC项应该被看成是数据地址的标示,而不是数据的物理源。
OPC报警与事件(AlarmandEvent)规范:
OPC报警与事件规范接口提供了一种机制。通过这种机制,当I/O设备中有指定的事件或报警条件产生时,OPC客户应用程序能得到通知。通过OPC报警与事件规范接口,OPC客户应用程序可以设置OPC服务器支持的事件和条件,并获的其当前状态。
OPC事件服务器接口类IOPCEventServer提供的方法可以使OPC客户程序完成如下功能:
●决定OPC服务器支持的事件类型。
●对某些特定事件进行登记,以便OPC客户能在这些事件发生时得到通知,也可以采用过滤器定义这些事件的一个子集。
●对OPC服务器实现的情况进行存取或处理。
除了IOPCEventServer接口外,OPC事件服务器还支持其它接口,可以对服务器实现的情况进行浏览和对公共组进行管理
OPC历史数据存取(HistoricalDataAccess)
历史数据引擎能够把那些必须分散存储的信息组合成一个额外的数据源并把它们提供给对它们感兴趣的用户或OPC客户程序。当前大部分历史数据系统采用自己专用的接口分发数据,这种方式不能提供即插即用的功能,从而限制了其应用的范围和功能。
在目前的本人所接触的水泥工厂控制系统的组态中OPC标准正越来越广泛的应用。如2000年北京水泥厂水泥磨改造项目,应用系统为:ABBmasterS800系统+IntellutionFIX7.0,通讯采用OPC,效果良好,椐称其为ABB系统在国内首次采用OPC与其他软件的通讯;2001年牡丹江水泥厂RockwellABLOGIC5000,系统均为OPC通讯。甘肃山丹水泥厂:贝加莱B&R系统+组态王,OPC通讯。等等,以上均为不同的上下位系统之间或同一系统内部采用OPC的实例。同时我们所开发的生料质量控制系统QCX与工厂过程控制系统DCS的通讯中也多次采用了OPC标准,编制自己的OPC客户端,与DCS进行实时通讯。目前已与ABBFreelance2000系统,SiemensS7系统,和利时DCS系统,RockwellAB系统,均采用的是OPC通讯。同时由于OPC为同一通讯标准,一个OPC客户端开发完成后,几乎不需进行修改即可连接到多个可支持的OPCSERVER上,既可连接到目前大多数的DCS,这也是OPC与PC系统软件连接的一个例证。由于OPC标准的统一性,在我们编制工厂信息管理系统PMIS和企业资源规划系统ERP时,统一的接口程序,也大大简化了与不同系统之间通讯的工作量;同时在一个工厂内,当存在几个不同系统时,例如我们目前许多厂均为扩建改造项目,不同的新老系统连接,OPC也提供了一种可能。客户端编制OPC数据存取程序主要为以下几部:系统环境初始化,获得OPCSERVERID,创建OPC连接,连接成功,这时系统会自动调用OPCSERVER,您既可获得OPCSERVER的一些信息,添加OPCGROUP,在OPCGROUP中添加ITEM,将DCS对应的标签赋予ITEM,OPC已经建立完成,下面就是对OPC的ITEM进行实时读写了。一些相关支持也可有相关OPC网站下载。
结束语
基于COM/DCOM技术的OPC技术规范在几年内得到了极大的发展,并得到了国际上自动化领域领先厂商的支持。采用OPC技术规范的产品实现了工业自动化系统中软件之间的互操作和无缝集成,以及现场监测、控制设备的即插即用,为该领域的硬件、软件厂商及最终用户带来了直接和明显的巨大利益。
参考文献
(1)www.opcfoundation.org
(2)OPCDataAccessAotomationInterfaceStandardVersion2.02EN
(3)OPCDataAccessCustomInterfaceStandardVersion2.0
(4)OPCDataAccess3.0Initiative
防水之家是专注防水,泥水,防水材料,防水涂料的新闻资讯和防水,防水材料,防水涂料等各十大品牌的装修效果图和网上购物商城,敬请登陆防水之家:http://fangshui.jc68.com/