吴青云, 高景辉, 李昭, 谭祥帅, 郭云飞, 姚智, 赵威, 赵如宇,蔺奕存, 刘世雄, 王涛, 王林
(西安热工研究院有限公司, 西安 710054)
随着物联网、大数据以及智能故障诊断的快速发展,使得智慧电厂在电力领域日益重要[1-2]。当下火电厂系统庞大、涉及学科广泛、各系统间耦合性强、关系复杂、运行环境多变,实现火电厂的智慧化运行充满挑战,主要以分散控制系统(distributed control system,DCS)为主,在实际应用中的不足包括以下三点:
(1)DCS数据分析功能单一。DCS系统设计为数据采集和分散控制,但数据分析模块设计简单,针对复杂庞大的数据分析需求难实现[3]。
(2)DCS报警功能设计局限。目前DCS系统报警项目设计多为模拟量超出简单阈值后声光报警,有效及时性差。
(3)DCS预警功能缺失。火电机组多系统耦合性强,多数故障影响测点范围大,故障原因难精准定位,故障诊断及时性差[4-8]。
耿文莉等[9]利用一种基于灰色神经网络的云存储技术,全面掌控对数据安全风险的在线监控,实现了平台智慧监视、智慧报警、智慧识别、智慧指导,但缺少对故障预警的分析判断。孙建梅等[10]通过区块链技术建立平台综合评价体系,对多工况复杂案例做出评价及解决相关难题,但无法实现提前发现潜在的故障。王兴等[11]研究出一种可编程平台,实现对现场设备的控制程序重构和功能扩展,遇到故障时有较强的处理能力[12-14],但无法满足对系统故障的精准分析。唐标等[15]搭建一套基于电力设备的环境实验平台,实现了电力设备安全性与可靠性的提升,缺乏对故障时做出专家指导意见提示。
以抗燃油油系统异常预警模型为例,提出火电厂大数据平台故障预警模型的调试与应用。该方法明确了故障预警模型建模后,并部署至大数据平台的过程,在事故工况发生前通过数理模型提前发出预警,结合机理模型分析出事故预警的原因,达到火电厂全自动智慧化运行的目标。
采用的先进大数据分析模块,从大量的、不完全的、有噪声的、模糊的、随机的数据中提取了隐含在生产过程中的特征信息,将人工智能技术与先验知识深度融合,提高了平台在任务数据的识别、模拟人的控制策略、掌握被控对象及环境的有关知识等方面的能力,实现了异常预警和故障诊断、防止设备故障扩大化,如图1所示。
结合工艺与系数检验的特征选择方法,油箱油位的变化反映抗燃油系统的油箱泄露情况,油泵的运行频率和电流反映系统的运行工况(正常运行或停工)。除油箱油位外,其他指标用于辅助判断泄露的类型。例如,两台泵电流信号用于辅助判断抗燃油系统的运行工况,运行工况信息去除数据中噪声。
由于抗燃油系统的启停和仪表的误差,大数据平台收集到的数据中存在明显噪声。为了提高数据的信噪比,防止噪声对模型效果造成干扰,本模型采用一些方法来降低数据中的噪声。
1.2.1 均值滤波
均值滤波是一种线性滤波算法,用于连续信号的去噪,其用时间点前后一段时间内的均值代替原值,以防止少量异常点影响信号的整体趋势。
但是在本模型研究中,抗燃油系统中噪声的数量多、幅度大,而均值滤波只能处理少量的噪声,因此该方法在本问题中效果不明显。
图1 大数据平台下模型总体建设技术路线图Fig.1 Technical roadmap for overall model construction under the big data platform
1.2.2 指数滑动平均
指数滑动平均法是一种用历史数据对当前值进行修正的去噪算法,公式为
vt=βvt-1+(1-β)θt
(1)
式(1)中:vt与vt-1分别为当前时间与上个时间点修正后的点值;θt为当前时间点修正前的点值;β为平滑系数。βvt-1代表时间序列的历史趋势,(1-β)θt代表当前点值,用加权平均的方式对当前时间点的值进行修正,通过平滑系数可以调整修正的程度。
该方法依赖于历史数据,而在泄露模型应用到生产中后,只能根据段时间段内的数据进行判断,在历史数据不足的情况下,其去噪效果也不理想。
设定平滑系数为0.3,指数滑动平均去噪结果如图2所示,通过数据的噪声得到了改善,但仍存在“尖峰”异常值,去噪效果未达到模型的要求。
图2 利用指数滑动平均法去噪前后数据对比Fig.2 Comparison of data before and after denoising using exponential sliding average
1.2.3 小波变换
通过把信号进行多尺度分解,有用的信息通常都存储在低频域的分解信号中,而噪声则集中在高频域的信号中,通过丢弃高频域信号来实现去噪。
小波变换去噪的流程主要包括以下三步。
(1)对原信号进行多尺度小波分解,将原信号分解为一系列小波函数的叠加。
(2)对各尺度上的小波系数进行去噪,丢弃部分含噪高的波段。
(3)通过小波逆变换,从去噪信号中重构原信号。
小波变换的去噪效果如图3所示,相比于指数滑动平均去噪方法,其改善效果明显,出现“尖峰”的幅度降低,突变趋势减小。但小波变换未能使“尖峰”的数目减少,去噪效果仍未达到要求。
1.2.4 结合高压抗燃油泵运行电流数据去噪
本模型数据集具有时间短、噪声幅度大、频率高、有源头可追溯等特点,结合运行工况对数据集进行分析,数据噪声主要源于油泵的启停与电流调整。在停泵及切换泵时,油位发生变化;在正常运行中,油位随着泵电流的增加而变大,减小而降低。根据以上特性,本模型将根据泵运行电流对油箱油位数据进行处理,去除噪声与异常值,方法如下:
(1)在取得油箱油位数据后取得相同点位相同时间段与油位数据逐一对应的泵电流数据。
(2)将泵电流小于正常运行电流(25 A)的油箱油位数据删除(去除泵启停对油位变化的影响)。
(3)若泵电流发生改变,判断改变后电流持续时间是否小于1 h,若是则删除对应的油箱油位数据(删除泵短时间电流变化导致油位变化的影响)。
(4)将删除数据插值填充,保证总数据量不减少。
从原始数据中选取2021年1月1日以后5 d的油箱油位数据,从图4可以看出,通过以上方法可以去除因反渗透高压泵运行工况的改变导致一段压差异常波动的数据,降低了数据中的噪声。
图3 利用小波变换去噪前后数据对比Fig.3 Comparison of data before and after wavelet transform denoising
图4 结合运行工况的方法去噪前后数据对比Fig.4 Comparison of data before and after denoising combined with operating conditions
结合油泵运行频率的去噪效果如图4所示,相比与小波变换去噪,该方法能进一步降低异常值的幅度。经过去噪处理后曲线已变为光滑,原数据中异常值基本都被消除,数据信噪比提升显著。
筛选出未泄漏及泄漏情况下,不同工况中油箱油位、油温和母管压力在油泵启停过程的数据,时间窗口为启泵、停泵前及启泵后的数据。实现在泄漏30 s内发出预警,设计移动窗口大小为20 s内油位变化数据,窗口移动步长为20 s。固定H轴上下限差为200 mm,设计60 s内数据最大值和最小值的平均值在窗口中心位置,计算公式为
(2)
(3)
式中:LEHOil为抗燃油系统的油箱油位;ΔL为窗口H轴上、下限之差;Hmax为窗口上限;Hmin为窗口下限。
本模型旨在油箱油位因泄漏降低至低值报警及油泵跳闸前提前发出预警信号,及时采取解决措施。因此,油箱油位的变化直接反映高压抗燃油系统泄漏,选择油箱油位作为本模型的特征值。由于发生泄漏情况较少,采用该次油位数据变化特征作为模型会造成故障特征较少的情况。为获得更丰富的建模数据,人为去模拟多种泄漏情况下的油位变化曲线,增加训练数据量后绘制图片用于模型训练。
在油位实际变化曲线的基础上,增加20组不同油位变化曲线。分别标签为0~20。基于卷积神经网络模型,当模型输出连续5次为6~10时,表示油系统泄漏。如图5分别为标签为0、标签为5、标签10、标签15和标签为20的图片。
删除若干张无效图片后,共生成图片14 335张,其中标签为0~20类型的图片各自约占1/21。
图5 标签为0、标签为5、标签10、标签15和 标签为20的不同油位变化曲线Fig.5 Different oil level curves with label 0, label 5, label 10, label 15 and label 20
表1为不同标签的数据集包含的数据量大小。
将图片顺序打乱,随机挑选9/10数据量训练模型,剩余1/10数据量验证模型。表2为训练集和测试集的数据量及其包含的标签分类数量表。
表1 标签对应数据量表Table 1 Labels correspond to data scales
表2 训练集和测试集及其包含的标签分类数量表Table 2 A table of training and test sets and the number of label classifications they contain
选择模型时,需要满足以下条件:
(1)模型关注油箱油位的波动趋势,需要可识别在油箱发生泄漏时油位的变化特征。
(2)系统正常运行时,油箱油位也会存在一定的上升和下降,模型要识别正常运行和泄漏时造成油位变化的不同特征。
(3)模型需适应不同工况下的油位变化状况。
预警模型选取的模型构建为二维卷积神经网络(2D convolutional neural networks,2D CNN)。与一维卷积神经网络(1D convolutional neural networks,1D CNN)相比,2D CNN能够利用图像中的空间信息对数据进行辅助判断,能提高模型的精度;与循环神经网络(recurrent neural network,RNN)相比,2D CNN具有参数量更少的优点,可减少模型训练过程和部署至大数据平台之后的模型计算量。
图片数据是输入层,卷积层可对特征提取,池化层用于对数据降维,全连接层用作为分类器,输出层为标签的分类类型。卷积神经网络利用网络结构逐层从样本中学习特征,通过网络中的非线性单元,从上而下提取信息,如图6所示。
图6 卷积神经网络下数理建模图Fig.6 Mathematical modeling graph under convolutional neural network
(4)
(5)
一个卷积核代表一个权重矩阵,不同的卷积核代表不同的故障特征,卷积核工作时,对感受视野内的输入矩阵做元素乘法求和并叠加偏置,以设定步长移动卷积核,并映射到全部区域,具体计算公式为
(6)
式(6)中:l为层数;k为卷积核;Kj代表输入层的感受视野,各个特征图对应其中一个偏置bj值。
高压抗燃油系统异常预警模型选择Relu函数作为激活函数,公式为
(7)
池化层对卷积层输出的数据进行二次特征提取,实现降低其维度的目的,采用最大值池化方式,对于每个区域都用区域中最大的像素值来代表整个区域,避免丢失太多信息,降低图片的尺寸,参数量和计算量得到减少,如图7所示。
批量归一化处理是为了增加模型识别准确性,有针对性的分批对建模数据进行处理分析。批量归一化层包括方差、输入数据总体均值及批量归一化处理,表达式为
(8)
图7 最大池化示意图Fig.7 Schematic diagram of maximum pooling
(9)
(10)
全连接层包括卷积层与最大池化层获取的特征信息分类,全连接层与最后一个池化层联系紧密,利用 Softmax分类器连接在最后一层全连接层后面,将最后一层全连接输出的逻辑值映射为概率分布得出预测结果,其表达式为
YN=f(WNxN-2bN)
(11)
式(11)中:N为网络层编号;YN为全连接层输出;WN为权重矩阵;xN-2为二维特征向量;bN为偏置矩阵。
输出结果用来判断模型的拟合效果,常用的目标函数有均方差函数和交叉熵函数,其具有更适合分类任务的特点,表达式为
(12)
式(12)中:M为种类数量;yC为数据的标签,如果目标的类别为i,则yC=1,否则为0;ρC为Softmax分类器输出的概率值。
利用Adam(adaptive moment estimation)算法修正神经网络的学习率,限制在可控范围内。
梯度计算、偏一阶矩迭代、偏二阶矩迭代和权重计算公式为
(13)
s=ρ1s+(1-ρ1)g
(14)
(15)
ν=ρ2s+(1-ρ2)ggT
(16)
(17)
(18)
设计卷积神经网络结构,划分好训练数据集进行模型训练,再用验证数据集进行模型验证。主要从模型准确率、交叉熵损失和模型预测时间等对其评价,表达式为
(19)
式(19)中:Amod为模型预测准确率;Rmod为模型预测正确的图片个数;Tmod为验证数据集的总量。
本模型涉及问题是一个图像多分类问题,即根据图像判断油位变化状况。设计的网络如表3所示,特征提取单元使用两个卷积层,第一个卷积层包含32个5×5的卷积核,提取较大范围内的特征。最大池化后的第二个卷积层包含16个3×3的卷积核,进一步提取更深层次的特征。再经过一次最大池化后将二维特征展开成一维输入预测单元中,预测单元包含两个分别包含512与64个神经元的全连接层,最后输出层使用Sigmoid函数输出二分类结果(0或1)。
表3 油系统泄露模型的卷积神经网络结构设计Table 3 Convolutional neural network structure design of oil system leakage model
最终模型的参数数量为3 315 761,推理速度在1 s以内。
18:56:49油位开始下降,到19:02:19时下降至50 mm,母管压力随之降低,油箱油温未受其影响,选取此过程为油泄露工况,如图8所示。
在18:57:19 PM,模型输出油箱泄露的预警故障信号,证明模型提前发现油泄露问题,如图9所示。
图8 油泄露工况图Fig.8 Oil leak working condition diagram
图9 油泄露模型预警工况图Fig.9 Oil leak model early warning working condition diagram
因数理模型只能满足油系统泄露提前预警的功能,无法准确对泄露程度进行分析判断,需利用大数据平台算子块进行对故障的精细化机理判断。
测试采用20 s的时间区间,在时间区间内的测点数据进行预警,共两份测试文件,如图10和图11所示。分别对应大数据平台生成的虚拟测点“SY.FW_0003”为抗燃油压力、“SY.FW_0004”为油箱油温、“SY.FW_0005”油箱油位。
大数据平台输出结果释义为“0”为抗燃油系统运行正常,“1” 为抗燃油系统油泄露预警。则需要验证2个测试模型案例,判定模型算法是否达到预期效果。
(1)使用测试文件中的正常运行数据进行测试,在平台验证结果为模型未发生预警,如图12和图13所示。
(2)使用测试文件的油系统泄露数据进行测试,并验证结果在18:57:19报出预警,在此刻油箱油位已开始逐步下降,证明本次测试符合预期效果,如图14所示。
图10 油系统运行正常数据图Fig.10 Data chart of oil system operation normal
图11 油系统泄露数据图Fig.11 Oil system leakage data diagram
图13 油系统运行正常数据测试结果图Fig.13 Oil system normal operation data test result graph
利用平台算子块进行辅助机理判断,实现故障预警油泄露程度的判断。
使用测试文件的油系统泄露数据触发预警,并根据当前油箱油位与油箱油位(前1 min)的差值来确定此时油泄露速率,并对当前泄露程度做出判断:
(1)高压抗燃油系统发生轻微泄露时,油箱油位的泄露速率小于3 mm/min。
(2)高压抗燃油系统发生中度泄露时,油箱油位的泄露速率在3~5 mm/min。
(3)高压抗燃油系统发生重度泄露时,油箱油位的泄露速率大于5 mm/min。
测试结果符合测试数据设定要求,最终输出“高压抗燃油系统重度泄露”预警,如图15和图16所示。
测试完毕后,通过大数据平台一级界面、二级界面和三级界面的预警提示做最终验证工作。若预警实现后,大数据平台的一级界面、二级界面和三级界面都会根据预警作出相应的提示,并无延时。则说明从在大数据平台中后端到前端的模型传输过程中准确无误,此次验证模型联合预警功能成功。
以数据通信调试、模型准确性调试、画面展示及推送即时性调试,实现大数据平台下的故障诊断模型全流程精细化调试。
图14 油系统泄露数据进行测试结果图Fig.14 Oil system leakage data for test result graph
图15 高压抗燃油系统数理及机理模型图Fig.15 Mathematical and mechanism model diagram of high-pressure anti-fuel system
图16 高压抗燃油系统数理及机理模型测试图Fig.16 Test diagram of mathematical and mechanism model of high-pressure anti-fuel system
(1)数据通信调试确保大数据平台与故障诊断库之间的数据传输状态正常,避免因通信故障导致故障诊断库无法接收信息而使对机组运行状态的监视及故障预测丧失。
(2)模型准确性调试可确保建模完成后,模型转移至大数据平台或故障模型库中时准确无误,避免因模型转移失误导致在机组实际运行中模型输出结果计算错误而造成故障误报、故障漏报或故障预测不及时等问题。
(3)画面展示及信息推送调试可确保故障诊断库和大数据平台可及时、准确将机组运行状况反馈给运行人员,可全面对机组运行状态了解更清晰,对缺陷处理更及时,是机组运行安全、稳定及高效。