文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2015)04-0163-04
0 引言
符號有向圖(SDG)作為一種定性的故障診斷方法,,能反映復(fù)雜系統(tǒng)內(nèi)部變量間的因果關(guān)系,直觀地展示故障的傳播,,在故障診斷和安全評估領(lǐng)域中被廣泛應(yīng)用,。在故障診斷方面,TARJAN R[1],、SHIOZAKI J[2]等在前人基礎(chǔ)上對算法進(jìn)行了許多改進(jìn),,提高了推理效率。YU C C等[3]在SDG半定量化方面也做出了突出貢獻(xiàn),。在安全評估方面,,VENKATASUBRAMANIAN V[4]成功地將SDG應(yīng)用于化工領(lǐng)域中,。國內(nèi)的吳重光[5,6],、蕭德云[7,,8]等在這些領(lǐng)域也做了大量的工作。然而,,對于大規(guī)模復(fù)雜工業(yè)系統(tǒng),,將SDG方法用于模型構(gòu)建、系統(tǒng)推理和SDG繪制上仍需要較強(qiáng)的專業(yè)背景和較大的工作量,。
本文詳細(xì)描述了基于Django框架[9]的故障診斷和安全評估平臺的開發(fā)過程。該平臺采用了分層SDG模型和一種新的推理方法,,繼承了Django易開發(fā),、便于更新維護(hù)、可二次利用的特點,。本平臺支持系統(tǒng)模型的在線存儲和編輯,、影響方程組文本文件上傳、自動化推理,、故障傳播路徑查詢和分層SDG的自動繪制,。
1 SDG相關(guān)理論
SDG模型由節(jié)點集和節(jié)點間的支路組成,其中每一個節(jié)點通常表示物理變量或事件,。節(jié)點狀態(tài)值有3種:“+1”,、“-1”、“0”,,分別對應(yīng)節(jié)點所代表的變量超過了允許的上限,、低于允許的下限、處于正常范圍,。若某一變量(起始節(jié)點)的偏差會直接影響另一變量(終止節(jié)點)的偏差,,則通過由起始節(jié)點指向終止節(jié)點的支路相連。用實線箭頭或“+”號表示正作用,,即起始節(jié)點與終止節(jié)點同時增大或減?。惶摼€箭頭或“-”號表示反作用,,即起始節(jié)點增大(減?。r,終止節(jié)點減?。ㄔ龃螅?。
某一時刻,系統(tǒng)所有節(jié)點狀態(tài)的一個集合稱為該系統(tǒng)的一個樣本,,其中狀態(tài)不為“0”的節(jié)點稱為有效節(jié)點,。在某一樣本下,,如果直接相連的兩個節(jié)點的狀態(tài)值乘積和兩者之間的支路作用符號相同,則稱該支路在此樣本下為相容支路,。由相容支路首尾連接組成的連通路徑稱為相容通路,。
在SDG模型的推理方法中,反向推理是指利用當(dāng)前的故障節(jié)點狀態(tài),,通過反向?qū)ふ蚁嗳萃穪泶_定系統(tǒng)可能的故障源,,即所謂的故障診斷;正向推理是指利用SDG模型中已知節(jié)點狀態(tài)和節(jié)點間的相互關(guān)系進(jìn)行正向搜索,,推測下一時刻節(jié)點可能出現(xiàn)的狀態(tài),,尋找故障造成的所有不利后果,即所謂的安全評估,。
2 平臺設(shè)計
2.1 平臺框架的設(shè)計
平臺整體框架如圖1所示,,分為瀏覽器端和服務(wù)器端兩大部分。
圖1 平臺框架
瀏覽器端包含兩部分:(1)人機(jī)交互界面用于獲取用戶輸入數(shù)據(jù)和結(jié)果顯示,;(2)AJAX引擎可以在不重新加載頁面的情況下,,對安全評估的結(jié)果進(jìn)行更新顯示,有效減少了安全評估時的操作量,。
服務(wù)器端基于Django的設(shè)計模式,,由Python編寫而成。主要包含五部分:(1)URL映射器用于建立用戶輸入網(wǎng)址與處理函數(shù)的映射關(guān)系,;(2)表現(xiàn)層決定瀏覽器端的顯示內(nèi)容,,通過Django的模板實現(xiàn);(3)業(yè)務(wù)邏輯層是整個平臺的核心,,包含分層,、推理等算法的具體實現(xiàn);(4)數(shù)據(jù)存取層是表現(xiàn)層與數(shù)據(jù)庫交換數(shù)據(jù)的橋梁,,通過使用Django的模型實現(xiàn),;(5)數(shù)據(jù)庫主要存儲系統(tǒng)模型信息和用戶信息。
在業(yè)務(wù)邏輯層,,為了提高推理效率,,該平臺采用了將分層SDG模型、故障診斷和安全評估相結(jié)合的推理方法,。首先,,對系統(tǒng)的SDG模型進(jìn)行分層處理,在分層SDG模型中,,故障只能影響本層或比之更低的層的節(jié)點,,從而有效減少故障源搜索空間。其次,利用分層結(jié)果減少故障源搜索空間,,進(jìn)行反向推理,,實現(xiàn)對系統(tǒng)的故障診斷。最后,,利用故障診斷結(jié)果,,結(jié)合改進(jìn)的正向推理算法,實現(xiàn)對系統(tǒng)的安全評估,。
2.2 分層算法
本平臺采用可達(dá)性的分層方法[10]對SDG模型進(jìn)行分層,。可達(dá)矩陣的計算方法如下:
P=A0+A1+…+An (1)
其中:A為SDG模型的鄰接矩陣,,n為A的階數(shù),,An表示A的n次方。P為SDG模型的可達(dá)矩陣,。
本平臺中,,分層算法如下所示:
輸入:有向圖模型?酌。
輸出:分層節(jié)點結(jié)果集S,。
(1)由?酌獲取系統(tǒng)臨界矩陣A,令計數(shù)變量k=0,;
(2)利用式(1)得到可達(dá)矩陣P,;
(3)依次選取未被標(biāo)記j(j∈[0,n-1]),,若對于任意i∈[0,,n-1],滿足Pij≠0時,,Pji≠0,,則Sk=Sk∪j,同時標(biāo)記j,;
(4)令矩陣P的第m(m∈Sk)行全清0,,令S=S∪{Sk},k=k+1,,重復(fù)步驟(3),、(4),直至Sk=θ,。
2.3 反向推理
本平臺利用模型的分層結(jié)果,、相容通路原理和深度優(yōu)先算法進(jìn)行反向推理算法的設(shè)計。反向推理算法的實現(xiàn)如下:
輸入:有向圖模型?酌,,分層結(jié)果S,。
輸出:故障源集合F。
(1)獲取系統(tǒng)所有有效節(jié)點,得到集合C,;
(2)隨機(jī)從C中選取未被標(biāo)記節(jié)點vi,,并做訪問標(biāo)記,查詢vi在分層SDG模型中所在的層n,;
(3)從Sm(m≤n)中選取以vi為終止節(jié)點的起始節(jié)點vj,,若存在vj滿足vi與vj之間路徑ai滿足相容支路,則分以下情況處理:
①若vj未被標(biāo)記,,則標(biāo)記vj,,同時以vj為終止節(jié)點,令vi=vj,,重復(fù)步驟(3),;
②若vj已被標(biāo)記,則跳至步驟(2),;
③否則,,F(xiàn)=F∪{vi};
(4)若C中仍存在未被標(biāo)記節(jié)點,,測重復(fù)步驟(2),,直到所有節(jié)點被標(biāo)記。
2.4 改進(jìn)的正向推理
對于SDG的正向推理,,通常依據(jù)式(2):
但式(2)成立的前提為故障在各支路的傳播速度相同,,這與事實不符。在某些情況下,,該方法會影響推理結(jié)果的完備性,,并且該方法難以獲取故障傳播路徑。
為改進(jìn)上述方法的不足,,本平臺首先利用廣度優(yōu)先算法,,得到由故障源節(jié)點為起點的所有傳播路徑集合,路徑中的節(jié)點即為受影響節(jié)點,。其次,,利用式(3)得到受影響節(jié)點在各個傳播路徑下的狀態(tài)值,從而得到所有受影響節(jié)點及其狀態(tài)值的集合,,實現(xiàn)對系統(tǒng)的安全評估,。
定義 “[]”表示有序集合,如[v1,,v2,,v3,…,,vn]表示v1,,v2,,v3…vn間有序。
正向推理算法的實現(xiàn)如下:
輸入:有向圖模型?酌,,故障源節(jié)點vx∈F,。
輸出:受影響節(jié)點集合E、以故障源為起點的路徑集合L,、及路徑L上各節(jié)點狀態(tài)值集合T,。
(1)依次獲取以vx為起始節(jié)點的所有終止節(jié)點,構(gòu)成終止節(jié)點集合Sy,。得到以vx為起點的路徑[vx,,vy](vy∈Sy),受影響節(jié)點集合E=E∪Sy,;
(2)選取以vy∈Sy為起始節(jié)點的所有終止節(jié)點,,構(gòu)成終止節(jié)點集合Sz,得到以vx為起點經(jīng)過vy的路徑[vx,,vy,,vz](vy∈Sz),受影響節(jié)點集合E=E∪Sz,;
(3)通過步驟(1),、(2)得到以vx(vx∈F)為起始節(jié)點的所有路徑L、最終的受影響節(jié)點集合E,;
(4)利用式(3)和路徑集合L,,得出路徑上對應(yīng)節(jié)狀態(tài)值集T。
3 TEP實例驗證
TEP[11]是一個經(jīng)典的用于故障診斷研究的化工廠仿真平臺,。本平臺生成的TEP的分層SDG模型如圖 2所示,,其符號說明見表1,。節(jié)點由高層至底層顯示:用白色節(jié)點表示正常節(jié)點,,深灰色節(jié)點表示正向偏差節(jié)點,淺灰色節(jié)點表示反向偏差節(jié)點,;實線箭頭表示正作用支路,;虛線箭頭表示反作用支路;灰色直線和數(shù)字表示節(jié)點所在的層,。
為了對本平臺的有效性進(jìn)行驗證,,處理故障模式1(A/C進(jìn)料比發(fā)生階躍變化)的數(shù)據(jù)[12],得到一個系統(tǒng)故障樣本,,如表 2所示,。
基于表2列出的故障樣本,系統(tǒng)推理出的故障診斷和安全評估結(jié)果如圖3所示,。
在故障診斷結(jié)果窗口,,系統(tǒng)推理出故障源為節(jié)點XC6、節(jié)點P16和節(jié)點T18,進(jìn)一步推測出這是由于A/C進(jìn)料比發(fā)生變化引起,。與文獻(xiàn)[13]比較可知,,推理結(jié)果正確。
在安全評估結(jié)果窗口,,平臺顯示出下一刻所有可能受影響的節(jié)點,。以選中故障源節(jié)點XC6和受影響節(jié)點V43為例,傳播路徑窗口自動列出故障由節(jié)點XC6傳播到節(jié)點V43的兩條路徑以及路徑中各節(jié)點的狀態(tài)值,,得到在節(jié)點XC6發(fā)生故障的影響下,,節(jié)點V43可能出現(xiàn)的狀態(tài)值集為{1}。
實際分析,,XC6的升高,,使得反應(yīng)器中反應(yīng)物E、A成分減少,。其中,,(1)節(jié)點XE6的降低,造成節(jié)點V43變大,;(2)節(jié)點XA6的降低,,造成節(jié)點V44變大,節(jié)點F1增加,,使得節(jié)點XA6增加,,又進(jìn)一步造成了節(jié)點XE6的降低,節(jié)點V43變大,。上述兩種情況與傳播路徑窗口中的兩條路徑一致,。
4 結(jié)論
目前,SDG模型已應(yīng)用于復(fù)雜生產(chǎn)系統(tǒng)的故障診斷和安全評估領(lǐng)域,,但是將SDG方法用于系統(tǒng)推理和SDG繪制上仍需要較強(qiáng)的專業(yè)背景和較大的工作量,。基于上述原因,,本文詳細(xì)描述了基于SDG方法的故障診斷和安全評估平臺的開發(fā)過程,,平臺的開發(fā)基于開源Django框架,具有搭建簡單,、操作方便,、易于二次開發(fā)等特點。該平臺利用分層SDG模型和新的推理算法實現(xiàn)對系統(tǒng)的故障診斷和安全評估,,支持故障傳播路徑查詢和分層SDG的自動繪制,。TEP實例結(jié)果證明平臺的推理結(jié)果完備、有效,。該平臺有效降低了SDG方法對專業(yè)背景的要求,,減少了使用SDG方法過程中的工作量,,有較好的應(yīng)用前景。
參考文獻(xiàn)
[1] TARJAN R.Depth-first search and linear graph algorithms[J].SIAM Journal on Computing,,1972,,1(2):146-160.
[2] SHIOZAKI J,MATSUYAMA H,,O′SHIMA E,,et al.An improved algorithm for diagnosis of system failures in the chemical process[J].Computers & Chemical Engineering,1985,,9(3):285-293.
[3] YU C C,,LEE C.Fault diagnosis based on qualitative/quan-titative process knowledge[J].AIChE Journal,1991,,37(4):617-628.
[4] VENKATASUBRAMANIAN V,,ZHAO J,VISWANATHAN S.Intelligent systems for HAZOP analysis of complex process plants[J].Computers & Chemical Engineering,,2000,,24(9):2291-2302.
[5] 張貝克,許欣,,高東,,等.基于定性趨勢與符號有向圖的模型校核方法[J].化工學(xué)報,2013,,64(12):4536-4543.
[6] ZHANG B,,XU X,MA X,,et al.SDG-based model valida-tion in chemical process simulation[J].Chinese Journal of Chemical Engineering,,2013,21(8):876-885.
[7] YANG F,,SHAH S,,XIAO D.Signed directed graph based modeling and its validation from process knowledge and process data[J].International Journal of Applied Mathematics and Computer Science,2012,,22(1):41-53.
[8] YANG F,,XIAO D,,SHAH S L.Signed directed graph-based hierarchical modelling and fault propagation analysis for large-scale systems[J].IET Control Theory & Applica-tions,,2013,7(4):537-550.
[9] Django project[EB/OL].[2014-11-20].https://www.django-project.com/.
[10] SEHGAL R,,GANDHI O P,,ANGRA S.Fault location of tribo-mechanical systems-a graph theory and matrix approach[J].Reliability Engineering and System Safety,2000,,70(1):1-14.
[11] DOWNS J J,,VOGEL E F.A plant-wide industrial process control problem[J].Computers & Chemical Engineering,,1993,17(3):245-255.
[12] Tennessee eastman challenge archive[DB/OL].[2014-11-20].http://depts.washington.edu/control/LARRY/TE/down-load.html.
[13] 韓曉明.基于符號有向圖和支持向量機(jī)的故障診斷方法的研究[D].太原:太原理工大學(xué),,2011.