摘要: 通过对大量真实工业数据的统计分析,发现仪表测量信号变化量的方差能很好地表征仪表性能的稳定状态,由此提出了一种基于信号方差分析的快速仪表故障检测算法,并在此基础上开发了一套在线仪表故障检测系统。该系统以诊断数据库为核心,包括实时数据采集、仪表故障在线诊断、故障数据的保存与查询、诊断参数自学习以及远程访问功能。工业应用结果表明,这种故障检测方法能够对仪表早期的故障作出正确的判断,且检测迅速,物理意义明确,适用于大规模的流程工业过程。
1 引 言
随着自动化水平的日益提高,现代化生产过程的控制系统规模不断扩大,复杂性迅速增加,导致维修费用增加,停机损失巨大或事故后果严重等问题。因此,传统的参数报警和联锁保护系统已不能满足现代化生产过程的需要,对于大型复杂系统,人们更为迫切地希望提高其整体可靠性与可维修性,而故障检测与诊断技术恰好为实现这一目标提供了一条有效的途径。
工业过程故障检测与诊断系统内容广泛,涉及设备运行、人工操作、仪器仪表、计算机控制系统等环节。从控制系统的角度来看,过程故障可划分为被控过程故障、仪表故障和计算机系统故障三种类型。其中,以传感器和执行器故障为主的仪表故障已成为导致控制系统失效的主要原因。据统计,80%的控制系统失效起因于传感器和执行器的故障[1]。因此,能否快速准确地检测仪表故障是保证控制系统稳定运行的关键。
当前的故障诊断与检测方法可分为三大类:基于定量模型的方法、基于定性模型的方法和基于过程历史数据的方法[2]。基于定量模型的方法过于依赖过程模型的准确程度,在复杂、严重非线性以及强耦合的流程工业中难以得到广泛应用[3];基于定性模型的方法也称为基于知识的方法,适合于有大量生产经验和工艺知识可以利用的场合,但通用性较差;基于过程历史数据的方法以采集的过程数据为基础,通过各种数据处理与分析方法挖掘出隐含信息,比较符合流程工业的特点,通用性强,是目前故障诊断方法的研究重点[4]。但大多数基于过程数据的故障诊断分析算法非常复杂,只能监控少数关键变量,当需要检测仪表数量较大时,难以满足实时性的要求,所以在大规模工业过程上成功应用的例子并不多。
本文通过对大量真实工业数据的统计分析发现:仪表测量信号变化量的方差能很好地表征仪表性能的稳定状态,由此提出了一种基于信号方差分析的快速仪表故障检测算法,通过分析信号的方差统计量,检测仪表的实时工作状态。并在此基础上开发了一套在线仪表故障检测系统。工业应用结果表明,这种故障检测方法能够对仪表早期的故障做出正确的判断,且检测迅速,物理意义明确,适用于大规模的流程工业过程。*
2 基于方差分析的故障检测方法
本文方法基于仪表实时信号的差分时间序列,主要由两个步骤组成:首先对差分时间序列进行滤波、去除奇异点等处理,之后对预处理后的数据进行方差估计,即提取仪表的波动状态信息;然后根据由历史故障数据学习而来的方差统计量分类阀值,比较得到当前的仪表状态信息,实现相应的故障检测。
2.1 滑动窗口方差估计
设测量变量x的采样时间序列为{x(t)},设置一宽度为h的诊断窗口,即窗口内包含h个按采集顺序排列的原始数据,则称x变量在k时刻的诊断窗口时间序列为:{xk} = {x(k-j)}(j=h-1,h-2,…,1,0)。
为克服稳态工作点对诊断结果的影响,引入一阶差分处理,只对测量信号的变化量进行统计分析,则{xk}的差分时间序列为:

由于绝大多数仪表在处于某一稳态并无外部干扰时,其变化量均符合均值为零的正态分布,即-ek≈0,则得到x变量在k时刻的波动量标准差的估计值为:

另外,在实际应用中,窗口宽度h的选取非常重要。若h太小,不能充分去除噪声和奇异点,可能使诊断结果不稳定;若h太大,则会掩盖有效信号,使诊断延迟。
2.2 确定方差区间
对于任一正常运行的仪表,其滑动窗口内的标准差^σk都处于一定的正常波动范围内。为此,本文引入方差区间的概念,对测量变量x,设[σmin,σmax]为其在正常波动的方差变化区间。当σk∈[σmin,σmax]时,则认为该仪表在k时刻运行正常;反之,则认为该仪表在k时刻运行异常,继而可进行进一步的故障类型诊断。
不同仪表的方差波动范围,由于本身性质、工艺条件、外部环境等因素的影响而互不相同。本文通过学习过程历史正常数据来确定每个待诊断仪表的的正常方差区间[σmin,σmax]的初值。设一组正常状态的历史数据x(t),长度为n、诊断窗口长度为h,其k时刻的标准差估计值为^σk,则其标准差时间序列为{^σk} = (^σ1, ^σ2,…, ^σn-h-1),该仪表的正常方差区间初值为:

为避免诊断结果不稳定,判断出当前时刻的仪表状态后,还需要对该仪表在m个采样时间内(如1 h)的状态Sk(k =1,2,…,m)序列进行概率检验,计算其故障发生的概率PF。若故障概率PF小于最小可能故障概率PFmin,则认为仪表正常;若故障概率PF大于最大可能故障概率PFmax,则认为仪表存在故障,并依据主要仪表状态与当前值确定具体的仪表故障类别;否则,认为仪表处于不稳定状态,有出现故障的可能。
3 工业应用
在上述故障诊断算法的基础上,我们开发了一套仪表故障检测软件系统,并在某大型炼油厂催化裂化装置中得到应用。下面介绍该系统的总体结构与应用结果。
3.1 仪表在线故障检测系统
基于上述快速检测方法所开发的仪表故障检测与诊断软件系统的总体结构如图1所示。

整个系统以诊断数据库为核心,主要子系统包括实时数据采集、仪表故障在线诊断、故障数据的保存与查询、诊断参数自学习及远程访问等。数据采集子系统在每个扫描周期内从工厂实时数据库或DCS中采集装置实时数据,写入诊断数据库实时数据表;诊断子系统基于历史运行数据进行仪表故障检测与诊断等工作,诊断结果存入数据库中;远程访问系统将诊断结果提交办公网服务器,更新各Web浏览器中的数据。此外,软件还包括历史数据保存与浏览、诊断参数自学习等辅助模块,其中诊断参数自学习用于自动确定仪表检测过程中的方差区间阀值。
仪表故障检测与诊断系统以1min为扫描周期,每个扫描周期定时从实时数据库服务器采集实时数据,然后调用故障诊断模块进行仪表状态检测,检测结果保存在历史数据库,并更新输出结果。其中故障诊断模块完全基于上述快速故障诊断方法,具体算法步骤如下:
(1)选取仪表的正常历史数据进行方差区间学习,确定其正常方差区间[σmin,σmax]。
(2)对当前窗口内的原始数据进行一阶差分处理,得到差分数据d(k),并进行实时在线概率分析,删除当前诊断窗口内的异常数据点。
(3)由经异常数据剔除后的有效差分数据e(k),计算当前诊断窗口内差分数据的标准差σ(k)。
(4)根据式(6)的状态判别函数,得到当前仪表状态S(k)。
(5)对该仪表近期的仪表状态S(k),计算其故障发生概率PF,并根据最大、最小的可能故障概率进一步确定仪表当前状态。
3.2 应用举例
催化裂化过程反应复杂[5],测量变量接近上千,仪表种类繁多,因此仪表故障检测与诊断系统必须采用快速算法,才能保证仪表状态监测的及时性与准确性。下面以催化裂化装置的再生烟气出口氧含量分析仪(采样点为AD1401)实际发生的故障(采样口漏)为例,来测试上述算法的有效性。具体应用步骤如下:
(1)选取AD1401的历史正常数据进行方差区间学习,学习结果如图2所示,方差区间初值确定为[0.095 9,0.369 8]。
(2)对原始数据进行一阶差分、奇异点去除,以及滑动窗口方差估计。本文经过多次的实验,取窗口宽度为20,可获得较好的诊断效果,图3为AD1401的方差估计过程的时间序列图。
(3)对AD1401进行故障诊断,其中故障状态用以下整数来表示:“0”———仪表正常;“1”———仪表波动开始变大;“2”———仪表波动偏大;“-1”———仪表波动开始变小;“-2”———仪表不灵敏。诊断结果如图4所示。



4 结 论
本文通过对大量真实工业数据的统计分析,发现仪表测量信号变化量的方差大小直接反映了仪表的工作状态,可以作为仪表故障诊断的特征量之一,由此提出了一种基于信号方差分析的快速故障检测方法。该方法具有良好的工业应用背景,物理意义明确,计算简单,适用于大规模的流程工业过程。根据上述方法所开发的仪表故障检测系统适用于各种不同的仪表和控制装置,不受硬件条件和工作环境的限制,易推广应用。
参考文献:
[1] PATTON R J, FRANK PM,CLARK R N. Issues ofFaultDiag-nosis forDynamic Systems[M].New York: Springer, 2000.
[2] VENKATASUBRAMANIANV,RENGASWAMY R, YIN K, et a.lA Review ofProcessFaultDetection and DiagnosisPart I:Quanti-tativeModel-basedMethods[J]. Comp Chem Eng, 2003, 27(3):293-311.
[3] HUANG Y, GERTLER J,MCAVOY T J. Sensor and ActuatorFault Isolation by Structured PartialPCAwithNonlinearExten-sions[J]. Journal ofProcessContro,l 2000, 10: 459-469.
[4] 陈玉东,施颂椒,翁正新.动态系统的故障诊断方法综述[J].化工自动化及仪表, 2001, 28(3): l-14.
[5] 邬国英,杨基和.石油化工概论[M].北京:中国石化出版社, 2000.




