当大量现场信息由智能仪表或通过现场总线直接进入计算机控制系统后,存在着计算机内部应用程序对现场信息的共享与交互问题。由于缺乏统一的连接标准,工控软件往往需要为硬件设备开发专用的驱动程序。这样一旦硬件设备升级换代,就需要对相应的驱动程序进行更改,增加了系统的维护成本。即使计算机中的SCADA有独立的驱动程序,但一般也不允许同时访问相同的设备,否则很容易造成系统崩溃。可见,现场控制层作为企业整个信息系统的底层部分,必然需要与过程管理层和经营决策层进行集成,这样也存在着监控计算机如何与其它计算机进行信息沟通和传递的问题。由于控制系统往往是不同厂商开发的专用系统,相互之间兼容性差,与高层的商业管理软件之间又缺乏有效的通信接口,因此通信规范问题成为了制约控制系统突破“信息孤岛”的瓶颈。
opc(OLE for Process Control)的出现,建立了一套符合工业控制要求的通信接口规范,使控制软件可以高效、稳定地对硬件设备进行数据存取操作,应用软件之间也可以灵活地进行信息交互,极大提高了控制系统的互操作性和适应性
从软件的角度来说,OPC可以看成是一个“软件总线”的标准。首先,它提供了不同应用程序间(甚至可以是通过网络连接起来的不同工作站上的应用程序之间)实现实时数据传输的通道标准;其次,它还针对过程控制的需要定义了在通道中进行传输和交换的格式。OPC标准的体系结构为客户/服务器模式,即将软件分为OPC服务器和OPC 客户。OPC服务器提供必要的OPC数据访问标准接口;OPC客户通过该标准接口来访问OPC数据。
运用OPC标准开发的软件由于都基于共同的数据及接口标准,因此相互之间具有很强的通用性。这在工业控制领域中,具有十分现实的意义。OPC服务器可由不同供应商提供,其代码决定了服务器访问物理设备的方式、数据处理等细节。但这些对OPC客户程序来说都是透明的,只需要遵循相同的规范或方法就能读取服务器中的数据。同样,软件供应商则只需将自己的软件加上OPC接口,即能从OPC服务器中取得数据,而不需关心底层的细节。通过OPC接口,OPC客户程序可以和一个或多个不同的OPC服务器连接。如图3.4,同时一个OPC服务器也可以与多个客户程序相连,形成多对多的关系。任何支持OPC的产品都可以实现与系统的无缝集成。由于OPC技术基于DCOM,所以客户程序和服务器可以分布在不同的主机上,形成网络化的监控系统。
OPC技术的发展和应用,无论供应商还是最终用户都可以从中得到巨大的益处。首先,OPC技术把硬件和应用软件有效地分离开,硬件厂商只需要提供一套软件组件,所有OPC客户程序都可以使用这些组件,无需重复开发驱动程序。一旦硬件升级,只需修改OPC服务器端I/O接口部分,无需改动客户端程序。其次,工控软件只要开发一套OPC接口就可采用统一的方式对不同硬件厂商的设备进行存取操作。这样,软硬件厂商可以专注于各自的核心部分,而不是兼容问题。
对于最终用户而言,由于无需担心互操作性,在选择和更换软硬件时有了更多的余地,使异构计算机系统集成将变得很简单。用户可以将重点放在整个系统的功能及应用上,这也意味着成本的降低。此外,OPC组件的使用也十分方便,用户只需进行简单的组态即可。
OPC服务器在底层控制系统中采用统一的标准,实现了应用程序与现场设备的有效连接,发挥着重要的桥梁作用,同时也促进了企业现场控制层和生产过程管理层、经营决策层的集成。