姜海斌 陳小華 李 霖 張 皓 秦 鵬
國家管網(wǎng)集團西南管道有限責任公司,四川 成都 610218
過去20年,中國的石油天然氣行業(yè)經(jīng)歷了有史以來最具規(guī)模的快速發(fā)展時期,物探、開采、集輸、以及煉化業(yè)務等都實現(xiàn)了10倍以上的增長。長輸管道也隨之得到了快速的發(fā)展。到2019年底,投入運營的油氣管道總長已經(jīng)達到了13.5×104km[1]。為了及時發(fā)現(xiàn)異常情況避免管道泄漏對環(huán)境帶來的危害,目前投產(chǎn)的原油或成品油管線普遍安裝了泄漏監(jiān)測系統(tǒng),其中絕大部分為監(jiān)測實時壓力或實時流量變化的系統(tǒng)[2-3]。
監(jiān)測實時壓力變化的系統(tǒng),如負壓波或次聲波泄漏監(jiān)測軟件,比監(jiān)測實時流量變化的系統(tǒng)出現(xiàn)的年代較晚,是目前的主流泄漏監(jiān)測方式。用戶在評估或采購此類系統(tǒng)時面臨著一些困難:首先,缺乏國家制定的出廠規(guī)范或驗收標準,無法進行基于統(tǒng)一標準的檢驗和檢測[4];其次,由于各條管線的自然環(huán)境差別較大,在某條管線上的測試結果未必可以在其他管線上重現(xiàn)。曾有管道用戶嘗試邀請多家供應商在同一段管線上進行放油測試,希望在相同條件下通過對比實驗來發(fā)現(xiàn)優(yōu)劣。但采用實際放油的方法具有一定的局限性:比如放油的地點通常為管線上的某個閥室,其地理位置固定不可變;再如放油的過程受人工操控閥門的影響,往往不具有可重復性;又如放油的次數(shù)受到放出油料總量的限制,必須控制在方便運輸?shù)姆秶鷥?nèi);種種因素使得每次測試的情況均不相同,測試結果的隨機因素比較多,重復測試的次數(shù)偏少,導致測試結論不夠可靠。因此,僅僅依賴在管線上放油的測試方法遠遠不能完成充分檢驗泄漏監(jiān)測系統(tǒng)的任務。
在廣泛調(diào)研了國內(nèi)油氣管道泄漏監(jiān)測系統(tǒng)現(xiàn)狀的基礎上,設計并實現(xiàn)了一種用于評估該類系統(tǒng)軟件的仿真與測試平臺(以下簡稱平臺)。平臺中構建了基于深度學習的分段式管道模型,并使用實際管道中的壓力與流量數(shù)據(jù)來訓練模型。與此同時,根據(jù)典型的管道操作流程建立了場景模板,開發(fā)了相應的仿真指令及其解釋程序。根據(jù)仿真指令,平臺自動將場景模板輸入管段模型,得出在未來時間內(nèi)管道的響應數(shù)據(jù)并寫入時間序列數(shù)據(jù)庫,再以通訊協(xié)議的方式提供給被評估泄漏監(jiān)測系統(tǒng)使用。平臺可以模擬常見的管道運行狀態(tài)并可以插入在任意位置、任意時間和任意泄漏量的泄漏事件。測試結果表明,仿真平臺的輸出與真實管道的平均絕對百分比誤差不超過1%,完全可以用作評估泄漏監(jiān)測軟件使用。平臺的建成為檢驗或評價長輸管道泄漏監(jiān)測系統(tǒng)提供了一種安全、高效、方便且可信的軟件工具。
長期以來,如何用物理和數(shù)學的語言來描述長輸管道的行為,是管道儲運學科深入研究的課題之一。在歷史發(fā)展中,首先出現(xiàn)的管道模型是基于解析解的模型,即所謂“白箱”式模型,目前依然是主流的管道模型,但近年來在人工智能快速發(fā)展的帶動下,管道模型領域中出現(xiàn)了與此互補的“黑箱”式模型。
19世紀中期,達西—魏斯巴赫(Darcy-Weisbach)發(fā)表了著名的水頭損失計算公式,證明了在液體管道中壓力和流量之間存在著相互關聯(lián)的確定性關系,為之后的學者們開拓了上百年的研究課題[5],是管道的“白箱”式模型的起源。原始的達西公式對管道行為的描述采用了解析解與經(jīng)驗參數(shù)相結合的方法,但在后繼的研究中已經(jīng)逐步進化為求解在特定初始條件下的偏微分方程組。目前,市場上占據(jù)主要份額的管道仿真計算軟件如TGNET、SPS等均采用了這種“白箱”式模型,其方法均為遵循質量守恒、動量守恒與能量守恒的原理,在偏微分方程的基礎上求得近似解,典型的誤差范圍為1.3%~5.7%,均值約為3%[6]。
近期的研究報告中,曹燕龍等人[7]采用計算流體力學軟件Fluent,模擬了長120 m,管徑10 mm的實驗管道在輸送汽油時的泄漏行為,仿真結果與實際測量的相對誤差為4.11%;溫凱等人[8]使用解析解的方法建立了管道的最大輸量與總節(jié)流壓力最小的數(shù)學模型,并據(jù)此設計了成品油管道停電時水擊保護的控制邏輯;Rojas J等人[9]推導了實驗管道的偏微分方程組并求出了解析解,在長163 m,管徑76 mm的實驗管道上驗證了模型的準確性,取得了相對誤差僅為1.34%~1.82%的結果。
現(xiàn)有的“白箱”式模型要求所模擬的管道均勻一致,或至少要在2個數(shù)據(jù)測量點之間保持均勻一致,否則其準確性不能保證。這在現(xiàn)實生活里的長輸管道中難以實現(xiàn)。工業(yè)管道上數(shù)據(jù)采集點之間的距離通常會超過30 km,其地理環(huán)境往往相當復雜,很難保證管道一致性。因此,推導出具有符合客觀條件的明確解析解的“白箱”式模型,并使其預測的結果在長輸管道上準確可靠,是學者們長期以來追求的目標。
與“白箱”式模型不同,“黑箱”式模型忽略了數(shù)據(jù)采集點之間管道的物理參數(shù),僅僅依賴于各測量點所獲得的數(shù)據(jù),采用統(tǒng)計數(shù)學的方法來預測該段管道對激勵的響應。傳統(tǒng)的數(shù)學工具包括卡爾曼濾波器(Kalman Filter,KF)[10],隱馬爾可夫模型(Hidden Morkav Model,HMM)[11],以及混合高斯模型(Gaussian Mixture Model,GMM)[12]等。此外,近年來統(tǒng)計數(shù)學的算法已經(jīng)開始讓位于更為高效且效果更好的人工智能算法。
在2015年或更早,使用人工智能算法的科研人員通常需要仔細地選擇特征工程,使用支持向量機(Support Vector Machine,SVM)來完成預測復雜系統(tǒng)對激勵的響應[13-14],但后來的研究已經(jīng)證明了可以弱化特征工程,讓網(wǎng)絡自己學習,即采用深度學習的方法,反而可以獲得更好的結果。Cai Yaojie等人[15]使用原始的音波信號訓練卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN),并把泄漏信號分類后制成模板,對實時信號進行分類識別以判斷泄漏;李哲等人[16]使用了改變結構的CNN網(wǎng)絡,將時間序列信號首先通過濾波及頻域變換后,在二維空間里參照圖像識別的方法來分類管道的泄漏信號;于濤等人[17]嘗試使用具有記憶功能的長短期記憶網(wǎng)絡(Long Short Term Memory Networks,LSTM)來預測原油管道中的油溫,是成功應用了管道的“黑箱”式溫度模型的案例。在其他行業(yè),王華秋等人[18]使用LSTM網(wǎng)絡中的V-LSTM網(wǎng)絡模型來預測空壓機排氣壓力;吳澤民等人[19]在LSTM的輸出結果上結合了粒子群優(yōu)化算法,用于預測管道的應力數(shù)據(jù),都取得了良好的效果。
近年來,除了改進神經(jīng)網(wǎng)絡的功能,將兩種不同的神經(jīng)網(wǎng)絡組合應用[20],也取得了事半功倍的效果。借鑒前人的思路,課題組在嘗試平臺的建模過程中,采用了將一維卷積神經(jīng)網(wǎng)絡(1D-CNN)與LSTM組合建模的方式,建立了管道對壓力和流量響應的分段式“黑箱”式模型,獲得了滿意的結果。
采用組合式深度學習網(wǎng)絡來預測時間序列數(shù)據(jù)可以形象地比喻為:當研究一種按某種規(guī)律排列的、由各種彩色珠子構成的長鏈時,觀測者首先用一個放大鏡逐段地學習每個珠子的顏色和形狀(基于卷積核的卷積運算),然后放下放大鏡去學習各種珠子之間的排列規(guī)則(基于LSTM的運算)。當觀測者積累了足夠的經(jīng)驗后,就可以在看到部分珠子的基礎上預測后繼可能出現(xiàn)的珠子品種。經(jīng)驗越豐富(意味著使用大規(guī)模而且類型齊全的數(shù)據(jù)樣本),預測越準確。
卷積神經(jīng)網(wǎng)絡[21]非常合適用于提取時間序列數(shù)據(jù)在空間結構上的關系,即借助卷積核去逐段學習構成時間序列的數(shù)據(jù)特征。
在應用時,網(wǎng)絡中主要包括卷積層和池化層,在運行中采用局部連接、共享特征等技術來減低參數(shù)的數(shù)量,獲得數(shù)據(jù)的特征并加快訓練速度。一維卷積運算可以表達為:
(1)
(2)
重復對每個窗口為r的連續(xù)向量進行最大池化運算,即可求出具有最大特征值的序列。
長短期記憶網(wǎng)絡[21]則更適于提取時間序列中的時序特征,即著重學習相關個體之間的依賴關系。
假定按照時間順序采樣的壓力數(shù)據(jù)為(流量同理)x=(x1,x2,…,xt),此處t為預測時刻;同時假定記憶單元隱層中的時間序列為h=(h1,h2,…,ht),則LSTM記憶模塊的輸出序列y=(y1,y2,…,yt)可以通過下列方程依次迭代算出:
yt=Whyxt+by
(3)
ht=H(Wxhxt+Whhht-1+bh)
(4)
式中:W為權值矩陣;b為偏置向量;H為隱層函數(shù)。
H可以根據(jù)下列方程式依次求解:
it=σ(Wxipt+Whiht-1+Wcict-1+bi)
(5)
ft=σ(Wxfpt+Whfht-1+Wcfct-1+bf)
(6)
ct=ftct-1+itg(Wxcpt+whcht-1+bc)
(7)
qt=σ(Wxopt+Whoht-1+Wcoct-1+bo)
(8)
ht=qth(ct)
(9)
(10)
式中:i、f、q、c分別為輸入門、遺忘門、輸出門和記憶單元的狀態(tài)向量,其算法流程的形象表示見圖1。在每1個單元中,狀態(tài)向量與隱層向量具有相同的維度。
圖1 LSTM單元結構示意圖Fig.1 Cell structure diagram in LSTM
基于深度學習的“黑箱”式模型是一組深度學習程序運行后輸出的數(shù)據(jù)文件。該文件是對大規(guī)模樣本數(shù)據(jù)按照某種流程運算后得出的結果,此運算過程通常稱為對模型的訓練。深度學習算法通常使用Python程序設計語言并需要在特定的軟件平臺上運行,比如keras軟件等。
訓練模型的數(shù)據(jù)樣本可以來自文本文件,或通過接口程序直接從數(shù)據(jù)庫中提取。數(shù)據(jù)庫中的數(shù)據(jù)取自現(xiàn)役管道上的壓力與流量,其獲取的具體流程為:由壓力變送器或流量計算機將物理信號轉化為電流信號,然后在數(shù)據(jù)采集終端(Remote Terminel Unit,RTU)中進行集成和打包,再上傳至位于控制中心的泄漏監(jiān)測服務器,最終存儲在服務器上的時間序列數(shù)據(jù)庫(Time Series Database,TSDB)中。數(shù)據(jù)采集時,現(xiàn)場數(shù)據(jù)均需在RTU中獲得準確時間標簽,這是保證泄漏定位準確性的重要內(nèi)容之一。
建立管段模型時的算法流程見圖2。在提取數(shù)據(jù)庫中原始數(shù)據(jù)后,首先將每10 s一組的數(shù)據(jù)降采樣成1條樣本,然后對數(shù)據(jù)進行濾波,如此運行達到30條樣本后作為一批樣本送入模型進行訓練。本項目中聯(lián)合使用了小波和中值二層濾波器,以消除噪音與干擾,提升數(shù)據(jù)中的有效信息。建立模型時每個管段需要單獨進行訓練,而且要分別訓練正、反兩種流向。為了保證模型的泛化能力,訓練數(shù)據(jù)的樣本數(shù)量應大于10萬條,同時注意要在訓練樣本中包括管線運行的各種狀態(tài),避免僅僅使用穩(wěn)定狀態(tài)的數(shù)據(jù)。
模型訓練時采用了Python程序設計語言,在Keras深度學習編程框架下實現(xiàn)[22],該平臺集成了大量的神經(jīng)網(wǎng)絡模型包括多種CNN和LTSM。基于Python軟件的開發(fā)環(huán)境不僅方便高效,而且更包含了豐富的數(shù)據(jù)處理程序庫,使得模型的構造過程相對簡單。
圖2 建立管道模型時的算法流程圖Fig.2 Programming flow of pipe segment model building
平臺結構見圖3。平臺從功能上分為準備情景數(shù)據(jù)與測試數(shù)據(jù)輸出兩部分。準備情景數(shù)據(jù)包括石油管道的穩(wěn)定狀態(tài)和過渡過程,即停輸狀態(tài)、穩(wěn)定輸油狀態(tài)、啟輸過程、停輸過程以及流量調(diào)節(jié)過程。由于管道的各種運行狀態(tài)具有相似性,因此可以在分析典型狀態(tài)的基礎上建立標準準備情景模板。
圖3 平臺結構圖Fig.3 Structure diagram of platform
現(xiàn)實中的石油管道在大部分時間內(nèi)處于穩(wěn)定狀態(tài),包括停止輸送和穩(wěn)定輸送兩種情況。兩者的區(qū)別為停輸時系統(tǒng)的各項參數(shù)基本保持不變,而穩(wěn)定輸送時的壓力與流量雖有小的波動,但仍然基本穩(wěn)定。仿真時,穩(wěn)定狀態(tài)的情景采用輸入首站或末站端的壓力及流量數(shù)值,沿線的參數(shù)變化由管道模型計算得出。
同一條長輸管道的啟輸與停輸過程具有高度相似性,從測試泄漏監(jiān)測系統(tǒng)的目的出發(fā),分別選取了5種不同的啟輸與停輸之間的過渡過程作為情景模板供用戶調(diào)用。情景之間的主要區(qū)別為過渡過程中壓力變化的特點,如快速或慢速的平滑式改變,階梯狀改變,長周期或短周期振蕩式改變等幾種。與穩(wěn)定狀態(tài)相似,在管道的首站或末站注入壓力或流量的數(shù)值,由管道模型來計算各管段的響應。
調(diào)節(jié)流量的情景主要模擬管道流量線性增加或減小的過程。在設計中將此變化過程簡化為一次線性方程,即通過設定變化過程的時間長短和單位變化量來實現(xiàn)。調(diào)節(jié)流量過程的數(shù)據(jù)同樣為在管道的起點或終點依次輸入變化量,由模型計算中間各點的數(shù)據(jù)。
平臺的主要功能是仿真泄漏事件。參照現(xiàn)場實際放油過程中所獲得的壓力變化波形,將管道的泄漏事件簡化為三個階段進行描述,即起始階段、中間階段和結束階段,每個階段均為一次線性方程。在準備情景模板中可以設定每段各自不同的斜率與持續(xù)時間。泄漏事件由仿真軟件計算出壓力及流量發(fā)生變化的時間與位置,疊加至各管段的已有數(shù)值上。
由于管道的泄漏是隨機事件,因此平臺容許將泄漏事件預先定義在管道上某一位置,也可以定義在某區(qū)間內(nèi)的隨機位置,即可以設置泄漏發(fā)生的具體時刻,也可以設置為隨機時刻。這樣使得泄漏事件在時間和位置方面具有一定程度的不可預見性,更符合現(xiàn)實的泄漏情況。
在仿真泄漏事件的計算過程中,泄漏波形在泄漏管段兩端的時間差Δt=t1-t2應滿足如下公式:
Δt=(2Lleak-Lseg)/v
(11)
式中:Lleak為泄漏點至該管段起點的距離,m;Lseg為該管段長度,m;v為壓力波傳播速度,平臺以v=1 150 m/s 作為缺省值,但可以根據(jù)需要而設定為其他數(shù)值。
測試平臺根據(jù)仿真指令生成未來時間內(nèi)的模擬數(shù)據(jù)。仿真指令采用EXCEL表格的形式,按照事件發(fā)生的時間次序寫成腳本文件。一次典型的測試模擬泄漏情景腳本見表1。平臺在執(zhí)行測試指令前首先進行合法性檢查,以保證其時間及數(shù)據(jù)的連續(xù)性和泄漏事件的合理性,然后生成仿真數(shù)據(jù),最后將數(shù)據(jù)賦予未來時間標簽寫入數(shù)據(jù)仿真時間序列的數(shù)據(jù)庫中(圖3)。
現(xiàn)階段平臺暫時不支持管道中間存在分支點的情況,也不支持并發(fā)操作的情況。
在平臺上開發(fā)了以多線程方式運行的RTU程序,以便對外提供數(shù)據(jù)。目前已經(jīng)實現(xiàn)的通訊協(xié)議為OPC DA與MODBUS/TCP。此外,由于時間序列數(shù)據(jù)庫TSDB的訪問接口是開源軟件,有成熟的庫函數(shù)及調(diào)用模板可供參考,因此待測試系統(tǒng)也可以通過HTTP、TCP或UDP等協(xié)議從TSDB中直接提取數(shù)據(jù)。
表1 典型泄漏測試模擬準備情景腳本表Tab.1 Typical scripts on testing scenario
為了檢驗平臺的性能,課題組在實驗系統(tǒng)中接入了某成品油管道的實時數(shù)據(jù)。實驗中采集了中間站到末站4個點的壓力和末站的流量數(shù)據(jù),采集時間持續(xù)了10個月,期間建立了約25萬個數(shù)據(jù)樣本用于訓練和測試管段模型。
為了考察管道模型的仿真精度,采用了將模型的預測輸出與實時數(shù)據(jù)進行對比的方法,并以均方根誤差、平均絕對誤差和平均絕對百分比誤差3項指標來聯(lián)合評價其性能。其計算公式為:
(12)
(13)
(14)
在一次典型的輸油過程(約60 h)中實際管道與管段模型輸出數(shù)值的對比情況見表2,該組實際數(shù)據(jù)未在用于模型訓練和測試的數(shù)據(jù)集里面。對比時采用了每10 s數(shù)據(jù)的平均值。從表2可以看到,平臺的預測輸出與實時數(shù)據(jù)的各項誤差指標差別不大,其中MAPE為0.779%~0.992%,可以向上取整至1.0%,并以此作為系統(tǒng)的綜合誤差指標。
表2 管段模型測試結果表Tab.2 Testing results on pipe segment models
平臺生成的模擬管道在輸油狀態(tài)下發(fā)生泄漏事件的壓力曲線見圖4。模型生成的數(shù)據(jù)由被檢測系統(tǒng)的RTU讀取后上傳至該系統(tǒng)數(shù)據(jù)庫中。從圖4可以看到,由泄漏引起的壓力波動正確地出現(xiàn)在指定管段上,同時相鄰管段也依次出現(xiàn)了對應的壓力擾動。由人工讀取屏幕曲線上的時間節(jié)點及壓力數(shù)值,可以驗證其變化規(guī)律基本符合泄漏發(fā)生在實際管道上的情況,滿足測試泄漏監(jiān)測系統(tǒng)的要求。
a)上游管段波形a)Waveform in upstream
管道泄漏仿真與測試平臺在研發(fā)過程中成功實現(xiàn)了基于深度學習算法的“黑箱”式管道模型,從而可以模擬特定管道的常見穩(wěn)定狀態(tài)與過渡過程,并可以在此基礎上疊加泄漏事件。模型的輸出與實際管道響應的平均相對誤差小于1%,滿足在一般情況下評估泄漏監(jiān)測系統(tǒng)的需要。相比采用在管線上實際放油測試軟件的方法更加安全與高效,不受時間、地點、重復次數(shù)的限制,節(jié)約了測試成本。在合理設計測試情景腳本的前提下,測試結果可以信賴。對不同系統(tǒng)分別進行測試時,由于測試數(shù)據(jù)完全一致,因此評估結果具有很好的可比性。使用平臺對泄漏監(jiān)測系統(tǒng)進行評估與測試是一種新的嘗試,其好處顯而易見,值得推廣。