蒸汽发生器水位控制系统是一个大滞后、非线性的多变量系统[1],其拥有大量的传感器、执行器等控制设备。控制系统在长期的大功率、高负荷运转过程中不可避免地会发生故障,所以能及时、准确地判断出故障发生的原因及程度就显得尤为重要。目前,国内外针对核动力装置进行故障诊断的研究和成果颇多:韩国先进科学与技术研究所的Kun Mo,Seung Jun Lee开发了一套动态神经网络集模型用于核电厂瞬态的监测和故障诊断[2],英国学者Joseph McGhee,Ian A.Henderson将神经网络运用于调节阀等执行机构的状态识别和故障诊断[3],哈尔滨工程大学刘永阔开发了一套在线的核动力装置实时智能诊断系统[4]。这些研究都取得了很好的诊断效果,而针对蒸汽发生器水位控制系统的故障诊断成果较少。因此本文针对核电厂蒸汽发生器水位控制系统中水位和给水流量传感器的3类典型故障(恒偏差故障、恒增益故障、卡死故障)建立神经网络故障诊断系统,对监测参量进行实时在线采样和处理后实现对传感器故障模式的识别以及故障程度的诊断。
1 蒸汽发生器水位控制系统 1.1 蒸汽发生器数学模型蒸汽发生器在运行过程中具有“虚假水位”等非常复杂的非线性特征[5],因此为了便于研究与分析,本文采用E.Irving提出的分段式多线性数学模型[6-7],其数学表达式如下:
(1) |
式中:s为拉普拉斯算子;U(s)为给水流量;V(s)为蒸汽流量;Y(s)为蒸汽发生器水位;$\frac{{{G}_{1}}}{s}$是给水流量和蒸汽流量的变化所引起的水位变化项;$\frac{{{G}_{2}}}{1+{{\tau }_{2}}s}$是虚假水位现象所引起的水位变化项,在给水流量或者蒸汽流量变化的短时间内,水位有向相反方向变化的趋势;
将式(1)转换为状态空间方程,其表达式如下:
式中:
且u(t)是给水流量;v(t)是蒸汽出口流量;y(t)是水位。
此模型中的各项常数是通过对真实的核电厂蒸汽发生器的实验数据采用模型识别的方法来确定的,一共辨识了5%、15%、30%、50%、100%这5个典型功率点的模型常数,其他功率点的常数采用插值法求得,表 1给出了这5个功率点的常数值。
P | Qv | G1 | G2 | G3 | τ1 | τ2 | T |
5% | 57.4 | 0.058 | 9.63 | 0.181 | 41.9 | 48.4 | 119.6 |
15% | 180.8 | 0.058 | 4.46 | 0.226 | 26.3 | 21.5 | 60.5 |
30% | 381.7 | 0.058 | 1.83 | 0.310 | 43.4 | 4.5 | 17.7 |
50% | 660 | 0.058 | 1.05 | 0.215 | 34.8 | 3.6 | 14.2 |
100% | 1435 | 0.058 | 0.47 | 0.105 | 28.6 | 3.4 | 11.7 |
1.2 蒸汽发生器水位特性分析
蒸汽发生器的水位变化过程中,给水流量与蒸汽流量的平衡处于主要地位,但是“虚假水位”现象的存在依然会给动态过程中的水位调整带来巨大的困难。并且由于“虚假水位”带来的水位反向变化不能依靠给水的调节来克服,所以只能通过减小功率变化的幅度和速度来限制水位的波动。
1.2.1 蒸汽流量扰动下的动态特性在不同功率点下,维持给水流量不变,观察蒸汽发生器水位在蒸汽流量阶跃变化情况下的动态响应,其水位变化如图 1所示。当蒸汽发生器出口蒸汽流量增加时,气腔内的蒸汽量会瞬时减小,从而导致压力降低。上升通道内饱和水会由于压力的降低而产生大量的气泡,这将使工质流动的阻力大大增加,大量的给水聚集在下降通道内,传感器误认为水位有上升的趋势,这与水位长期的变化过程相反,即“虚假水位”现象。随着时间的推移,由于流量的不平衡,水位在经过最高点后会逐渐降低。从图中还可以看出,功率越低,水位反向变化的最大值越大,说明“虚假水位”现象就越明显。
1.2.2 给水流量扰动下的动态特性在不同功率点下,维持蒸汽流量不变,观察蒸汽发生器水位在给水流量阶跃变化情况下的动态响应,其水位变化如图 2所示。当给水流量增加时,由于给水温度低于蒸汽发生器内的饱和温度,使得上升通道内沸腾段缩短,气泡产量减少,从而降低了工质流动的阻力。大量的给水因此流出下降通道导致传感器水位测量值降低,这与水位长期变化过程相反。另一方面,由于给水流量相对较大,水位最终会逐渐升高。同样,在低功率点处,蒸汽发生器“虚假水位”现象比高功率点处要更为明显。
1.3 蒸汽发生器水位控制系统蒸汽发生器水位控制系统由蒸汽发生器水位、给水流量和蒸汽流量三参量调节系统和主给水泵转速控制系统组成。主给水泵转速控制系统主要是维持给水阀前后压差恒定,蒸汽发生器的水位则通过给水阀进行调节。
虽然国内外众多学者对蒸汽发生器的水位智能控制算法做了大量的研究,但是在工程上,传统的PID控制还是占据了主导地位。蒸汽发生器的水位在不同运行条件下采用不同的策略进行控制。在低工况时或者启动、停闭阶段,采用单冲量控制策略进行水位调节,同时在低工况下主给水调节阀在较小的开度范围内频繁动作会加速其磨损且控制效果较差,因此采用旁路给水调节阀进行调节。而在高工况时,采用三冲量串级控制策略进行水位调节,此时旁路给水调节阀全开,通过主给水调节阀的动作实现水位的控制,其原理如图 3所示。
控制系统由2个闭合反馈回路组成,主回路以蒸汽发生器水位为被控量,副回路以给水流量作为被控量,较之主回路,副回路的被控量不需要非常准确,可以在一定的阈值内变化,具有随动控制的特点。当蒸汽流量发生扰动时,副回路能够迅速调整给水流量,抑制水位的恶化,主回路则会根据偏差对水位进行校正,使水位稳定在设定值上。
为了测试控制系统的控制效果,在系统稳态运行至1 500 s时,将水位由额定值阶跃降低10%,观察控制系统的响应情况。水位变化曲线如图 4所示。
从图 4中可以看出,在控制系统的作用下,阶跃300 s后系统重新回到稳定状态,水位维持在新的设定值上。通过仿真可得建立的蒸汽发生器水位串级控制系统能够对蒸汽发生器的水位进行有效的控制,可以在此控制系统基础上添加故障模型。
2 传感器故障模式分析传感器作为获取信息和信号的工具,一般由敏感元件、传感元件和其他辅助件组成,其基本结构如图 5所示。
传感器可能发生的故障是多种多样的,故障有可能发生在敏感元件上,也有可能发生在后续电路上,为了传感器故障诊断研究需要,对这些故障进行分类是必要的。通过对故障模式进行分析,把传感器故障分为3类:传感器输出恒偏差故障、传感器输出恒增益故障和传感器输出卡死故障[8]。
设yd为控制系统中传感器正常运行时的期望输出,yout为控制系统中传感器的实际输出。
1) 传感器发生恒偏差故障,此时传感器的故障模式可描述为
yout(t)=yd(t)+Δy
式中Δy为一个常数。
2) 传感器发生恒增益故障,此时传感器的故障模式可描述为
yout(t)=αyd(t)
式中α为常数,表示传感器恒增益变化的比例系数。
3) 传感器发生卡死故障,此时传感器的故障模式可描述为
yout(t)=a
式中a为一个大于或者等于0的常数。
通过添加水位传感器和给水流量传感器故障,可以得到传感器输出在故障情况下的响应情况,并提取相应的故障特征。以水位传感器为例,在三类典型故障情况下传感器输出的水位值如图 6所示。其中故障时间均为1 500 s,恒偏差故障值为800 mm,恒增益故障值为0.9,卡死故障值为9 000 mm。
从图中可以看出,当发生卡死故障时,传感器的水位输出保持在一个恒定值,不随时间变化,这与其他两类故障相比具有很大的区别。而发生恒偏差和恒增益故障时,传感器的水位输出会发生阶跃变化并最后稳定在设定值上。显然,传感器不论发生何种故障都会导致控制系统在实际水位正常的情况下进行误操作,使蒸汽发生器的水位偏离设定值而给整个核动力系统造成危害。根据以上对故障模式的分析以及各类故障时传感器的输出特点,在此故障模型的基础上建立蒸汽发生器水位的故障诊断系统,对各类故障的类型和程度进行及时、准确的判断。
3 故障诊断系统 3.1 BP神经网络BP神经网络是一种常见的前馈网络,其结构如图 7所示。它通常由一个输入层,一个或者是多个隐含层和一个输出层组成。BP神经网络的学习过程由信号的正向传播和误差的反向传播两部分组成。在正向传播阶段,信号从输入层传入,经隐含层后传向输出层。如果输出层的实际输出值与期望输出值之间的差值大于可接受的范围,则会转入误差的反向传播阶段。误差的反向传播就是将输出层的误差经隐含层反向传给输入层,同时将其分摊给各层所有的单元,从而得到各层神经元的误差信号,各层之间的权值可以根据这个误差信号来进行修正。这种学习过程将会一直进行直至网络输出的误差减小到可接受的范围或者达到预先设定的学习次数为止。理论上已经证明,一个3层的BP神经网络可以以任意的精度来逼近任何一个非线性函数[9-10]。
3.2 故障诊断系统的开发蒸汽发生器是一个非线性系统,机理模型较为复杂且难获取,基于模型的诊断方法一般用于线性系统或者非线性系统工作点附近简化后的线性区域,同时存在一定的建模误差,这些都会增加故障诊断系统的误诊率。而神经网络具有很强的分类功能和非线性映射能力,不依赖诊断对象的数学模型,在故障诊断领域具有广泛的应用,可以将神经网络作为分类器实现传感器故障类型和程度的诊断。因此本文针对蒸汽发生器水位控制系统设计了一个基于BP神经网络的故障检测与诊断系统,其结构如图 8所示。该系统主要包括异常状态检测模块和故障诊断模块。以下均以水位传感器为例,当发生故障后,异常状态检测模块会根据水位的波动信号检测系统的运行状态。而故障诊断模块则会根据同样的水位信号对故障模式进行识别并对故障程度进行诊断,其中故障模式的判断和恒偏差与恒增益故障程度的诊断是通过3个并行的神经网络来完成。最后,2个模块的诊断输出会进行整合与处理,从而对诊断结果进行持续的输出,不随系统运行状态的改变而变化。
1) 异常状态检测模块
异常状态检测模块可以看作是对故障做进一步诊断的开关,只有该模块发现了异常,才会触发后续的故障诊断系统动作。在不考虑解析模型检测方法的前提下,神经网络模型预测同样也可以作为值得考虑的检测方法,利用传感器输出的时序冗余或者与其他传感器之间的解析冗余预测下一时刻的系统输出,并与实际输出进行比较得到系统的运行状态。但是核动力装置在运行过程中不会频繁变换工况,蒸汽发生器也会长期在稳定工况下工作。因此本文不考虑系统动态过程的故障诊断问题,认为在变工况时发生故障的可能性极小。鉴于此,本文采用一种更为简便有效的方法,即阈值检测法。蒸汽发生器在正常运行情况下,水位在设定值附近波动,但是幅度较小。在没有工况变化的情况下,如果水位有一个较大的波动,则可以认为水位控制系统发生了故障。因此,可以给系统设定一个阈值,当水位波动超过阈值时,异常状态检测模块就会诊断出故障并持续输出故障信号和故障时间。
2) 故障诊断模块
故障诊断模块利用传感器故障后的动态数据对故障类型和故障程度进行诊断。传感器卡死故障的诊断较为容易,通过传感器的故障仿真,发现当传感器发生卡死故障时输出为一个常数,不随实际水位的变化而变化,因此可以利用这一特性实现传感器卡死故障的诊断。而恒偏差和恒增益故障后,传感器的输出值会随着水位的变化而变化,因此可以利用乘性故障和加性故障之间的区别实现故障的分类和程度的诊断。故障程度的诊断同样可以看成是一种模式识别的问题,在不同程度的传感器故障情况下,蒸汽发生器的水位响应必然会有所差异,因此可以利用二者之间的映射关系对故障程度进行诊断。神经网络具有强大的模式识别能力,能够实现水位响应状态到故障信息的非线性映射,因此根据实际需求,本文采用3个并行的BP神经网络实现故障类型和程度的诊断,如图 8所示。
a) 神经网络训练样本选择
神经网络训练样本的选取直接影响到故障诊断系统的性能,它需要能够全面反映各类可能发生的故障状态,且具有良好的外推与内插特性。传感器不论发生何种故障,其输出在故障瞬间均会产生一个很大的阶跃并引发控制系统动作,系统的响应特性会根据故障类型和程度的不同有所差异,因此可以利用传感器故障后的输出构造样本集对神经网络进行训练并对故障进行诊断。通过分析发现故障后5 s内传感器的输出数据变化剧烈,满足样本选取要求。神经网络的输出根据功能不同有所差别,两类故障程度神经网络的输出均为相应故障下的故障程度值,而故障分类神经网络的输出为二维的单位向量,如[1,0]表示恒偏差故障,[0,1]表示恒增益故障。
b) 神经网络拓扑结构
对于一个3层结构的BP神经网络,输入层和输出层节点数需要根据实际功能来确定。文中3类神经网络的输入信号均为传感器故障后5 s的输出数据,因此输入层节点数设为5。对于故障分类神经网络,输出为一个二维向量,因此输出层节点数为2,而2类故障程度网络的输出为故障程度值,因此输出层节点数为1。隐含层节点数不仅与输入层和输出层的节点数有关,而且还需要根据具体的训练情况进行确定。本文通过调整最后确定了3类神经网络隐含层的节点数,其中故障分类神经网络的隐含层节点数为15,其他2个故障程度神经网络的隐含层节点数为11。
c) 神经网络的建立
利用神经网络函数创建具有3层结构的BP神经网络,网络的主要参数如表 2所示。3个神经网络训练好之后利用gensim函数封装成Simulink中的神经网络模块,其输出与异常状态检测模块的结果进行整合,最终得出系统故障的诊断结果并进行显示。为了防止水位和给水流量传感器2个诊断系统相互干扰,将2个系统检测出的故障时间进行比较,输出故障时间较晚的系统将不会被触发。
神经网络类型 | 输入层节点数 | 隐含层节点数 | 输出层节点数 | 最大训练步数 | 学习速率 | 目标误差 | 最小误差 |
故障分类神经网络 | 5 | 15 | 2 | 1 000 | 0.005 | 10-3 | 8.91×10-4 |
恒偏差故障程度神经网络 | 5 | 11 | 1 | 1 000 | 0.02 | 10-3 | 9.846 9×10-4 |
恒增益故障程度神经网络 | 5 | 11 | 1 | 1 000 | 0.02 | 10-5 | 7.6916×10-6 |
4 诊断结果测试
为了验证上述诊断系统的可靠性和准确性,分别对水位传感器故障诊断系统和给水流量传感器故障诊断系统的性能进行测试。其中恒偏差故障、恒增益故障和卡死故障分别用数字1、2和3表示。
1) 给水流量传感器正常运行情况下,在系统1 500 s时添加水位传感器恒偏差故障,偏差故障值为+631 mm。相应的诊断结果如图 9所示。
2) 给水流量传感器正常运行情况下,在系统1 500 s时添加水位传感器恒增益故障,增益故障值为0.812。相应的诊断结果如图 10所示。
3) 给水流量传感器正常运行情况下,在系统1 500 s时添加水位传感器卡死故障,卡死故障值为9 000 mm。相应的诊断结果如图 11所示。
4) 水位传感器正常运行情况下,在系统1 500 s时添加给水流量传感器恒偏差故障,偏差故障值为-295.7 kg/s。相应的诊断结果如图 12所示。
5) 水位传感器正常运行情况下,在系统1 500 s时添加给水流量传感器恒增益故障,增益故障值为1.353。相应的诊断结果如图 13所示。
6) 水位传感器正常运行情况下,在系统1 500 s时添加给水流量传感器卡死故障,卡死故障值为1 200 kg/s。相应的诊断结果如图 14所示。
从以上各故障诊断系统的显示模块可以看出,在某一类传感器发生故障后,相应的故障诊断系统均能准确诊断出故障的类型和时间,并且故障程度的诊断误差非常小,满足诊断系统要求,而不相关的诊断系统输出均为0,并未发生误诊的情况。显然通过上述方法建立的故障诊断系统对蒸汽发生器水位和给水流量传感器的3类典型故障具有较好的诊断效果,其准确性与及时性均能满足诊断系统的技术要求。
5 结论本文以传感器的3类典型故障为例,开发了针对蒸汽发生器水位的实时在线故障诊断系统,实现了蒸汽发生器水位控制系统故障类型和故障程度的诊断。通过仿真研究得出以下结论:
1) 采用“检测—诊断”两级模式能够快速准确地诊断出蒸汽发生器水位控制系统中发生的故障,极大降低了系统误诊率;
2) 采用的BP神经网络能够完成对系统故障类型和故障程度的有效诊断,且误差均在可接受范围之内;
3) 故障诊断系统能够对诊断结果进行持续稳定的输出,不会随着控制系统故障后参数的实时变化而发生改变;
4) 在以后的工作中将考虑蒸汽发生器在多种工况下故障诊断系统的准确性和可靠性,并在此故障诊断系统的基础上开发容错控制系统。
[1] | 张羽, 孙宝芝, 张国磊, 等. 蒸汽发生器一维均相流模型及其换热性能[J]. 原子能科学技术 , 2012, 46 (1) : 57-62 |
[2] | MO K, LEE S J, PH S. A dynamic neural network aggregation model for transient diagnosis in nuclear power plants[J]. Progress in nuclear energy , 2007, 49 (3) : 262-272 DOI:10.1016/j.pnucene.2007.01.002 |
[3] | MCGHEE J, HENDERSON I A, BAIRD A. Neural networks applied for the identification and fault diagnosis of process valves and actuators[J]. Measurement , 1997, 20 (4) : 267-275 DOI:10.1016/S0263-2241(97)00043-2 |
[4] | 刘永阔. 核动力装置故障诊断智能技术的研究[D]. 哈尔滨: 哈尔滨工程大学, 2006: 104-123. |
[5] | 宋京凯, 郭海红, 姚祺峰, 等. 蒸汽发生器工作过程建模及仿真分析[J]. 核科学与工程 , 2007, 27 (1) : 27-31 |
[6] | 马利飞. 核电机组蒸汽发生器水位的动态特性分析及优化控制[D]. 保定: 华北电力大学, 2012: 4-9. http://cdmd.cnki.com.cn/article/cdmd-10079-1012429142.htm |
[7] | 戴旭. 基于模糊自整定PID内模的蒸汽发生器水位控制[D]. 沈阳: 沈阳工业大学, 2015: 6-11. |
[8] | 蔡娟. 控制系统的神经网络故障诊断方法[D]. 长沙: 湖南大学, 2009: 28-44. |
[9] | 刘永建, 朱剑英, 曾捷. 改进BP神经网络在发动机性能趋势分析和故障诊断中的应用[J]. 南京理工大学学报: 自然科学版 , 2010, 34 (1) : 24-29 |
[10] | 凌霜寒. 核电厂混合智能故障诊断技术研究[D]. 哈尔滨:哈尔滨工程大学, 2013: 21-40. http://cdmd.cnki.com.cn/article/cdmd-10217-1014133241.htm |