在当今科技飞速发展的时代,系统的可靠性和稳定性至关重要。容错控制技术的研究虽面临着诸多挑战,但近年来,鲁棒控制理论、模糊控制、神经网络控制等相关领域的深入发展,为其带来了新的机遇和条件。同时,计算机控制技术、人工智能等技术的飞速进步,也让容错控制技术在实际工程中的应用变得越来越可行。
提高系统可靠性通常有两种途径:一是采用缜密的设计和严格的质量控制方法,尽量降低故障出现的概率;二是以冗余资源为代价来换取更高的可靠性。然而,仅依靠种方法提升系统可靠性存在一定的局限性,要想进一步提高,就必须采用容错技术。
容错技术在国外发展较早,由冯?诺依曼提出。随着上世纪八十年代微型计算机的迅速发展和广泛应用,容错技术也得到了飞速的发展,并被应用到各个领域。我国的容错技术目前也在快速发展,在航天、电厂等重要工作场合已广泛采用。
所谓容错,即容许错误,指当设备的一个或多个关键部分发生故障时,系统能够自动进行检测与诊断,并采取相应措施,保证设备维持其规定功能,或在牺牲一定性能的情况下,确保设备在可接受范围内继续工作。错误一般可分为两类:一类是先天性的固有错,如元器件生产过程中造成的错误、线路与程序在设计过程中产生的错误,这类错误通常需要拆除、更换或修正,是不能容忍的;另一类是后天性的错,由设备在运行中产生的缺陷导致,这类故障具有瞬时性、间歇性和性的区别。
容错技术是提高系统可靠性的重要途径,常见的容错方法包括硬件容错、软件容错、信息容错和时间容错。
- 智能容错:智能容错 IFT(Intelligent Fault - Tolerance)是指设备在运行过程中,当一个或多个关键部件发生故障或即将发生故障之前,利用人工智能理论和方法,通过采取有效措施,对故障自动进行补偿、抑制、消除、修复,以保证设备继续安全、高效、可靠运行,或以牺牲性能损失为代价,保证设备在规定的时间内完成其预定功能。智能容错技术的构成方法可通过以下三步实现:首先建立系统的设计目标;然后设计智能容错处理机构;根据设计目标对所作的设计进行评价,若满足目标则设计成功,否则返回第二步重新设计,直至满足设计目标要求。
硬件智能容错 HIFT(Hardware Intelligent Fault Tolerant)主要采用硬件冗余技术,其基本思想是为设备的关键部件配备多重相似或相同部件,一旦检测和诊断出设备发生故障,就可以立刻切换到备份部件,以达到故障容错的目的。图 1 所示为二冗余结构原理图:

图 1 二冗余结构原理图 - 硬件智能容错方式的分类:硬件智能容错按其工作方式可分为静态冗余、动态冗余和混合冗余。
静态冗余容错是通过表决和比较屏蔽系统中出现的故障,如图 2 所示:

图 2 三模冗余(静态冗余)TMR 系统结构图
静态冗余容错的主要特点包括:由于故障被屏蔽,所以不需要识别故障;容易与无冗余系统进行转换;所有模件都消耗能量。
动态冗余的主要方式是多重模块相继运行来维持设备正常工作。当检测到工作模块出现故障时,一个备用模块立即接替故障模块并投入工作。动态冗余容错控制的主要特点有:仅有一个模件消耗能量;模件数目可随任务而改变,不会影响系统工作;转换装置和检测装置中任一故障都会导致系统失效。

图 3 动态冗余容错控制结构图
混合冗余兼动态冗余和静态冗余之所长,通常用 H(n,k)来表示,如图 4 所示。图中的 V 为表决器,n 表示模块的总数,k 代表以表决方式实现静态冗余的模块数,而其余 N - K 个模块则作为表决系统中模块的备份。当参与表决的 k 个模块中(通常 k >= 3)有一个模块出现故障时,备份就替代该模块参与表决,维持静态冗余系统的完整。当所有备份都被替换完后,系统就成为一般的表决系统。在硬件构成的逻辑系统中,表决器由开关电路实现;而在软件中,表决需要通过软件断言 SA(Software Assertions)来实现。软件断言是指当软件在宿主系统中运行时,对其进程或功能的正确与否做出判断的条件。

图 4 H (n,k) 系统结构 - 智能容错的故障处理方式:智能容错技术是一种综合性很强的技术。为了消除故障的影响,可以采用以下处理方式:
- 故障检测:通过故障检测可以迅速准确地对故障进行定位,它是容错的基础。故障检测方式可分为脱机检测和联机检测。脱机检测时系统不能做有用的工作;联机检测则与系统工作同步进行,具有实时检测的能力。
- 故障定位:在给定的故障条件下,找出故障原因,确定发生故障元件的具体位置。定位的详细程度视具体问题而定,一般定位到进行系统重构所需的单元。
- 故障屏蔽:故障屏蔽能够把故障效应掩盖起来,防止故障对输出产生影响。但它只能容忍故障,而不能给出故障警告,当冗余资源耗尽时,将使设备产生错误输出。常用的故障屏蔽方法有多模表决冗余和屏蔽逻辑两种。多模表决冗余是指在设备的多个装置中,只要至少有一个装置正常工作,系统就能完成其功能;屏蔽逻辑主要用于门级电路的故障屏蔽,能有效地限制逻辑线路门输出的临界故障与亚临界故障。
- 故障限制:规定故障的传播范围,把故障效应的传播限制到某一区域内,可通过软件和硬件来实现。
- 故障隔离:将故障隔离起来,防止其进一步扩散和对设备产生影响。
- 故障修复:当设备发生故障经检测和定位后,可采取更换、修理、自修复等方式使设备复原。
- 系统重组:当设备发生故障时,通过任务的重新分配或内部器件的重新组合,切除或替换故障部件。
- 系统重构:把修复的模件重新加入到系统中去。
- 系统恢复:经过屏蔽、重组等操作,使故障恢复到故障前的工作状态,不丢失或少丢失信息,并保证下一步的正常运行,通常用软件实现。
- 智能容错的实现方法:智能容错的实现方法主要包括故障信号检测、故障特征识别、故障状态预测、故障维修决策和故障容错控制。故障容错的目的是针对不同的故障源和故障特征,采取相应的容错处理措施,对故障进行补偿、消除或自动修复,以保证设备继续安全可靠运行,或以牺牲性能损失为代价,保证设备在规定时间内完成其基本功能。结构框图如图 5 所示。

图 5 故障容错控制过程框图
冗余(Redundancy)即多余资源,冗余技术可用于处理故障,主要分为硬件冗余法和软件冗余法。
- 硬件冗余法:硬件冗余 HR(Hardware Redundancy)依靠附加硬件的冗余性和互补性来实现故障容错。当设备某个或某些关键部件发生故障后,可以用备份硬件替代故障部件,以削弱或消除故障的影响。
- 软件冗余法:软件冗余 SR(Software Redundancy)可以通过增加软件功能来实现,例如修改容错控制策略、重新配置系统软件、有效地降低设备的运行速度、多模块并行诊断决策等。
冗余附加技术指为实现上述冗余另外所需的资源和技术,包括程序、指令、数据以及存放和调动它们的空间和通道。在没有容错要求的系统中,这些是不需要的,但在容错系统中却是必不可少的。以屏蔽硬件故障为目的的容错技术中,冗余附加技术包括关键程序和数据的冗余存储和调用,以及进行检测、表决、切换、重构、纠错、复算的实现。在屏蔽软件故障的容错系统中,冗余附加件的构成有所不同,包括独立设计的相同功能冗余备份程序的存储及调用、实现纠错检测及恢复的程序,以及为实现容错软件所需固化了的程序。
随着大规模和超大规模集成电路的发展,硬件可靠性大大提高,价格却大幅度降低,使得采用各种容错技术在经济上更容易接受。容错技术的应用范围不断扩展,已涉及银行事务处理、各种实时控制系统,甚至许多通用计算机系统也采用了容错技术。在上世纪七八十年代,容错技术就已经得到了广泛应用,例如 1975 年美国贝尔实验室的 3A 号 ESS 处理系统和美国 TANDEM16 容错事务处理系统;1976 年美国 AMDAHL470V/6 容错通用计算机和 1978 年容错空间计算机 FTSC;1979 年 IBM 推出容错的 4300 通用计算机系列;1980 年容错多处理机 FTMP 及软件实现的容错计算机 sift 研制成功等等。
随着电子交易的日益广泛,出现了商用容错计算机市场和以分布式为体系的容错计算机系统。容错的 VLSI 技术和人工智能在容错技术上的应用 —— 计算机故障诊断系统,为冗余、容错技术的发展增添了新的活力。同时,冗余、容错技术理论的研究也相当活跃,1952 年,冯?诺依曼作了一系列关于用重复逻辑模块改善系统可靠性的;1956 年,他发表了论文《概率逻辑及用不可靠元件设计可靠的结构》。1971 年以来,IEEE 计算机学会容错技术委员会每年召开国际容错计算学术会议;1987 年中国计算机学会成立了容错计算委员会。
基于容错控制(TFC)的基本思想,FTC 的研究主要有被动容错控制(Passives)和主动容错控制(Activate)两种途径。
- 主动容错控制:主动容错控制一般需要两个基本步骤,即控制系统的故障检测、诊断与隔离及控制系统重构。控制系统故障检测、诊断与隔离是一门基于现代控制理论、可靠性理论、数理统计、信号处理技术、模式识别技术,以及人工智能和计算机控制技术等多学科的应用型边缘学科,FDD 技术是容错控制重要的支撑技术之一。然而,由于控制系统 FDD 问题本身的复杂性和相关领域技术水平的限制,目前仍没有特别有效的解决方法。目前,控制系统 FDD 研究主要沿着基于模型和基于知识两种途径展开。
控制系统重构的方法主要有控制律重新调度、控制器重构设计和模型跟踪重组控制。控制律重新调度是在离线的情况下计算出各种故障条件下所需的控制律增益参数,存储在计算机中,系统根据 FDD 单元所给出的结果,选择合适的增益参数,实现对各种故障的容错控制;控制器重构设计是根据故障系统的新环境,重新设置系统的工作点,并给出可改善系统性能的新控制器,现有的控制器重构方法主要有基于直接状态反馈或输出反馈的方法,以及基于动态补偿器的设计方法等;模型跟踪重组控制采用模型参考自适应控制的思想,使得被控过程的输出自适应地跟踪参考模型的输出,因此这种容错控制不需要 FDD 单元。
在主动容错控制方法中,基于人工智能的容错控制方法能够较好地将 FDD 环节与系统重构相结合。在容错控制中运用的人工智能方法主要是人工神经元网络 ANN(Artifictial Neural Network),利用 ANN 对非线性特性的任意逼近能力和从样本中学习、归纳和推理的能力,通过训练,使 ANN 能准确地估计出故障的大小,在此基础上再通过故障补偿来实现主动容错控制。 - 被动容错控制:在目前的容错控制研究中,被动容错控制不受控制系统 DFD 环节的限制,相对于主动容错控制更容易实现。已有的可以实现被动容错控制的主要方法有完整性控制器设计、同时镇定和可靠镇定。完整性控制(Intgearl Contron)的概念由 Niederlinski 在 1971 年提出,是研究早的一种容错控制技术,由于控制系统中传感器和执行器是容易发生故障的部件,所以完整性控制具有很高的应用价值。在控制理论中,称多变量系统中出现故障时仍能保持系统稳定性的控制器为完整性控制器,完整性控制器设计是多变量系统中特有的问题。多模型设计方法又称同时镇定问题,自从 Ackermann、Sakes 和 Vidyasagar 等人提出后,已成为容错控制的一个重要研究方向,同时稳定容错控制的设计方法是力求寻找一个公共的状态反馈控制器,使之能够同时稳定尽可能多的故障情况下的系统模型,同时兼顾到系统的动、静态品质特性的要求。使用多个补偿器进行可靠镇定的概念是由 Silage 于 1980 年早提出,可靠镇定实际上是关于控制器的容错问题。
与被动容错控制相比,主动容错控制具有更多的优点。从理论上讲,被动容错控制是故障情况下的强鲁棒控制,主动容错控制是故障情况下的强自适应控制。被动容错控制即使在系统正常的情况下,控制率也要满足故障条件下的要求,这在系统正常时显然是一种过高的要求,设计未免过于保守,必然要以牺牲性能指标为代价。另外,在预想故障数目较多时,被动容错控制问题可能根本没有解,所以被动容错控制有较大的局限性。
尽管控制系统 FDD 和 TFC 技术的研究在理论上已经取得了较为丰富的成果,但距离实际工程应用的要求还有相当大的差距,目前仍存在许多问题有待研究和探索。
- 控制系统故障检测与诊断中存在的问题:控制系统故障的模型是从理论上进行 FDD 研究的前提,但现有故障建模方法简单,与实际系统故障的复杂性和多样性之间存在着亟待解决的矛盾。目前还没有一个在 FDD 和 FTC 中比较统一的故障表示方法。以 CPU 测试为例,多数的结构测试法需要详细的系统逻辑电路图,并在此基础上建立故障模型。结构测试法通过验证电路中没有任何符合故障模型的故障存在,来说明电路中没有影响电路功能的实际物理故障存在。然而,由于微处理器是一个输入、输出引线数目有限,内部结构异常复杂的大规模集成电路,很难在逻辑门这确立准确的故障模型;另一方面,受到引出脚数目的限制,使得故障的可控制性与可观察性大大降低;此外,控制逻辑部分与数据处理逻辑部分都在一块芯片上,不能预先假定哪一部分总是好的。
- 系统重构方面存在的主要问题:目前对系统重构问题的研究相对较少。现有的运用广义逆的方法、基于状态反馈或输出反馈、特征值和结构配置等方法,仅是从数学模型角度将系统恢复,而不是从系统性能角度恢复,所以重构后的系统鲁棒性不能保证,有时甚至稳定性也难以保证。而且,多数重构对系统模型的要求也很苛刻。就目前的控制系统 FDD 研究水平来看,想获得故障后系统模型的全部信息是相当困难的,所以寻求故障后控制完全重构是理想化的。由于故障的大小是未知的,所以在设计时进行稳定性分析非常困难,只能对预想的故障进行稳定性分析。
- 实时系统和容错技术相结合存在的主要问题:如何将软件容错技术有机地融合到实时系统