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

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

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

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

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

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