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