《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于Django框架的故障診斷和安全評(píng)估平臺(tái)
基于Django框架的故障診斷和安全評(píng)估平臺(tái)
柴慶龍,謝 剛,陳澤華,趙 靚
太原理工大學(xué) 信息工程學(xué)院,山西 太原030024
摘要: 符號(hào)有向圖(SDG)作為一種定性研究方法,在系統(tǒng)推理和圖形繪制上有待改進(jìn)。詳細(xì)描述了計(jì)算機(jī)輔助下的SDG故障診斷和安全評(píng)估平臺(tái)的開發(fā)過程。平臺(tái)的開發(fā)基于開源Django框架,具有搭建維護(hù)簡(jiǎn)單、操作方便、易于二次開發(fā)等特點(diǎn);利用分層SDG模型和新的推理算法實(shí)現(xiàn)對(duì)系統(tǒng)的故障診斷和安全評(píng)估,支持故障傳播路徑查詢和分層SDG的自動(dòng)繪制。以田納西-伊斯曼過程(TEP)為例,對(duì)平臺(tái)的有效性進(jìn)行驗(yàn)證,結(jié)果證明平臺(tái)推理結(jié)果完備、有效,具有實(shí)際應(yīng)用的前景。
中圖分類號(hào): TP391.7;TP277
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2015)04-0163-04
Fault diagnosis and safety evaluation platform based on the Django framework
Chai Qinglong,Xie Gang,Chen Zehua,Zhao Liang
College of Information Engineering, Taiyuan University of Technology,Taiyuan 030024,China
Abstract: Signed directed graph(SDG) method, a widely used qualitative research method, still could be improved on reasoning and drawing graphics. In this paper, a computer-assisted platform about fault diagnosis and safety evaluation is introduced, the development process of which is also described in detail. Base on the open source framework named Django, the platform has a series of characteristics, such as simple building and maintenance,easy to operate and secondary development and so on. The platform achieves the fault diagnosis and security assessment through the stratified SDG model and an improved reasoning algorithm, and supports the functions of querying fault propagative path and automatically drawing the stratified SDG. The Tennessee - Eastman process(TEP) is used to prove the effectiveness of the platform. The results show that the platform is effective and has prospects of practical application.
Key words : fault diagnosis;safety evaluation;signed directed graph(SDG);Django


0 引言
    符號(hào)有向圖(SDG)作為一種定性的故障診斷方法,能反映復(fù)雜系統(tǒng)內(nèi)部變量間的因果關(guān)系,直觀地展示故障的傳播,在故障診斷和安全評(píng)估領(lǐng)域中被廣泛應(yīng)用。在故障診斷方面,TARJAN R[1]、SHIOZAKI J[2]等在前人基礎(chǔ)上對(duì)算法進(jìn)行了許多改進(jìn),提高了推理效率。YU C C等[3]在SDG半定量化方面也做出了突出貢獻(xiàn)。在安全評(píng)估方面,VENKATASUBRAMANIAN V[4]成功地將SDG應(yīng)用于化工領(lǐng)域中。國內(nèi)的吳重光[5,6]、蕭德云[7,8]等在這些領(lǐng)域也做了大量的工作。然而,對(duì)于大規(guī)模復(fù)雜工業(yè)系統(tǒng),將SDG方法用于模型構(gòu)建、系統(tǒng)推理和SDG繪制上仍需要較強(qiáng)的專業(yè)背景和較大的工作量。
    本文詳細(xì)描述了基于Django框架[9]的故障診斷和安全評(píng)估平臺(tái)的開發(fā)過程。該平臺(tái)采用了分層SDG模型和一種新的推理方法,繼承了Django易開發(fā)、便于更新維護(hù)、可二次利用的特點(diǎn)。本平臺(tái)支持系統(tǒng)模型的在線存儲(chǔ)和編輯、影響方程組文本文件上傳、自動(dòng)化推理、故障傳播路徑查詢和分層SDG的自動(dòng)繪制。
1 SDG相關(guān)理論
    SDG模型由節(jié)點(diǎn)集和節(jié)點(diǎn)間的支路組成,其中每一個(gè)節(jié)點(diǎn)通常表示物理變量或事件。節(jié)點(diǎn)狀態(tài)值有3種:“+1”、“-1”、“0”,分別對(duì)應(yīng)節(jié)點(diǎn)所代表的變量超過了允許的上限、低于允許的下限、處于正常范圍。若某一變量(起始節(jié)點(diǎn))的偏差會(huì)直接影響另一變量(終止節(jié)點(diǎn))的偏差,則通過由起始節(jié)點(diǎn)指向終止節(jié)點(diǎn)的支路相連。用實(shí)線箭頭或“+”號(hào)表示正作用,即起始節(jié)點(diǎn)與終止節(jié)點(diǎn)同時(shí)增大或減??;虛線箭頭或“-”號(hào)表示反作用,即起始節(jié)點(diǎn)增大(減?。r(shí),終止節(jié)點(diǎn)減小(增大)。
    某一時(shí)刻,系統(tǒng)所有節(jié)點(diǎn)狀態(tài)的一個(gè)集合稱為該系統(tǒng)的一個(gè)樣本,其中狀態(tài)不為“0”的節(jié)點(diǎn)稱為有效節(jié)點(diǎn)。在某一樣本下,如果直接相連的兩個(gè)節(jié)點(diǎn)的狀態(tài)值乘積和兩者之間的支路作用符號(hào)相同,則稱該支路在此樣本下為相容支路。由相容支路首尾連接組成的連通路徑稱為相容通路。
    在SDG模型的推理方法中,反向推理是指利用當(dāng)前的故障節(jié)點(diǎn)狀態(tài),通過反向?qū)ふ蚁嗳萃穪泶_定系統(tǒng)可能的故障源,即所謂的故障診斷;正向推理是指利用SDG模型中已知節(jié)點(diǎn)狀態(tài)和節(jié)點(diǎn)間的相互關(guān)系進(jìn)行正向搜索,推測(cè)下一時(shí)刻節(jié)點(diǎn)可能出現(xiàn)的狀態(tài),尋找故障造成的所有不利后果,即所謂的安全評(píng)估。
2 平臺(tái)設(shè)計(jì)
2.1 平臺(tái)框架的設(shè)計(jì)

    平臺(tái)整體框架如圖1所示,分為瀏覽器端和服務(wù)器端兩大部分。

)4C[)3XE105T8TC)Z)9V1RF.jpg

圖1  平臺(tái)框架

    瀏覽器端包含兩部分:(1)人機(jī)交互界面用于獲取用戶輸入數(shù)據(jù)和結(jié)果顯示;(2)AJAX引擎可以在不重新加載頁面的情況下,對(duì)安全評(píng)估的結(jié)果進(jìn)行更新顯示,有效減少了安全評(píng)估時(shí)的操作量。
    服務(wù)器端基于Django的設(shè)計(jì)模式,由Python編寫而成。主要包含五部分:(1)URL映射器用于建立用戶輸入網(wǎng)址與處理函數(shù)的映射關(guān)系;(2)表現(xiàn)層決定瀏覽器端的顯示內(nèi)容,通過Django的模板實(shí)現(xiàn);(3)業(yè)務(wù)邏輯層是整個(gè)平臺(tái)的核心,包含分層、推理等算法的具體實(shí)現(xiàn);(4)數(shù)據(jù)存取層是表現(xiàn)層與數(shù)據(jù)庫交換數(shù)據(jù)的橋梁,通過使用Django的模型實(shí)現(xiàn);(5)數(shù)據(jù)庫主要存儲(chǔ)系統(tǒng)模型信息和用戶信息。
    在業(yè)務(wù)邏輯層,為了提高推理效率,該平臺(tái)采用了將分層SDG模型、故障診斷和安全評(píng)估相結(jié)合的推理方法。首先,對(duì)系統(tǒng)的SDG模型進(jìn)行分層處理,在分層SDG模型中,故障只能影響本層或比之更低的層的節(jié)點(diǎn),從而有效減少故障源搜索空間。其次,利用分層結(jié)果減少故障源搜索空間,進(jìn)行反向推理,實(shí)現(xiàn)對(duì)系統(tǒng)的故障診斷。最后,利用故障診斷結(jié)果,結(jié)合改進(jìn)的正向推理算法,實(shí)現(xiàn)對(duì)系統(tǒng)的安全評(píng)估。
2.2 分層算法
    本平臺(tái)采用可達(dá)性的分層方法[10]對(duì)SDG模型進(jìn)行分層??蛇_(dá)矩陣的計(jì)算方法如下:
    P=A0+A1+…+An                                    (1)
其中:A為SDG模型的鄰接矩陣,n為A的階數(shù),An表示A的n次方。P為SDG模型的可達(dá)矩陣。
    本平臺(tái)中,分層算法如下所示:
    輸入:有向圖模型?酌。
    輸出:分層節(jié)點(diǎn)結(jié)果集S。
    (1)由?酌獲取系統(tǒng)臨界矩陣A,令計(jì)數(shù)變量k=0;
    (2)利用式(1)得到可達(dá)矩陣P;
    (3)依次選取未被標(biāo)記j(j∈[0,n-1]),若對(duì)于任意i∈[0,n-1],滿足Pij≠0時(shí),Pji≠0,則Sk=Sk∪j,同時(shí)標(biāo)記j;
    (4)令矩陣P的第m(m∈Sk)行全清0,令S=S∪{Sk},k=k+1,重復(fù)步驟(3)、(4),直至Sk=θ。
2.3 反向推理
    本平臺(tái)利用模型的分層結(jié)果、相容通路原理和深度優(yōu)先算法進(jìn)行反向推理算法的設(shè)計(jì)。反向推理算法的實(shí)現(xiàn)如下:
    輸入:有向圖模型?酌,分層結(jié)果S。
    輸出:故障源集合F。
    (1)獲取系統(tǒng)所有有效節(jié)點(diǎn),得到集合C;
    (2)隨機(jī)從C中選取未被標(biāo)記節(jié)點(diǎn)vi,并做訪問標(biāo)記,查詢vi在分層SDG模型中所在的層n;
    (3)從Sm(m≤n)中選取以vi為終止節(jié)點(diǎn)的起始節(jié)點(diǎn)vj,若存在vj滿足vi與vj之間路徑ai滿足相容支路,則分以下情況處理:
    ①若vj未被標(biāo)記,則標(biāo)記vj,同時(shí)以vj為終止節(jié)點(diǎn),令vi=vj,重復(fù)步驟(3);
    ②若vj已被標(biāo)記,則跳至步驟(2);
    ③否則,F(xiàn)=F∪{vi};
    (4)若C中仍存在未被標(biāo)記節(jié)點(diǎn),測(cè)重復(fù)步驟(2),直到所有節(jié)點(diǎn)被標(biāo)記。
2.4 改進(jìn)的正向推理
    對(duì)于SDG的正向推理,通常依據(jù)式(2):
0HY3A5K223~}VJP0RNY6(GA.png   

    但式(2)成立的前提為故障在各支路的傳播速度相同,這與事實(shí)不符。在某些情況下,該方法會(huì)影響推理結(jié)果的完備性,并且該方法難以獲取故障傳播路徑。
    為改進(jìn)上述方法的不足,本平臺(tái)首先利用廣度優(yōu)先算法,得到由故障源節(jié)點(diǎn)為起點(diǎn)的所有傳播路徑集合,路徑中的節(jié)點(diǎn)即為受影響節(jié)點(diǎn)。其次,利用式(3)得到受影響節(jié)點(diǎn)在各個(gè)傳播路徑下的狀態(tài)值,從而得到所有受影響節(jié)點(diǎn)及其狀態(tài)值的集合,實(shí)現(xiàn)對(duì)系統(tǒng)的安全評(píng)估。
@)L$MNW3`P1XE}F75MC}3E6.png   

    定義  “[]”表示有序集合,如[v1,v2,v3,…,vn]表示v1,v2,v3…vn間有序。
    正向推理算法的實(shí)現(xiàn)如下:
    輸入:有向圖模型?酌,故障源節(jié)點(diǎn)vx∈F。
    輸出:受影響節(jié)點(diǎn)集合E、以故障源為起點(diǎn)的路徑集合L、及路徑L上各節(jié)點(diǎn)狀態(tài)值集合T。
    (1)依次獲取以vx為起始節(jié)點(diǎn)的所有終止節(jié)點(diǎn),構(gòu)成終止節(jié)點(diǎn)集合Sy。得到以vx為起點(diǎn)的路徑[vx,vy](vy∈Sy),受影響節(jié)點(diǎn)集合E=E∪Sy;
    (2)選取以vy∈Sy為起始節(jié)點(diǎn)的所有終止節(jié)點(diǎn),構(gòu)成終止節(jié)點(diǎn)集合Sz,得到以vx為起點(diǎn)經(jīng)過vy的路徑[vx,vy,vz](vy∈Sz),受影響節(jié)點(diǎn)集合E=E∪Sz
    (3)通過步驟(1)、(2)得到以vx(vx∈F)為起始節(jié)點(diǎn)的所有路徑L、最終的受影響節(jié)點(diǎn)集合E;
    (4)利用式(3)和路徑集合L,得出路徑上對(duì)應(yīng)節(jié)狀態(tài)值集T。
3 TEP實(shí)例驗(yàn)證
    TEP[11]是一個(gè)經(jīng)典的用于故障診斷研究的化工廠仿真平臺(tái)。本平臺(tái)生成的TEP的分層SDG模型如圖 2所示,其符號(hào)說明見表1。節(jié)點(diǎn)由高層至底層顯示:用白色節(jié)點(diǎn)表示正常節(jié)點(diǎn),深灰色節(jié)點(diǎn)表示正向偏差節(jié)點(diǎn),淺灰色節(jié)點(diǎn)表示反向偏差節(jié)點(diǎn);實(shí)線箭頭表示正作用支路;虛線箭頭表示反作用支路;灰色直線和數(shù)字表示節(jié)點(diǎn)所在的層。

T}6WC{JU4V_PB(10V0REV64.jpg

S2HR{VI~~O)H}U9ZDH)_V@W.png

    為了對(duì)本平臺(tái)的有效性進(jìn)行驗(yàn)證,處理故障模式1(A/C進(jìn)料比發(fā)生階躍變化)的數(shù)據(jù)[12],得到一個(gè)系統(tǒng)故障樣本,如表 2所示。

4{W~9AFKK1BG[)I2]RL1X~7.png

    基于表2列出的故障樣本,系統(tǒng)推理出的故障診斷和安全評(píng)估結(jié)果如圖3所示。

IT$QMJJ27@})IHDU9U}])~2.jpg

    在故障診斷結(jié)果窗口,系統(tǒng)推理出故障源為節(jié)點(diǎn)XC6、節(jié)點(diǎn)P16和節(jié)點(diǎn)T18,進(jìn)一步推測(cè)出這是由于A/C進(jìn)料比發(fā)生變化引起。與文獻(xiàn)[13]比較可知,推理結(jié)果正確。
    在安全評(píng)估結(jié)果窗口,平臺(tái)顯示出下一刻所有可能受影響的節(jié)點(diǎn)。以選中故障源節(jié)點(diǎn)XC6和受影響節(jié)點(diǎn)V43為例,傳播路徑窗口自動(dòng)列出故障由節(jié)點(diǎn)XC6傳播到節(jié)點(diǎn)V43的兩條路徑以及路徑中各節(jié)點(diǎn)的狀態(tài)值,得到在節(jié)點(diǎn)XC6發(fā)生故障的影響下,節(jié)點(diǎn)V43可能出現(xiàn)的狀態(tài)值集為{1}。
    實(shí)際分析,XC6的升高,使得反應(yīng)器中反應(yīng)物E、A成分減少。其中,(1)節(jié)點(diǎn)XE6的降低,造成節(jié)點(diǎn)V43變大;(2)節(jié)點(diǎn)XA6的降低,造成節(jié)點(diǎn)V44變大,節(jié)點(diǎn)F1增加,使得節(jié)點(diǎn)XA6增加,又進(jìn)一步造成了節(jié)點(diǎn)XE6的降低,節(jié)點(diǎn)V43變大。上述兩種情況與傳播路徑窗口中的兩條路徑一致。
4 結(jié)論
    目前,SDG模型已應(yīng)用于復(fù)雜生產(chǎn)系統(tǒng)的故障診斷和安全評(píng)估領(lǐng)域,但是將SDG方法用于系統(tǒng)推理和SDG繪制上仍需要較強(qiáng)的專業(yè)背景和較大的工作量?;谏鲜鲈?,本文詳細(xì)描述了基于SDG方法的故障診斷和安全評(píng)估平臺(tái)的開發(fā)過程,平臺(tái)的開發(fā)基于開源Django框架,具有搭建簡(jiǎn)單、操作方便、易于二次開發(fā)等特點(diǎn)。該平臺(tái)利用分層SDG模型和新的推理算法實(shí)現(xiàn)對(duì)系統(tǒng)的故障診斷和安全評(píng)估,支持故障傳播路徑查詢和分層SDG的自動(dòng)繪制。TEP實(shí)例結(jié)果證明平臺(tái)的推理結(jié)果完備、有效。該平臺(tái)有效降低了SDG方法對(duì)專業(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] 張貝克,許欣,高東,等.基于定性趨勢(shì)與符號(hào)有向圖的模型校核方法[J].化工學(xué)報(bào),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] 韓曉明.基于符號(hào)有向圖和支持向量機(jī)的故障診斷方法的研究[D].太原:太原理工大學(xué),2011.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。