2. 1 HAR模塊
HAR模塊是在當前數(shù)據(jù)存在非法數(shù)據(jù)時,通過對歷史數(shù)據(jù)的挖掘,聯(lián)系管道陰極保護系統(tǒng)失效的模式和管道狀況之間的關(guān)系,得出相應的評估結(jié)論,其流程見圖2。調(diào)查數(shù)據(jù)庫中是否存在相近數(shù)據(jù),如果存在相近數(shù)據(jù),則參考當時的評估結(jié)果給出當前評估結(jié)果;如果不存在相近數(shù)據(jù),則調(diào)用ACR模塊對當前數(shù)據(jù)進行挖掘,找出管道的測點間電勢降的規(guī)律,根據(jù)這一規(guī)律,對比管道存在的非法數(shù)據(jù),給出評估結(jié)論。
?
2. 2 ACR模塊
ACR模塊通過對當前最近一次測量數(shù)據(jù)的分析、挖掘,對埋地燃氣管道的陰極保護系統(tǒng)和防腐層狀況進行分析,從而得出管道的風險狀況。ACR模塊的核心就是改進的二分查找法。下面對此進行詳細的闡述。
?、?二分查找的基本思想
將有序數(shù)列的中點設置為比較對象,如果要找的元素值小于這中點元素,則將待查序列縮小為左半部分,否則為右半部分。即通過一次比較,將查找區(qū)間縮小一半。二分查找是一種高效的查找方法,它可以明顯減少比較次數(shù),提高查找效率。但須注意二分查找的先決條件是查找表中的數(shù)據(jù)元素必須整體基本有序。其算法步驟如下:a.確定整個查找區(qū)間的中間位置,即起點數(shù)據(jù)與終點數(shù)據(jù)和的一半所在的位置。b.用待查關(guān)鍵字值與中間位置的關(guān)鍵字值進行比較,若相等則查找成功;若大于,則在后半?yún)^(qū)域繼續(xù)進行二分查找;若小于,則在前半?yún)^(qū)域繼續(xù)進行二分查找。c.對確定的縮小區(qū)域再按二分公式,重復上述步驟。d.得到的結(jié)果為或查找成功,或查找失敗。存儲結(jié)構(gòu)用一維數(shù)組存股。
?、?改進的二分查找法
在列燃氣管道陰極保護系統(tǒng)進行分析評估時,我們并不需要準確定位某個節(jié)點,我們所關(guān)心的只是節(jié)點與節(jié)點之問的電位差。因此對二分查找法進行一定的修改,以便滿足需要。其算法步驟為:a.確定查找區(qū)間內(nèi)沒有大于-0.85 V的點。b.確定整個查找區(qū)間的中間位置。c.以中間節(jié)點為界,將前段區(qū)域的電位差記為templ,后段區(qū)域的電位差記為temp2。如果templ和temp2差的絕對值與templ的比小于判定數(shù),則在前端區(qū)域繼續(xù)進行二分查找;如果templ>temp2,則在前段區(qū)域繼續(xù)進行二分查找;如果templ<temp2;則在后段區(qū)域繼續(xù)進行二分查。d.對確定的縮小區(qū)域再用二分公式,重復上述步驟。e.最后得到電位差最大或相對較大,且絕對電位又較低的2個節(jié)點。如果這2個節(jié)點的電位差仍小于判定值,則查找不成功。改進后的算法編程如下所示:
int Ct=0,As=0;
?。?br />
int BinSearch(table R[],Rc)
int middle,low,high;
float templ,temp2;
constant float Jug,Jr:
table temp D[n/2];
low=0,high=n-1,middle=(low+high)/2;
if(R[high]>-0. 85){
int Tn=high-1;
while (Tn>low){
if(H[Tn]>-0. 85)Tn--;
else if (Tn!=high-1)return Ct=1:
else Break;
?。?br />
Tablecopy(tablc R,table tempD.low,Tn+1):
BinSearch(TempD,Rc=Null);
}
If(Rc!=Null){
Tablecopy(table R,table lempD,low,Golnumber(Re);
BinSearch(temp;),Rc-Null);
?。?br />
if(high-low==1){
if R[low]-R[high]<Jr return As=0;
templ=R[middle]-R[low];
temp2=R[high]-R [middle]
if abs(templ-temp2)/templ<=Jug
{
Tablecopy(table R,table templ),low.middle]:
Binseacrch(tempD):
?。?br />
else if templ>temp2
{
Tablecopy(table R,table tcmpD.low,middle);
Binseacreh(tempD);
}
else{
Tablecopy(table R,table tempD,middle,high);
Binsearch(tempD);
?。?br />
3 評估模型與陰極保護數(shù)據(jù)庫系統(tǒng)的接口
由于整個數(shù)據(jù)庫系統(tǒng)是基于Microsoft 的FoxPro,考慮到兼容性,首先采用C語言用VC來實現(xiàn)風險評估模型并變成DLL文件,然后在整個數(shù)據(jù)庫系統(tǒng)中直接對這個DLL文件進行調(diào)用,從而進一步提高整個系統(tǒng)的運行效率,也方便系統(tǒng)的擴容升級。同時考慮到在評估模型中采用的是二分查找,因此在把數(shù)據(jù)庫中的數(shù)據(jù)調(diào)入到評估模型中時,必須把數(shù)據(jù)讀入到一個緩存區(qū)中(一維數(shù)組)。在進行數(shù)據(jù)查詢時需要保留2個數(shù)據(jù),即非法數(shù)據(jù)和查詢數(shù)據(jù),以便滿足風險評估的需要。
由于客戶只關(guān)心最后的評估結(jié)果,因此我們把評估模塊集成到測量數(shù)據(jù)的查詢過程中,用戶在執(zhí)行測量數(shù)據(jù)查詢過程時,系統(tǒng)將自動調(diào)用評估模塊,進行燃氣管道的風險評估。這樣可以充分利用數(shù)據(jù)厙系統(tǒng)設計的緩存區(qū),提高程序的運行效率。
4 應用實例
利用模型對上海市石洞口煤氣廠出廠管蘊川路段進行分析評估,得出這段管道陰極保護系統(tǒng)部分區(qū)域沒有能夠保護到位,同時這段管道防腐層狀況也較差,部分區(qū)域管道處于欠保護狀態(tài)。為了驗證評估結(jié)果的正確性,2003年對蘊川路段管道進行實地檢測,并進行了開挖驗證(測量數(shù)據(jù)見表1)。
?
測試樁號 | 4號 | 5號 | 6號 | 7號 | 8號 |
自然電位/V | -0.57 | -0.64 | -0.74 | -0.77 | -0.77 |
陰極保護電位/V | -0.73 | -0.77 | -0.81 | -1.17 | -1.88 |
保護電位狀況 | 欠保護 | 欠保護 | 欠保護 | 保護 | 保護 |
實地檢測、開挖驗證結(jié)論為:
①防腐層狀況
這段管道的防腐層狀況經(jīng)用RD—PCM進行實地測量,得出這段管道防腐層欠佳,多處存在漏點,這點與風險評估模型的分析一致。
?、?陰極保護系統(tǒng)狀況
這段管道陰極保護的保護電位經(jīng)實地測量,多處沒有達到國家規(guī)定的保護電位-0. 85 V,這與軟件的分析結(jié)果一致。
?、?開挖驗證
2處開挖點均在評估管道的選擇范圍內(nèi)。開挖后發(fā)現(xiàn),管道本體腐蝕并不嚴重,沒有發(fā)生嚴重的金屬本體腐蝕,主要是由于陰極保護系統(tǒng)在起作用。實地檢測、開挖結(jié)果與軟件的分析結(jié)果基本一致,證明分析評估模型基本有效準確,符合實際檢測結(jié)果。
參考文獻:
[1] Mulbduer w K.Pipeline risk management manual[M]Houston:Gulf Puhlishing Cornpany,1996
[2] Jones D,Dawson J.Risk assessment to pipeline life management[J].Pipes and PiPcline International,1998,43(1):5-18
[3] 姚安林.論我國管道風險評估技術(shù)的發(fā)展戰(zhàn)略[J]天然氣工業(yè),1999,19(4):66—09.
[4] 李志鵬,李艷紅,胡國新,等 燃氣管道的風險評估方法[J].煤氣與熱力,2004,24(4):228—230.
?