故障诊断专家系统是诊断领域引人注目的发展方向之一, 也是研究最多、应用最广的一类智能诊断技术,主要用于那些没有精确数学模型或很难建立数学模型的复杂系统。大致经历了两个发展阶段, 即基于浅知识的第一代故障诊断专家系统和基于深知识的第二代故障诊断专家系统。基于浅知识( 人类专家的经验知识)的故障诊断系统是以领域专家和操作者的启发性经验知识为核心, 通过演绎推理或产生式推理来获取诊断结果。基于深知识( 诊断对象的模型知识) 的故障诊断系统要求诊断对象的每一个环节具有明确的输入输出表达关系, 诊断时首先通过诊断对象的实际输出与期望输出之间的不一致, 生成引起这种不一致的原因*, 然后根据诊断对象领域中的第一定律知识( 具有明确科学依据的知识) 及其内部特定的约束关系, 采用一定的算法, 找出可能的故障源。在故障诊断专家系统中, 故障库是专家系统的核心, 体现着专家系统水平的高低, 但故障库的建造或故障知识的获取也成为建立专家系统的瓶颈问题。
1 故障库建造步骤
故障库的设计是建立专家系统最重要和最艰巨的任务。初始知识库的设计包括问题知识化、知识概念化、概念形式化、形式规则化和规则合法化。问题知识化, 即辨别所研究问题的实质; 知识概念化, 即概括知识表示所需要的关键概念及其关系; 概念形式化, 即确定用来组织知识的数据结构形式; 形式规则化, 即编制规则, 把形式化了的知识变换为由编程语言表示的可供计算机执行的语句和程序; 规则合法化, 即确认规则化了的知识的合理性, 检验规则的有效性。
故障库的建立首先是通过知识工程师从测试设备领域专家那里获得或者通过在诊断过程中从用户那里获得知识, 然后通过知识获取模块把知识送到知识库。
知识获取的主要困难在于如何恰当地把握领域专家所使用的概念、关系和问题的求解方法。根据专家提供的经验知识和测试设备的特点, 通过直接获取方式、交互获取方式获取有价值的诊断信息。
故障库的建立是一个相当复杂的过程, 所以必须要按照一定的方法和步骤。通常情况下按照如图1 所示的步骤从现有的设计资料中提取有关原理的定性知识,并将这些知识归纳成规则形式。下面对图1 所示的各步骤分别加以说明:
图1 故障库的建立步骤
( 1) 功能, 结构层次分解。由于现代的产品设计的模块化设计思想, 所以电子产品在功能和结构上具有明显的层次性, 因此要提取电子设备的故障诊断知识, 对系统进行分解是必要的。
( 2) 建立部件正常功能描述。对于每一个上面划分的部件, 有必要对其正常工作逻辑进行定性说明。
( 3) 确定各部件的测试点集。测点分为部件输入测点和部件输出测点, 在对某个部件P 进行诊断时, 只有其全部输入信号都正常, 才可以根据输出来判断该部件是否故障。
( 4) 确定部件可能故障集。对以上划分的单元分别进行故障分析, 对于部件, 首先要确定其有可能出现的故障类型, 部件P 的可能故障集的确定可以根据经验、FMEA 分析结果以及器件资料等多方面搜集。
( 5) 建立定性影响关系网络。对于部件P , 先确定每一故障e 所带来的输出表征, 即输出测点数据的一种组合。然后, 对部件P 的所有测点数据进行分类, 一类表示部件自身故障所测试的数据, 记为PSO; 非自身故障引起( 由输入异常引起) 的故障归到另一类, 记为PU O。当测试数据W ∈ PSO 时, 故障诊断结果可以确定就是部件P; 当测试数据W ∈ PUO 时, 需要对部件P的输入进行测试, 由于部件P 的输入又是其他部件的输出, 因此, 可以逐级推理, 直至将故障定位在某一个或几个部件上。
( 6) 将故障影响关系网络归纳成规则形式。将上面因果分析得到的结果转化成两种规则形式:
IF W∈PSO T HEN P 故障;
IF W∈PUO TH EN 对P 的输入进行测试;
( 7) 将规则写入故障库, 通过一般知识库编辑系统可以很容易将上面的规则写入到故障知识库中。
2 故障库的设计
2. 1 数据采集与知识的获取