文獻標識碼: A
文章編號: 0258-7998(2015)04-0163-04
0 引言
符號有向圖(SDG)作為一種定性的故障診斷方法,能反映復雜系統(tǒng)內部變量間的因果關系,直觀地展示故障的傳播,在故障診斷和安全評估領域中被廣泛應用。在故障診斷方面,TARJAN R[1]、SHIOZAKI J[2]等在前人基礎上對算法進行了許多改進,提高了推理效率。YU C C等[3]在SDG半定量化方面也做出了突出貢獻。在安全評估方面,VENKATASUBRAMANIAN V[4]成功地將SDG應用于化工領域中。國內的吳重光[5,6]、蕭德云[7,8]等在這些領域也做了大量的工作。然而,對于大規(guī)模復雜工業(yè)系統(tǒng),將SDG方法用于模型構建、系統(tǒng)推理和SDG繪制上仍需要較強的專業(yè)背景和較大的工作量。
本文詳細描述了基于Django框架[9]的故障診斷和安全評估平臺的開發(fā)過程。該平臺采用了分層SDG模型和一種新的推理方法,繼承了Django易開發(fā)、便于更新維護、可二次利用的特點。本平臺支持系統(tǒng)模型的在線存儲和編輯、影響方程組文本文件上傳、自動化推理、故障傳播路徑查詢和分層SDG的自動繪制。
1 SDG相關理論
SDG模型由節(jié)點集和節(jié)點間的支路組成,其中每一個節(jié)點通常表示物理變量或事件。節(jié)點狀態(tài)值有3種:“+1”、“-1”、“0”,分別對應節(jié)點所代表的變量超過了允許的上限、低于允許的下限、處于正常范圍。若某一變量(起始節(jié)點)的偏差會直接影響另一變量(終止節(jié)點)的偏差,則通過由起始節(jié)點指向終止節(jié)點的支路相連。用實線箭頭或“+”號表示正作用,即起始節(jié)點與終止節(jié)點同時增大或減??;虛線箭頭或“-”號表示反作用,即起始節(jié)點增大(減小)時,終止節(jié)點減小(增大)。
某一時刻,系統(tǒng)所有節(jié)點狀態(tài)的一個集合稱為該系統(tǒng)的一個樣本,其中狀態(tài)不為“0”的節(jié)點稱為有效節(jié)點。在某一樣本下,如果直接相連的兩個節(jié)點的狀態(tài)值乘積和兩者之間的支路作用符號相同,則稱該支路在此樣本下為相容支路。由相容支路首尾連接組成的連通路徑稱為相容通路。
在SDG模型的推理方法中,反向推理是指利用當前的故障節(jié)點狀態(tài),通過反向尋找相容通路來確定系統(tǒng)可能的故障源,即所謂的故障診斷;正向推理是指利用SDG模型中已知節(jié)點狀態(tài)和節(jié)點間的相互關系進行正向搜索,推測下一時刻節(jié)點可能出現(xiàn)的狀態(tài),尋找故障造成的所有不利后果,即所謂的安全評估。
2 平臺設計
2.1 平臺框架的設計
平臺整體框架如圖1所示,分為瀏覽器端和服務器端兩大部分。
圖1 平臺框架
瀏覽器端包含兩部分:(1)人機交互界面用于獲取用戶輸入數(shù)據(jù)和結果顯示;(2)AJAX引擎可以在不重新加載頁面的情況下,對安全評估的結果進行更新顯示,有效減少了安全評估時的操作量。
服務器端基于Django的設計模式,由Python編寫而成。主要包含五部分:(1)URL映射器用于建立用戶輸入網(wǎng)址與處理函數(shù)的映射關系;(2)表現(xiàn)層決定瀏覽器端的顯示內容,通過Django的模板實現(xiàn);(3)業(yè)務邏輯層是整個平臺的核心,包含分層、推理等算法的具體實現(xiàn);(4)數(shù)據(jù)存取層是表現(xiàn)層與數(shù)據(jù)庫交換數(shù)據(jù)的橋梁,通過使用Django的模型實現(xiàn);(5)數(shù)據(jù)庫主要存儲系統(tǒng)模型信息和用戶信息。
在業(yè)務邏輯層,為了提高推理效率,該平臺采用了將分層SDG模型、故障診斷和安全評估相結合的推理方法。首先,對系統(tǒng)的SDG模型進行分層處理,在分層SDG模型中,故障只能影響本層或比之更低的層的節(jié)點,從而有效減少故障源搜索空間。其次,利用分層結果減少故障源搜索空間,進行反向推理,實現(xiàn)對系統(tǒng)的故障診斷。最后,利用故障診斷結果,結合改進的正向推理算法,實現(xiàn)對系統(tǒng)的安全評估。
2.2 分層算法
本平臺采用可達性的分層方法[10]對SDG模型進行分層。可達矩陣的計算方法如下:
P=A0+A1+…+An (1)
其中:A為SDG模型的鄰接矩陣,n為A的階數(shù),An表示A的n次方。P為SDG模型的可達矩陣。
本平臺中,分層算法如下所示:
輸入:有向圖模型?酌。
輸出:分層節(jié)點結果集S。
(1)由?酌獲取系統(tǒng)臨界矩陣A,令計數(shù)變量k=0;
(2)利用式(1)得到可達矩陣P;
(3)依次選取未被標記j(j∈[0,n-1]),若對于任意i∈[0,n-1],滿足Pij≠0時,Pji≠0,則Sk=Sk∪j,同時標記j;
(4)令矩陣P的第m(m∈Sk)行全清0,令S=S∪{Sk},k=k+1,重復步驟(3)、(4),直至Sk=θ。
2.3 反向推理
本平臺利用模型的分層結果、相容通路原理和深度優(yōu)先算法進行反向推理算法的設計。反向推理算法的實現(xiàn)如下:
輸入:有向圖模型?酌,分層結果S。
輸出:故障源集合F。
(1)獲取系統(tǒng)所有有效節(jié)點,得到集合C;
(2)隨機從C中選取未被標記節(jié)點vi,并做訪問標記,查詢vi在分層SDG模型中所在的層n;
(3)從Sm(m≤n)中選取以vi為終止節(jié)點的起始節(jié)點vj,若存在vj滿足vi與vj之間路徑ai滿足相容支路,則分以下情況處理:
①若vj未被標記,則標記vj,同時以vj為終止節(jié)點,令vi=vj,重復步驟(3);
②若vj已被標記,則跳至步驟(2);
③否則,F(xiàn)=F∪{vi};
(4)若C中仍存在未被標記節(jié)點,測重復步驟(2),直到所有節(jié)點被標記。
2.4 改進的正向推理
對于SDG的正向推理,通常依據(jù)式(2):
但式(2)成立的前提為故障在各支路的傳播速度相同,這與事實不符。在某些情況下,該方法會影響推理結果的完備性,并且該方法難以獲取故障傳播路徑。
為改進上述方法的不足,本平臺首先利用廣度優(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é)點,構成終止節(jié)點集合Sy。得到以vx為起點的路徑[vx,vy](vy∈Sy),受影響節(jié)點集合E=E∪Sy;
(2)選取以vy∈Sy為起始節(jié)點的所有終止節(jié)點,構成終止節(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,得出路徑上對應節(jié)狀態(tài)值集T。
3 TEP實例驗證
TEP[11]是一個經(jīng)典的用于故障診斷研究的化工廠仿真平臺。本平臺生成的TEP的分層SDG模型如圖 2所示,其符號說明見表1。節(jié)點由高層至底層顯示:用白色節(jié)點表示正常節(jié)點,深灰色節(jié)點表示正向偏差節(jié)點,淺灰色節(jié)點表示反向偏差節(jié)點;實線箭頭表示正作用支路;虛線箭頭表示反作用支路;灰色直線和數(shù)字表示節(jié)點所在的層。
為了對本平臺的有效性進行驗證,處理故障模式1(A/C進料比發(fā)生階躍變化)的數(shù)據(jù)[12],得到一個系統(tǒng)故障樣本,如表 2所示。
基于表2列出的故障樣本,系統(tǒng)推理出的故障診斷和安全評估結果如圖3所示。
在故障診斷結果窗口,系統(tǒng)推理出故障源為節(jié)點XC6、節(jié)點P16和節(jié)點T18,進一步推測出這是由于A/C進料比發(fā)生變化引起。與文獻[13]比較可知,推理結果正確。
在安全評估結果窗口,平臺顯示出下一刻所有可能受影響的節(jié)點。以選中故障源節(jié)點XC6和受影響節(jié)點V43為例,傳播路徑窗口自動列出故障由節(jié)點XC6傳播到節(jié)點V43的兩條路徑以及路徑中各節(jié)點的狀態(tài)值,得到在節(jié)點XC6發(fā)生故障的影響下,節(jié)點V43可能出現(xiàn)的狀態(tài)值集為{1}。
實際分析,XC6的升高,使得反應器中反應物E、A成分減少。其中,(1)節(jié)點XE6的降低,造成節(jié)點V43變大;(2)節(jié)點XA6的降低,造成節(jié)點V44變大,節(jié)點F1增加,使得節(jié)點XA6增加,又進一步造成了節(jié)點XE6的降低,節(jié)點V43變大。上述兩種情況與傳播路徑窗口中的兩條路徑一致。
4 結論
目前,SDG模型已應用于復雜生產系統(tǒng)的故障診斷和安全評估領域,但是將SDG方法用于系統(tǒng)推理和SDG繪制上仍需要較強的專業(yè)背景和較大的工作量。基于上述原因,本文詳細描述了基于SDG方法的故障診斷和安全評估平臺的開發(fā)過程,平臺的開發(fā)基于開源Django框架,具有搭建簡單、操作方便、易于二次開發(fā)等特點。該平臺利用分層SDG模型和新的推理算法實現(xiàn)對系統(tǒng)的故障診斷和安全評估,支持故障傳播路徑查詢和分層SDG的自動繪制。TEP實例結果證明平臺的推理結果完備、有效。該平臺有效降低了SDG方法對專業(yè)背景的要求,減少了使用SDG方法過程中的工作量,有較好的應用前景。
參考文獻
[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].化工學報,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] 韓曉明.基于符號有向圖和支持向量機的故障診斷方法的研究[D].太原:太原理工大學,2011.