海上油田设施及海底管线避碰实时预警系统的开发应用

2024-01-02 02:42
天津科技 2023年12期
关键词:海图管线船舶

吉 平

(中联煤层气有限责任公司 北京 100015)

随着中海油海上油气田群生产规模的不断扩大,平台建设逐渐增多,形成了卫星油气田群。海底传输管线与平台之间连接越来越密集,海陆长输管线、平台的周边管线安全管理和保障日益受到重视。

海上油田群之间的管线、线缆的种类与数量繁多,油田与船舶航行航道共用海域,一旦发生船锚压坏线缆管线或捕鱼船渔网损坏线缆等状况,可能导致通信中断、油料泄漏,甚至爆炸等重大危险事故,而恢复被破坏的线缆或管线会耗费大量的人力及物力。在这样的背景下,为保证海上持续安全生产,本文提出建立一套可实时监测海管损害或海底线缆风险的海底管线自动预警系统。

1 海底管线事故分析

据统计,全球50%~60%的海底油气管道破裂事故是由第三方破坏造成的[1]。1967—2012年,墨西哥湾共发生海底管线泄漏事故184起,其中由设备自身故障导致的事故仅占34.3%;1998—2012年,我国公开发布和报道的海底管线泄漏事共19起,已查明原因的15起事故中,由第三方破坏导致的事故多达7起。由此可见,第三方破坏已成为威胁海底管线安全的重要因素。

2 海底管线预警系统总体设计

本系统以加强平台与平台间、平台与陆地终端海底管线的保护为设计目标,结合AIS(船舶自动识别系统)数据源、北斗数据源,采用前置机进行数据采集压缩处理后,通过海上平台和船舶的内部网络,将采集到的数据传输至陆地数据服务器进行解析、去重等处理,从而实现陆地终端、海上平台群联合监控,海上平台只负责监控本油田群附近海管及船舶预警,陆地负责宏观监控整个海域管线预警。系统设计结合电子海图ECS、海油专用图层和AIS(船舶自动识别系统)进行集成开发,对特定区域内海底管线及船舶进行实时监控行为;基于船舶位置数据信息、电子海图及标绘的预警区域,实现平台与船舶之间的避碰和船舶与管线之间的避碰[1]。系统辅助管理部门从海上到陆地2个层面进行管理,从而有效提高对海底管线和光缆等的保护。海底管线自动预警系统如图1所示。

图1 海底管线自动预警系统图Fig.1 Diagram of submarine pipeline automatic warning system

本系统主要包括AIS数据解析服务器、实时通信接口服务器、Web应用服务器、海上管线监控预警一体机、数据采集设备(AIS、传感器等)、GPS、网络设备、计算机及外围设备等[2]。

2.1 系统的逻辑结构

海底管线实时预警系统利用船载AIS设备、北斗设备通过船载导航终端(采集前置机)向远端陆地服务器进行数据传输,通过前置机进行解析及压缩后,基于TCP/IP协议向数据采集服务器发送船载端采集到的AIS数据和北斗数据。AIS数据采集程序不再是传统的被动获取,而是主动监听指定端口,在获取AIS原始信息之后进行解析入库处理,北斗数据也以同样方式进行采集与处理。与传统采集系统不同的是,为保证本系统与原有系统共同运行,采集系统在获取AIS数据之后,在进行解析入库的同时,通过COM端口以原始NMEA0183报文的格式向该串口发送原始协议内容,提供给本地的应用终端进行本地解析应用,其逻辑结构如图2所示。

图2 系统逻辑结构框图Fig.2 System logical structure block diagram

2.2 系统软件结构

2.2.1 数据采集模块(DCU)

DCU模块结构图如图3所示。

图3 DCU模块结构图Fig.3 DCU module structure diagram

工作机理:DCU通过TcpIODevice接收数据,在接收数据时,经过SerialIODevice向现有系统异步发送AIS信息,同时将接收获得的数据发送至SentenceDispatcher,然后进行解析处理并入库。

2.2.2 业务逻辑模块

业务逻辑模块如图4所示。

图4 业务逻辑模块Fig.4 Business logical module

业务逻辑模块(BCU)负责处理客户端发送的业务请求,并返回相应的业务数据,包含平台静态基础数据、动态数据及管线参数等数据信息,是用户查询调用的高频应用模块。

业务逻辑模块采用Command模式。每一个业务都分别从Command类派生,并在其内部实现业务逻辑。Command类在进行业务逻辑处理时,各个子类应在相应的业务逻辑处理中进行日志记录。业务逻辑子系统的一个流程如图5所示。

图5 业务逻辑子系统Fig.5 Business logical subsystem

每个数据对象都对应一个数据表,同时应有一个对应的DAO对象实现数据的CRUD操作。系统使用.NET实现,采用NHibernate作为持久层实现的框架。

2.2.4 权限控制模块

用户权限系统包括:①User,即用户基本信息,包含用户名、加密后的用户密码,用户密码采用将密码明文取SHA-1的方式加密,用户类型为1时为管理用户,否则为普通用户,当用户为管理用户时,可进行用户的添加、修改和删除,否则只能进行其他操作;②VesselGroup,即用户船舶分组,每个用户可创建多个分组,每个分组可包含多艘船舶。

2.2.3 数据模块

数据模块包括船舶动态数据、船舶静态统计数据和船舶历史数据。数据模块如图6所示。

图6 数据模块Fig.6 Data module

2.2.5 控制客户端模块(CCU)

CCU以C++作为实现语言,对非功能性需求的优先次序为:①性能;②稳定性。根据目前的技术储备及未来发展的需要,以Qt为平台实现。

2.2.6 船载客户端模块(SBU)

SBU以C++作为实现语言,对非功能性需求的优先次序为:①性能;②稳定性。根据目前的技术储备及未来发展的需要,以Qt为平台实现。

2.2.7 Web模块(WBU)

Web模块要求能够同时显示标绘数据、公有船舶数据和用户船舶数据,对于Web应用来说,数据量大,是一个考验。JavaScript实现方式会引起性能问题,若采用已有的Flash脚本,不能够支持多线程模式,故无法有效利用客户端的处理能力,对内存的消耗较高。因此,本系统经过大量测试后采用Java Applet的方式实现。

2.3 系统实现功能及服务

2.3.1 海底管线预警服务

海底管线为不可见设施,应在海面一定区域禁止抛锚及拖锚行为。系统设定该区域为抛锚报警区域,当有船舶在这一区域有抛锚趋势时(根据实际情况自由设置距离管线多少米、航速低于多少节视为有抛锚趋势),系统自动发出声光报警,提醒工作人员注意,同时自动记录该船舶的相关信息,如船名、船位等[3]。

2.3.2 特殊区域、平台报警服务

对用户输入的指定区域进行船舶监控和预警,分为船舶驶入报警和船舶驶出报警。

对于禁止船舶进入的区域(比如一些危险区域),可以设定为船舶驶入报警;船舶可以分为本系统船舶或全部船舶。

2.3.3 船舶现场数据服务

提供船舶实时数据服务,主要包含附近相关船舶的动态和静态信息:动态信息包含船舶的位置信息、航行速度、航行状态等数据;静态信息包含船舶名称、MMSI、呼号、船长、船宽、船上人员等数据。

2.3.4 船舶实时监控

对各作业船舶及一定范围内的周边船舶进行实时监控,随时掌握在港、航行中的船舶状态及周围情况。该系统具有录入、接收、显示、查询船舶或平台详细参数及船舶动态信息,以及航迹回放、船位查询、统计报告等功能,能够实现对海上平台及船舶信息、作业的实时监控管理。系统能够根据船舶所属公司及属性对船舶进行分组,从而形成船队管理模式,也可根据需要在电子海图上标绘出报警区域,设定船舶的入区报警或出区报警,从而有效实现对平台及管线的报警保护和对船舶的监控。

2.3.5 气象姿态监控

气象姿态监控功能分为实时气象信息传输和气象预报叠加。实时气象信息传输是指利用海上端点安装的气象仪和摇摆仪等数据采集设备,将海上作业点、监控点的即时气象数据和船舶摇摆度数据传回陆地监控接收端,以此达到实时准确掌握海上气象情况和对海上生产作业状况透明管理的目的。气象预报是指利用官方气象预报信息数据和现有卫星通信链路对气象/台风预报信息在系统中进行叠加。气象预报信息将作为公共信息在所有监控客户端上显示,以此实现提示和预警作用。气象姿态监控如图7所示。

图7 气象姿态监控Fig.7 Weather/swing monitoring

2.3.6 标绘查询服务

客户端提交标绘查询服务,可与本地保存的标绘更新时间进行匹配,以确定本地保存的标绘是否为最新版本。

2.3.7 海图上传服务

当监控端判断本地海图文件更新于服务器端海图文件时,可予以上传。上传时,应对每个单独的海图文件调用一次该服务,每次调用都应传送海图的图号、制作日期和海图内容。

本服务将记录海图图号、日期,并根据图号保存文件至HTTP服务器。该文件可以用HTTP服务器直接访问。

2.3.8 海图列表服务

本服务为无参数服务,用户可直接调用,服务将返回所有图幅的海图号、制作日期。客户端可确定是否需要更新。

2.3.9 海图下载服务

当客户端需要更新海图时,可调用本服务,每一幅需要更新的海图都需要单独调用一次本服务。本服务通过2个标准的HTTP服务提供:HTTP HEAD——获取海图文件尺寸;HTTP GET——获取海图文件。

3 系统性能设计

系统性能是设计考虑的重点。采用内存数据库与Oracle数据库并行的运作方式可以有效提高预警系统性能。

3.1 通用性设计

本系统较多的维护费用来源于维护人工费,而不是对系统软硬件的更换费。采用Windows系统,能够提高可维护性,从而降低维护人员所需的实际维护时间。但是随着系统规模的扩大,维护人工费将逐步缩小,软硬件更换的费用逐步增大。在这种情况下,采用Linux等免费操作系统,首先可以降低系统的软硬件费用,在硬件水平相当的情况下能够提供更好的性能支持;其次可以降低系统被攻击的可能性,提高系统的安全性,并降低系统出现故障的机率。

因此,在系统设计时,必须考虑未来平台移植的通用性。采用Web Service作为数据发布服务和更新服务的主要技术手段就是为了在进行平台移植时对船载端、监控端不产生影响,从而保证服务器端的迁移不影响客户端的正常工作,以保障系统的通用性。

3.2 安全性设计

在本系统安全设计中,首先考虑的就是用户权限检测。因此,系统设计本身充分体现了对安全性的保障。采用安全性级别较高的Oracle数据库提高了环境安全系数,而由于采用了Web Service技术,在必要情况下,可以使用HTTPS加密链路提供额外的安全支持,从而保证较高的安全性。

4 部署方式

目前数据服务器为内部网络,部署内容如下。

①系统需要部署.Net framework框架,用于创建基于Windows系统的应用程序环境。

②部署Internet Information Services服务,检查方式为,打开管理工具中的Internet信息服务,点击默认网站,确认网站运行状态正常。

③部署TimesTen,其后台有一个TimesTen Daemon进程,这个进程是个多线程进程,在服务器启动后自动运行。每个应用程序连接到Timesten改进程后都会创建一个线程与应用程序进行通信,并进行失败检测。

④部署数据解析模块,服务器端部署数据解析,检查Connect按钮为禁止状态,有数据时为进入状态,并实现正常解析。

⑤部署数据转发程序(MessageRelayServer,TCP/TCP通信方式),数据转发程序将实现与异地服务实时共享AIS数据和北斗数据,以秒为单位进行存储转发。

⑥部署看门狗程序,保证数据解析模块可以连续工作,在出现异常情况时解析模块自动恢复。

5 结 语

海上油田群海底管线自动预警系统的建设体现了中海油船舶作业特殊性,结合AIS及北斗数据进行综合应用和开发,有效实现了对海底管线自动预警防护和船舶的预警监控,为中海油海上平台群生产作业及施工工作提供了可靠的信息化技术手段和管理工具。截至目前,系统经过软件迭代更新,实现了在系统内的分布式部署,对渤海湾海域及北部湾海域、黄海部分海上作业海域及港口、南海外海部分海上作业海域及港口区域实时动态的监控及预警。系统实现了应用创新,经过多次实践检验,避免了因船舶抛锚、恶劣天气造成走锚、未知船舶意外闯入靠泊对管线造成的损害。在应急指挥方面,用于人员落水搜救、开采油井原油泄漏应急指挥等场合,有效发挥了预警救援作用。

猜你喜欢
海图管线船舶
《船舶》2022 年度征订启事
纸海图AI小改正制作模式探讨
船舶!请加速
BOG压缩机在小型LNG船舶上的应用
少林功夫拳(三)
夹套管线预制安装
船舶压载水管理系统
浅谈通信管线工程建设
浅谈通信管线工程建设
点亮兵书——《筹海图编》《海防图论》