- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
油田管道集群化泄漏监测建模标准
目次
范围 1
负压波法建模标准 1
技术原理 1
适用范围 1
算法说明 2
代码说明 4
流量平衡法建模标准 7
技术原理 7
适用范围 7
算法说明 7
半管流管道监测算法 7
代码说明 9
算法流程 12
模式识别法建模标准 13
技术原理 13
适用范围 13
算法说明 13
3D流体力学算法建模标准 16
多算法融合建模标准 20
PAGE
PAGE1
范围
本标准规定了本公司油田管道集群化泄漏建模建设标准的内容、方法及操作规程。
负压波法建模标准
技术原理
当管道发生泄漏时,由于流体迅速流失,在泄漏点处的压力迅速下降,产生负压波,负压波以声波的速度向管道两端传播(不同介质中出传播速度不一致,再原油中的传播速度大约在1000m/s)。通过在管道两端安装压力变送器,可以监测到负压波引起的压力下降,利用负压波到达管道两端的时间差即可实现泄漏点的定位(由于时间精度无法保证本次不考虑定位)。泄漏点位置X为:
式中:c为负压波在管道中的传播速度m/s;
Δt为上游压力变送器接收到负压波的时刻t1与下游压力变送器接收到负压波的时刻t2的差值;
L为所监测管道的长度,m。
适用范围
适用于满管运行的管道;半管流管道以及含气量较高的管道由于液体不满,
负压波无法传递,压力监测波动较大,该方法不适用。并且再实际工况中,增压站接转战复杂的输油环境,负压波常被淹没,适用范围较小。
算法说明
常规负压波算法
对于负压波的监测,通常设定一个监测阈值,固定时间内的压降超过阈值后,即认为管道发生泄漏。当管道泄漏小或缓慢增大时,压力下降不明显,容易产生漏报警,如果减小阈值,则又会引起过多的误报警。在相同时长的观测时间段内,缓慢泄漏和快速泄漏均存在一个压力持续下降的过程,主要区别是快速泄漏存在一个明显的压力下降拐点,而缓慢泄漏只有一个压力持续下降的趋势。采用瞬态微分法、小波分析和降噪等算法可以解决快速泄漏的管道泄漏压力信号拐点识别,但对于管道缓慢泄漏的监测效果较差。
改进后负压波算法
为实现管道缓慢泄漏的监测,将压力由平稳状态向持续下降转变的过程作为管道缓慢泄漏的监测依据,通过监测压力状态的变化监测泄漏。实际应用中,取监测管段上、下游压力数据进行处理,具体步骤如下:
取3min的压力数据,对该数据归一化得到时间序列s(t),将s(t)等间隔分成21段,得到s,(t),其中i=0,1,2,…,20。
计算每段数据的最大值ai最小值bi及均值mi,其中i=0,1,2,…,20。
将前一段数据的最大值与后一段数据的最小值相减得到di=ai-bi+1其中i=0,1,2,…,19。
求出di的最大值的索引k,如果管道出现泄漏,压力会持续下降,di存在极大值,为了便于计算压力下降的拐点用于定位,须保证压力下降点位于该
段数据的中间位置附近,因此令9≤k≤11并且mi<k>mi>k时,认为管道压力异常。
当上、下游压力数据均存在下降趋势即发生异常时,认为存在管道泄漏。
利用上述方法对每3min上、下游压力数据进行分析,k=11和k=9均满足9
≤k≤11和mi<k>mi>k的条件,满足上、下游压力数据均存在下降趋势的条件,可以判断管道发生泄漏。
代码说明
#数据归一化处理Normalization#y=(x-min)*(max-min)
#数据归一化处理Normalization#y=(x-min)*(max-min)
#y=2*(x-min)*(max-min)-1defGet_list(list_1):
list_max=max(list_1)#计算数列中的最大值list_min=min(list_1)#计算数列中的最小值Norztion=[]
Norztion_1=[]foriteminlist_1:
Norztion.append((float(item)-float(list_min))/(float(list_max)-float(list_min)))#对各数据点进行最大最小值标准化
Nr_max=max(Norztion)Nr_min=min(Norztion)foriteminNorztion:
Norztion_1.append(2*(float(item)-float(Nr_min))/(float(Nr_max)-float(Nr_min))-1)#将数据映射要[-1,1]的区间
returnNorztion_1
#负压波预警判断
defGet_Alarm(re_
企业信息管理师持证人
新能源集控中心项目 智慧电厂建设项目 智慧光伏 智慧水电 智慧燃机 智慧工地 智慧城市 数据中心 电力行业信息化
文档评论(0)