宋美艷,王炎初,劉 佩,王海東,賈澤冰
(1.西安熱工研究院有限公司,陜西 西安 710054; 2.南京南瑞繼保電氣有限公司,江蘇 南京 211002)
分散控制系統(tǒng)(DCS)是以控制功能分散、管理操作集中為主要特征的計算機控制系統(tǒng)[1],具有可靠性高、功能完善和靈活性強等特點。DCS在工程應(yīng)用中經(jīng)常需要對很多重要測點進行實時監(jiān)控(如壁溫),但又不需要壁溫[2]等測點全部時刻的數(shù)據(jù)都顯示在畫面上,而更關(guān)注測點數(shù)據(jù)的某些通體特征(如極值),以便運行值班人員進行及時有效地監(jiān)測和分析判斷。目前DCS監(jiān)控測點數(shù)據(jù)的通體特征一般采用2種方法獲得:1)通過DCS外部極值監(jiān)測系 統(tǒng)或者計算系統(tǒng)[3]導(dǎo)入特征值;2)通過在下位機組態(tài)[4]中搭建功能塊來計算特征值,并上送給上位機。第1種方法需建立DCS與外部計算測點極值系統(tǒng)間的數(shù)據(jù)通信[5],可靠性完全依賴于內(nèi)外部系統(tǒng)間所 采用的通信方法[6],實時性和安全性很難滿足要求;第2種方法僅適合監(jiān)測少量測點的極值變化,一旦監(jiān)測點數(shù)量達到幾百個以上,下位機組態(tài)工作量會很大,修改維護也非常不便,且一旦數(shù)據(jù)出現(xiàn)問題很難排查,給現(xiàn)場維護帶來了很大的困擾與隱患。
本文以機組啟動狀態(tài)下壁爐溫度監(jiān)測過程為例,如果DCS監(jiān)控畫面不能自動計算并監(jiān)測壁爐極值信息,將會影響運行人員做出準(zhǔn)確判斷,對安全生產(chǎn)非常重要。為保障現(xiàn)場運行的穩(wěn)定性、實時性,實現(xiàn)更好的人機交互[7],排除現(xiàn)場人員的困擾與隱患,本文提出一種基于畫面組態(tài)的聚類[8]極值實時計算方法。該方法通過二次聚類算法在歷史站進行測點極值計算,在DCS工程師站節(jié)點制作畫面后,不需復(fù)雜的算法組態(tài),就能在工程師站監(jiān)視到目標(biāo)測點數(shù)據(jù)極 值[9],有效滿足了值班人員對實時監(jiān)測壁爐溫度局部突變的需求,具有快速、高效、實時穩(wěn)定的特點。
初次聚類計算采用基于距離的k-means聚類算法。其計算過程是從畫面組態(tài)提取測點數(shù)據(jù)集作為輸入樣本集,T={x1,x2, …,xn},然后根據(jù)對測點數(shù)據(jù)集 的先驗知識選擇最合適的聚類特征個數(shù)k,記為C={C1,C2, ...,Ck};隨后從輸入樣本集T中隨機選擇k個樣本作為初始的k個質(zhì)心向量(聚類中心),U={u1,u2, ...,uk};接著計算畫面組態(tài)中測點數(shù)據(jù)集每個樣本xi到k個聚類中心的距離[10],計算過程如公式(1)所示,并將其劃分到距離k個聚類中心最近的質(zhì)心所對應(yīng)的類別yi[11],計算過程如式(2)所示;然后更新每個聚類簇,并針對每個聚類簇,重新計算其聚類中心,如此反復(fù)迭代,直至最后所有k個聚類中心不再發(fā)生變化,輸出聚類簇劃分C={C1,C2, …,Ck}。
計算完初次聚類后,針對已劃分的每一個聚類簇采用基于密度的局部離群因子(LOF)聚類分析進行二次聚類,并計算出每一個聚類簇內(nèi)的極值點。其計算過程為:首先根據(jù)初次聚類得到的每個簇的聚類中心p,計算該簇中每個點q與聚類中心p之間的距離,記為d(p,q);然后計算聚類中心p的第k距離dk(p),即點p第k遠點的距離;接著計算點q的第k距離鄰域Nk(q),即點q的第k距離以內(nèi)的所有點;隨后定義簇內(nèi)點q到聚類中心p的第k可達距離[12],計算過程如式(3)所示,由其定義可知,距離聚類中心p最近的k個點到聚類中心p的距離是相等的,并且都為dk(p);下一步計算點q的局部可達密度,記為lk(q)[13],計算過程如公式(4)所示,局部可達密度值越高代表了簇內(nèi)點q與聚類中心在二次聚類時屬于同一簇,反之lk(q)值越小,則代表簇內(nèi)點q與聚類中心不屬于同一簇,即有可能是需要計算的極值點;最后,基于以上計算結(jié)果計算點q局部離群因子密度值—ρLOF[14],計算過程如式(5)所示。本文將ρLOF值大于1的點視為所計算的測點極值,而將ρLOF值小于1的點判別為正常點。

在歷史站節(jié)點,通過連接實時數(shù)據(jù)庫,建立測點值內(nèi)存索引庫,實時獲取測點值。根據(jù)二次聚類計算的測點范圍、測點所屬的聚類簇以及每個測點的局部離群因子ρLOF值,基于對測點數(shù)據(jù)ρLOF值的判斷分析,可實時計算每個簇的極值。隨后將計算得到的測點極值通過內(nèi)存索引表存儲到實時數(shù)據(jù)庫中,畫面監(jiān)控軟件將測點對象標(biāo)識符(OID)作為輸入在實時數(shù)據(jù)庫庫中進行查詢,獲取該測點在數(shù)據(jù)庫中的極值信息,并將查詢結(jié)果實時展示在監(jiān)控畫面上。由于測點實時數(shù)據(jù)一直在變化,極值信息也會不斷發(fā)生變化,因此需要歷史站服務(wù)節(jié)點實時將測點極值信息通過組播報文發(fā)送到歷史站非服務(wù)節(jié)點和工程師站節(jié)點上。對測點值實時內(nèi)存索引庫進行更新包括2種方式:
1)通過OID對比進行全部更新和響應(yīng)DPU報文部分更新,歷史站二次聚類極值計算流程為接收DPU測點變化信息、更新測點值內(nèi)存實時索引庫、計算得到極值測點信息、發(fā)布極值測點信息。其中,測點數(shù)據(jù)列表信息包含測點KKS、標(biāo)記名、標(biāo)記名對應(yīng)的硬件地址字段等信息,并且部署在DCS歷史站節(jié)點上。
2)部署測點數(shù)據(jù)列表的歷史站節(jié)點有主、備服務(wù)節(jié)點,當(dāng)歷史站主服務(wù)節(jié)點關(guān)機后,系統(tǒng)會自動啟動備用節(jié)點計算服務(wù)功能。
工程師站節(jié)點部署實時數(shù)據(jù)庫接收歷史站的極值數(shù)據(jù)更新,圖1為工程師站節(jié)點測點數(shù)據(jù)實時內(nèi)存索引庫更新過程。

圖1 工程師站測點數(shù)據(jù)更新流程 Fig.1 Flow chart of measuring point data update of engineer station
工程師站節(jié)點在收到組播報文后,接收DPU測點變化信息,校驗本地測點值實時內(nèi)存索引庫的OID和工程師站服務(wù)節(jié)點發(fā)送過來的OID。工程師站節(jié)點在收到組播報文后,接收DPU測點變化信息,校驗本地測點值實時內(nèi)存索引庫的OID和工程師站服務(wù)節(jié)點發(fā)送過來的OID。如不相同,則更新工程師站非服務(wù)節(jié)點畫面顯示極值的測點值內(nèi)存索引庫的OID,獲取最新內(nèi)存索引庫中的OID;如相同,代表本地標(biāo)記名實時內(nèi)存索引庫最新,不用在工程師站對測點信息進行更新。
組態(tài)畫面啟動后,從畫面組態(tài)文件提取測點列表,建立測點值內(nèi)存索引庫,更新本節(jié)點測點內(nèi)存索引庫。根據(jù)本節(jié)點測點值內(nèi)存索引庫生成以“OID—測點值”為輸入的哈希表數(shù)據(jù)結(jié)構(gòu)。在畫面極值計算過程中,利用哈希表快速查找功能,對數(shù)據(jù)值進行快速比較校驗。通過工程師站服務(wù)節(jié)點建立測點值內(nèi)存索引庫,實時比較得到測點OID對應(yīng)的測點值數(shù)據(jù)表,并在歷史站進行二次聚類極值計算,其計算結(jié)果供工程師站畫面獲取并顯示。為保證工程師站畫面刷新效率,對于沒有打開顯示畫面極值的特定畫面的工程師站非服務(wù)節(jié)點,測點值實時內(nèi)存索引庫的信息是不完備的;打開特定畫面后,通過更新校驗才能夠保證畫面所有顯示測點極值的準(zhǔn)確性。打開畫面獲取測點實時內(nèi)存索引庫并進行極值計算過程為畫面啟動、獲取測點配置信息、建立內(nèi)存索引庫、極值計算。
中國華能集團某電廠百萬千瓦超超臨界機組全國產(chǎn)化DCS項目中,鍋爐壁溫包括螺旋水冷壁壁溫、垂直水冷壁壁溫、低過屏管壁溫、高溫過熱器壁溫、一次再熱壁溫、二次再熱壁溫、省煤器壁溫及隔墻壁溫[15]等,共3 000多個壁溫測點。基于多年的運維經(jīng)驗,鍋爐壁溫的超溫爆漏是危及機組安全運行的重要原因。
鍋爐壁溫雖可以通過專門的外部計算系統(tǒng)計算測點極值,但外部計算系統(tǒng)與DCS之間需要建立單獨的數(shù)據(jù)通信通道,其實時性與安全性完全依賴于內(nèi)外部系統(tǒng)間所采用的通信方法。一旦出現(xiàn)問題,需要排查的故障點多,實時性和穩(wěn)定性較差。如果從下位機搭建復(fù)雜的功能塊邏輯組態(tài)來計算極值,組態(tài)工作量很大,后期維護、擴容及查錯很復(fù)雜,難以保證系統(tǒng)的可靠性與實時性。
基于畫面組態(tài)的二次聚類極值實時計算方法已在瑞金智慧電廠改造項目中成功應(yīng)用,在歷史站通過二次聚類算法計算出監(jiān)測測點初始聚類簇中每個測點的局部離群因子,根據(jù)測點的局部離群因子篩選出極值,隨后將計算得到的測點極值通過內(nèi)存索引表存儲到實時數(shù)據(jù)庫中,最后畫面監(jiān)控軟件以測點OID作為輸入從實時數(shù)據(jù)庫中獲得測點極值信息并將查詢結(jié)果展示在監(jiān)控畫面上。實際工程表明該方法能保障測點極值計算的準(zhǔn)確性、實時性與穩(wěn)定性,并避免了外部極值計算系統(tǒng)與DCS通信可能產(chǎn)生的安全問題。
采用基于畫面組態(tài)的二次聚類極值實時計算方法,可以直觀地獲得各測點壁溫,極值點通過二次聚類算法自動完成計算,并由工程師站監(jiān)聽測點實時內(nèi)存索引庫的變化,將測點極值信息進行更新,直觀顯示在監(jiān)視畫面上,工作效率相比依靠下位機組態(tài)和外部系統(tǒng)計算極值提升了10倍以上,后期維護、擴容、查錯很方便。實時性、可靠性和穩(wěn)定性得到有力保障。
基于畫面組態(tài)的二次聚類極值實時計算方法,在DCS工程師站節(jié)點中,通過畫面測點配置信息更新,建立內(nèi)存索引庫,方便畫面進行快速定位并通過聚類算法計算測點極值信息,大大提高了測點極值信息的計算效率和準(zhǔn)確度。畫面可根據(jù)需要快速計算測點極值,直觀展示在用戶面前,避免了組態(tài)工作站搭建復(fù)雜邏輯帶來的不確定性及運行人員由于經(jīng)驗不足帶來的安全隱患問題,保證了數(shù)據(jù)計算的實時性與準(zhǔn)確性,可及時發(fā)現(xiàn)壁溫等數(shù)據(jù)局部過高等極值相關(guān)問題,輔助運行人員能快速準(zhǔn)確定位問題,更好地保障電廠的安全生產(chǎn)。