许鹏鹏1,严婷婷2,高红梅1,赵 强1
(1.江苏科技大学,江苏 镇江 212003;2.江苏镇安电力设备有限公司,江苏 镇江 212000)
摘 要:铺管船在海洋油气开发过程中有着广泛的应用前景,随着铺管船技术的发展和功能的完善,对于铺管船动力定位系统的研究和应用也显得越来越重要。本文在动力定位系统功能的基础上,构建了整个系统的硬件框架和网络结构,并且介绍了串口信号的采集方法与解析协议,希望能为铺管船动力定位系统的设计提供一定参考。
关键词:铺管船;动力定位系统;硬件框架;串口信号
中图分类号:TP29 文献标识码:B 文章编号:1003-7241(2013)06-0049-05
1 引言
我国是沿海国家,拥有漫长的海岸线与300多万平方公里的辽阔海域,其中蕴藏着丰富的海底油气资源[1]。在对这一资源进行开发的过程中,海上油气田开采出的油气除少数在海上直接装船外运,其余多数则需要通过管道转输至陆地加工并分别输送到用户。随着石油天然气开发进程的不断深入,海洋管道的作用则越显重要,因此对于海洋管道铺设的专用设备——铺管船的关注度也在不断提高[2]。铺管船是用于海底管道铺设的专用大型海洋工程船舶,在海底输油管道、海底输气管道、海底输水管道的铺设方面有着重要作用[3]。
近年来,随着船舶建造水平的深入提高以及新技术的广泛应用,铺管船的发展也取得了很大进步。从采用锚泊定位、作业水深仅300m以内的浅水铺管船,发展到采用动力定位技术、能满足3000m以内作业水深的深海作业铺管船[1]。随着海上油气生产向深海的进一步发展,动力定位系统在铺管船上的应用必将得到更多重视和发展。
动力定位系统是一种闭环的控制系统,其采用推力器来提供抵抗风、浪、流等作用在船上的环境力,从而使船尽可能地保持在海平面上要求的位置上,其定位成本不会随着水深增加而增加,并且操作也比较方便[4]。本文着手于铺管船动力定位系统的研究,旨在实现铺管船动力定位的功能,主要设计了一种铺管船动力定位系统的硬件框架,并且在此基础上介绍了串口信号的采集方法。
2 全船控制网络设计
作为铺管船上的一个子系统,动力定位系统也是为全船的铺管施工作业而服务,在对其进行研究之前,就必须要先了解铺管船的全船控制系统。该系统由驾驶室PLC控制系统、SCADA系统、艏艉液压PLC控制系统、计算机网络和推进控制系统等所组成,铺管船的全船控制网络结构如图1所示。
必须要先了解铺管船的全船控制系统。该系统由驾驶室PLC控制系统、SCADA系统、艏艉液压PLC控制系统、计算机网络和推进控制系统等所组成,铺管船的全船控制网络结构如图1所示。
其中,驾驶台机柜中的两台服务器互为冗余备份,当其中一台出现运行故障时,另外一台备用服务器则会自动投入使用,而历史服务器则承担着历史数据与报表的查询等功能。在铺管控制台内的PLC1,艏液压柜内的PLC2,艉液压柜内的PLC3,以及航行控制台内的PLC4,功率管理系统的冗余PLCI和PLCII分别负责采集不同的数据,各采集的PLC之间通过以太网进行通讯,服务器则通过OPC客户端进行数据采集。铺管控制台内的PLC1主要用于实现作业过程中控制台上所有的按钮、开关、指示灯、操作手柄、仪表等的输入输出功能。
3 铺管船动力定位硬件系统
铺管船动力定位系统的设计目的主要在于整个系统的施工方案,只有系统功能的完善,才可以为动力定位系统提供具体的实施依据。动力定位系统作为铺管船上的一个子系统,因此从全船角度出发,设计了动力定位系统的硬件框架与网络结构[6]。
3.1 动力定位硬件系统设计
根据动力定位系统的结构组成及其在铺管船上的具体功能,设计了如图2的系统硬件结构。在系统硬件框架中,底层信号的采集通过各子系统的PLC,动力定位系统(DP)PLC、铺管控制PLC、功率管理系统PLC则采用以太网进行通讯功能的连接;电罗经、风速风向仪、计程仪信号等则根据各自的信号格式RS422或RS485通过多串口卡转换成RS232格式直接与控制计算机连接;DGPS、运动参考单元(MRU) 、测深仪等则通过网关将信号转换成TCP/IP协议格式进行采集;控制计算机的液晶显示器置于中央控制台内,经过以太网进而连接两台SMIDS复视器,且分别装置左右两翼控制台。
3.2 动力定位网络系统设计
根据铺管船对动力定位系统的需求,此处设计了一种铺管船动力定位控制系统控制网络的连接方式。其中包含了控制计算机、交换机、动力定位PLC、艏PLC、铺管控制PLC、PROFIBUS通讯卡、多串口通讯卡、电罗经、风向风速仪、DGPS、运动单元、测深仪、计程仪和铺管作业显示系统。动力定位PLC和艏PLC、铺管控制PLC通过网络交换机进行连接,其中每个PLC都有各自唯一的IP地址;运动单元、电罗经、风向风速仪、DGPS、测深仪与计程仪等则通过多串口通讯卡和控制计算机进行连接;PLC通过PROFIBUS通讯卡和控制计算机进行连接;控制计算机与铺管作业显示系统则通过网络交换机进行连接;PLC与控制计算机采用DP协议实现一对一的通讯,完全满足了铺管船动力定位控制系统需要的控制要求。同时铺管船动力定位控制系统的控制网络连接方式,能够有效满足铺管船动力定位控制的特殊要求,其具体网络形式如图3所示。
在该网络结构中,包含了控制计算机、艏液压PLC、铺管控制PLC、动力定位PLC、交换机-1、交换机-2、交换机-3、交换机-4、PROFIBUS通讯卡、多串口通讯卡、DGPS1、DGPS2、电罗经、风向风速仪、测深仪、计程仪、运动单元与铺管作业显示系统;上述各部分连接成为一个完整的控制网络,从而实现了对铺管船的位置、艏向和作业轨迹的控制;其中动力定位PLC 用于实现对动力定位系统硬连线设备的输入输出控制(如作业线控制、艏推进控制、主推进控制、状态报警等);动力定位PLC、铺管控制PLC、艏液压PLC通过网络交换机构成环形网络;动力定位PLC和控制计算机通过PROFIBUS通讯卡进行连接,PROFIBUS通讯卡插入控制计算机主板的PCI插槽;所述风向风速仪、DGPS1、DGPS2、运动单元、电罗经、测深仪、计程仪则通过多串口通讯卡与控制计算机连接,多串口通讯卡插入控制计算机主板的PCI插槽;所述控制计算机与铺管作业显示系统通过网络交换机-4进行连接。
对于各网络所承担的功能,此处以网络(3)为例进行说明,其主要负责控制计算机与PLC数据的交换,执行数据发送和指令接收的功能。控制计算机接收动力定位PLC反馈的状态数据,并向动力定位PLC发出控制指令。动力定位PLC则采用同轴电缆与CP5611 PROFIBUS通讯卡进行连接,CP5611插入控制计算机的PCI插槽,其采用DP协议,通讯率由此可以达到19.2Mbps。此通讯采用一对一的方式进行,从而减少了询问时间,与TCP/IP相比具有稳定和通讯速率高等特点。
采用此种系统控制网络的连接方式,PLC环形网络大大提高了系统的可靠性,各交换机连接构成的网络,某段线缆或某网络节点中的交换机发生故障,并不会影响到其它网络节点的正常通讯。PLC与控制计算机通过PROFIBUS通讯卡连接采用了DP协议并实现一对一连接,避免了通讯询问,与通过交换机连接采用的TCP/IP协议相比,提高了通讯速率。风向风速仪、电罗经、运动单元、DGPS1、DGPS2、测深仪、计程仪则通过多串口通讯卡与控制计算机进行连接,采用RS-422接口与NEMA0183协议,实现了铺管船动力定位系统与多种传感器连接,从而提高了通讯速率并节约了成本。铺管船动力定位控制系统所需的其它信息则通过艏PLC和铺管控制PLC直接送至动力定位系统PLC,避免了线缆冗余,从而提高了系统的可靠性和灵活性[6]。
4 串口信号的采集方法
在上文硬件系统设计部分曾经提及到,动力定位系统中的信号除了采集PLC系统的数据外,其余通过串口或网关采集的信号则是需要通过程序进行解析的。外部的环境信号通过串口进入系统,此些串口信号均是NMEA-0183类型格式的,NMEA-0183格式数据串所有的数据均采用ASCII文本字符来表示,数据传输以“$”开头,后面的则是语句头。语句头由五个字母组成,分成两个部分,头两个字母表示“系统ID”,即说明该语句是属于何种设备或系统,后面三个字母则表示“语句ID”,表示该语句是关于何方面的数据。语句头后的便是数据体,其包含不同的数据体字段,语句末尾的是校验码(可选),以回车换行符<CR><LF>结束,即就是ACSII字符“回车”(十六进制的0D)与“换行”(十六进制的0A)。
解析信号具体可分为两个步骤:1.从对应串口把数据读上来并存放至缓冲区域中;2.查询相关信号的产品技术手册,按照对应的数据含义和数据格式,提取系统所需的相关信息。铺管船中使用到这些传感器的具体信号解析协议有风速风向、GPS、罗经等,此处以风速风向为例做如下说明[6]:
风速风向 MWV
$-- MWV,<1>,<2>,<3>,<4>,<5>*hh
<1>风向角度,0°到360°
<2>参考值,R=相对值,T=绝对值
<3>风速
<4>风速单位
<5>状态位,A=数据有效性
<hh>校验位
风速风向信号的采集:
1、以风速风向仪采集的某个数据片段为例:
$IIMWV,131,R,010.75,N,A*13
这是一个字符串,通过查询产品技术手册,可知$IIMWV是个头,代表此数据片段的分类与总的含义,131代表风的角度,10.75则是风的速度。
2、程序段解析风速风向信号:
cstrCurrentData.GetLength();
for ( r4= 0; r4 < cstrCurrentData.GetLength(); r4++)
{
r1 = cstrCurrentData.Find("$IIMWV," , r4 ); //"$IIMWV,"
if ( r1 < 0 )
{
break;
}
r2 = cstrCurrentData.Find(",R," , r1 + 7 ); //",R,"
if ( r2 < 0 )
{
break;
}
r3 = cstrCurrentData.Find(",N," , r2 + 3 ); //",N,"
if ( r3 < 0 )
{
break;
}
sprintf(s2, "%s", cstrCurrentData.Mid( r1 + 7 , r2 - r1 - 7) );
m_strWindData.m_dWindAngle = atof( s2 );
sprintf(s2, "%s", cstrCurrentData.Mid( r2 + 3 , r3 - r2 - 3) );
m_strWindData.m_dWindSpeed = atof( s2 );
r4 = r3;
}
其中cstrCurrentData 是CString类型的数据,内容是采集的某个数据片段,例如$IIMWV,131,R,010.75,N,A*13。另外,通过网关进入系统的信号,只要映射好网关对应的串口,其接下来的操作则跟从串口读取数据是一样的,解析数据也是采用相同的方法。
5 结束语
海上石油开发关系到国民经济的发展大局,各类高新技术与性能水平的海上石油和天然气勘探、开采工程所需的海洋工程辅助船舶已成为当前急需开发与研究的项目[7]。而作为我国深水重大装备研究的重要组成部分,铺管船这一对象的研究将对深海油气资源的勘探和开发有着积极意义[8]。本文从实际工程应用的角度出发,设计了一种铺管船动力定位系统的硬件结构,同时在此基础上介绍了串口信号的采集方法。本文所做的工作比较基础,仅是为铺管船动力定位系统提供可行性方案,希望可以为后续的深入研究提供一定的帮助。
参考文献:
[1] 芦树平.深水起重铺管船关键技术研究[D].哈尔滨工程大学,2011.
[2] 刘嵬辉,曾宝,程景彬等.国内外铺管船概况[J].油气储运,2007,26(6):11-15.
[3] 潘雲,程峰,金瑞健等.浅水铺管船铺管作业系统设计简述[J].船舶,2010,21(3):49-54.
[4] 赵志高,杨建民,王磊等.动力定位系统发展状况及研究方法[J].海洋工程,2002,20(1):91-97.
[5] 程峰.2×8000t半潜起重铺管船铺管系统研究[J].船舶,2012,23(1):71-75.
[6] 张跃东.耙吸式挖泥船动力定位系统工程化研究[D].江苏科技大学,2011.
[7] 陈建光.深海铺管起重船的电力推进控制系统[J].舰船科学技术,2010,32(11):34-38.
[8] 魏跃桥,邱海荣,刘炫等.深水铺管起重船铺管工艺研究[J].中国水运(下半月),2011,11(5):93,96.