靳 臣,陈红卫
(江苏科技大学 电子信息学院,江苏 镇江 212003)
海上油气勘探开发的重要装备海洋钻井平台已受到了普遍关注,其中半潜式钻井平台[1]已发展到第6代。半潜式钻井平台是一种独立在海上作业的大型平台,设有钻井机械设备、器材和生活舱室等,集航行、定位、钻井、生产等多种功能于一体。相比较其他形式的海洋平台,半潜式钻井平台在波浪中的运动响应、对恶劣海况的适应性、甲板可变载荷等方面具有较好的性能,在深海油气开发中承担着至关重要的角色。
海洋石油981号半潜式钻井平台是当今最先进的第6代深水半潜式钻井平台。其工作水深3 050 m,钻井深度10 000 m,平台设计质量30 670 t,长度为114 m,宽度为79 m,从船底到钻井塔顶高度130 m,电缆总长度650 km,采用大功率推进器和DP3动力定位系统。由此可见,半潜式钻井平台具有结构庞大、造价昂贵、工作环境恶劣且维修困难等特点。为保证海上生产高效、顺利地进行,保证人员的生命安全,对其进行集成监控将是必然趋势。依托网络实现海洋钻井平台综合监控,一方面能及时对主要设备参数进行报警、预警,提高可靠性和安全性;另一方面能提高自动化程度,通过获取实时数据来合理调度作业过程,提高生产效率,降低成本。此外,监控所得的信息是管理层对作业进行高效管理和制定策略的基础,最终使平台实现管控一体化。
为了实施监控系统通信网络的统一化、标准化,与传统监控系统不同,工作站与设备、工作站与工作站、工作站与监控中心之间通信采用的是OPC技术。
OPC技术是由世界上多个软硬件供应商、自动化公司与微软合作开发的一套数据交换接口标准,它能够为现场设备、自动控制应用、企业管理应用软件之间提供开放、一致的接口规范,为来自不同供应商的软硬件提供“即插即用”的连接[3]。基于COM/DCOM技术的OPC采用客户/服务器结构,厂商为设备提供符合OPC规范接口的服务器,应用程序通过OPC接口对OPC服务器的访问,实现现场设备、监控系统以及管理系统之间的数据交换。
OPC数据访问服务器的对象:OPC服务器对象(OPCServer)、OPC 组 对 象 (OPCGroup) 和 OPC 项 对 象(OPCItem)。OPCServer是客户端和服务器交互的首要对象,客户端通过该对象下的接口函数访问服务器;OPCGroup用于管理服务器内部的实时数据信息,提供成批访问数据的机制。OPCItem不是数据源,它代表了OPC服务器到数据源的一个物理连接,可以是模拟量或开关量,但它是服务器的内部对象,不直接与客户端进行交互。OPCServer和OPCGroup是必须实现的两个标准的COM对象,它们实现了提供与客户端程序交互的接口。
1)OPC服务器建立类厂,通过类厂,客户程序可以创建OPC服务器。客户程序通过OPC服务器的名字找到OPC服务器中注册表的信息,创建一个服务器对象OPCServer。
2)通过访问OPCServer的接口来实现数据通信的系列功能。通信流程如图1所示,由于OPCItem对象包含于OPCGroup对象,所以必须先创建OPCGroup对象,然后在其下面添加OPCItem对象,读写OPCItem项对象的属性Value、Qualityhe和Timestamp。客户端获得数据可以用同步或异步方式。
图1 OPC通信流程图Fig.1 OPC communication flow chart
3)通信结束后,OPC客户退出前必须释放所有接口,并依次删除OPCItem,OPCGroup和OPCServer对象。
集成监控系统包括钻井系统、动力定位系统、功率管理、压载系统和紧急关断子系统,网络结构如图2所示,主要由监控管理层,数据服务层和现场设备层组成[4]。现场设备层位于底层,由各个子系统下的传感器、离散IO和PLC等 组成各种异构数据源以及CAN和PROFIBUS现场总线。数据服务层主要是数据库和多个支持OPC接口的服务器组成,OPC服务器中封存了不同设备的驱动程序,能够将采集的数据转换为统一的OPC数据格式,通过总线技术和网络技术发送到监控管理层,利用ODBC将实时数据保存在数据库中。监控管理层主要是OPC客户端和应用程序,通过界面参数显示实现对平台设备实时参数的监控和对重要设备参数的报警等功能,保证系统的正常运行。
半潜式钻井平台下的设备大多来自不同的设备厂商,通讯标准不统一,而不同厂商的设备基本只与自己开发的驱动程序相匹配,这显然不符合现今系统集成的要求。本系统中采用OPC服务器读取数据,然后由iFIX提供的OPC驱动程序读取OPC服务器中的变量,从而实现对不同厂商、不同区域的设备进行集成监控。
应用OPC技术开发监控系统的关键在于OPC服务器和客户端的构建。服务器可以选择现成的OPC服务器程序,例如KEPServer;也采用编程简单且能灵活满足实际要求的OPC开发包来实现,例如KOSRDK[5]。监控系统由集成了OPC客户端的iFIX组态软件开发,动面功能强大且配置简单。客户端与OPC服务器的结构如图3所示。
图2 双冗余环形网络结构Fig.2 Network structure of double redundancy ring
图3 客户端-OPC服务器的结构Fig.3 Structure of client-OPC serve
快速开发工具包KOSRDK是基于使用面向对象的技术,适合VC++编程环境,它将OPC规范所定义的COM接口实现封装动态链接,通过调用KOSRDK.DLL的接口函数将数据传到数据缓冲区,形成本地列表,并经过OPC服务器的驱动将数据进行传递,生成OPC服务器列表,供客户层使用。这样,开发者通过类的派生以及重载函数,实现数据的访问和提交,简化OPC服务器的开发过程。
利用KOSRDK在VC++环境下开发OPC服务器的流程:
1)调用KOS_Init进行初始化;
2)初始化成功后注册回调函数;
3)利用KOS_AddItem添加OPC点到OPC Server DLL中,这样客户端才能检索和使用OPC点;
4)通过KOS_UpdateItem更新地址空间内的OPC点数据信息,将设备的实时信息和状态反馈给客户端;
5)运行结束时需要删除OPC点和反初始化,分别通过KOS_RemoveItem和KOS_UnInit两个函数实现。
客户端主要实现监控和报警功能,选择支持OPC标准的工控组态软件iFIX开发客户端,通过OPC接口访问OPC服务器。iFIX是HMI/SCADA自动化组态软件,集强大功能、安全性、通用性和易用性于一身,提供了生产操作的过程可视化、数据采集和数据监控。
iFIX与OPC服务器的连接配置:
1)注册OPC服务器,并在OPC服务器下依次添加所需要的项,设置项的名称、数据类型、值等。
2)在OPC PowerTool下添加已注册的OPC服务器Knight和KEPServer,并依次在服务器下添加、配置若干组,在组下添加项,项的添加可以通过浏览选择适合的OPC服务器中的项对象。
3)iFIX读取数据。在数据库管理器中创建标签,每个标签既要对应所创建的服务器中的项,又要对应实际的监控对象,比如电机电流与标签AI1对应,AI1与OPC项a.a.b对应。
4)根据数据源与定义标签的对应关系,已读数据在由iFIX软件设计的监控界面上实时显示,并可以设置参数的上下限实现报警功能。
以半潜式钻井平台动力定位系统DPS(dynamic positioning system)[6]中的推力系统为例。推力系统配有8个360°全回转吊舱推进器,平均分布于钻井平台的4个角落。为满足动力定位DP-3要求,保证任意一个推进器发生故障后仍应有足够的横向和纵向推力,吊舱一般采用对角布置,即每个配电盘给对角的两个吊舱供电。吊舱轴由液压马达驱动,能使吊舱 360°转动[7]。
测试系统利用PLC模拟采集设备的数据。S7-200模拟推进电机的数据(推进电机滑油压力、温度,冷却液温度,推进电机转矩、转速、电压、电流以及功率);S7-300模拟回转马达的数据(液压油温度、压力,回转角度,回转角速度和回转加速度)。分别将KEPServer和Knight作为对应这两个PLC的OPC服务器,进行OPC项的添加和设置,最后按照3.2小节所示的方法与iFIX客户程序连接。监控系统的运行效果图如图4所示,图5是曲线显示,可以根据选择数据量标签显示历史曲线和实时曲线。
图4 OPC服务器与iFIX客户端的实时数据交互Fig.4 Real-time data interaction of OPC server and client iFIX
图5 实时曲线和历史曲线图Fig.5 Real time curve and history curve
测试结果表明,基于OPC技术规范的客户端和服务器能够进行数据交换,并且能够将不同系统下的设备数据集成,从而可以实现对整个半潜式钻井平台的集成监控。
OPC技术为现场设备、控制系统应用、管理应用软件之间提供了开放、统一的标准接口,很好地解决了网络异构数据集成问题。而且OPC技术使设备生产厂商和应用程序开发的工作分离,应用程序开发人员无需重复开发设备驱动程序,只需开发一套接口就可以和不同设备相连[8]。利用OPC技术开发集成监控系统能缩短开发周期,提高互连互操作性、可扩展性、可维护性、适应性和经济性。本文遵循OPC标准,设计开发了服务器和客户端,实现了集成监控系统的数据采集与处理、参数的监测与控制以及数据存储的功能。
[1]栾苏,韩成才,王维旭,等.半潜式海洋钻井平台的发展[J].石油矿场机械,2008,37(11):90-93.
LUAN Su,HAN Cheng-cai,WANG Wei-xu,et al.Development of Semi-Submersible Rig [J].OilField Equipment,2008,37(11):90-93.
[2]陈丹,刘志刚.OPC技术和面向对象框架技术在船舶监控系统中的应用[J].船海工程,2006,3(3):58-61.
WANG Jing-xian,LIU Zhi-gang.Application of OPC technology and object-oriented framework in the vessel’s monitoringandcontrollingsystem[J].Ship&OceanEngineering,2006,35(3):58-61.
[3]王莉华,王建军.分布式系统综合集成测试技术[J].计算机工程,2008(34):57-59.
WANG Li-hua,WANG Jian-jun.Comprehensive integrated test technology for distributed system[J].Computer Engineering,2008(34):57-59.
[4]徐思成,李增权,郭国选.基于OPC技术和以太网的异构网络集成[J].仪表技术与传感器,2011(1):109-110.
XU Si-cheng,LI Zeng-quan,GUO Guo-xuan.Integration of distributing heterogeneous system based on ethernet and OPC technology[J].Instrument Technique And Sensor,2011(1):109-110.
[5]姜萍,段新会,王锐.基于OPC技术的DCS监控系统设计[J].信息化纵横,2009(7):59-62.
JIANG Ping,DUAN Xian-hui,WANG Rui.Design of monitoring system for DCS based on OPC technology[J].Microcomputer&ITS Applications,2009(7):59-62.
[6]窦培林,袁洪涛,宋金扬,等.深水半潜式钻井平台DP3动力定位系统设计和应用[J].海洋工程,2010,28(4):117-121.
DOU Pei-lin,YUAN Hong-tao,SONG Jin-yang.Design and application of DP3 system for deep water semi-submersible drilling platform[J].The Ocean Engineering,2010,28(4):117-121.
[7]高文,陈红卫.半潜式钻井平台动力定位集成监控技术[J].计算机测量与控制,2011,19(7):1611-1625.
GAO Wen,CHEN Hong-wei.Integrated monitoring technology of dynamic positioning in semi-submersible drilling platform[J].Computer Measurement&Control,2011,19(7):1611-1625.
[8]周磊,刘大成,周传福,等.OPC规范下数据访问服务器的设计与实现[J].微计算机信息,2007,23(1):264-266.
ZHOU Lei,LIU Da-cheng,ZHOU Chuan-fu.Design and realization of data access server based on OPC specification[J].Control&Auyomation,2007,23(1):264-266.