耿雪娜 梁澤斌



摘要:隨著新一代技術的發展以及眾多人工智能設備的廣泛應用,各種系統也隨之變得更為復雜,在享受這些智能設備帶來便捷服務的同時,人們也面臨著由于系統故障而帶來的損失,因此,對于系統的故障診斷應運而生。針對大型離散事件系統的故障診斷,設計并實現了基于模型診斷下的分散診斷算法系統。當出現故障時,診斷系統會運用分散診斷的原理,將被診斷系統拆分成若干子系統,逐個進行故障診斷,直至發現故障出處。
關鍵字:故障診斷? 離散事件系統? 分散式診斷? 可診斷性
Research on the Distributed Fault Diagnosis Algorithm
GENG Xuena ?LIANG Zebin
(Changchun University of Science and Technology, Changchun, Jilin Province, 130022 China)
Abstract: With the development of a new generation of technology and the widespread application of numerous artificial intelligence devices, all kinds of systems have become more and more complex. While enjoying the convenient services brought by these intelligence devices, people are also facing the losses caused by the faults of systems, so the fault diagnosis of systems has emerged as the times require. For the fault diagnosis of large-scale discrete event systems, this paper designs and implements a distributed diagnosis algorithm system based on model diagnosis. When a fault occurs, the diagnosis system will use the principle of distributed diagnosis to split the diagnosed system into several subsystems for fault diagnosis one by one until the source of the fault is found.
Key Words: Fault diagnosis; Discrete event system; Distributed diagnosis; Diagnosability
隨著人們生活水平和工業制造能力的逐步提升,系統性能、產品質量、成本效率等指標不斷提高,工業生產設備的復雜性和自動化程度也不斷增加。為了避免出現財產損失、人員傷亡的情況,需要現代工業系統保持安全穩定。因此,系統的穩定性和可靠性是系統設備設計和建造過程中最為重要的問題之一。當系統出現故障時,需要以最高效率解決故障問題,這樣才能盡可能不影響大型系統的運作。因此,基于模型的故障診斷系統誕生了。
故障診斷的研究目的是探尋檢測、分離、識別系統中發生故障的方法,確定故障發生位置及故障類型。在過去一段時間,故障診斷獲得了豐富的研究成果。LIN F等人首先提出了基于狀態的離散事件系統診斷方法[1]。在此之后,SAMPATHM等人提出了基于事件的方法研究離散事件系統的故障診斷,它將離散事件系統建模為有限狀態自動機,通過在系統內構建診斷器判斷系統的是否發生故障[2]。但是對于整體結構龐大且復雜的大型系統設備而言,用這種方法進行故障診斷所耗費的時間和系統空間太大,診斷效率并不高。在此基礎上,為了進一步提高診斷效率,JIANGS提出了并行自動機故障診斷方法,利用構造系統的全局twin-plant模型-驗證器來直接判定系統的故障問題,這種方法的故障診斷效率相較于此前大部分方法都有所提升,但是遇到大型復雜系統還是會比較乏力[3]。
上述提及的方法都能夠有效處理規模較小的離散事件系統的故障診斷。但是,當遇到規模較大的系統時,上述方法將會變得相當困難。因此,學者們開始研究新的方法,來應對大型系統的故障診斷問題。DEBOUK R等提出了分散式診斷方法[4],而此后PENCOL? Y提出了分布式診斷方法[5]。他們將離散事件系統按照一定規則拆分成若干個子系統,對每個子系統進行局部建模,再通過對各局部模型構建局部診斷器,對整個系統進行故障診斷分析。
在故障診斷的研究中,基于模型的故障診斷方法是運用最廣泛的研究課題。迄今為止,基于模型的故障診斷技術已在許多應用領域成功實現,如軌道電路系統[6]、旋轉機械系統[7]等。本文主要對離散事件系統與基于模型的故障診斷方法進行簡單介紹,并實現基于模型診斷下分散診斷算法系統,并對算法進行詳細分析。
1 故障診斷
1.1 離散事件系統
離散事件系統(Discrete Event System,DES)是一種在離散狀態和事件上建模的系統,已被廣泛應用于現代工業控制系統中[8-12]。它的狀態是離散的,且注重于邏輯和序列化的行為。
由于離散事件系統的系統狀態在特定隨機時刻會發生離散變化,因此系統的事件通常是隨機的,而系統的狀態變量通常是不連續的。一般來說,離散事件系統與連續系統相關,可以將它的定義簡化為兩個方面:一個是狀態,一個是事件。其中,狀態表示了系統的工作狀況,而事件則表示了導致狀態改變的行為。
1.2 可診斷性
由于人造系統復雜程度越來越高,系統部件故障診斷不再是一項基于經驗和直覺的簡單任務。在大規模、復雜的離散事件系統中,對其可診斷性的判斷是一個非常具有挑戰性的課題。離散事件系統的可診斷性是故障診斷領域的一個重要研究內容,它是一個系統能否進行故障診斷的前提。
可診斷性的研究大多數以動態系統為基礎。如果在有限的延遲內,可以確定系統發生的故障類型是唯一的,即系統的模型中不存在不確定循環,則可以稱被診斷系統是可以診斷的。如果在一定時間內無法確定唯一故障類型,那么系統中很有可能存在不確定循環,這樣就無法確定該系統是否出現故障問題,此時稱該系統是不可診斷的。
1.3分散診斷算法概述
現在的系統規模在逐步增大,因此幾乎所有系統都具有模塊化結構。一般而言,一個系統包括若干個模塊、局部組件或子系統,這些組件自身可以包含若干個更小型的獨立模塊。這類具有模塊化結構的系統通常情況下都有著比較大的狀態空間,由于空間復雜性問題,因此對這類系統進行全局診斷不僅操作復雜,而且難度也相當大,難以以整體方式進行診斷。
于是隨后的一些學者研究提出了各種擴展和改進的方法,其中一種就是分散式診斷方法。分散診斷算法需要構建被診斷系統的整體模型,從整體模型中將被診斷系統拆解,以進行接下來的故障診斷分析。
分散診斷算法可以很好地解決大型離散事件系統的診斷問題,它的算法思路如下:將全局系統按照某種規則進行拆解,運用分解算法將整體系統分解為若干個子系統,各個子系統又可以進而分解為規模更小的子系統,最底層子系統直接分解為各個組件,再分別對這些組件進行建模,建立觀測器,以監測系統的數據信息。在此之后,子系統建立局部診斷器,讀取各個組件自身的觀測信息,基于此進行局部診斷推理,并生成本地診斷結果。再通過一個協調器[9],實現各個組件之間的通信,以便協調各個局部診斷結果。最后,協調器根據規定好的規則,將所有的局部診斷整合分析,最終得到全局診斷結果。
分散診斷算法的算法思想在很大程度上縮小了大規模系統的診斷搜索空間。因此,與那些需要運用整體來診斷整個系統的方法相比,模塊化系統的自然分解比前者更具有快速診斷的優勢。單個組件通常更易于本地診斷,但此類診斷可能無法考慮系統其余部分的影響。
2 算法描述
2.1 相關概念
2.2 系統執行過程
分散診斷算法系統的運行流程圖如圖1所示。
用有限狀態自動機對被診斷系統進行整體系統建模,得到該系統的全局模型。此后,系統運用分解算法將全局模型拆成若干局部模型,以達到分散診斷的目的。
在獲得局部模型后,就需要對各個局部模型建立站點。每個站點由兩部分組成:觀測器和診斷器。其中診斷器是站點的核心,它用于通過對特定類型的循環進行測試,在各個子系統中進行本地數據分析。每個站點都具有對系統數據觀察和分析的能力。
在對各個局部模型建立站點時,先構建各個局部模型的觀測器,對子系統的狀態轉換進行觀測,獲取系統的數據信息。接著構建各個局部模型的診斷器,對觀測器獲取的系統信息進行分析,在本地處理故障診斷并生成局部診斷結果。在子系統的可觀察事件發生后,診斷器的狀態是站點推斷故障發生的診斷信息。一旦本地站點確定故障的發生,就會通過以某種形式定義的溝通規則,將其診斷信息與故障標簽傳達給協調器。
協調器運用決策算法,根據本地站點提供的原始信息分析與相關的通信規則和協調器的故障診斷決策規則來整合系統的故障信息。協調器的結構簡單,它沒有系統的模型,也不知道系統的結構。具體來說,它的內存和處理能力有限。協調器的任務是根據上述規定的決策規則處理從各個站點接收的消息,以推斷全局系統故障的發生。
一般情況下,診斷器可以診斷出可診斷系統中的所有故障,無論故障的數目多少。通過檢查各個診斷器的狀態,可以在有限的延遲內檢測出被診斷系統中出現的故障。
3 結語
本文針對于大型離散事件系統的故障診斷問題,研究了基于模型診斷下的分散診斷算法系統的實現。對分散診斷算法進行了詳細且深入的研究,從算法的研究背景出發,到分散診斷系統的數學建模,再到算法的思想、算法的執行過程、算法的分析,最后給出了一個實例進行算法系統的演示與診斷系統對故障進行診斷的詳細過程。
參考文獻
[1] LIN F.Diagnosability of Discrete Event Systems and Its Applications[J]. Discrete Event Dynamic Systems,1994,4(2):197-212.
[2] SAMPATH M,SENGGUPTA R,LAFORTUNE S,et al.Diagnosability of Discrete-event Systems[J]//IEEE Transactions on Automatic Control,1995,40(9):1555-1575.
[3] JIANG S,HUANG Z,CHANDRA V,et al.A Polynomial Algorithm for Testing Diagnosability of Discrete-event Systems[J].IEEE Transactions on Automatic Control,2001,46(8):1318-1321.
[4] DEBOUK R,LAFORTUNE S,Teneketzis D.Coordinated Decentralized Protocols for Failure Diagnosis of Discrete Event Systems[J].Discrete Event Dynamic Systems,2000,10(1-2):33-86.
[5] PENCOLE Y.Diagnosability Analysis of Distributed Discrete Event Systems[C]//Eureopean Conference on Artificial Intelligence,Including Prestigious Applicants of Intelligent Systems, Valencia, Spain,2004.
[6]?? 邢玉龍.面向預測性維護的軌道電路故障診斷及預測方法研究[D].北京:北京交通大學 2022.
[7]?? 金桐彤.考慮域影響的旋轉機械故障診斷方法研究[D].長春:吉林大學,2022.
[8]?? 呂舒園,劉富春,趙銳,等.分布式離散事件系統的模式故障預測研究[J].廣東工業大學學報,2021,38(1):54-63.
[9]?? 戴維,劉富春,趙銳,等.基于狀態估計的分布式離散事件系統可診斷性研究[J].工業工程,2021,24(1):123-131.
[10] 歐陽丹彤,羅知雨,耿雪娜,等.分布式離散事件系統的安全可診斷性算法[J].吉林大學學報(理學版),2018,56(3):594-600.
[11] 歐陽丹彤,劉揚,宋金彩,等.結合結構特征基于測試集重排序的故障診斷方法[J].電子學報,2022,50(1):63-71.
[12] 歐陽丹彤,孫睿,田新亮,等.基于部分最大可滿足性問題的動態系統中最小故障檢測隔離集求解方法[J].吉林大學學報(工學版),2023,53(4):1163-1173.