1. 故障诊断概念
故障诊断主要研究如何对系统中出现的故障进行检测、分离和辨识 , 即判断故障是否发生 , 定位故障发生的部位和种类 , 以及确定故障的大小和发生的时间等 。
2. 故障诊断方法
故障诊断防范可分为定性分析和定量分析两大类 , 如图 1 所示。 其中 , 定量分析方法又分为基于解析模型的方法和数据驱动的方法 , 后者又进一步包括机器学习类方法、多元统计分析类方法、信号处理类方法、信息融合类方法和粗糙集方法等 。
图1 故障诊断方法分类
2.1 定性分析方法
2.1.1 图论方法
基于图论的故障诊断方法主要包括符号有向图 (Signed directed graph, SDG) 方法和故障树(Fault tree) 方法 。SDG 是一种被广泛采用的描述系统因果关系的图形化模型 。故障树是一种特殊的逻辑图。基于故障树的诊断方法是一种由果到因的分析过程,它从系统的故障状态出发, 逐级进行推理分析,最终确定故障发生的基本原因、影响程度和发生概率 。
基于图论的故障诊断方法具有建模简单、结果易于理解和应用范围广等特点 。 但是 , 当系统比较复杂时 , 这类方法的搜索过程会变得非常复杂 , 而且诊断正确率不高 , 可能给出无效的故障诊断结果 。
2.1.2 专家系统
基于专家系统 (Expert system) 的故障诊断方法是利用领域专家在长期实践中积累起来的经验建立知识库 , 并设计一套计算机程序模拟人类专家的推理和决策过程进行故障诊断。专家系统主要由知识库、推理机、综合数据库、人机接口及解释模块等部分构成 。知识库和推理机是专家系统的核心 , 传统专家系统中 , 专家知识常用确定性的 IF-THEN 规则表示 。通常专家知识不可避免地具有不确定性。 模糊专家系统在专家知识的表示中引入了模糊隶属度的概念 , 并利用模糊逻辑进行推理 , 能够很好地处理专家知识中的不确定性。
基于专家系统的故障诊断方法能够利用专家丰富的经验知识 , 无需对系统进行数学建模并且诊断结果易于理解 , 因此得到了广泛的应用。但是 ,这类方法也存在不足 , 主要表现在 : 首先 , 知识的获取比较困难 , 这成为专家系统开发中的主要瓶颈; 其次,诊断的准确程度依赖于知识库中专家经验的丰富程度和知识水平的高低 ;最后 , 当规则较多时 , 推理过程中存在匹配冲突、组合爆炸等问题 , 使得推理速度较慢、效率低下 。
2.1.3 定性仿真
定性仿真 (Qualitative simulation) 是获得系统定性行为描述的一种方法 , 定性仿真得到的系统在正常和各种故障情况下的定性行为描述可以作为系统知识用于故障诊断 。这种方法首先将系统描述成一个代表物理参数的符号集合以及反映这些物理参数之间相互关系的约束方程集合 , 然后从系统的初始状态出发 , 生成各种可能的后继状态 , 并用约束方程过滤掉那些不合理的状态 , 重复此过程直到没有新的状态出现为止 。 定性仿真的最大特点是能够对系统的动态行为进行推理 。
2.2 定量分析方法
2.2.1 基于解析模型的方法
基于解析模型的故障诊断方法利用系统精确的数学模型和可观测输入输出量构造残差信号来反映系统期望行为与实际运行模式之间的不一致 , 然后基于对残差信号的分析进行故障诊断 。基于解析模型的故障诊断研究的相对较多 , 也较深入。 基于状态估计的故障诊断方法主要包括滤波器方法和观测器方法 。基于参数估计的故障诊断认为故障会引起系统过程参数的变化 , 而过程参数的变化会进一步导致模型参数的变化 , 因此可以通过检测模型中的参数变化来进行故障诊断 。
基于解析模型的故障诊断利用了对系统内部的深层认识 , 具有很好的诊断效果 。但是这类方法依赖于被诊断对象精确的数学模型 , 实际中对象精确的数学模型往往难以建立 , 此时基于解析模型的故障诊断方法便不再适用 . 然而系统在运行过程中积累
了大量的运行数据 , 因此需要研究基于过程数据的故障诊断方法 。
2.2.2 数据驱动的方法
数据驱动的故障诊断方法就是对过程运行数据进行分析处理 , 从而在不需知道系统精确解析模型的情况下完成系统的故障诊断。 这类方法又可分为机器学习类方法、多元统计分析类方法、信号处理类方法、信息融合类方法和粗糙集方法等。 总之 , 数据驱动的故障诊断方法不需要过程精确的解析模型 , 完全从系统的历史数据出发 , 因此在实际系统中更容易直接应用 。 但是 , 这类方法因为没有系统内部结构和机理的信息 , 因此对于故障的分析和解释相对比较困难 。 最后需要说明的是 , 虽然基于解析模型的方法和数据驱动的方法是两类完全不同的故障诊断方法 , 但它们之间并不是完全孤立的。
(1)机器学习
机器学习类故障诊断方法的基本思路是利用系统在正常和各种故障情况下的历史数据训练神经网络 (Neural network) 或者支持向量机 (Supportvector machine) 等机器学习算法用于故障诊断 。在故障诊断中神经网络主要用来对提取出来的故障特征进行分类。
基于机器学习的故障诊断方法以故障诊断正确率为学习目标 , 并且适用范围广 . 但是机器学习算法需要过程故障情况下的样本数据 , 且精度与样本的完备性和代表性有很大关系 , 因此难以用于那些无法获得大量故障数据的工业过程。
(2)多元统计分析
基于多元统计分析的故障诊断方法是利用过程多个变量之间的相关性对过程进行故障诊断 。这类方法根据过程变量历史数据 , 利用多元投影方法将多变量样本空间分解成由主元变量张成的较低维的投影子空间和一个相应的残差子空间 , 并分别在这两个空间中构造能够反映空间变化的统计量 , 然后将观测向量分别向两个子空间进行投影 ,并计算相应统计量指标用于过程监控 。
基于多元统计分析的故障诊断方法不需要对系统的结构和原理有深入的了解 , 完全基于系统运行过程中传感器的测量数据 , 而且算法简单 , 易于实现 。 但是 , 这类方法诊断出来的故障物理意义不明确 , 难于解释 , 并且由于实际系统的复杂性 , 这类方法中还有许多问题有待进一步的研究 , 比如过程变量之间非线性 , 以及过程的动态性和时变性等 。
(3)信号处理
对测量信号利用各种信号处理方法进行分析处理 , 提取与故障相关的信号的时域或频域特征用于故障诊断 。 主要包括谱分析 (Spectrumanalysis) 方法和小波变换 (Wavelet transform) 方法 。不同的故障会导致测量信号的频谱表现出不同的特征 , 因此可以通过对信号的功率谱、倒频谱等进行谱分析的方法来进行故障诊断 。以傅里叶变换为核心的传统谱分析方法虽然在平稳信号的特征提取中发挥了重要作用 , 但是实际系统发生故障后的测量信号往往是非平稳的 , 而且傅里叶变换是一种全局变换 , 不能反映信号在时频域上的局部特征 。 而小波变换作为一种非平稳信号的时频域分析方法 , 既能够反映信号的频率内容 , 又能够反映该频率内容随时间变化的规律 , 并且其分辨率是可变的 , 即在低频部分具有较高的频率分辨率和较低的时间分辨率 , 而在高频部分具有较高的时间分辨率和较低的频率分辨率。 小波变换在故障诊断中的应用主要有以下几种 : 1) 利用小波变换对信号进行多尺度多分辨率分析 , 从而提取信号在不同尺度上的特征用于故障诊断。 2) 利用小波变换的模极大值可以检测出信号的突变 , 因此基于小波变换的奇异性检测可用于突发型故障的诊断 。3) 根据实际系统中有用信号往往集中在低频部分且比较平稳 , 而噪声主要表现为高频信号的特点 , 小波变换还常用于对随机信号进行去噪。小波分解与重构的去噪方法通过在小波分解信号中去除高频部分来达到去噪的目的。此外 , 近年来还出现了大量将小波变换与其他方法相结合的故障诊断方法。
(4)粗糙集
粗糙集 (Rough set) 是一种从数据中进行知识发现并揭示其潜在规律的新的数学工具 。 与模糊理论使用隶属度函数和证据理论使用置信度不同 , 粗糙集的最大特点就是不需要数据集之外的任何主观先验信息就能够对不确定性进行客观的描述和处理 。属性约简是粗糙集理论的核心内容 , 它是在不影响系统决策的前提下 , 通过删除不相关或者不重要的条件属性 , 从而使得可以用最少的属性信息得到正确的分类结果 。 因此 , 在故障诊断中可以使用粗糙集来选择合理有效的故障特征集 , 从而减小输入特征量的维数 , 降低故障诊断系统的规模和复杂程度 。
(5)信息融合
信息融合技术对多源信息加以自动分析和综合以获得比单源信息更为可靠结论 。 信息融合按照融合时信息的抽象层次可分为数据层融合、特征层融合和决策层融合 。 目前 , 基于信息融合的故障诊断方法主要是决策层融合方法和特征层融合方法 。决策层融合诊断方法是对不同传感器数据得到的故障诊断结果或者相同数据经过不同方法得到的故障诊断结果利用决策层融合算法进行融合 , 从而获得一致的更加准确的结论 。基于 DS 证据理论(Dempster-Shafer evidence theory) 融合的方法是决策层融合故障诊断中研究最多的一类。特征层融合诊断方法主要是利用神经网络或支持向量机将多个故障特征进行融合 , 得到融合后的故障特征用于诊断或者直接输出故障诊断结果。 故障特征既可以是从多个传感器数据中得到的 , 也可以是从相同数据中抽象出来的不同特征 。
基于信息融合的故障诊断方法利用了多个传感器的互补和冗余信息 , 但是 , 如何保证这些信息能够被有效利用 , 以达到提高故障诊断的准确性及减少虚报和漏报的目标还有待进一步的研究。