在當(dāng)今科技飛速發(fā)展的時代,系統(tǒng)的可靠性和穩(wěn)定性至關(guān)重要。容錯控制技術(shù)的研究雖面臨著諸多挑戰(zhàn),但近年來,魯棒控制理論、模糊控制、神經(jīng)網(wǎng)絡(luò)控制等相關(guān)領(lǐng)域的深入發(fā)展,為其帶來了新的機(jī)遇和條件。同時,計算機(jī)控制技術(shù)、人工智能等技術(shù)的飛速進(jìn)步,也讓容錯控制技術(shù)在實(shí)際工程中的應(yīng)用變得越來越可行。
提高系統(tǒng)可靠性通常有兩種途徑:一是采用縝密的設(shè)計和嚴(yán)格的質(zhì)量控制方法,盡量降低故障出現(xiàn)的概率;二是以冗余資源為代價來換取更高的可靠性。然而,僅依靠種方法提升系統(tǒng)可靠性存在一定的局限性,要想進(jìn)一步提高,就必須采用容錯技術(shù)。
容錯技術(shù)在國外發(fā)展較早,由馮?諾依曼提出。隨著上世紀(jì)八十年代微型計算機(jī)的迅速發(fā)展和廣泛應(yīng)用,容錯技術(shù)也得到了飛速的發(fā)展,并被應(yīng)用到各個領(lǐng)域。我國的容錯技術(shù)目前也在快速發(fā)展,在航天、電廠等重要工作場合已廣泛采用。
所謂容錯,即容許錯誤,指當(dāng)設(shè)備的一個或多個關(guān)鍵部分發(fā)生故障時,系統(tǒng)能夠自動進(jìn)行檢測與診斷,并采取相應(yīng)措施,保證設(shè)備維持其規(guī)定功能,或在犧牲一定性能的情況下,確保設(shè)備在可接受范圍內(nèi)繼續(xù)工作。錯誤一般可分為兩類:一類是先天性的固有錯,如元器件生產(chǎn)過程中造成的錯誤、線路與程序在設(shè)計過程中產(chǎn)生的錯誤,這類錯誤通常需要拆除、更換或修正,是不能容忍的;另一類是后天性的錯,由設(shè)備在運(yùn)行中產(chǎn)生的缺陷導(dǎo)致,這類故障具有瞬時性、間歇性和性的區(qū)別。
容錯技術(shù)是提高系統(tǒng)可靠性的重要途徑,常見的容錯方法包括硬件容錯、軟件容錯、信息容錯和時間容錯。
- 智能容錯:智能容錯 IFT(Intelligent Fault - Tolerance)是指設(shè)備在運(yùn)行過程中,當(dāng)一個或多個關(guān)鍵部件發(fā)生故障或即將發(fā)生故障之前,利用人工智能理論和方法,通過采取有效措施,對故障自動進(jìn)行補(bǔ)償、抑制、消除、修復(fù),以保證設(shè)備繼續(xù)安全、高效、可靠運(yùn)行,或以犧牲性能損失為代價,保證設(shè)備在規(guī)定的時間內(nèi)完成其預(yù)定功能。智能容錯技術(shù)的構(gòu)成方法可通過以下三步實(shí)現(xiàn):首先建立系統(tǒng)的設(shè)計目標(biāo);然后設(shè)計智能容錯處理機(jī)構(gòu);根據(jù)設(shè)計目標(biāo)對所作的設(shè)計進(jìn)行評價,若滿足目標(biāo)則設(shè)計成功,否則返回第二步重新設(shè)計,直至滿足設(shè)計目標(biāo)要求。
硬件智能容錯 HIFT(Hardware Intelligent Fault Tolerant)主要采用硬件冗余技術(shù),其基本思想是為設(shè)備的關(guān)鍵部件配備多重相似或相同部件,一旦檢測和診斷出設(shè)備發(fā)生故障,就可以立刻切換到備份部件,以達(dá)到故障容錯的目的。圖 1 所示為二冗余結(jié)構(gòu)原理圖:

圖 1 二冗余結(jié)構(gòu)原理圖 - 硬件智能容錯方式的分類:硬件智能容錯按其工作方式可分為靜態(tài)冗余、動態(tài)冗余和混合冗余。
靜態(tài)冗余容錯是通過表決和比較屏蔽系統(tǒng)中出現(xiàn)的故障,如圖 2 所示:

圖 2 三模冗余(靜態(tài)冗余)TMR 系統(tǒng)結(jié)構(gòu)圖
靜態(tài)冗余容錯的主要特點(diǎn)包括:由于故障被屏蔽,所以不需要識別故障;容易與無冗余系統(tǒng)進(jìn)行轉(zhuǎn)換;所有模件都消耗能量。
動態(tài)冗余的主要方式是多重模塊相繼運(yùn)行來維持設(shè)備正常工作。當(dāng)檢測到工作模塊出現(xiàn)故障時,一個備用模塊立即接替故障模塊并投入工作。動態(tài)冗余容錯控制的主要特點(diǎn)有:僅有一個模件消耗能量;模件數(shù)目可隨任務(wù)而改變,不會影響系統(tǒng)工作;轉(zhuǎn)換裝置和檢測裝置中任一故障都會導(dǎo)致系統(tǒng)失效。

圖 3 動態(tài)冗余容錯控制結(jié)構(gòu)圖
混合冗余兼動態(tài)冗余和靜態(tài)冗余之所長,通常用 H(n,k)來表示,如圖 4 所示。圖中的 V 為表決器,n 表示模塊的總數(shù),k 代表以表決方式實(shí)現(xiàn)靜態(tài)冗余的模塊數(shù),而其余 N - K 個模塊則作為表決系統(tǒng)中模塊的備份。當(dāng)參與表決的 k 個模塊中(通常 k >= 3)有一個模塊出現(xiàn)故障時,備份就替代該模塊參與表決,維持靜態(tài)冗余系統(tǒng)的完整。當(dāng)所有備份都被替換完后,系統(tǒng)就成為一般的表決系統(tǒng)。在硬件構(gòu)成的邏輯系統(tǒng)中,表決器由開關(guān)電路實(shí)現(xiàn);而在軟件中,表決需要通過軟件斷言 SA(Software Assertions)來實(shí)現(xiàn)。軟件斷言是指當(dāng)軟件在宿主系統(tǒng)中運(yùn)行時,對其進(jìn)程或功能的正確與否做出判斷的條件。

圖 4 H (n,k) 系統(tǒng)結(jié)構(gòu) - 智能容錯的故障處理方式:智能容錯技術(shù)是一種綜合性很強(qiáng)的技術(shù)。為了消除故障的影響,可以采用以下處理方式:
- 故障檢測:通過故障檢測可以迅速準(zhǔn)確地對故障進(jìn)行定位,它是容錯的基礎(chǔ)。故障檢測方式可分為脫機(jī)檢測和聯(lián)機(jī)檢測。脫機(jī)檢測時系統(tǒng)不能做有用的工作;聯(lián)機(jī)檢測則與系統(tǒng)工作同步進(jìn)行,具有實(shí)時檢測的能力。
- 故障定位:在給定的故障條件下,找出故障原因,確定發(fā)生故障元件的具體位置。定位的詳細(xì)程度視具體問題而定,一般定位到進(jìn)行系統(tǒng)重構(gòu)所需的單元。
- 故障屏蔽:故障屏蔽能夠把故障效應(yīng)掩蓋起來,防止故障對輸出產(chǎn)生影響。但它只能容忍故障,而不能給出故障警告,當(dāng)冗余資源耗盡時,將使設(shè)備產(chǎn)生錯誤輸出。常用的故障屏蔽方法有多模表決冗余和屏蔽邏輯兩種。多模表決冗余是指在設(shè)備的多個裝置中,只要至少有一個裝置正常工作,系統(tǒng)就能完成其功能;屏蔽邏輯主要用于門級電路的故障屏蔽,能有效地限制邏輯線路門輸出的臨界故障與亞臨界故障。
- 故障限制:規(guī)定故障的傳播范圍,把故障效應(yīng)的傳播限制到某一區(qū)域內(nèi),可通過軟件和硬件來實(shí)現(xiàn)。
- 故障隔離:將故障隔離起來,防止其進(jìn)一步擴(kuò)散和對設(shè)備產(chǎn)生影響。
- 故障修復(fù):當(dāng)設(shè)備發(fā)生故障經(jīng)檢測和定位后,可采取更換、修理、自修復(fù)等方式使設(shè)備復(fù)原。
- 系統(tǒng)重組:當(dāng)設(shè)備發(fā)生故障時,通過任務(wù)的重新分配或內(nèi)部器件的重新組合,切除或替換故障部件。
- 系統(tǒng)重構(gòu):把修復(fù)的模件重新加入到系統(tǒng)中去。
- 系統(tǒng)恢復(fù):經(jīng)過屏蔽、重組等操作,使故障恢復(fù)到故障前的工作狀態(tài),不丟失或少丟失信息,并保證下一步的正常運(yùn)行,通常用軟件實(shí)現(xiàn)。
- 智能容錯的實(shí)現(xiàn)方法:智能容錯的實(shí)現(xiàn)方法主要包括故障信號檢測、故障特征識別、故障狀態(tài)預(yù)測、故障維修決策和故障容錯控制。故障容錯的目的是針對不同的故障源和故障特征,采取相應(yīng)的容錯處理措施,對故障進(jìn)行補(bǔ)償、消除或自動修復(fù),以保證設(shè)備繼續(xù)安全可靠運(yùn)行,或以犧牲性能損失為代價,保證設(shè)備在規(guī)定時間內(nèi)完成其基本功能。結(jié)構(gòu)框圖如圖 5 所示。

圖 5 故障容錯控制過程框圖
冗余(Redundancy)即多余資源,冗余技術(shù)可用于處理故障,主要分為硬件冗余法和軟件冗余法。
- 硬件冗余法:硬件冗余 HR(Hardware Redundancy)依靠附加硬件的冗余性和互補(bǔ)性來實(shí)現(xiàn)故障容錯。當(dāng)設(shè)備某個或某些關(guān)鍵部件發(fā)生故障后,可以用備份硬件替代故障部件,以削弱或消除故障的影響。
- 軟件冗余法:軟件冗余 SR(Software Redundancy)可以通過增加軟件功能來實(shí)現(xiàn),例如修改容錯控制策略、重新配置系統(tǒng)軟件、有效地降低設(shè)備的運(yùn)行速度、多模塊并行診斷決策等。
冗余附加技術(shù)指為實(shí)現(xiàn)上述冗余另外所需的資源和技術(shù),包括程序、指令、數(shù)據(jù)以及存放和調(diào)動它們的空間和通道。在沒有容錯要求的系統(tǒng)中,這些是不需要的,但在容錯系統(tǒng)中卻是必不可少的。以屏蔽硬件故障為目的的容錯技術(shù)中,冗余附加技術(shù)包括關(guān)鍵程序和數(shù)據(jù)的冗余存儲和調(diào)用,以及進(jìn)行檢測、表決、切換、重構(gòu)、糾錯、復(fù)算的實(shí)現(xiàn)。在屏蔽軟件故障的容錯系統(tǒng)中,冗余附加件的構(gòu)成有所不同,包括獨(dú)立設(shè)計的相同功能冗余備份程序的存儲及調(diào)用、實(shí)現(xiàn)糾錯檢測及恢復(fù)的程序,以及為實(shí)現(xiàn)容錯軟件所需固化了的程序。
隨著大規(guī)模和超大規(guī)模集成電路的發(fā)展,硬件可靠性大大提高,價格卻大幅度降低,使得采用各種容錯技術(shù)在經(jīng)濟(jì)上更容易接受。容錯技術(shù)的應(yīng)用范圍不斷擴(kuò)展,已涉及銀行事務(wù)處理、各種實(shí)時控制系統(tǒng),甚至許多通用計算機(jī)系統(tǒng)也采用了容錯技術(shù)。在上世紀(jì)七八十年代,容錯技術(shù)就已經(jīng)得到了廣泛應(yīng)用,例如 1975 年美國貝爾實(shí)驗(yàn)室的 3A 號 ESS 處理系統(tǒng)和美國 TANDEM16 容錯事務(wù)處理系統(tǒng);1976 年美國 AMDAHL470V/6 容錯通用計算機(jī)和 1978 年容錯空間計算機(jī) FTSC;1979 年 IBM 推出容錯的 4300 通用計算機(jī)系列;1980 年容錯多處理機(jī) FTMP 及軟件實(shí)現(xiàn)的容錯計算機(jī) sift 研制成功等等。
隨著電子交易的日益廣泛,出現(xiàn)了商用容錯計算機(jī)市場和以分布式為體系的容錯計算機(jī)系統(tǒng)。容錯的 VLSI 技術(shù)和人工智能在容錯技術(shù)上的應(yīng)用 —— 計算機(jī)故障診斷系統(tǒng),為冗余、容錯技術(shù)的發(fā)展增添了新的活力。同時,冗余、容錯技術(shù)理論的研究也相當(dāng)活躍,1952 年,馮?諾依曼作了一系列關(guān)于用重復(fù)邏輯模塊改善系統(tǒng)可靠性的;1956 年,他發(fā)表了論文《概率邏輯及用不可靠元件設(shè)計可靠的結(jié)構(gòu)》。1971 年以來,IEEE 計算機(jī)學(xué)會容錯技術(shù)委員會每年召開國際容錯計算學(xué)術(shù)會議;1987 年中國計算機(jī)學(xué)會成立了容錯計算委員會。
基于容錯控制(TFC)的基本思想,F(xiàn)TC 的研究主要有被動容錯控制(Passives)和主動容錯控制(Activate)兩種途徑。
- 主動容錯控制:主動容錯控制一般需要兩個基本步驟,即控制系統(tǒng)的故障檢測、診斷與隔離及控制系統(tǒng)重構(gòu)。控制系統(tǒng)故障檢測、診斷與隔離是一門基于現(xiàn)代控制理論、可靠性理論、數(shù)理統(tǒng)計、信號處理技術(shù)、模式識別技術(shù),以及人工智能和計算機(jī)控制技術(shù)等多學(xué)科的應(yīng)用型邊緣學(xué)科,F(xiàn)DD 技術(shù)是容錯控制重要的支撐技術(shù)之一。然而,由于控制系統(tǒng) FDD 問題本身的復(fù)雜性和相關(guān)領(lǐng)域技術(shù)水平的限制,目前仍沒有特別有效的解決方法。目前,控制系統(tǒng) FDD 研究主要沿著基于模型和基于知識兩種途徑展開。
控制系統(tǒng)重構(gòu)的方法主要有控制律重新調(diào)度、控制器重構(gòu)設(shè)計和模型跟蹤重組控制。控制律重新調(diào)度是在離線的情況下計算出各種故障條件下所需的控制律增益參數(shù),存儲在計算機(jī)中,系統(tǒng)根據(jù) FDD 單元所給出的結(jié)果,選擇合適的增益參數(shù),實(shí)現(xiàn)對各種故障的容錯控制;控制器重構(gòu)設(shè)計是根據(jù)故障系統(tǒng)的新環(huán)境,重新設(shè)置系統(tǒng)的工作點(diǎn),并給出可改善系統(tǒng)性能的新控制器,現(xiàn)有的控制器重構(gòu)方法主要有基于直接狀態(tài)反饋或輸出反饋的方法,以及基于動態(tài)補(bǔ)償器的設(shè)計方法等;模型跟蹤重組控制采用模型參考自適應(yīng)控制的思想,使得被控過程的輸出自適應(yīng)地跟蹤參考模型的輸出,因此這種容錯控制不需要 FDD 單元。
在主動容錯控制方法中,基于人工智能的容錯控制方法能夠較好地將 FDD 環(huán)節(jié)與系統(tǒng)重構(gòu)相結(jié)合。在容錯控制中運(yùn)用的人工智能方法主要是人工神經(jīng)元網(wǎng)絡(luò) ANN(Artifictial Neural Network),利用 ANN 對非線性特性的任意逼近能力和從樣本中學(xué)習(xí)、歸納和推理的能力,通過訓(xùn)練,使 ANN 能準(zhǔn)確地估計出故障的大小,在此基礎(chǔ)上再通過故障補(bǔ)償來實(shí)現(xiàn)主動容錯控制。 - 被動容錯控制:在目前的容錯控制研究中,被動容錯控制不受控制系統(tǒng) DFD 環(huán)節(jié)的限制,相對于主動容錯控制更容易實(shí)現(xiàn)。已有的可以實(shí)現(xiàn)被動容錯控制的主要方法有完整性控制器設(shè)計、同時鎮(zhèn)定和可靠鎮(zhèn)定。完整性控制(Intgearl Contron)的概念由 Niederlinski 在 1971 年提出,是研究早的一種容錯控制技術(shù),由于控制系統(tǒng)中傳感器和執(zhí)行器是容易發(fā)生故障的部件,所以完整性控制具有很高的應(yīng)用價值。在控制理論中,稱多變量系統(tǒng)中出現(xiàn)故障時仍能保持系統(tǒng)穩(wěn)定性的控制器為完整性控制器,完整性控制器設(shè)計是多變量系統(tǒng)中特有的問題。多模型設(shè)計方法又稱同時鎮(zhèn)定問題,自從 Ackermann、Sakes 和 Vidyasagar 等人提出后,已成為容錯控制的一個重要研究方向,同時穩(wěn)定容錯控制的設(shè)計方法是力求尋找一個公共的狀態(tài)反饋控制器,使之能夠同時穩(wěn)定盡可能多的故障情況下的系統(tǒng)模型,同時兼顧到系統(tǒng)的動、靜態(tài)品質(zhì)特性的要求。使用多個補(bǔ)償器進(jìn)行可靠鎮(zhèn)定的概念是由 Silage 于 1980 年早提出,可靠鎮(zhèn)定實(shí)際上是關(guān)于控制器的容錯問題。
與被動容錯控制相比,主動容錯控制具有更多的優(yōu)點(diǎn)。從理論上講,被動容錯控制是故障情況下的強(qiáng)魯棒控制,主動容錯控制是故障情況下的強(qiáng)自適應(yīng)控制。被動容錯控制即使在系統(tǒng)正常的情況下,控制率也要滿足故障條件下的要求,這在系統(tǒng)正常時顯然是一種過高的要求,設(shè)計未免過于保守,必然要以犧牲性能指標(biāo)為代價。另外,在預(yù)想故障數(shù)目較多時,被動容錯控制問題可能根本沒有解,所以被動容錯控制有較大的局限性。
盡管控制系統(tǒng) FDD 和 TFC 技術(shù)的研究在理論上已經(jīng)取得了較為豐富的成果,但距離實(shí)際工程應(yīng)用的要求還有相當(dāng)大的差距,目前仍存在許多問題有待研究和探索。
- 控制系統(tǒng)故障檢測與診斷中存在的問題:控制系統(tǒng)故障的模型是從理論上進(jìn)行 FDD 研究的前提,但現(xiàn)有故障建模方法簡單,與實(shí)際系統(tǒng)故障的復(fù)雜性和多樣性之間存在著亟待解決的矛盾。目前還沒有一個在 FDD 和 FTC 中比較統(tǒng)一的故障表示方法。以 CPU 測試為例,多數(shù)的結(jié)構(gòu)測試法需要詳細(xì)的系統(tǒng)邏輯電路圖,并在此基礎(chǔ)上建立故障模型。結(jié)構(gòu)測試法通過驗(yàn)證電路中沒有任何符合故障模型的故障存在,來說明電路中沒有影響電路功能的實(shí)際物理故障存在。然而,由于微處理器是一個輸入、輸出引線數(shù)目有限,內(nèi)部結(jié)構(gòu)異常復(fù)雜的大規(guī)模集成電路,很難在邏輯門這確立準(zhǔn)確的故障模型;另一方面,受到引出腳數(shù)目的限制,使得故障的可控制性與可觀察性大大降低;此外,控制邏輯部分與數(shù)據(jù)處理邏輯部分都在一塊芯片上,不能預(yù)先假定哪一部分總是好的。
- 系統(tǒng)重構(gòu)方面存在的主要問題:目前對系統(tǒng)重構(gòu)問題的研究相對較少?,F(xiàn)有的運(yùn)用廣義逆的方法、基于狀態(tài)反饋或輸出反饋、特征值和結(jié)構(gòu)配置等方法,僅是從數(shù)學(xué)模型角度將系統(tǒng)恢復(fù),而不是從系統(tǒng)性能角度恢復(fù),所以重構(gòu)后的系統(tǒng)魯棒性不能保證,有時甚至穩(wěn)定性也難以保證。而且,多數(shù)重構(gòu)對系統(tǒng)模型的要求也很苛刻。就目前的控制系統(tǒng) FDD 研究水平來看,想獲得故障后系統(tǒng)模型的全部信息是相當(dāng)困難的,所以尋求故障后控制完全重構(gòu)是理想化的。由于故障的大小是未知的,所以在設(shè)計時進(jìn)行穩(wěn)定性分析非常困難,只能對預(yù)想的故障進(jìn)行穩(wěn)定性分析。
- 實(shí)時系統(tǒng)和容錯技術(shù)相結(jié)合存在的主要問題:如何將軟件容錯技術(shù)有機(jī)地融合到實(shí)時系統(tǒng)