專利名稱:用于分布式工廠控制系統(tǒng)的在線故障檢測和避免框架的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及工業(yè)工廠控制系統(tǒng)中的可靠性領(lǐng)域.更具體而言,本發(fā)明涉及多控制器工業(yè)控制系統(tǒng)中的故陣檢測和故障避免.
背景技術(shù):
可靠系統(tǒng)的特征是其容錯等級、安全性和可靠性等等.盡管這些術(shù)語經(jīng)常在文獻中可互換地被使用,但是這些術(shù)語之間存在著深遠的區(qū)別.例如,可靠性處理部件故陣以及部件故陣對系統(tǒng)可用性的影響.發(fā)生故障的部件可能可以想象地導(dǎo)致不安全的系統(tǒng)狀況,這不一定是由于該故陣本身,而是因為對圍繞由該故陣導(dǎo)致的狀況缺乏足夠的約束.
另一方面,安全性是與控制和/或數(shù)據(jù)有關(guān)的問趙.之所以發(fā)生不安全的狀況是由于在系統(tǒng)內(nèi)缺乏足夠的控制.不足的或者無效的數(shù)據(jù)也能夠引起不安全的狀況.
如何處理不安全的狀況或者故陣狀況的問趙取決于應(yīng)用以及故障的類型.在一些控制應(yīng)用中,通過在發(fā)生關(guān)鍵性故陣時關(guān)閉系統(tǒng)或者系統(tǒng)的一部分來實現(xiàn)故陣安全的狀態(tài).確定該問題的根原因可能不是要實現(xiàn)的首要目的,因為只要系統(tǒng)在發(fā)生故陣狀況以后安全地關(guān)閉,則這對故陣安全的運行而言可能就足夠了.在其它的應(yīng)用中,關(guān)閉系統(tǒng)不一定是可行的解決方案.相反,需要一組動作,所述動作確保到安全運行狀況的過渡.
容錯通常與為系統(tǒng)部件定義冗余等級和/或定義這些部件之間的連通性相關(guān)聯(lián).盡管已經(jīng)證明這對安全性關(guān)鍵的系統(tǒng)而言是必要的,但 是這是一種主要適于克服可靠性問題、以及在一些情況下適于克服與 數(shù)據(jù)有關(guān)的問題的解決方案.冗余可以應(yīng)用在硬件層次和軟件層次二 者上.示例性的軟件故陣安全技術(shù)包括補充數(shù)據(jù)的讀/寫、校驗和比較、 冗余編碼和正交編碼.對由于缺乏對系統(tǒng)運轉(zhuǎn)的足夠控制而產(chǎn)生的問 題的冗余的解決方案的效果是存在很大爭議的.這是因為在初級系統(tǒng) 和次級系統(tǒng)二者中必定同樣地缺乏適當?shù)目刂埔?guī)則.此外,冗余的解 決方案只能針對那些預(yù)先已知的問題根源來制定.
在設(shè)計與系統(tǒng)測試階段的故陣分析
開發(fā)容錯或者安全系統(tǒng)的常用方式是使設(shè)計團隊在控制系統(tǒng)設(shè)計 階段花費大量的時間和精力,然后在系統(tǒng)建立之后進行大量的測試和 驗證.存在可以有助于上述的分析的多種半正式的技術(shù),這些技術(shù)主
要從可靠性工程中借鑒而來.示例包括FTA (Fault Tree Analysis, 故陣樹分析)和FEMA (Fault modes and effect analysis,故障模 式及影響分析).FTA是一種用于識別潛在的不希望的狀況的特定原因 的演繹技術(shù).該樹中的頂亊件(top event)是先前已知的潛在狀況. 原則上,這類似于反向診斷(backward diagnosis),反向診斷利用 反向鏈邏輯來確定導(dǎo)致給定的故障的亊件和狀況的序列.這樣的技術(shù) 例如在如下文獻中被說明"String Stability of Interconnected Systems" ( D. Swaroop,博士論文,加利福尼亞大學伯克利分校,1994 年)、"Computer—aided Synthesis of Fault Trees" (S.Lapp和 G. Powers, "IBEE Transaction of Reliability Engineering", 第 26巻,No. 1,第2 - 13頁,1977年四月)、"Sensor-Based Diagnosis of Dynamical Systems" (A. Misra,博士論文,范德比爾特大學, 1994年)、"An Automated Methodology for Generating A Fault Tree" (R.DeVries, "IEEE Transaction of Reliability",第39巻,第 76 - 86頁,1990年)、以及"A Discrete Event Systems Approach to Failure Diagnosis" (M. Sampath,博士論文,密歇根大學,1995年).
FEMA是一種歸納分析技術(shù),其用于識別并評估潛在的不希望的狀 況以及確定控制動作以便消除或者減小這些狀況的風險。另一方式是 前向診斷(forward diagnosis)方式,其中在模型中進行狀態(tài)假設(shè)并且在作出結(jié)論以前一直根據(jù)當前的事件和傳感器讀數(shù)來更新狀態(tài)假
i殳,該方式由如下文獻i兌明"Probabilistic fault diagnosis in communication systems through incremental hypothesis updating" (M. Steinder和A.S.Sethi, Computer Networks 45, 2004年)、 "Sensor—Based Diagnosis of Dynamical Systems" (A.Misra, 博 士論文,范德比爾特大學,1994年)、以及"A Failure/Fault Diagnoser Model for Autonomous Agents under Presence of Disturbances" (P. Zhao, A. Amini, M. A. Jafari, "IEEE International Conference on Systems, Man, and Cybernetics" , 2006年),
在過去的十年中已經(jīng)存在數(shù)量可觀的關(guān)于建立更正式的安全性、故 陣和危險分析的方式的研發(fā)工作,但是這些分析方式是從控制角度的. 一個示例是由MIT團隊執(zhí)行的工作,該工作例如被記栽在"A System—Theoretic Approach to Safety in Software-Intensive Systems" (N. Leveson, "IEEE Trans, on Dependable and Secure Computing" (2005年)).該工作的主旨是通過在實施前形式化軟件需 求、模擬并分析該設(shè)計來在設(shè)計階段使軟件故陣和危險最小化.在該 團隊開發(fā)的 STAMP ( System—Theoretic Accident Modeling and Processing,系統(tǒng)理論的亊故建模與處理)方法中,不根據(jù)一系列的 故陣亊件來理解亊故的原因,而是認為亊故的原因是缺乏施加給系統(tǒng) 設(shè)計和運行的約束條件所導(dǎo)致的結(jié)果.STAMP使用基礎(chǔ)過程 (underlying processes )的具體模型.所假設(shè)的是任何控制器、無 論是人類控制器還是自動控制器必須包含所控制系統(tǒng)的模型.無論該 模型是嵌入在自動控制器的控制邏輯中還是人類控制器的心理模型 中,該模型必須包含相同類型的信息系統(tǒng)變量間的所需關(guān)系(控制 規(guī)則)、當前狀態(tài)(系統(tǒng)變量的當前值)、以及該過程能夠改變狀態(tài) 的方式.亊故、尤其是系統(tǒng)亊故則被認為是由所述控制器(人類控制 器和自動控制器二者)使用的過程的模型與實際過程狀態(tài)之間的不一 致,以上的方法現(xiàn)在使用在一些應(yīng)用領(lǐng)域中,比如航天領(lǐng)域以及航空 領(lǐng)域中.
類似的范例已經(jīng)被不同的研究團體促進,所述研究團體致力于對亊 件驅(qū)動的系統(tǒng)(比如Petri網(wǎng)、NCES、時序邏輯以及其它的狀態(tài)/過渡
系統(tǒng))的建模.總的來說,使用該系統(tǒng)的受控閉環(huán)行為的單個模型,該單個模型包括基礎(chǔ)過程和控制動作二者.通過對該模型的分析和評 估可以先驗地識別該系統(tǒng)潛在可到達的不希望的狀態(tài).例如,使用
Petri網(wǎng)理論可以數(shù)學上建立這樣的狀況例如無界性(un -boundedness)、不同活性等級、 一些死鎖狀況等.對這些方法的綜述 在L. E. Pinzon, H. M. Hanisch, M丄Jafari和T.O.Boucher的"A Comparative Study of Synthesis Methods for Discrete Event Controllers" ( "Journal of Formal Methods in System Design", 第15巻,No. 2, 1999年)中呈現(xiàn).
盡管更簡單的是設(shè)計和控制每個獨立代理體(agent)(或者系統(tǒng) 部件或者控制器),但是由于信息和控制的分布式性質(zhì),開發(fā)一種安 全和可靠的分布式多代理體系統(tǒng)比其集中的類似系統(tǒng)更具挑戰(zhàn)性.對 于分布式故陣分析,必須處理多個主要問題a)哪個代理體應(yīng)該發(fā)起 故障檢測/診斷? b)應(yīng)該交換哪些信息?該交換如何進行?應(yīng)該涉及 到哪些代理體? c)未來應(yīng)該如何避免相同的故障? d)為了在未來進 行避免、預(yù)防或者恢復(fù)而應(yīng)該保存哪些信息?
在文獻中已經(jīng)通過兩種方式來將故陣分析擴展成分布式系統(tǒng).首 先,集中控制被直接擴展成分布式系統(tǒng),從而每個代理體具有其自己 的局部分析引擎,同時也存在全局協(xié)調(diào)器,所述全局協(xié)調(diào)器在需要時 與扃部協(xié)調(diào)器通信.給每個代理體分配有一組可觀測到的亊件,并且 每個代理體局部地處理其自己的觀測并且產(chǎn)生其診斷信息.然后,所 述信息中的一些根據(jù)需要被傳遞給全局協(xié)調(diào)器.所傳遞的信息的類型 由代理體所使用的通信規(guī)則來確定.協(xié)調(diào)器的任務(wù)是處理從每個代理 體接收到的消息,并且根據(jù)一些所規(guī)定的決策規(guī)則對故陣的出現(xiàn)作出 適當?shù)耐茢?第一方式的示例在R.Debouk的博士論文"Failure Diagnosis of Decentralized Discrete-Event Systems"(密歇根 大學,2000年)中被提出.
在笫二方式中,每個代理體從其鄰居接收并局部地處理.該方式更 適于分布式系統(tǒng),但是該方式幾乎不能勝過集中的方式,因為沒有代 理體比第一方式中的協(xié)調(diào)器具有更多的信息.該方式的示例包括 " Decentralized diagnoser approach: Application to telecommunication network,,( Pencole, Proc. of DX2000, Eleventh International Workshop on Principles of Diagnosis,笫185 - 193
9頁,2000年六月)、以及"Diagnosis and Co咖unication in Distributed Systems" (R,Sengupta, Proc. WODES 1998, International Workshop on Discrete Event Systems,第144 - 151頁,IEE出版,倫敦,英 國,1998年八月).
在線運行時間故陣分析
上述方式,雖然是預(yù)先主動的,但是所假設(shè)的是故陣或者不希望 的狀況被預(yù)先確定,要么在設(shè)計階段要么在測試階段被確定.問題是 在實際中,經(jīng)濟性與安全性或者容錯之間的平衡經(jīng)常變得重要.因此, 設(shè)計和預(yù)編程幾乎必然地在結(jié)束時未包括所有可能的故障狀況.可論 證地,真實情況是對于合理地復(fù)雜的系統(tǒng)而言,識別所有的故障狀 況的問題是"不可判定的".此外,在許多真實的應(yīng)用中并且尤其是 復(fù)雜的分布式系統(tǒng)中,故陣的出現(xiàn)通常取決于時間,其中故陣出現(xiàn)的 可能性隨著系統(tǒng)的運轉(zhuǎn)進度而改變.此外,故陣之所以出現(xiàn)可能是由 于不同的控制器或者決策者間的協(xié)調(diào)不足、包括決策的不希望的副作 用或者沖突的控制動作.通信缺陷和無效數(shù)據(jù)同樣可以對故陣的出現(xiàn) 起重要作用,其中這些情況中的許多都非常難以預(yù)先預(yù)測.
上面的方式的最新替代方案是在故陣出現(xiàn)時在"在線"基礎(chǔ)上來 解決安全性問題,該工作在該范閨中的大部分是關(guān)于計算和計算機聯(lián) 網(wǎng),示例包括IBM的自主計算(autonomic computing)思想以及由 伯克利/斯坦福面向恢復(fù)的計算實驗室(Berkeley/StanfordRecovery Oriented Computing (ROC) Laboratory)的研究者所完成的工作,該
工作中的一般性的基礎(chǔ)假設(shè)是沒有辦法阻止不清楚的和意外故陣的 發(fā)生,并且不是所有這些故障都可以在設(shè)計階段被識別.自主計算涉 及建立如下的計算機硬件/軟件和網(wǎng)絡(luò)所述計算機硬件/軟件和網(wǎng)絡(luò) 能夠適于在它們的環(huán)境中的變化;爭取改善它們的性能;受到損壞時 恢復(fù);抵御攻擊者;預(yù)期用戶的動作,等等.ROC實驗室的工作以類似 的思想為中心,但是通過使系統(tǒng)更適于其環(huán)境是為了分布式系統(tǒng)的, 從而可以迅速地檢測故障、有效地包含故障并且在不需要關(guān)閉整個系 統(tǒng)的情況下從故障中恢復(fù).
所述在線方式通過將高等級的智能嵌入到系統(tǒng)控制中來改善系統(tǒng) 可靠性.然而,可論證地,潛在的非決定論在響應(yīng)時間和結(jié)果方面使
10這些方式對安全性關(guān)鍵的應(yīng)用不可行。另一方面,如許多真實的亊件 在過去所顯示的那樣,僅僅依靠在設(shè)計或者測試階段確定了一些容錯 等級的情況下的預(yù)編程的自動化,將不能使系統(tǒng)免受意外的故障和危 險.因此,本發(fā)明者相信,為了使系統(tǒng)安全性和可靠性最大化,必須
采取混合方式i)預(yù)先主動地嘗試在設(shè)計階段和系統(tǒng)測試階段識別盡 可能多的故陣和不希望的狀況;和ii)將一些合理的智能等級嵌入到 控制系統(tǒng)中,從而當發(fā)生故陣時在運行時間時有效地檢測出故陣并作 出合適的補救措施.
還有一個理由證明該在線方式是有效的.假定技術(shù)上能夠建立對基 礎(chǔ)的"車間"規(guī)范的動態(tài)行為和破壞性的動態(tài)行為的模擬(在預(yù)先已 知的范閨內(nèi)).在所假設(shè)的分布式系統(tǒng)中,該車間模型將是單獨代理 體模型的網(wǎng)絡(luò).現(xiàn)在假定該模擬包括初始控制設(shè)計(稱其為"第一級 逼近")并且使該初始控制設(shè)計與所模擬的車間模型一起工作在閉環(huán) 中。假設(shè)該模擬運行足夠量的時間,則能夠觀測一些未知的故陣狀況. 現(xiàn)在,如果在控制器中已經(jīng)嵌入了由本發(fā)明者在此提出的智能,則能 夠檢測、診斷和避免所觀測到的故陣狀況,利用每個新近發(fā)現(xiàn)的主要 故陣狀況來將該控制系統(tǒng)升級到更高等級的逼近.
因此,目前需要為多控制器工業(yè)控制系統(tǒng)中的故陣檢測和故陣避免 提供高度有效的框架.據(jù)本發(fā)明者所知,目前還沒有這樣的技術(shù)可用.
發(fā)明內(nèi)容
本發(fā)明通過提供一種用于檢測和避免在具有多個工業(yè)控制器的分 布式工廠控制系統(tǒng)中的故障的方法來解決上述需要,在分布式工廠控 制系統(tǒng)中,每個控制器控制至少一個基礎(chǔ)過程.該方法包括如下步猓. 在笫一控制器中,通過識別由第一控制器控制的基礎(chǔ)過程的狀態(tài)與由 該控制器保存的相應(yīng)狀態(tài)的偏差來識別故陣狀況的癥狀.在笫一控制 器中,測量該癥狀的持續(xù)性,并且如果所測量的持續(xù)性低于閣值,則 忽略該癥狀.
通過至少在第一控制器中產(chǎn)生搜索樹來找出該故陣狀況所涉及的 其它控制器,其中該搜索樹具有是所監(jiān)測的狀況的葉節(jié)點.接下來識 別故障狀況,包括識別該故障情況所涉及的其它控制器的狀態(tài).然后 重新配置控制規(guī)則以便在未來避免該故障狀況,其中所述控制規(guī)則控制所涉及的控制器的狀態(tài),
對故陣狀況的癥狀的識別步驟可以進一步包括通過對與基礎(chǔ)過程 相關(guān)聯(lián)的傳感設(shè)備進行觀測來識別由第一控制器控制的基礎(chǔ)過程的狀 態(tài).
對故陣狀況的癥狀的識別步驟可以包括在笫一控制器中使用時間 Petri網(wǎng)對至少一個基礎(chǔ)過程建模.
找出故障狀況所涉及的其它控制器的步稞可以進一步包括在如下 的狀態(tài)處開始該搜索樹在該狀態(tài)處,時間Petri網(wǎng)的地點(place) pl在一定量時間伊^7777^(/7,)內(nèi)被標記(mark),其中^L"。是地 點p;的最大令牌(token)持有時間.
找出故陣狀況所涉及的其它控制器的步稞可以進一步包括如果在 第一控制器中的搜索樹的葉節(jié)點中沒有葉節(jié)點超過其最大令牌持有時 間,則在笫二控制器中產(chǎn)生搜索樹,該搜索樹在時間Petri網(wǎng)的地點《 處開始,該地點《是以A為輸入的轉(zhuǎn)變(transition) /,的輸出;以 及通過在滿足以下狀況之一以前一直在附加的控制器中重復(fù)產(chǎn)生搜索 樹的步驟來創(chuàng)建控制器鏈a)在搜索樹中的任何葉節(jié)點中都未超過最 大令牌持有時間狀況;b)在最大令牌持有時間已經(jīng)被超過的控制器中 的地點都不是位于任何具有連接到其它控制器的地點或者轉(zhuǎn)變的路徑 中;以及c)控制器中的搜索樹僅僅含有空循環(huán).
識別故障狀況的步錄可以進一步包括分析該控制器鏈中的最后一 個、其中最大令牌持有時間已經(jīng)被超過了的控制器的搜索樹.識別故 障狀況的步驟可以進一步包括利用從至少一個其它控制器獲得的狀態(tài) 信息來在第一控制器中產(chǎn)生任務(wù)等待(Task-Wait-For)圖,
重新配置控制所涉及的控制器的狀態(tài)的控制規(guī)則以便在未來避免 該故陣狀況的步緣可以進一步包括將"要避免的"狀態(tài)列表從第一 控制器傳輸?shù)街辽僖粋€與該故陣狀況相關(guān)聯(lián)的激活的控制器(active controller).在這種情況下,該方法可以進一步包括如下步驟在 第一控制器處接收與該故陣狀況相關(guān)聯(lián)的每個控制器的狀態(tài),并且將 所接收的狀態(tài)與"要避免的"狀態(tài)列表相比較以確定是否禁止在笫一 控制器的控制范圍內(nèi)的轉(zhuǎn)變.第一控制器可以控制對工件執(zhí)行的過程, 在該情況下,第一控制器的狀態(tài)包括該工件的狀態(tài).
本發(fā)明的另 一實施例是一種計算機程序產(chǎn)品,其包括計算機可讀記錄介質(zhì),在該計算機可讀記錄介質(zhì)上記錄有計算機程序,該計算機程 序包括代碼工具,該代碼工具用于當運行在工業(yè)控制器上時指示控制 器以上述方法來控制步稞.
附困說明
圖l是示出了分布式系統(tǒng)的時間Petri網(wǎng)模型的示意圖.
圖2是示出了狀態(tài)和轉(zhuǎn)變序列的示意圖,在其上根據(jù)本發(fā)明的一個 實施例計算最大令牌持有時間.
圖3是示出了根據(jù)本發(fā)明的一個實施例產(chǎn)生搜索樹的示意圖.
圖4是示出了根據(jù)本發(fā)明的一個實施例的、潛在地對所觀測的癥狀 可解釋的控制器鏈的示意圖.
圖5是示出了一組控制器的基礎(chǔ)過程的示例工業(yè)布局.
圖6是根據(jù)本發(fā)明的一個實施例在識別故陣狀況時所使用的示例 任務(wù)等待圖.
困7是根據(jù)本發(fā)明的一個實施例、示出了在涉及多個控制器的兩個 故障中的集合故陣狀態(tài)的示意圖.
圖8是根據(jù)本發(fā)明的一個實施例的、要避免的列表的示圖,
圖9是示出了死鎖之前的狀態(tài)的示例工業(yè)布局.
圖IO是示出了即將發(fā)生的工件流死鎖的示例性的工業(yè)布局.
具體實施例方式
本說明集中在與工廠控制有關(guān)的問題,并且具體而言討論了制造運 行中的死鎖狀況的示例.為在控制系統(tǒng)中的嵌入智能提出一種框架, 從而以前未知的(未被預(yù)編程到工廠系統(tǒng)控制中的)狀況在運行時間 被檢測并且在以后被避免.所假設(shè)的是故障的性質(zhì)為已知,但是未 知的是該故障如何和何時可能發(fā)生、將涉及誰、以及如何在未來避 免該故障.盡管本發(fā)明是參照因素控制環(huán)境中的死鎖的示例來說明的, 但是該基礎(chǔ)思想也適于其它類型的故障.
本發(fā)明是模塊化的框架和方法,并且以作為有形地體現(xiàn)在一個或多 個程序存儲設(shè)備上的應(yīng)用程序的軟件被部署.該應(yīng)用程序可以存在于 工業(yè)控制系統(tǒng)中的多個互聯(lián)的工業(yè)控制器的每個中.所述工業(yè)控制器 控制該系統(tǒng)中的基礎(chǔ)過程.用戶可以通過圖形用戶界面(GUI)來訪問
13該框架,用于執(zhí)行的應(yīng)用程序代碼可以存在于本領(lǐng)域的技術(shù)人員知道 的多個不同類型的計算機可讀介質(zhì)上. 框架
本發(fā)明討論了工業(yè)過程控制器的分布式系統(tǒng)A-(AJ.每個過程控
制器包括足夠的處理能力以便充當分布式工廠控制環(huán)境中的代理體. 控制器被假設(shè)為具有其自己的基本功能組、局部規(guī)則組,并且同樣必 須遵守全局規(guī)則組.下面的算法被提出以便被嵌入在工廠控制系統(tǒng)中 的一個或多個控制器中.
算法
識別癥狀
-運行方法(/</e/7〃7>—iy逝/7&邁s (識另'J-癥狀)). 一運行方法(/fea卯/"e-pem."a/zce-o,一iSy邊/^oiD (測
量-癥狀-的-持續(xù)性)). -如果#ewwi"e_/ e"/"a/7ce-o/*-iy"/^o/B返回的值
太高,則進行下一步驟,否則什么也不做,
根原因分析
-運行方法(^7/uf-CAer—co/7"o//er"http:// F0/F^/(找
出-其它-涉及的-控制器)). -運行方法(/^5/7"7>-Faw/^Co/^//〃o/7 (識別-故障
-狀況)),
-如果/^ / //7>-尸《 ""-^ /^/〃0/7返回故障狀況,則
進行下一步驟,否則什么也不做-等待直到癥狀消 失.
重新配置控制規(guī)則
-運行方法(Aeco/2/"i>tfi"e-Co/zrro/"ai v (重新配置
-控制-規(guī)則)).上面的框架在原則上是概括性的,但是上述每個方法的細節(jié)以及復(fù) 雜度因應(yīng)用而變化,在此,為出現(xiàn)在該算法中的每個方法概括一種解 決方式,但是注意這些方式可能僅適用于特定的應(yīng)用,處理制造應(yīng)用 中的死鎖狀況的說明性示例被呈現(xiàn).
方法(油17〃/>—JJ7D^0咖(識別-癥狀))
所假設(shè)的是由面臨"癥狀"的過程控制器來發(fā)起在線故陣分析. 術(shù)語"癥狀"在此被寬松地使用,并且指的是由控制器在任意給定時 間所經(jīng)歷的非規(guī)范狀況.例如,當期望從另一控制器獲得響應(yīng)的控制 器在預(yù)先規(guī)定的時間窗內(nèi)未接收到該響應(yīng)時,該控制器被認為是正在 經(jīng)歷癥狀.類似地,過程的實際狀態(tài)與由過程控制器所保存的狀態(tài)之 間的任何偏差可以被認為是癥狀.這兩種情況都需要控制器具有關(guān)于
它們的基礎(chǔ)過程的一些知識(模型),
圖1中示出了由Petri網(wǎng)(或 者《PN" ) IOO表示的這樣的模型的示例.針對該說明性的示例,標記 為A,的控制器110是機器控制器,其控制機器Mi,標記為^的控制 器130是機器人控制器,其控制機器人1^1.同樣說明了控制器120(標 記為A3)和控制器140 (標記為A4).該圖示出了控制器之間的通 信鏈路.例如,地點&與轉(zhuǎn)變t之間的連接115表示來自Rl的M;L的
服務(wù)請求.
考慮超時或者"看門狗,,監(jiān)測場景.在文獻中已經(jīng)針對集中系統(tǒng)大 篇幅地研究了該問題.這些結(jié)果中的一些同樣可以被擴展到分布式系 統(tǒng),例如,如同由 V. S. Srinivasan和M.Jafari在 "Fault Detecting/Monitoring Using Time Petri Nets" (IEEE Transaction on System, Man and Cybernetics,第23巻,No. 4 1993年七月/八 月)中提出的那樣,可以由時間Petri網(wǎng)(TPN)來對基礎(chǔ)過程建模。 在此,用轉(zhuǎn)變來表達亊件,并且用地點來表達狀況.為轉(zhuǎn)變6定義時 間窗(r,mi,,r, J,其中那些時間是相對于t被使能(enable)的時間而 測量的。該系統(tǒng)在其狀態(tài)方面和時間窗方面的動態(tài)特性在齊次不等性 (homogeneous non-equalities )的系統(tǒng)中被捕獲,其中所述動態(tài)特性 由"回火"(backfiring)轉(zhuǎn)變產(chǎn)生,到回火轉(zhuǎn)變的時間用(9/參數(shù)表 示,并且根據(jù)在同一時間使能的轉(zhuǎn)變的時間窗或者被回火并導(dǎo)致使能 t的轉(zhuǎn)變的時間窗而被定義.任何來自基礎(chǔ)過程的所觀測的狀態(tài)(通 過傳感設(shè)備獲得)和控制器狀態(tài)的漂移都通過該不等式系統(tǒng)的解決方案而被分析.Srinivasan和Jafari還提出了一種為地點計算最大令牌持有時間的技術(shù).接下來要概述的是將他們的方法擴展到分布式系
統(tǒng),
假定該方法從初始狀態(tài)^€ Sp開始,其中&是地點/)被標記的所有Petri網(wǎng)標記(marking)組,并且使轉(zhuǎn)變的有序序列",。回火以到達狀態(tài)-,其中p不再被標記.令^為在該點火序列(firing sequence)中被訪問的狀態(tài)組.可以定義
U I;,,,其中
應(yīng)當注意轉(zhuǎn)變"由于回火另一轉(zhuǎn)變(如即O被使能了.因此,轉(zhuǎn)變t被使能的時間《,與轉(zhuǎn)變f被回火的時間<9,相同,因此,在上述等式中,每個(9都可以被看成是轉(zhuǎn)變的回火時間。規(guī)定、和r"僅是給定的常數(shù),我們可以重寫上述等式
上述關(guān)系的重要性是該組不等式在回火的序列中的任意給定狀態(tài)處可以根據(jù)該序列中的轉(zhuǎn)變的回火時間的組(e,, e""" 0J和開始時
間(?。來描迷.上面那組約束條件可以用于計算任意給定的地點中的最
大令牌持有時間
游柳(P) = max max 7T/乙,(p)
其中7W^w,。,v。是在Q,上計算的.如圖2中的狀態(tài)和轉(zhuǎn)變的序列200
所示,最大令牌持有時間從如下轉(zhuǎn)變回火序列產(chǎn)生該序列從標記為&£ 、的開始狀態(tài)234開始,并且在標記為s的狀態(tài)235結(jié)束.類似地,可以計算^^^n(P)。如果序列",。導(dǎo)致具有來自另一控制器(在此為盧3)的輸入狀況的轉(zhuǎn)變(見圖1中的控制器Ai的6),則控制器A3必須給Ai傳遞如下之一饋送給(feedto)"的所有地點的最大和最小令牌
持有時間、或者饋送給A3中的具有至/Vi中的轉(zhuǎn)變A的輸出連接的地點
的所有轉(zhuǎn)變的有效時間窗(e/Tec〃re 〃邊e『//h/ojfs1),同時,如果平包括如下狀態(tài)在該狀態(tài)處,地點p (例如圖1中的p5)被標記有來自另一控制器(在此為控制器A2)的(多個)輸入轉(zhuǎn)變,則控制器八2必須給/V:L傳遞所有這些轉(zhuǎn)變的有效時間窗.應(yīng)當注意有效時間窗可由于沖突解決或者調(diào)度方案而比原始分配的時間窗短.所假設(shè)的
是控制器之間的這樣的通信是可能的,并且所傳遞的數(shù)據(jù)是可靠的.在這樣的通信不可能或者數(shù)據(jù)不是完全可靠的情況下,每個控制器必須通過估計這些參數(shù)來制定出自己對其它控制器的認知.這就引起了估計這些參數(shù)的風險和錯誤的問趙.關(guān)于對該主題的更多討論,參見P. Zhao, A. Amini, M丄Jafari的"A Failure/Fault Diag則er Modelfor Autonomous Agents under Presence of Disturbances" (IEEEInternational Conference on Systems, Man, and Cybernetics,2006年)。
方法(#ea^re-/7e"/"a/7ce-o,_iS>a/;>^(測量-癥狀-的-持續(xù)性)癥狀的持續(xù)性將導(dǎo)致由正經(jīng)歷癥狀的控制器發(fā)起根原因分析.持續(xù)性是取決于應(yīng)用的度量,其必須根據(jù)該癥狀的時間窗、發(fā)生頻率、模式、嚴重性或者復(fù)雜性被量化。如果發(fā)現(xiàn)給定故障的持續(xù)性低于預(yù)定義的閾值,則該故陣可以被本發(fā)明的方法忽略.
方法(757/2^/— WAer-co/ "0//ers-/22po/red (找出-其它-涉及的-控制器)
找出潛在可能對識別出的癥狀負責的控制器的問題的解決方案依賴于(i)由每個控制器進行的狀況監(jiān)測的范圍,以及(ii)控制器所具有的關(guān)于其自己的基礎(chǔ)過程和其它控制器的基礎(chǔ)過程的細節(jié)等級.例如,考慮如下情況控制器Aj僅僅監(jiān)測其內(nèi)部狀況中的一些,但是該控制器的基礎(chǔ)過程的模型是完整的,對該示例而言,這意味著機器Mi控制器保存與Mi相關(guān)聯(lián)的所有狀態(tài)和亊件.現(xiàn)在假設(shè)地點a
已超時;即其具有令牌的時間比其最大持有時間長.對該說明性的示例而言,這意味著機器M 1已經(jīng)等待從機器人Rl接收服務(wù)太長時間.Ai產(chǎn)生搜索樹300,該搜索樹300從狀態(tài)305開始,在狀態(tài)305處,地點A在一定量時間伊^77^鵬(P,)內(nèi)被標記(如圖3所示).考慮與過程控制器Ai^關(guān)聯(lián)的樹311,如果該樹中的葉節(jié)點最后全部都是被監(jiān)測的地點,并且這些地點中沒有地點超過了它們的咖,/邊咖-"1^/7-力0/<///^-〃邊6(最大令牌持有時間),則伊^『"r鵬(Pi)只能歸因于外部狀況(即其它控制器).可能的是 一個或多個分支
17在不曾命中被監(jiān)測的地點的情況下繼續(xù)進行,并且返回開始地點.這
樣的循環(huán)(此后稱為"空循環(huán)")的存在表示不能作出明確的結(jié)論.
本示例中的控制器A3和Ai現(xiàn)在將被更嚴密地檢查.存在至少兩種
可能性(i )控制器A3已經(jīng)偏離其規(guī)范運行,并且還未將其傳遞給A:L,以及(ii)存在狀況,即A3中的(7已經(jīng)在一定量時間r^7^Tmax(^)內(nèi)被標記.前一種情況立即表明調(diào)度策略的改變,而不是故陣.在后一種情況下,如果g表示被監(jiān)測的狀況,則上述搜索繼續(xù)進行,只是這
次是在A3中。如果。是不被監(jiān)測的,則在^3中最終將存在
/M7//w/iZ7- foi"e/7_Ao/d//^- 〃邁e會被超過的地點,并且因此上面的搜索在該時間繼續(xù)進行.這意味著可能存在不同控制器之間的技索并識別故障的時間滯后.當A3實施其搜索時,其可能遇到一個或多個需要參與該搜索的控制器.
上面的搜索最終將產(chǎn)生至少一個控制器鏈、比如圖4中所示的鏈400.下面的必要條件成立
(i) 該鏈具有至少一個具有如下控制器的節(jié)點在該控制器處觀測到原始癥狀.
(ii) 如果在控制器A[i]內(nèi)的搜索指向被監(jiān)測的、最大令牌持有時
間被超過的地點,并且該地點從控制器A["中的至少一個轉(zhuǎn)變來接收輸入,則在該鏈中存在從Aw到Ap的路徑.
(iii) 如果如下的一個或多個條件為真,則控制器成為該鏈中的最后一個節(jié)點
a: 未獲得對/ "/邊咖-《oi"郎-AoW/2#- f /邊e狀況的違背,
b:在該控制器中沒有違背了巡《尤/邁"邁-foi"e/7-Ao/^//7《-〃邁e的地點位于具有連接到其它控制器的地點或者轉(zhuǎn)變的任何路徑中.
c:如果在該控制器內(nèi)部的該搜索樹僅包括空循環(huán).
可以容易地將上面的方法擴展到范圍在( 邊/o/邊w7一 foi~e/7-Ao/^/i3^_ 〃邊e ( 最小令牌持有時間 ),邁s,/邁咖一,oi~e/7_Ao_/^f//z^_ 〃邁e)之間的監(jiān)測,
對該說明性的示例而言,上面的鏈可以為機器Mi請求R::L將其完成的工件傳送給另一機器、即Ms.然而T^i未能響應(yīng),因為其正在等待來自Ms的許可.機器M2沒有響應(yīng)因為其正在等待機器人R:2響
應(yīng),等等.<formula>formula see original document page 19</formula>應(yīng)當注意上面的搜索不僅尋找那些潛在地對所觀測的癥狀負責的控制器,而且間接地嘗試識別根原因,通過查找鏈中的那些^7/邊咖—f o*e/z-Ao/(///^_ 〃邁e狀況已經(jīng)被違背的控制器中的地點來實現(xiàn)此目標.該鏈中的具有對該狀況的違背的最后一個控制器可能是該癥狀的潛在原因.對該控制器的搜索樹的詳細分析可以揭示發(fā)生了潛在故陣的確切狀況或者亊件(轉(zhuǎn)變).
總體來說,從控制器的角度來確定所觀測的癥狀是由于故陣還是某些計劃行為,是非常取決于應(yīng)用的.工業(yè)控制器環(huán)境中的死鎖的示例是說明性的,
總的來說,之所以發(fā)生死鎖是因為兩個或兩個以上控制器在特定的時間段期間以循環(huán)的方式需要相同的(多個)資源或者服務(wù).考慮該情況機器M,忙于工件類型PT、機器M2忙于工件類型PP2。根據(jù)PPi和PPs的過程計劃,M,中的工件必須被T^1 (機器人)傳送給M2,并且M:a中的工件必須被T^L傳送給Mi.顯然這是一個死鎖情況,因為我們假設(shè)T^L是M,和M2的唯一的服務(wù)提供者控制器.現(xiàn)在考慮困10所示的另一場景機器Mi忙于工件類型Ph,機器Ms忙于工件類型PP2,等等."Ri是機器M,的提供者,而T^2是機器Ms的提供者.機器M:2當前為空閑的.根據(jù)過程計劃,Mi中的工件必須被傳送給M:2并然后被傳送給Ms,并且Ms中的工件必須傳送給M2并然后被傳送給Mi.因為機器M2當前為空閑,所以當前不存在死鎖情況,但是只要這些機器人的任意之一將該工件移動到M2,該系統(tǒng)就死鎖.這種類型的死鎖被稱為即將發(fā)生的工件流死鎖(Impending Part Flow deadlock)(或者第二級死鎖),意味著該死鎖將在下兩個步驟中發(fā)生.當具有/z個機器和"-i個機器人(所述機器的提供者)時,該示例可以擴展到第("-l)級死鎖.
為了識別故障狀況,潛在地對所觀測的癥狀負責的控制器列表被復(fù)制給該鏈中的所有控制器.然后使用本領(lǐng)域中公知的稱為Mitchell-Merritt算法的算法.該算法基于任務(wù)等待圖(Task-Wait-For graph ( TWFG))而工作,所述任務(wù)等待圖是一種如下的圖在該圖中,頂點表示任務(wù),而從T1到T2的有向邊(directed edge)表
19示任務(wù)Tl由于資源沖突而在等待另一任務(wù)T2.每個頂點都具有一個私 有標記(private label)和一個公共標記(public label),私有標 記(由節(jié)點下半部中的指標表示)是唯一的變量并且隨著時間對該頂 點非減。公用標記(由節(jié)點上半部中的指標表示)對每個任務(wù)可用并 且不一定是唯一的.最初,公用標記與私有標記相同.TWFG中的邊意 味著一個任務(wù)在等待另 一任務(wù).
在Mitchell-Merritt算法中使用四類狀態(tài)轉(zhuǎn)變
(1) 當控制器開始等待另一資源時,該控制器變成被阻塞的控制器. 該被阻塞的控制器的標記變得比其原始值更大,并且也大于正在被等 待(wait on)的控制器的、對該節(jié)點同樣唯一的公共標記.在TWFG 中,將邊從被阻塞的控制器畫向所需的資源.
(2) 當控制器獲得必需的資源時,該控制器變?yōu)榧せ畹?將從等待 頂點中除去該邊.
(3 )當被阻塞的控制器發(fā)現(xiàn)其公共標記小于其正在等待的資源的公 共標記時,發(fā)生傳遞步驟(transmit step).在這種情況下,該等待 控制器將用剛剛讀取的標記來替換其公共標記.這導(dǎo)致更大的標記沿 TWFG的邊遷移.
(4)當控制器接收回其自己的公共標記時,發(fā)生(死鎖)檢測步驟.
所假設(shè)的是TWFG的構(gòu)建是由最先經(jīng)歷了癥狀的控制器發(fā)起的, 此外,為了該控制器構(gòu)建TWFG,其它控制器必須將該方法所需的狀態(tài) 信息傳遞給該控制器.
為了說明對死鎖故障狀況的識別,對圖5中所示的子系統(tǒng)500進行 詳述.該子系統(tǒng)是更大的系統(tǒng)(未示出)的一部分.所假設(shè)的是與 機器510 (標記為MO相關(guān)聯(lián)的控制器是最先觀測到癥狀的控制器; 即該控制器從機器人520 (標記為T^1)接收響應(yīng)發(fā)生超時.同樣假定 方法(/J7/^-WAer_co/z"o//ei^_/i7^ /p^/)揭示了潛在的控制器組 (M"R"M^R:i,M3!.此外,該示例中的控制器鏈是以Mi開始并結(jié)束
于M,的循環(huán).對該潛在的控制器組的進一步分析可以揭示T^i和R,2 是被動涉及的,而其它是主動涉及的.
因為機器530 (標記為浙)忙于工件類型戶A,所以如圖6的TWFG 所示,TWFG最初將創(chuàng)建兩個節(jié)點為M和^各一個,該圖將被擴展, 因為浙必須等待機器550 (標記為浙).如果公共標記3最初被分配給節(jié)點浙,則浙和賴的公共標記將根據(jù)圖6中所示的TWFG的步壤而改 變.最終,浙將等待浙,這將產(chǎn)生循環(huán).罔為兩個公共標記針對浙和 浙都相同,所以將檢測到死鎖。
方法(i^co/z/V^ure-Co/^i^Z-ZarA1 (重新配置-控制-規(guī)則)) 所假設(shè)的是上面檢測到的狀況可以僅僅使用一些類型的人工干預(yù) 來決定.然而,根據(jù)本發(fā)明可以在未來自動避免該相同的狀況.下面 是用于建立將保證其發(fā)生的控制規(guī)則的方法.術(shù)語"狀態(tài)"將寬松地 用于指PN中的地點或者地點集.需要注意每個有限的PN都可以總 是被轉(zhuǎn)變?yōu)橛邢逘顟B(tài)機.
每當故陣狀況被檢測到并且被控制器識別時,與該故陣相關(guān)聯(lián)的所 有激活的控制器的、"壞的(bad)"或者"要遊免的"狀態(tài)組將被該 控制器記錄并且將對所有其它控制器可用.控制器的特定的壞狀態(tài)在 特定故陣的背景內(nèi)并且相對于所涉及的其它控制器的狀態(tài)而被定義. 在不同的情況下,同樣的狀態(tài)可能不一定是壞狀態(tài).三控制器的系統(tǒng) 700 (圖7)包括兩個已經(jīng)被檢測到的故陣710、 720 (分別標記為故陣
1、故陣2),故陣1由狀態(tài)"AhS,,),(A2,S,2),(A3,S"〉)定義,而故 障2由狀態(tài)((A22,S!2),(A3,S23))來定義,這些狀態(tài)組定義了最新的要
避免的狀態(tài)列表.如所述的,術(shù)語"狀態(tài)"被寬松地使用.
考慮上面的故障1,每當控制器Ai嘗試轉(zhuǎn)變到狀態(tài)Su時,并且在 發(fā)生以前,Ai必須與控制器A2和A;j通信.現(xiàn)在如果A2和A3都分別處 于故陣1狀態(tài)、即Su和Sn中,則Ai必須停止到狀態(tài)Sii的轉(zhuǎn)變,如 閨7所示,在每個控制器控制范圍之內(nèi)的、在這些故陣狀況下必須被 禁止的轉(zhuǎn)變被表達為虛線,
在參照閨5的上述示例中,說明了三個激活的控制器M" M2和M3
的死鎖狀態(tài).圖8中說明了在所述三個控制器間共享的、"要避免的 (fo-sro^/)"狀態(tài)810、 820、 830的列表,應(yīng)當注意
(a )每個機器的狀態(tài)包括正在被處理的對象的狀態(tài).表示由 該控制器本身保存的狀態(tài)元素,但是不需要在各種控制器之間被分享. 例如,機器的可用性不影響死鎖情況;因此這些被認為是不關(guān)心的 (" ").
(b)所假設(shè)的是所述工件的當前階段數(shù)目由,、; 和f來表達.現(xiàn)在假定該系統(tǒng)處于圖9所述的狀態(tài).假設(shè)類型/V^的工件的狀 態(tài)是^(/W, r),類型/^的工件的狀態(tài)是A(/W, 而類型 /V^的工件的狀態(tài)是f (/,尸3, O .假設(shè)戶A必須必須被從其當前位置 (即該圖中未示出的控制器M4)取出,并被傳送給M2 (根據(jù)給定的過
程計劃).機器人Rl將向M2發(fā)送請求并且將等待其響應(yīng).M2將預(yù)測
其下一狀態(tài),該狀態(tài)是(葉.5):(*,/,^"2^,力,*). M2將把其要避免的列 表與所預(yù)測的狀態(tài)相比較.因為存在匹配,所以M2將把詢問發(fā)送給N^ 和M3. Mi和M琳通過將它們的當前狀態(tài)發(fā)送給M2來響應(yīng)這些詢問. 因為Mi和M3的當前狀態(tài)與M2的要避免列表中的狀態(tài)匹配,所以M2將 得出結(jié)論如果M2作出該移動則該系統(tǒng)將死鎖.因此,M2將不接受R, 的請求,并且該機器人在Mi和M3改變它們的狀態(tài)以前將不會從M4 中取出工件.
進一步的工作
本發(fā)明者調(diào)查研究了上述在線框架在工業(yè)自動控制系統(tǒng)中的應(yīng)用. 例如,在線分布式系統(tǒng)曾在使用Siemens PLC的情況下被實施于基于 代理體的工廠控制中.在該情況下,過程控制器被集成在分布式工作 流中,其中不同類型的工件在同一工場被制造.每種類型的工件的制 造過程包括不同的加工程序,并且每個程序可以由多個機器執(zhí)行.機 器人用于在機器之間傳送工件.對于工件處理的每個步驟,可用的機 器投標(bid for)該工作流.投標算法在使用分布式過程控制器中的 PLC編程的情況下被成功演示.盡管未實施在此所述的特定故障檢測算 法,但是該工作演示了 PLC處理復(fù)雜在線框架的能力。
此外,本發(fā)明者還使用了 Siemens Win AC (—種基于軟件的PLC) 來實施復(fù)雜的代理體算法、比如建模、推理和故陣檢測,例如,使用 Win AC將基于模型的故障檢測實施在基于代理體的淡水冷卻系統(tǒng)中. 在該演示中,如果觀測結(jié)果與模型預(yù)測不一致,則該系統(tǒng)確定故陣已 經(jīng)發(fā)生.基于模型的推理引擎被用于執(zhí)行系統(tǒng)診斷.進一步的工作被 構(gòu)思以改善同時發(fā)生的故陣檢測,并且在單個故陣有多個原因的情況 下的改善性能.
結(jié)論描述了一種正式的用于分布式工業(yè)控制系統(tǒng)的在線故障檢測和避 免的方法.該系統(tǒng)的表達形式提供用于認出故陣傳播的通用解決方法. 該系統(tǒng)的表達形式特別適于制造應(yīng)用中的未知的死鎖狀況,
該通用方法是與應(yīng)用非常有關(guān)的.在死鎖應(yīng)用中,所作的假設(shè)是 控制器的環(huán)境是確定性的,并且是完全可觀測的,而且代理體未遭受 故陣,
應(yīng)該理解前述詳細的描述在各個方面都是說明性和示例性的,而不 是限制性的,并且在此公開的本發(fā)明的范圍并不由本發(fā)明的說明書來 決定,而是從根據(jù)專利法所允許的最大寬度來解釋的權(quán)利要求書中確 定.例如,盡管該技術(shù)主要是在與工廠過程控制系統(tǒng)結(jié)合使用的情況 下被說明,但是本領(lǐng)域的技術(shù)人員能夠理解,該技術(shù)同樣可以結(jié)合其 它類型的控制系統(tǒng)而使用.例如,可以料想的是,本發(fā)明方法將在分 布式發(fā)電系統(tǒng)和熱電聯(lián)產(chǎn)(cogeneration)系統(tǒng)中表現(xiàn)良好,因為需 要廣泛的協(xié)調(diào)以使這樣的系統(tǒng)保持運行.應(yīng)當理解,在此所述和所示 的實施例僅僅是為了說明本發(fā)明的原理,并且本領(lǐng)域技術(shù)人員可以在 不偏離本發(fā)明的范圍和精神的情況下實施各種改變.
權(quán)利要求
1.一種用于檢測和避免具有多個工業(yè)控制器的分布式工廠控制系統(tǒng)中的故障的方法,每個所述控制器控制至少一個基礎(chǔ)過程,該方法包括步驟在第一控制器中,通過識別由第一控制器控制的基礎(chǔ)過程的狀態(tài)與由該控制器保存的相應(yīng)狀態(tài)之間的偏差來識別故障狀況的癥狀;在該第一控制器中,測量該癥狀的持續(xù)性,并且如果所測量的持續(xù)性低于閾值,則忽略該癥狀;通過至少在該第一控制器中產(chǎn)生搜索樹來找出該故障情況所涉及的其它控制器,其中該搜索樹具有是所監(jiān)測的狀況的葉節(jié)點;識別故障狀況包括識別該故障狀況所涉及的其它控制器的狀態(tài);以及重新配置控制規(guī)則以便在未來避免該故障狀況,其中所述控制規(guī)則控制所涉及的控制器的狀態(tài)。
2,根據(jù)權(quán)利要求1所述的方法,其中對故陣狀況的癥狀的識別步驟 進一步包括通過對與基礎(chǔ)過程相關(guān)聯(lián)的傳感設(shè)備進行觀測來識別由該第一控 制器控制的基礎(chǔ)過程的狀態(tài).
3. 根據(jù)權(quán)利要求1所述的方法,其中對故陣狀況的癥狀的識別步 驟進一步包括在該笫一控制器中使用時間Petri網(wǎng)對至少一個基礎(chǔ)過程建模.
4. 根據(jù)權(quán)利要求1所述的方法,其中找出故陣狀況所涉及的其它控制器的步驟進一步包括在如下的狀態(tài)處開始該搜索樹在該狀態(tài)處,時間Petri網(wǎng)的地 點pl在一定量時間爐^7W7^(p,)內(nèi)被標記,其中r^鵬^是地點凡的最 大令牌持有時間.
5. 根據(jù)權(quán)利要求4所述的方法,其中找出故陣狀況所涉及的其它控制器的步猓進一步包括如果在該第一控制器中的搜索樹的葉節(jié)點中沒有葉節(jié)點超過其最 大令牌持有時間,則在第二控制器中產(chǎn)生搜索樹,該搜索樹在時間 Petri網(wǎng)的地點^處開始,該地點《是以p,為輸入的轉(zhuǎn)變C的輸出; 以及通過在滿足以下狀況之一以前一直在附加的控制器中重復(fù)產(chǎn)生搜索樹的步驟來創(chuàng)建控制器鏈a) 在搜索樹中的任何葉節(jié)點中都未超過最大令牌持有時間狀況;b) 在最大令牌持有時間已經(jīng)被超過的控制器中的地點都不是位于 任何具有連接到其它控制器的地點或者轉(zhuǎn)變的路徑中;以及c) 控制器中的搜索樹僅僅含有空循環(huán).
6. 根據(jù)權(quán)利要求6所述的方法,其中識別故障狀況的步驟進一步 包括分析控制器鏈中的最后一個已經(jīng)超過了最大令牌持有時間的控制 器的搜索樹.
7. 根據(jù)權(quán)利要求1所述的方法,其中識別故障狀況的步驟進一步 包括使用從至少一個其它控制器獲得的狀態(tài)信息來在該第一控制器中 產(chǎn)生任務(wù)等待圖.
8. 根據(jù)權(quán)利要求1所述的方法,其中重新配置控制所涉及的控制 器的狀態(tài)的控制規(guī)則以便在未來避免該故陣狀況的步驟進一步包括將"要避免的"狀態(tài)列表從該第一控制器傳送到至少一個與該故 陣狀況相關(guān)聯(lián)的激活的控制器.
9. 根據(jù)權(quán)利要求8所述的方法,進一步包括步騍 在該第一控制器處接收與該故障狀況相關(guān)聯(lián)的每個控制器的狀態(tài),以及將所接收的狀態(tài)與"要避免的"狀態(tài)列表相比較來確定是否禁止 在笫一控制器的控制范閨內(nèi)的轉(zhuǎn)變.
10. 根據(jù)權(quán)利要求9所迷的方法,其中該第一控制器控制對工件執(zhí) 行的過程,并且其中該笫一控制器的狀態(tài)包括該工件的狀態(tài).
11. 一種計算機程序產(chǎn)品,其包括計算機可讀記錄介質(zhì),在該計算 機可讀記錄介質(zhì)上記錄有計算機程序,該計算機程序包括代碼工具, 該代碼工具用于當運行在工業(yè)控制器上時指示所述控制器來控制一種 用于檢測和避免具有多個工業(yè)控制器的分布式工廠控制系統(tǒng)中的故陣 的方法中的步驟,每個所述控制器控制至少一個基礎(chǔ)過程,該方法包 括步驟在笫一控制器中,通過識別由第一控制器控制的基礎(chǔ)過程的狀態(tài)與由該控制器保存的相應(yīng)狀態(tài)之間的偏差來識別故陣狀況的癥狀; 在該笫一控制器中,測量該癥狀的持續(xù)性,并且如果所測量的持續(xù)性低于閾值,則忽略該癥狀;通過至少在該笫一控制器中產(chǎn)生搜索樹來找出該故陣情況所涉及的其它控制器,其中該搜索樹具有是所監(jiān)測的狀況的葉節(jié)點;識別故陣狀況包括識別該故障狀況所涉及的其它控制器的狀態(tài);以及重新配置控制規(guī)則以便在未來避免該故障狀況,其中所述控制規(guī) 則控制所涉及的控制器的狀態(tài).
12. 根據(jù)權(quán)利要求11所述的計算機程序產(chǎn)品,其中對故陣狀況的 癥狀的識別步猓進一步包括通過對與基礎(chǔ)過程相關(guān)聯(lián)的傳感設(shè)備進行觀測來識別由該第一控 制器控制的該基礎(chǔ)過程的狀態(tài).
13. 根據(jù)權(quán)利要求11所述的計算機程序產(chǎn)品,其中對故陣狀況的 癥狀的識別步驟進一步包括在該第一控制器中使用時間Petri網(wǎng)對至少一個基礎(chǔ)過程建模.
14. 根據(jù)權(quán)利要求11所述的計算機程序產(chǎn)品,其中找出故陣狀況 所涉及的其它控制器的步驟進一步包括在如下的狀態(tài)處開始該搜索樹在該狀態(tài)處,時間Petri網(wǎng)的地 點A在一定量時間^t7/t^^,)內(nèi)被標記,其中^L^是地點a的最大令牌持有時間.
15. 根據(jù)權(quán)利要求14所述的計算機程序產(chǎn)品,其中找出故陣狀況所涉及的其它控制器的步驟進一步包括如果在該第一控制器中的搜索樹的葉節(jié)點中沒有葉節(jié)點超過其最 大令牌持有時間,則在笫二控制器中產(chǎn)生搜索樹,該搜索樹在時間 Petri網(wǎng)的地點^處開始,該地點《是以p,為輸入的轉(zhuǎn)變6的輸出; 以及通過在滿足以下狀況之一以前一直在附加的控制器中重復(fù)產(chǎn)生搜 索樹的步驟來創(chuàng)建控制器鏈a) 在搜索樹中的任何葉節(jié)點中都未超過最大令牌持有時間狀況;b) 在最大令牌持有時間已經(jīng)被超過的控制器中的地點都不是位于 任何具有連接到其它控制器的地點或者轉(zhuǎn)變的路徑中;以及C)控制器中的搜索樹僅僅含有空循環(huán).
16. 根據(jù)權(quán)利要求16所述的計算機程序產(chǎn)品,其中識別故陣狀況 的步驟進一步包括分析控制器鏈中的最后一個已經(jīng)超過了最大令牌持有時間的控制 器的搜索樹.
17. 根據(jù)權(quán)利要求11所述的計算機程序產(chǎn)品,其中識別故陣狀況 的步稞進一步包括使用從至少一個其它控制器獲得的狀態(tài)信息來在該笫一控制器中 產(chǎn)生任務(wù)等待圖.
18. 根據(jù)權(quán)利要求11所述的計算機程序產(chǎn)品,其中重新配置控制 所涉及的控制器的狀態(tài)的控制規(guī)則以便在未來避免該故障狀況的步稞 進一步包括將"要避免的"狀態(tài)列表從該笫一控制器傳送到至少一個與該故 陣狀況相關(guān)聯(lián)的激活的控制器.
19. 根據(jù)權(quán)利要求18所述的計算機程序產(chǎn)品,其中方法進一步包 括步驟在該笫一控制器處接收與該故陣狀況相關(guān)聯(lián)的每個控制器的狀 態(tài),以及將所接收的狀態(tài)與"要避免的"狀態(tài)列表相比較來確定是否禁止 在第一控制器的控制范圍內(nèi)的轉(zhuǎn)變.
20. 根據(jù)權(quán)利要求19所述的計算機程序產(chǎn)品,其中該第一控制器 控制對工件執(zhí)行的過程,并且其中該第一控制器的狀態(tài)包括該工件的 狀態(tài).
全文摘要
為具有多個相互作用的過程控制器的工廠控制系統(tǒng)提供了一種在線故障檢測和避免方法。本發(fā)明解決了在系統(tǒng)設(shè)計和測試的時候不能確定和去除所有故障的問題。當將故障轉(zhuǎn)化成一個或多個控制器中的超時狀況時,識別癥狀并測量持續(xù)性,識別所涉及的其它控制器,識別該故障狀況,并且重新配置控制規(guī)則以便在未來避免該故障狀況。
文檔編號G05B19/418GK101657766SQ200880011997
公開日2010年2月24日 申請日期2008年4月14日 優(yōu)先權(quán)日2007年4月13日
發(fā)明者M·加法里, P·趙, Y·盧 申請人:西門子共同研究公司