彭曉紅 劉文良 于 杰 孫 燕 劉文淵 劉海陽 鮑建成 劉久富
(1.江蘇海事職業技術學院信息工程系,211170,南京; 2.南京航空航天大學自動化學院,210016,南京 ; 3.東南大學電子科學與工程學院,210096,南京∥第一作者,助理研究員)
部分可觀Petri網系統的在線故障診斷方法
彭曉紅1劉文良2于 杰2孫 燕2劉文淵2劉海陽3鮑建成1劉久富2
(1.江蘇海事職業技術學院信息工程系,211170,南京; 2.南京航空航天大學自動化學院,210016,南京 ; 3.東南大學電子科學與工程學院,210096,南京∥第一作者,助理研究員)
針對Petri網系統故障檢測與診斷過程中存在狀態枚舉及隨后的狀態爆炸問題,采用整數線性規劃方法,提出了Petri網系統的在線故障診斷算法。算法將故障表示為Petri網模型的不可觀變遷,定義了故障診斷器函數,通過可觀的變遷序列,診斷系統行為是否出現故障。該算法避免了狀態空間爆炸,降低了在線運算量的復雜性。以地鐵列車進出站系統為實例,對地鐵列車進出站系統進行含不可觀變遷Petri網建模,應用提出的算法對鐵列車進出站系統故障進行診斷。試驗表明,該算法能有效應用于地鐵列車進出站過程在線故障診斷。
地鐵; Petri網; 故障診斷; 不可觀變遷; 整數線性規劃
First-author′s address Department of Information Engineering,Jiangsu Maritime Institute,211170,Nanjing,China
Petri網(PN)作為一個網系統,具有直觀的圖形表示和嚴密的數學基礎雙重特性,常被廣泛應用于離散事件系統(Discrete Event System,DES)中。地鐵列車的故障檢測與診斷研究即屬于DES。
基于Petri網的DES故障檢測與診斷技術研究成果當前主要包括解釋診斷器、編譯診斷器、PN架構中在線故障檢測策略、G-標識法及針對在線異步診斷的網展開法等算法。不同算法的適用條件不一定相同,同時也有各自的優缺點。
解釋診斷器算法計算量大、不需要計算狀態空間、存儲器需求量小,可用于計算在線故障或故障狀態[1-7]。編譯診斷器算法需要收集系統可能發生的故障集或系統可能出現的故障狀態;建立編譯診斷器需要的計算量很大,同時也需要大量的存儲器;診斷器可離線運行,但會導致狀態空間很大。PN架構中在線故障檢測策略可避免當系統框架變化的時候重新設計和重新定義診斷器的工作。針對在線異步診斷的網展開法會引起解釋診斷,其狀態爆炸受到良好的控制,但計算量可能會增長[8]。
有的地鐵列車進出站系統在Petri網模型框架下采用整數線性規劃約束[1]來實現系統故障的檢測與診斷。該方法的優勢在于避免了狀態空間爆炸而且將診斷器設計為缺乏離線計算的解釋診斷器。此外,通過合理的離線估計,計算量可以進一步被減小。同時為防止離線計算的復雜性和耗時性,地鐵列車進出站系統故障的檢測與診斷方法可以完全運行于在線狀態,從而使得地鐵進出站系統故障能及時被檢測與診斷。
不可觀誘導子網PNuTuPN,可由PN去掉T
LabeledPetriNets(標記Petri網)如給定系統PN,則稱函數λ:T→E∪{ε}為其變遷標記函數[9]。該函數分配到每個變遷t∈T的結果要么是ei∈E要么為空串ε。
若t∈Tu,則λ(t)=ε;若t∈To,則λ(t)≠ε。
1.1 系統故障行為描述
給定初始標識M0∈(n)及滿足M0[σ0〉的可觀變遷序列σ0,則:
σ0在M0處的解釋集為:
σ0在M0處包含故障fk的解釋集為:
1.2 Petri網模型假設及故障診斷器
假設:
(H1)系統可由網PN=(P,T,Pre,Post)模型化,并且初始標識M0已知;
(H2)To=E中與變遷點相關的標記是可觀的;
(H3)子網PNuTuPN為非循環的。
條件(H1)和(H2)是顯示系統知識水平的假設,(H3)是基于PN模型的故障檢測領域中共同采用的假設:不可觀變遷的循環是不容許的。在(H3)的假設下,易知用于PNu的狀態方程無虛偽的解。因此,它可以用來計算與可解釋可觀變遷點火的不可觀序列相關的點火計數向量。
(1) 若對任意fk∈Δf都有∑(M0,σ0,fk)=?,則Φ(M0,w)={N},在w中由于不存在包含與觀測器一致的變遷τk∈Tf的點火序列,系統行為無故障。
(2)Φ(M0,w)={fk∈Δf|∑(M0,σ0,fk)≠?,且σ0=w},系統行為在觀測字w中出現故障。在這種情形下故障診斷器提供可能包含在與觀測字相一致的序列中的故障fk∈Δf。
(3)Φ(M0,w)={fk∈Δf|∑(M0,σ0,fk)≠?,且σ0=w}∪{N},系統的行為可能有故障,因為故障fk∈Δf可能在w中已經發生,也可能系統行為無故障。
1.3 故障診斷器的線性約束
在線工作的故障診斷器Φ的程序中,對于每個初始標識M0∈(m),在被w∈L的點火處,文獻[10]中的定理2給出了每個在M0處的發生與被觀測序列σo=w相一致的序列σ∈T(*)的線性代數特征。該定理允許去證實診斷器并將系統的行為特征劃分為無故障、故障已發生及故障可能已發生3種狀態。
文獻[10]中的定理1即為診斷器線性約束條件。已知DES由語言L描述,并由PN系統〈PN,M0〉模型化,且滿足條件(H1)~(H3)。當且僅當存在h個點火向量σu1,…,σui,…,σuh滿足下列線性約束:
(1)
則給定的1個觀測字w∈L(w=σo=tα1tα2…tαh)及一個點火序列σ=σu1tα1…σuhtαh,(|σui|≥0,i=1,2,…,h)滿足σ∈∑(M0,σ0)。
文獻[10]中的定理2為已知DES由語言L描述,并由PN=〈PN,M0〉模型化,且滿足條件(H1)~(H3)。給定一個觀測字w∈L (w=σo=tα1tα2…tαh),定義如下整數線性規劃(IntegerLinearProgramming,ILP)問題:
(2)
(3)
1.4 故障檢測與診斷算法
本文提出基于Petri網模型及整數線性規劃的在線故障檢測算法(見圖1)。算法的輸入為初始標識M0、PN結構PN=(P,T,Pre,Post)及DES的可觀測事件。將PN結構中變遷劃分為T=To∪Tu,Tu=Tf∪Tnf,并確定變遷標記函數λ。
初始化算法中變量w,h,σo,記錄事件并等待新事件e被觀測。若字w (|w|=h)已被觀測,則通過標記函數λ得到w=λ(σ)且σo=tα1tα2…tαh=w ∈σ(其中tαi∈To,i=1,2,…,h)。此外,定義一個維數為F的向量φmax,對于任意fθ∈Δf,φmax致力于存儲ILPP1這個目標函數的最大值。
圖1 基于整數線性規劃的Petri網模型故障診斷器算法
算法的第4步求解ILPP1和ILPP2,即在約束條件ξ(w,M0,Post,Pre)下求得目標函數z1=φmax(σu1,σu2,…,σuh)、z2=φmin(σu1,σu2,…,σuh)的最優解。
第5步中根據第4步中求得的解來診斷系統行為是否出現故障。
3) 若對于fθ,z1>0且z2=0,則系統故障可能已發生,且算法設置Φ(M0,w)=Φ(M0,w)∪{N}。
第6步返回記錄事件,算法跳至第3步進行循環計算,直至沒有新的事件被觀測。
1.5 算法復雜性分析
雖然整數線性規劃作為一個標準的數學工具可被用作在DES中求解問題的數學方法,但是基于整數線性規劃算法的在線計算量卻是隨著被觀測變遷數目的增加而增大的。為克服這個缺點,本文使用不可觀誘導子網的方法,并表明若不可觀測子網享有合適的性質,算法的解可能由低計算復雜性而求得。
文獻[10]中的定理3指出若不可觀子網為非循環SM,則由圖1所示的基于整數線性規劃及Petri網模型的故障診斷器算法公式化的每個ILP問題的解都可以作為LP問題的解來獲得,即多項式復雜性。
通過獲得不可觀誘導子網及整數線性規劃來對系統行為進行診斷,與僅根據原網PN,M0來對系統行為進行診斷時所需的計算量相比較,所提出的算法的復雜性遠遠低于原網方法。
2.1 地鐵列車進出站系統Petri網模型
地鐵的正常運行主要由列車控制中心、列車自動控制系統、通信設備及相關傳感器等共同實現。
地鐵列車進出站過程主要實現列車進出站時與列車控制中心的通信、速度調節、上下客服務及制動與起動等功能,通常由地鐵列車自動控制(Automatic Train Control,ATC)系統操作完成。地鐵ATC從功能上可以劃分為地鐵列車自動駕駛(Automatic Train Operation,ATO)系統、地鐵列車自動監控(Automatic Train Supervision,ATS)系統及地鐵列車自動保護(Automatic Train Protection,ATP)系統。ATP系統負責地鐵列車的全部運行保護,以確保列車的安全運行,ATS系統自動實時監控地鐵列車的運行情況并及時向列車控制中心反饋信息,而ATO系統則根據ATP系統提供的運行信息和ATS系統提供的運行調整命令,對地鐵列車實現自動駕駛功能。
本文所研究的地鐵列車ATC系統運行過程如下:地鐵進站前向地鐵列車控制中心發送進站請求信號,列車控制中心在進站允許的條件下回復進站請求應答信號,同時ATS系統實時顯示列車進站信息至地鐵車站顯示屏上。地鐵列車收到應答信號后在速度傳感器的作用下進行2次減速至低速滑行,通過剎車制動系統使列車最終停靠在合理的位置,打開2道車門提供上下客服務。ATC延遲一段時間后關閉ATC,并向列車控制中心發送請求出站信號,列車收到應答信號后開始加速至正常運行速度,直至即將到達下一車站的狀態又開始進行上述的循環。列車的整個運行過程中,ATP系統始終保持工作狀態,以確保列車的安全運行、通信設備中信息的安全傳輸及乘客的人身安全。
地鐵列車進出站系統是一個典型的離散事件系統,可通過Petri網模型化,且初始標識為已知,滿足條件(H1)。整個地鐵列車的進出站系統Petri網模型如圖2所示。圖2中各庫所、變遷的含義及變遷是否可觀如表1及表2所示。
圖2 地鐵列車進出站系統的Petri網模型
庫所庫所含義庫所庫所含義p1列車即將到站p10傳感器II有效干擾源p2列控中心p11傳感器II減速p3干擾源p12傳感器II干擾結果p4應答信號p13滑行狀態p5車站屏幕顯示信息p14應急制動系統P6等待應答信號p15地鐵停止狀態p7列車速度控制系統p16上下客服務狀態p8傳感器I-1減速p17允許發車p9傳感器I-2減速p18加速過程結束
表2 地鐵列車進出站系統Petri網
圖2中,列車即將到站(p1)時發出進站請求信號(t1)進入等待應答信號(p6)狀態,列車控制中心p2接收列車的進站請求(t2)信號后進行調度分析,產生應答信號p4激發變遷t4實現ATS記錄數據、集中顯示的更新,同時激發變遷t5接收應答信號。p5為地鐵車站屏幕上更新的列車實時信息,它通過變遷t4將ATS記錄的信息反饋至地鐵列車控制中心p1。列車接收到應答信號(t5)后開始施行減速,列車速度控制系統p7開始工作,p7根據速度傳感器I、II返回的速度信號進行速度調節。t6、t8為主傳感器I、II測速過程,t7、t9為備用傳感器I、II測速過程,ATC系統根據傳感器I、II測得的速度分別進行減速,最后滑行(變遷t11點火)到一定距離(p13狀態)后啟動地鐵列車制動系統。t13為常用制動器,當常用制動器出現故障(變遷t14點火)時,啟動應急制動器p15,應急制動器開始工作(t15點火)實現制動。列車制動系統制動完成后,列車最終停靠在指定地點后(p15狀態)打開車門及車站安全門(t16點火)為乘客提供上下客服務(p16狀態)。上下客服務結束后,關閉車門和車站安全門并發出離站發車請求(t17點火),獲得發車請求應答(p17狀態)后,列車加速(t18點火)至正常速度行駛狀態p18,并開始正常運行(t19點火)直至下一車站即將到來(p1狀態)。
p3為軌道附近可能存在的干擾源,對主/備用傳感器II進行干擾,干擾結果p12通過變遷t12將干擾結果反饋至庫所p3,成為新的可能的干擾源。
2.2 地鐵列車進出站系統故障檢測
假設{τ7=f1,τ9=f2,τ14=f3}∈Tf分別模型化系統的3個與故障相關的不可觀變遷,即備用測速傳感器I、II運行故障,正常剎車故障;設{τ2,τ5,τ6,τ12,τ13,τ18}∈Tnf,模型化地鐵列車ATC的Petri網模型中與故障非相關的寂靜變遷。假設系統觀測字w為t1t4t10t8t11t10t11t15t16t16t17t19,且已知系統的初始標識為M0=[1 1 1 0 … 0]。
可得到圖2所示的地鐵列車進出站系統Petri網模型的不可觀誘導子網PNuTuPN,如圖3所示。
圖3 地鐵進出站系統Petri網模型的PNuTuPN子網
由圖3知,地鐵進出站系統Petri網模型的不可觀誘導子網PNuTuPN為非周期的,滿足條件(H3)。
根據上述確定的算法輸入,使用圖1所示的算法來對地鐵列車進出站系統行為進行故障檢測與診斷,得到如表3所示的理論運算結果。表4為地鐵列車進出站系統實際運行100次后對系統行為的統計結果。
表3中,w為t1表示列車發送進站請求信號這一事件,系統行為無故障。w為t1t4表示列車發送進站請求信號后列控中心接收到請求信號后及時發送應答信號至地鐵列車,并通過ATS記錄數據、集中顯示列車進站信息至車站和列控中心,系統行為無故障,序列σ=t1τ2τ3t4可能已經發生。
在初始標識M0=[1 1 1 0 … 0]下,且w=t1t4t10被觀測時,變遷τ6可能在t10之前已經點火,而τ9卻可能在t10之前未點火,因此診斷器在w為t1t4t10觀測字后提供了一個不確定的解,即故障f1可能已經發生,也可能系統行為無故障。列車運行100次系統行為統計結果(見表4)顯示:地鐵列車進出站系統行為出現了56次正常,44次故障f1。系統故障確實可能已發生,試驗表明:算法診斷結果與實際運行結果一致。
表3 地鐵進出站系統Petri網模型ILP故障診斷器算法理論計算結果
表4 地鐵列車進出站系統運行100次后系統行為統計結果
另一方面,當w為t1t4t10t8及w為t1t4t10t8t11時,由于在這2個情形中不存在包含與觀測器一致的故障變遷τk∈Tf,故其不確定性得到解決。然而當w為t1t4t10t8t11t10t11被觀測時,診斷器決斷出故障f1及f2均已發生。因這2個提供的最小解釋集中包含τ7,τ9,點火序列σ=t1τ2τ3t4τ5t10τ6t8t11τ12t10τ9t11的發生而導致故障f1及f2的發生。地鐵列車進出站系統實際運行結果統計顯示,系統行為中故障f1與f2分別出現了100次。
當w=t1t4t10t8t11t10t11t15t16被觀測時,診斷器診斷結果為故障f1、f2及f3均已發生。這是因為這兩個提供的最小解釋集中包含不可觀變遷τ7,τ9,τ14,故點火序列σ=t1τ2τ3t4τ5t10τ6t8t11τ12t10τ9t11τ14t15t16的發生導致了故障f1、f2及f3的發生。
表4中,地鐵列車進出站過程實際運行結果中系統行為無故障次數等于系統實際運行次數時,則表明系統行為無故障,與表3中結果相一致,驗證了算法的有效性。表4中系統行為無故障次數小于100,無故障次數與故障次數之和等于100時,系統行為可能無故障也可能故障已發生,其診斷結果不明確,系統故障確實可能已經發生。將表3與表4中對應觀測字w運行得到相應的診斷結果相比較,其結果表明:基于不可觀變遷Petri網模型及整數線性規劃的在線故障診斷算法能有效的運行在地鐵列車進出站系統中。
此外,表3的運算結果也表明隨著觀測字的不同,運算結果也會不同。當觀測字w=t1t4t10t8t11t16t17t19時,系統運行結果輸出Φ(M0,w)={N},系統行為無故障,相應的點火序列σ可能為t1τ2τ3t4τ5t10τ6t8t11τ13t16t17τ18t19。而當w=t1t4t10t8t11t15t16t17t19時,診斷結果為Φ(M0,w)=Φ(M0,w)∪{f3},故障f3發生,點火序列σ可能為t1τ2τ3t4τ5t10τ6t8t11τ14t15t16t17τ18t19。
本文闡述了離散事件系統在Petri網框架下的故障檢測問題,采用整數線性規劃的方法設置約束條件與目標函數,進而實現對系統行為的故障診斷。算法的使用需要滿足假設條件(H1)~(H3),算法輸入為初始標識及系統的PN架構,且故障由不可觀變遷模型化,算法輸出為故障診斷器Φ。
減小故障檢測與診斷算法計算量的主要思想是在小于原網PN模型的不可觀誘導子網中求解每個ILP。ILP問題的復雜性強烈依賴于變量的數目,因此需要在存儲器中存儲大量與不同ILP數目相等的不可觀誘導子網。診斷器算法公式化的每個ILP問題的解都可以作為LP問題的解來獲得,即多項式復雜性。因此,不可觀誘導子網與整數線性規劃的應用,很大程度上減小了算法運算計算量的復雜性。
隨著系統事件序列設置的觀測字的不同,診斷器算法運行的故障檢測與診斷結果也隨之不同。
算法程序觀察并存儲地鐵列車進出站系統事件序列,根據系統事件序列設置觀測字w為t1t4t10t8t11t10t11t15t16t16t17t19,隨著可觀變遷不斷被觀測,算法在線判斷是否系統行為正常或者故障可能已經發生。算法結果與實際結果相比較,充分驗證了算法的有效性。該算法為地鐵列車進出站系統在線故障檢測與診斷提供了良好的思路,可以有效的保證地鐵的安全在線運行。
本文提出故障診斷算法在實現系統故障診斷時尚存在一定的缺陷。當診斷器算法診斷結果顯示系統故障可能已經發生時(Φ(M0,w)=Φ(M0,w)∪{N}),該算法無法進一步確定系統行為到底是否正常。解決此問題的1個思路可能是采用統計學的知識,對變遷的故障率進行統計,建立貝葉斯故障樹并采用貝葉斯推理的方法計算系統行為出現故障的概率,最后采用置信區間的方法來確定系統行為是否出現故障。
[1] BASILE F,CHIACCHIO P,TOMMASI G D.On K-diagnosability of Petri Nets via integer linear programming [J].Automatica,2012,48:2047-2058.
[2] CABASINO M P,GIUA A,SEATZU C.Fault detection for discrete event systems using Petri Nets with unobservable transitions[J].Automatica,2010,46(9):1531-1539.
[3] CABASINO M P,GIUA A,SEATZU C.Diagnosability of discrete-event systems using labeled Petri Nets[J].IEEE Transaction On Automation Science Engineering,2014,11(1):144-153.
[4] CABASINO M P,LAFIRTUNE S,SEATZU C.Optimal sensor selection for ensuring diagnosability in labeled Petri Nets[J].Automatica,2013,49:2373-2383.
[5] CABASINO M P,GIUA A,POCCI M.Discrete event diagnosis using labeled Petri Nets:An application to manufacturing systems[J].Control Engineering Practice,2011,19:989- 1001.
[6] LI L X,HADJICOSTIS C N.Least-Cost transition firing sequence estimation in labeled Petri Nets with unobservable transitions[J].IEEE Transaction on Automation Science and Engineering,2011,8(2):394-403.
[7] DOTOLI M,FANTI M P,MANGINI A M,et al.Identification of the unobservable behavior of industrial automation systems by Petri Nets[J].Control Engineering Practice,2011,19:958-966.
[8] MAHULEA C,SEATZU C,CABASINO M P,et al.Fault diagnosis of discrete event system using continuous Petri Nets[J].IEEE Transaction on Systems Man and Cybernetics Part A-Systems and Humans,2012,42(4):970-984.
[9] CHEN L J,TANG T,ZHAO X Q,et al.Verification of the safety communication protocol in train control system using colored Petri Net [J].Reliability Engineering and System Safety,2012,100:8-18.
[10] DOTOLI M,FANTI M P,MANGINI A M,et al.On-line fault detection in discrete event system by Petri Nets and Integer Linear Programming [J].Automatica,2009,45:2665-2672.
[11] 吳雙,何正友,錢澄浩,等.模糊Petri網在高速鐵路牽引供電系統故障診斷中的應用[J].電網技術,2011,35(9):79- 85.
[12] BASILE F,CHIACCHIO P,TOMMASI GD.An efficient approach for online diagnosis of discrete event systems[J].IEEE Transaction on Automatic Control,2009,54(4):748- 759.
[13] SKARLATOS D,KARAKASIS K,TROCHIDIS A.Railway wheel fault diagnosis using a fuzzy-logic method[J].Applied Acoustics,2004,65:951-966.
[14] 鄭偉.磁懸浮列車跨系統運行Petri網模型[J].交通運輸工程學報,2012,12(2):112-118.
[15] 葉陽東,程少芬,王旭,等.基于一種混合Petri網的列車運行系統的建模與分析[J].鐵道學報,2009,31(5):42-49.
Online Fault Diagnosis of Partially Observed Petri Net System
PENG Xiaohong, LIU Wenliang, YU Jie, SUN Yan, LIU Wenyuan, LIU Haiyang, BAO Jiancheng, LIU Jiufu
Considering the drawback in the process of fault detection and diagnosis of Petri Net System,such as the enumeration of system states and the consequent state explosion,an online fault diagnosis algorithm based on Petri net model and integer linear programming is proposed.The algorithm takes the Petri net model of subway and its initial markings as the input,the result of diagnoser as the output,some firing sequence is designed and the diagnoser is used to judge whether possible faults have occurred in the system performance,where the faults are modeled by unobservable transitions.Based on practical train leaving and arriving station system,the proposed algorithm can avoid the system state explosion and reduce the computational complexity.Finally,an experiment is taken to verify the effectiveness of the online fault diagnosis on train’s in-and-out process in subway systems.
subway; Petri net; fault diagnosis; unobservable transition; integer linear programming
U231.6; TP206+.3
10.16037/j.1007-869x.2016.12.002
2015-04-13)