陈小强
(浙江省电力试验研究所,浙江杭州310014)
摘要:简要介绍了基于COM的OPC技术原理、OPC的工控体系结构。着重阐述OPC技术在温州电厂辅机系统控制网络中的应用,利用OPC技术成功实现SCADA网络以及不同厂家硬件与系统软件之间的通信。
关键词:OPC;COM;SCADA
1 OPC简介
传统工控系统的驱动和与其连接的应用程序之间的接口没有统一标准,为了实现不同厂家的硬件和软件之间的数据交换和传输,必须开发各自的通讯程序。从而引起开发成本高、重复性劳动、驱动不一致和访问冲突等问题,很难适应现代工控系统的开放性要求。
OPC(OLE for Process Control)规范是在Microsoft倡导下,为不同供应商的设备和应用程序之间的接口标准化,使其相互间数据交换更加简单,由OPC基金会所建立的硬件和软件标准。它把硬件供应商和软件开发商分离开来,在数据源和客户之间架起一座桥梁,为解决统一标准的问题提供了方案。目前,针对OPC技术的研究主要集中在OPC服务器和应用程序开发两个方面。OPC服务器一般由硬件供应商或由独立的软件供应商提供,而应用程序则由各OPC技术用户来完成。
COM(Component Object Model,即组件对象模型)是微软公司提出的组件通信方法之一。是一种软件组件间相互交换数据的有效方法,支持客户机/服务器模式。客户机包含若干客户对象,服务器负责创建服务对象的实例。客户对象是请求的发出者,而服务对象是被请求者。客户通过指针访问所有的对象,如果对象位于进程内,则直接调用它;如果对象位于进程外,则调用先传递到COM提供的代理对象,由代理对象生成其他或远程的调用。
COM技术为简单地实现控制设备和控制管理系统之间的数据交换提供了技术基础,OPC规范采用COM/DCOM为技术基础的客户/服务器模式。在这种模式中,同一个客户程序可以访问多个服务器,同一个服务器也可以同时为多个客户提供服务。OPC提供了COM组件之间连接的工业标准化COM接口,OPC服务器组件提供一个标准接口给OPC对象,并通过这些接口进行管理,客户通过COM提供的API创建和管理服务器。
OPC采用客户/服务器的通信模式。其服务器功能类似于I/O驱动器,它一方面负责与数据供应方(如现场设备或数据库)的通信,另一方面又将来自数据供应方的数据通过标准OPC接口“暴露”给数据调用方(如MMI人机界面软件)。数据调用方充当了OPC客户的角色。标准接口是保证互操作性的关键,它使所有支持OPC的客户能够以一致的方式访问所有OPC服务器。OPC服务器自上而下包括三类对象:Server、Group和Item。每个Item对象对应现场的一个实际物理点,或者说实际上对应了一个“位号”。
OPC服务器不仅可以用于硬件设备与应用软件之间的通信,同时还可以用于各个应用程序之间的通信。只要每个应用程序都给其他应用提供一个标准的OPC接口,它们之间就可以方便地进行数据交换。
过去,客户应用程序的开发商需要为每一台控制设备开发不同的驱动程序接口,而OPC标准的出现使所有驱动与软件的接口得到统一,这些开发商只需要通过一个全球一致的OPC接口就能访问所有提供了OPC服务器的现场设备。
2 温州电厂3期辅控网OPC技术应用
温州电厂辅控网由3个分系统组成,分别是水务控制系统、凝结水精处理系统和渣水处理系统。每个分系统的底层硬件均采用AB公司的RSLogix5000系列PLC,上位机监控软件则不同。其中水务控制系统和凝结水精处理系统均采用GE FANUC公司的iFix作上位机监控软件,渣水处理系统采用国产软件组态王。
为了实现电厂外围辅机控制系统的集成,达到减员增效的目的。我们把整个外围辅机控制系统全部集成在原水务控制系统的两台计算机上,所有对辅机设备的操作都在这两台计算机上进行。这两台计算机相互冗余,互为备份。其中一台为操作员站,另一台为工程师站。
在温州电厂辅机控制系统的SCADA网络拓扑结构中,凝结水精处理、渣水处理的控制系统上位机是SCADA结构中的SERVER,水务控制系统中的两台服务器成为SCADA网络中的CLIENT。但这两台服务器具有一定的复杂性。一方面,作为SCADA结构中的CLIENT,对凝结水精处理系统、渣水处理系统两台SERVER进行数据的读写;另一方面,利用安装在本机上的RSLINX软件(OPC数据源)对水务系统PLC控制器进行数据读写。因此,集成后的这两台服务器兼具客户机与服务器的职能,其数据源有多个。
OPC技术在温州电厂3期辅机控制系统中的应用主要体现在两个方面。一是水务控制系统中,上位机利用OPC技术完成对PLC控制器中数据的读写;二是水务控制系统的上位机利用OPC技术实现从远程的凝结水精处理、渣水处理上位机中读写数据。第一种情况下,OPC服务器相当于硬件的驱动程序;第二种情况下,则是不同的工业监控软件利用OPC协议,实现远程数据共享和数据交换。
3 通过OPC服务器完成硬件驱动
温州电厂三期水务控制系统中,上位机采用GE FANUC公司的工业监控软件iFix。底层硬件采用AB公司的Logix5000系列PLC。由于硬件和软件的生产商是不同的厂家,iFix不能直接对PLC控制器内的数据进行读写。因此采用OPC技术来实现工控机与PLC之间的通讯和数据传输。
RSLinx是AB公司提供的OPC SERVER。上位机中安装的监控软件iFix内置了OPC CLIENT程序,即PowerTool。RSLinx作为OPC SERVER,从PLC控制器中读取数据,然后PowerTool按照OPC协议从RSLinx中读取数据。
OPC协议中的数据结构分3层,分别是OPCServer、OPCGroup和OPCItem。最顶层的是OPCServer,这是调用应用最先能够连接到的COM对象。接下来是OPCGroup对象集合,OPCGroup也是COM对象。它由调用应用动态生成,用于组织和管理位号及其属性。最底层的是OPCItem。每个OPCItem对象提供了一个与现场数据的连接,即每个OPCItem与一个信号变量(包括过程值和设定值等)对应。OPCItem对象为OPC客户提供诸如信号的数值、属性以及数据类型等信息。它用来完成OPC服务器与实际数据的连接。
OPCServer和OPCGroup都是COM对象。它们都为各自客户提供了各自的接口。从服务器的有效性和复杂性等方面考虑,OPCItem一般不作为COM对象出现,因此它不提供与客户的接口,对它的访问必须通过它所属的OPCGroup对象。OPCServer接口的主要功能如下:创建和删除OPC组、浏览可用位号、将出错代码转换成可识别的文本、获取服务器的状态信息。而OPCGroup接口则提供如下功能:从OPC组中增加和删除OPC项目、管理OPC组中数据的更新速率、读/写OPC组中一个或几个项目的数值等。
一旦成功实现OPC技术对硬件的驱动,在iFix的实时数据库中,每个点的I/O地址就对应了每个OPCItem的属性,即OPC协议中OPCItem与数据库中的每个点是一一对应的。一旦iFix利用OPC技术成功实现对PLC的驱动,数据库中当前值就会出现不断刷新的数据。
4 OPC实现远程SCADA
OPC客户可以访问本机上的OPC服务器,也可以通过网络访问远程计算机上的OPC服务器。在远程情况下,客户需要与目标节点上的OPC服务器连接,这就需要使用DCOM(Distributed COM)来提供网络支持。实际上,DCOM是COM技术在网络上的拓展。
温州电厂3期辅机控制系统中,凝结水精处理系统和水务控制系统都是采用iFix作上位机监控软件,因此水务控制系统作为CLIENT与凝结水精处理系统进行数据交互比较方便。因为iFix支持远程SCADA结构。水务控制系统与凝结水精处理系统之间的数据交换实际上就是分布在网络各处的iFix之间的数据交换,这是上层监控程序通过网络实现远程数据共享。IFix支持这种基于网络分布的数据交换,并且传输速率非常快,可靠性好。下面重点介绍水务控制系统与渣水控制系统之间的数据交换。
渣水控制系统采用国产工业监控软件组态王作上位机程序,水务系统采用iFix作服务器的应用程序。为了实现两个分布在网络上不同应用程序之间的通信,我们采用了OPC技术。作为数据源的组态王,提供了标准的OPC数据接口;iFix遵循OPC标准规范,作为OPC CLIENT从远程OPC SERVER提供的OPC接口读取数据。
我们利用OPC技术协议,成功实现iFix对组态王的远程访问。其中安装在水务控制系统上位机的应用程序PowerTool(内置于iFix)就是OPC CLIENT,这一点与利用OPC实现硬件驱动大致相同。不同的是,OPC服务器的类型包括“In -process ",“Local"和“Remote”三种。在第一种情况下,OPC SERVER属于“LOCAL”;第二种情况下,OPC SERVER属于“REMOTE”。
远程OPC数据访问的核心技术是DCOM,为了实现远程应用程序之间的数据交互,需要对SCADA结构中的CLINET和SERVER的分布式COM属性作设置。
一旦基于OPC的远程SCADA网络成功构建后,在CLIENT上就可以访问到远程SERVER上的每个数据,包括数据对象的不同属性和方法。
最后一点需要说明的是,由于在SCADA结构中的CLIENT采用iFix作上位机监控程序,而远程SERVER采用组态王。不同应用程序中的画面文件无法兼容,因此必须在客户机上用iFix重新建立渣水控制系统的画面文件。
5 结束语
OPC技术在国际上得到了越来越广泛的应用,已经成为许多新型控制系统数据传递的核心技术。温州电厂3期辅机控制系统的成功集成充分体现了OPC技术的重要性和有效性。现场总线系统要实现其开放性,使不同厂家的软硬件能方便地互连为协调工作的系统,除了通信的一致性之外,作为标准软件接口的OPC技术在系统集成中也具有重要作用。它将促进控制系统朝着更加开放的方向发展。此外,目前现代发电企业现场控制系统采用DCS,上层管理系统采用MIS,现在SIS又开始逐步流行。可见现代发电企业缺乏的并不是数据,而是数据的有效挖掘和深处理,这就对异构网的数据共享提出更高要求,今后OPC技术必定在这些领域发挥极大的作用。
作者简介:
陈小强(1977-),男,工学硕士。从事发电厂热控试验研究工作。
|