本发明涉及一种基于火电机组运行数据确定其最大升降负荷速率的方法,属于软测量领域。
背景技术:
火电机组负荷升降速率受锅炉特性(锅炉蓄能、制粉系统)、汽轮机特性(调速系统)和控制系统等多种因素影响,这些因素对机组最大升降负荷速率的影响机理十分复杂。因此,通过机理建模方式确定最大升降负荷速率不仅难度较大,而且准确度不高。
目前火电机组主要通过热力试验的方法确定其最大升降负荷速率,但由于不同机组锅炉、汽机、控制系统特性的不同,各机组的最大升降负荷速率也不同。因此,单台机组的试验结果不能推广应用到其他机组,而对每台机组做试验,不仅工作量巨大,也会影响机组的正常运行。
随着信息科技的飞速发展,电站在线监测系统的监测能力及历史数据存储能力大幅提升,因而如何利用监测系统中存储的海量实际运行数据成为了研究的热点。
基于火电机组运行数据确定其最大升降负荷速率的方法,具有简便易行、工作周期短、成本低、不影响机组运行等特点。
技术实现要素:
本发明提供了一种基于火电机组运行数据确定其最大升降负荷速率的方法。
本发明通过如下技术方案来实现:
步骤一,读取电站集散控制系统DCS历史数据库中以单位时间为间隔的连续负荷数据(算例中取时间间隔为1min),作为计算最大负荷升降速率的总样本,负荷数据所组成的数组记为A,并做一阶差分记为C。
C(i)=A(i+1)-A(i)
步骤二,设定窗口长度N,采用滑动窗口的形式,计算窗口内负荷数据的标准差s;
所述窗口长度N为选取的用于计算标准差s的一组连续负荷数据的个数;
窗口内负荷数据标准差s的计算公式为,
其中,N为窗口内负荷数据的个数;xi为窗口内N个负荷数据的数值;为窗口内N个负荷数据的算术平均值。
窗口内负荷数据标准差s反应了窗口内样本变量的分散程度。s小,表明窗口内负荷数据的分布比较密集在平均数附近,否则,表明窗口内负荷数据的分布比较离散。
步骤三,统计所求的标准差,找出其分布规律,得到区分稳态过程与非稳态过程的标准差阈值;
3.1、选取一定数量(M个,算例中取809个为例)的以单位时间为间隔的连续负荷数据,设定窗口长度为N,采用滑动窗口的形式,计算窗口内负荷数据的标准差s,这样共可得到M-N+1个标准差。这M-N+1个标准差构成标准差向量S,其中,最大值记为Smax,最小值记为Smin。
3.2、将标准差区间(Smin,Smax)等分为m个小区间(可取m为正整数);
3.3、计算每个小区间的长度d;
3.4、计算每个小区间Li的取值范围;
Li∈(Smin+(i-1)·d,Smin+i·d) i=1,2,…m
3.5、利用MATLAB中的hist函数获得标准差分布在各个小区间的数目,并绘出各个小区间上标准差数目的直方图;
[n,xout]=hist(S,m);
bar(xout,n);
其中,n为各个小区间的标准差个数;xout为各个小区间的中心点数值。
3.6、确定区分稳态过程与非稳态过程标准差的阈值;
由于负荷绝大部分时间处于稳态过程,其对应的标准差数值也较小,因此标准差集中分布在前几个区间。利用标准差的分布情况来确定阈值,将第一个标准差个数小于的区间的左边界设定为区分稳态过程和非稳态过程标准差的阈值。设第i个区间符合上述设定,则阈值θ可取为:
θ=Smin+(i-1)·d
步骤四,确定负荷非稳态过程的起止时刻以及持续时间;
将从集散控制系统DCS中读取的以单位时间为间隔的连续负荷数据编号为1,2,3,…,M,单位时间间隔记为t。根据第二步所述,设定窗口长度为N,滑动窗口求得标准差,并将所求得的标准差依次对应编号为1,2,3,…,M-N+1。
4.1、确定负荷非稳态过程开始时刻:
如果第1个标准差>θ,则第一个负荷所对应的时刻为非稳态过程的开始时刻;
如果第i个标准差≦θ,第i+1个标准差>θ,则对应的负荷非稳态过程开始时刻为i+9;其中i=1,2,3,…,M-N。
将所有的负荷非稳态过程的开始时刻所组成的数组记为K。
4.2、确定负荷非稳态过程结束时刻:
如果第i个标准差>θ,第i+1个标准差≦θ,则对应的负荷非稳态过程结束时刻为i+1;
如果第M-N+1个标准差>θ,则最后一个负荷所对应的时刻为非稳态过程的结束时刻;其中i=1,2,3,…,M-N。
将所有的负荷非稳态过程的结束时刻所组成的数组记为J。
即第i个非稳态过程,其对应的起止时刻记为K(i)、J(i),对应的非稳态过程持续时间所组成的数组为:
L(i)=J(i)-K(i) i=1,2,3,…
步骤五,确定机组的最大负荷升降速率
对于非稳态过程持续时间超过2t,即L(i)>2的非稳态过程,确定其中升降负荷过程的开始时刻及对应负荷。
5.1、确定升降负荷过程的开始时刻及对应负荷:
C(K(i))的绝对值大于1,K(i)所对应的时刻及负荷;
C(k)的绝对值小于1,C(k+1)的绝对值大于1,k+1时刻对应的时刻及负荷,其中:k∈(K(i),J(i));
C(k)、C(k+1)的绝对值均大于1,但异号,k+1时刻对应的时刻及负荷,其中:k∈(K(i),J(i))。
将上述三种情况对应时刻及负荷所组成的数组分别记为T1、F1。
5.2、确定升降负荷过程的结束时刻及对应负荷:
C(k)的绝对值大于1,C(k+1)的绝对值小于1,k+1时刻对应的时刻及负荷,其中:k∈(K(i),J(i));
C(k)、C(k+1)的绝对值均大于1,但异号,k+1时刻对应的时刻及负荷,其中:k∈(K(i),J(i));
C(J(i)-1)的绝对值大于1,J(i)所对应的时刻及负荷。
将上述三种情况对应时刻及负荷所组成的数组分别记为T2、F2。
5.3、根据5.1和5.2中所得的负荷升降起止时刻及对应负荷计算负荷升降速率,负荷升降速率计算公式如下:
5.4、利用MATLAB中kmeans函数对负荷区间进行划分。
由于机组的最大升降负荷速率与机组的初始负荷有直接关系,因此有必要对机组的初始负荷进行区间划分。利用MATLAB中kmeans函数对升降负荷过程中的起始负荷和升降速率进行聚类。
[IDX,C]=kmeans(data,k);
其中:data为负荷升降过程中的初始负荷和升降速率组成的二维数组;k为聚类的类数;
5.5、统计机组升降负荷速率,确定其最大升降负荷速率
如下表所示,对运行数据计算所得的升负荷进行统计,绘成如下表格:
其中:Vi为升负荷速率值,代表以Vi为中心的某段区间,并且各区间连续,数值按由大到小顺序排列;Xij为第i个负荷区间第j个速率区间的升负荷速率统计频数。
同样,对降负荷速率进行统计。统计的机组升降负荷速率存在最大值,但如果该值所处区间的频数较小,则该值可能具有较大的偶然性,不能很好的代表机组大部分条件下所能达到的极限值,因此需要对统计的最高速率进行修正:
其中:Vi为负荷区间i统计的最大负荷升降速率;N为设定的总频数,并且在第j区间首次累计达到总频数N。
本发明具有以下的优点:(1)根据机组真实历史数据,进行对机组最高升降负荷速率的预测,其预测结果准确;(2)具体实施过程只需要机组运行的历史数据,简便易行;(3)不需要试验等额外费用,成本低;(4)对机组的安全运行没有任何影响。
附图说明
图1为本发明的流程图;
图2为负荷数据及对应标准差示意图;
图3为标准差在各个小区间内个数分布图;
图4为负荷升降过程起始负荷及速率的聚类结果。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施案例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
一种基于火电机组运行数据确定升降负荷速率的方法,包括:
步骤一,读取电站集散控制系统DCS历史数据库中以单位时间为间隔的连续负荷数据,作为计算最大负荷升降速率的总样本,负荷数据所组成的数组记为A,并做一阶差分记为数组C。
C(i)=A(i+1)-A(i)
步骤二,设定窗口长度10,采用滑动窗口的形式,计算窗口内负荷数据的标准差s;
步骤三,统计所求的标准差,找出其分布规律,得到区分稳态过程与非稳态过程的标准差阈值;
3.1、选取809个以单位时间为间隔的连续负荷数据,设定窗口长度为10,采用滑动窗口的形式,计算窗口内负荷数据的标准差s,共得到800个标准差。这800个标准差构成标准差向量S,其中,最大值为12.6662记为Smax,最小值为0.1157记为Smin。(负荷数据及对应标准差见图2)
3.2、将标准差区间(0.1157,12.6662)分为80个小区间;
3.3、计算每个小区间的长度d,d=0.1569;
3.4、计算每个小区间Li的取值范围;
Li∈(0.1157+0.1569(i-1),0.1157+0.1569i) i=1,2,…80
3.5、利用MATLAB中的hist函数获得标准差分布在各个小区间的数目,并绘出各个小区间中标准差个数的直方图(见图3);
[n,xout]=hist(S,80);
bar(xout,n);
3.6、确定区分稳态过程与非稳态过程标准差的阈值。
将第一个标准差个数小于的区间的左边界设定为区分稳态过程和非稳态过程标准差的阈值,由于第5个小区间内标准差的个数为3,小于5。因此区分稳态过程和非稳态过程的阈值θ=0.1157+4×0.1569,θ=0.743。
步骤四,判断负荷非稳态过程的起止时刻以及持续时间
将从集散控制系统DCS中读取的以单位时间为间隔的连续负荷数据编号为1,2,3,…,M,单位时间间隔记为t。根据第二步所述,设定窗口长度为10,滑动窗口求得标准差,并将所求得的标准差依次对应编号为1,2,3,…,M-9。
4.1、确定负荷非稳态过程开始时刻的方法:
根据前面所述方法,将所有的负荷稳态工况的开始时刻所组成的数组记为K。
4.2、确定负荷非稳态过程结束时刻的方法:
根据前面所述方法,将所有的负荷非稳态过程的结束时刻所组成的数组记为J。
对应每次负荷非稳态过程持续的时间所组成的数组为
L(i)=J(i)-K(i) i=1,2,3,…
步骤五,确定机组的最大负荷升降速率
对于非稳态过程持续时间超过2t,即L(i)>2的非稳态过程,确定其中升降负荷过程的开始时刻及对应负荷。
5.1、确定升降负荷过程的开始时刻及对应负荷:
C(K(i))的绝对值大于1,K(i)所对应的时刻及负荷;
C(k)的绝对值小于1,C(k+1)的绝对值大于1,k+1时刻对应的时刻及负荷,其中:k∈(K(i),J(i));
C(k)、C(k+1)的绝对值均大于1,但异号,k+1时刻对应的时刻及负荷,其中:k∈(K(i),J(i))。
将上述三种情况对应时刻及负荷所组成的数组分别记为T1、F1。
5.2、确定升降负荷过程的结束时刻及对应负荷:
C(k)的绝对值大于1,C(k+1)的绝对值小于1,k+1时刻对应的时刻及负荷,其中:k∈(K(i),J(i));
C(k)、C(k+1)的绝对值均大于1,但异号,k+1时刻对应的时刻及负荷,其中:k∈(K(i),J(i));
C(J(i)-1)的绝对值大于1,J(i)所对应的时刻及负荷。
将上述三种情况对应时刻及负荷所组成的数组分别记为T2、F2。
5.3、根据5.1和5.2中所得的负荷升降起止时刻及对应负荷计算负荷升降速率,负荷升降速率计算公式如下:
5.4、利用kmeans聚类的方法划分负荷区间。
机组最大负荷升降速率与机组负荷有关,因此对机组的最大负荷升降速率进行区间划分。利用MATLAB中kmeans函数对负荷升降过程中的起始负荷和升降速率进行聚类。将起始负荷和升降负荷速率聚为3类。(聚类结果见图4)
[IDX,C]=kmeans(data,3);
5.5、统计机组升降负荷速率,确定其最大升降负荷速率。
对升负荷速率进行统计,绘成如下表格:
降负荷速率进行统计,绘成如下表格:
确定最大负荷升降速率结果:
取N=20,则: