风力发电机组的数据异常检测方法和装置
技术领域
本发明总体说来涉及风力发电
技术领域
,更具体地讲,涉及一种风力发电机组的数据异常检测方法和装置。背景技术
风力发电机组是一套比较复杂的系统,目前,MW级永磁风力发电机高度集成空气动力学、结构力学、电机学、材料科学、电力电子技术、电力系统分析、继电保护技术、自动控制技术和现代通讯等综合学科,成为一套复杂的能量转换系统。所以同一故障的发生,可能是不同的原因导致的,例如以变桨系统的“三轴角度不一致”故障为例,导致该故障发生的原因,可能是编码器本身故障,可能是编码器电源故障,可能是变桨系统卡桨,还可能是驱动器故障,甚至有可能是控制器采集模块故障。
为了分析风力发电机组的故障原因,需要记录风力发电机组故障时的故障数据,此功能可在故障发生时刻,自动、准确、及时地记录故障前、后过程的各种电气量的变化情况,通过对各种电气量的分析和比较,对分析处理事故、判断保护是否正确动作,对风力发电机组的安全可靠运行起着十分重要的作用。
技术是大数据价值体现的手段和前进的基石,实践是大数据的最终价值体现。对于风力发电而言,通过大数据平台,可以实现风力发电机组的运行数据的批量采集、存储、运算,为技术人员提供数据支撑。
然而,在实际进行数据分析时发现,由于所使用的故障文件只有在风力发电机组发生故障后才会记录并生成(例如,记录故障前30秒至故障后30秒的运行数据),所以常常出现风力发电机组的运行数据在一个月甚至更久的时间没有生成故障文件,即得不到可供分析的运行数据,对实现故障预警造成很大程度的条件影响。而由人工进行数据采集,由于所涉及的风力发电机组的数量庞大,其工作量巨大,因此这种数据采集方式较难实现。
此外,从行业技术路线上看,数据分析和故障预警系统的工作方法一般为:采集设备所有测点的海量历史数据建立模型;计算实时数据预估值;比较实际值和预估值的偏差,异常时产生预警。由此可见,数据采集是实现故障预警的先决条件,是实现故障预警的基础。
从数据分析的技术路线上看,一般采样周期越短,可还原的信息量越大,因此目前应用于数据分析的,主要是风力发电机组生成的故障文件,故障文件的采样周期是20毫秒,可以最大程度上得到原始数据和数据变化趋势。但该故障文件只有在风力发电机组发生故障停机时才能生成,不便于对风力发电机组进行实时监控和故障预警。
目前,用于数据分析的瞬时数据文件由SCADA(Supervisory Control And DataAcquisition,即,数据采集与监视控制)系统导出,导出的数据为连续的数据,但SCADA的采样周期较长,一般为5秒~7秒记录一个值,由于采样周期太长,无法记录5秒~7秒内的数据变化过程,使得数据分析结果不够准确。
以风力发电机组的变桨系统的电容电压的变化情况为例,图1示出的是故障文件记录的电容电压的波形曲线,图2示出的是SCADA记录的电容电压的波形曲线。从图1和图2中可以看出,尽管采样周期为20毫秒的故障文件记录的数据波动很大,但在采样周期为7秒的SCADA数据中,只能采集到红色方框内所示的一个异常数据值,即在SCADA导出的数据中,难以还原数据的变化趋势。
例如,假设以20毫秒采样周期获得的数据为2.1、2.6、2.4、2.0、7.1、3.1……2.8,由于SCADA的采样周期较长,则可能只采集到第1个数据2.1和最后一个数据2.8,导致中间的7.1的跳变采集不到,因此也就无法准确判断出数据是否异常。而故障文件记录的数据,是在数据大于故障阈值后才进行记录,假设故障阈值为8.0,那么故障文件只能记录到大于8.0的数据,而之前发生的7.1的数据则记录不到。
发明内容
本发明的示例性实施例的目的在于提供一种风力发电机组的数据异常检测方法和装置,以克服上述至少一种缺陷。
在一个总体方面,提供一种风力发电机组的数据异常检测方法,所述数据异常检测方法包括:获取风力发电机组在预定时间段内的趋势变化数据;对所获取的趋势变化数据进行横向检测和纵向检测,其中,横向检测用于确定趋势变化数据是否存在持续异常,纵向检测用于确定趋势变化数据是否发生瞬时突变;基于横向检测和纵向检测的检测结果,确定风力发电机组是否存在数据异常。
可选地,获取风力发电机组在预定时间段内的趋势变化数据的步骤可包括:获取风力发电机组的瞬时数据,确定所获取的瞬时数据在每个统计周期的统计值,并将在预定时间段内所确定的各统计值确定为趋势变化数据,其中,所述预定时间段可包括多个统计周期,所述统计周期的时长与风力发电机组所处的风电场的数据采集与监视控制系统的数据采集周期的时长一致。
可选地,可通过以下方式确定所获取的瞬时数据在任一统计周期的统计值:确定所获取的瞬时数据的个数是否达到计数个数,其中,所述计数个数根据所述任一统计周期的时长和瞬时数据的采样周期的时长来确定;如果所获取的瞬时数据的个数达到计数个数,则基于所述个数的瞬时数据来确定瞬时数据在所述任一统计周期的统计值。
可选地,瞬时数据在任一统计周期的统计值可包括在所述任一统计周期内所获取的各瞬时数据的平均值,或者在所述任一统计周期内所获取的各瞬时数据中的最大值。
可选地,所述数据异常检测方法可还包括,对所获取的瞬时数据进行如下预处理:将所获取的瞬时数据的数值与数据额定值进行比较;如果所获取的瞬时数据的数值不大于数据额定值,则保持瞬时数据的数值不变;如果所获取的瞬时数据的数值大于数据额定值,则用数据额定值替换瞬时数据的数值,其中,基于预处理后的瞬时数据来确定所述统计值。
可选地,对所获取的趋势变化数据进行横向检测和纵向检测的步骤可包括:确定所获取的趋势变化数据的横向趋势指数,所述横向趋势指数用于表征趋势变化数据中的异常数据的波动持续时长,确定所获取的趋势变化数据的纵向趋势指数,所述纵向趋势指数用于表征趋势变化数据的波动变化速率,其中,可基于所确定的横向趋势指数和纵向趋势指数来确定风力发电机组是否存在数据异常。
可选地,确定所获取的趋势变化数据的横向趋势指数的步骤可包括:按照时间顺序依次针对在所述预定时间段内的趋势变化数据中的每相邻的第一趋势变化数据和第二趋势变化数据执行以下步骤:将第一趋势变化数据的数值与设定阈值进行比较,如果第一趋势变化数据的数值不小于设定阈值,则不进行计数统计,如果第一趋势变化数据的数值小于设定阈值,则将第二趋势变化数据的数值与设定阈值进行比较,如果第二趋势变化数据的数值小于设定阈值,则将计数统计的计数值加一,如果第二趋势变化数据的数值不小于设定阈值,则停止计数统计,并将当前的计数值与存储的计数值进行比较,如果当前的计数值大于存储的计数值,则用当前的计数值更新存储的计数值,如果当前的计数值不大于存储的计数值,则不更新存储的计数值;将存储的最终计数值确定为趋势变化数据的横向趋势指数。
可选地,确定所获取的趋势变化数据的纵向趋势指数的步骤可包括:确定在所述预定时间段内的趋势变化数据的最小值和最大值,将所确定的最小值作为数值范围的第一端点值,将所确定的最大值作为数值范围的第二端点值,对所述数值范围进行等分,获得多个数值区间;确定在所述预定时间段内的各趋势变化数据所属的数值区间;获取靠近第一端点值的第一数量的数值区间内包含的趋势变化数据的第一个数;获取靠近第二端点值的第二数量的数值区间内包含的趋势变化数据的第二个数;计算第一个数与第二个数的和值,并计算所述和值与在所述预定时间段内的趋势变化数据的总个数的比值,将所述比值确定为趋势变化数据的纵向趋势指数。
可选地,基于横向检测和纵向检测的检测结果,确定风力发电机组是否存在数据异常的步骤可包括:将所确定的横向趋势指数与第一设定值进行比较,并将所确定的纵向趋势指数与第二设定值进行比较;如果所确定的横向趋势指数不小于第一设定值,且所确定的纵向趋势指数不小于第二设定值,则确定风力发电机组存在数据异常;如果所确定的横向趋势指数小于第一设定值,和/或所确定的纵向趋势指数小于第二设定值,则确定风力发电机组不存在数据异常。
在另一总体方面,提供一种风力发电机组的数据异常检测装置,所述数据异常检测装置包括:趋势数据获取模块,获取风力发电机组在预定时间段内的趋势变化数据;数据检测模块,对所获取的趋势变化数据进行横向检测和纵向检测,其中,横向检测用于确定趋势变化数据是否存在持续异常,纵向检测用于确定趋势变化数据是否发生瞬时突变;数据异常识别模块,基于横向检测和纵向检测的检测结果,确定风力发电机组是否存在数据异常。
可选地,趋势数据获取模块可包括:瞬时数据获取子模块,获取风力发电机组的瞬时数据,统计值确定子模块,确定所获取的瞬时数据在每个统计周期的统计值,并将在预定时间段内所确定的各统计值确定为趋势变化数据,其中,所述预定时间段可包括多个统计周期,所述统计周期的时长与风力发电机组所处的风电场的数据采集与监视控制系统的数据采集周期的时长一致。
可选地,统计值确定子模块可通过以下方式确定所获取的瞬时数据在任一统计周期的统计值:确定所获取的瞬时数据的个数是否达到计数个数,如果所获取的瞬时数据的个数达到计数个数,其中,所述计数个数根据所述任一统计周期的时长和瞬时数据的采样周期的时长来确定;则基于所述个数的瞬时数据来确定瞬时数据在所述任一统计周期的统计值。
可选地,瞬时数据在任一统计周期的统计值可包括在所述任一统计周期内所获取的各瞬时数据的平均值,或者在所述任一统计周期内所获取的各瞬时数据中的最大值。
可选地,趋势数据获取模块可还包括:数据预处理子模块,对所获取的瞬时数据进行如下预处理:将所获取的瞬时数据的数值与数据额定值进行比较;如果所获取的瞬时数据的数值不大于数据额定值,则保持瞬时数据的数值不变;如果所获取的瞬时数据的数值大于数据额定值,则用数据额定值替换瞬时数据的数值,其中,统计值确定子模块可基于预处理后的瞬时数据来确定所述统计值。
可选地,数据检测模块可包括:横向检测子模块,确定所获取的趋势变化数据的横向趋势指数,所述横向趋势指数用于表征趋势变化数据中的异常数据的波动持续时长,纵向检测子模块,确定所获取的趋势变化数据的纵向趋势指数,所述纵向趋势指数用于表征趋势变化数据的波动变化速率,其中,数据异常识别模块可基于所确定的横向趋势指数和纵向趋势指数来确定风力发电机组是否存在数据异常。
可选地,横向检测子模块可通过以下方式确定横向趋势指数:按照时间顺序依次针对在所述预定时间段内的趋势变化数据中的每相邻的第一趋势变化数据和第二趋势变化数据执行以下步骤:将第一趋势变化数据的数值与设定阈值进行比较,如果第一趋势变化数据的数值不小于设定阈值,则不进行计数统计,如果第一趋势变化数据的数值小于设定阈值,则将第二趋势变化数据的数值与设定阈值进行比较,如果第二趋势变化数据的数值小于设定阈值,则将计数统计的计数值加一,如果第二趋势变化数据的数值不小于设定阈值,则停止计数统计,并将当前的计数值与存储的计数值进行比较,如果当前的计数值大于存储的计数值,则用当前的计数值更新存储的计数值,如果当前的计数值不大于存储的计数值,则不更新存储的计数值;将存储的最终计数值确定为趋势变化数据的横向趋势指数。
可选地,纵向检测子模块可通过以下方式确定纵向趋势指数:确定在所述预定时间段内的趋势变化数据的最小值和最大值,将所确定的最小值作为数值范围的第一端点值,将所确定的最大值作为数值范围的第二端点值,对所述数值范围进行等分,获得多个数值区间;确定在所述预定时间段内的各趋势变化数据所属的数值区间;获取靠近第一端点值的第一数量的数值区间内包含的趋势变化数据的第一个数;获取靠近第二端点值的第二数量的数值区间内包含的趋势变化数据的第二个数;计算第一个数与第二个数的和值,并计算所述和值与在所述预定时间段内的趋势变化数据的总个数的比值,将所述比值确定为趋势变化数据的纵向趋势指数。
可选地,数据异常识别模块可将所确定的横向趋势指数与第一设定值进行比较,并将所确定的纵向趋势指数与第二设定值进行比较;如果所确定的横向趋势指数不小于第一设定值,且所确定的纵向趋势指数不小于第二设定值,则确定风力发电机组存在数据异常;如果所确定的横向趋势指数小于第一设定值,和/或所确定的纵向趋势指数小于第二设定值,则确定风力发电机组不存在数据异常。
在另一总体方面,提供一种控制器,包括:处理器;存储器,用于存储计算机程序,所述计算机程序在被所述处理器执行时实现上述的风力发电机组的数据异常检测方法。
在另一总体方面,提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序在被处理器执行时实现上述的风力发电机组的数据异常检测方法。
采用上述风力发电机组的数据异常检测方法和装置,不仅可以有效减少数据的计算量,还可以提高数据统计的精度。
附图说明
通过下面结合示例性地示出实施例的附图进行的详细描述,本发明示例性实施例的上述和其它目的、特点和优点将会变得更加清楚。
图1示出风力发电机组记录的变桨系统的电容电压的瞬时数据波形图;
图2示出数据采集与监视控制系统(SCADA)记录的变桨系统的电容电压的瞬时数据波形图;
图3示出根据本发明示例性实施例的风力发电机组的数据异常检测方法的流程图;
图4示出根据本发明示例性实施例的确定瞬时数据在每个统计周期的统计值的步骤的流程图;
图5示出根据本发明示例性实施例的风力发电机组记录的变桨系统的电容电压的瞬时数据波形图;
图6示出根据本发明示例性实施例的变桨系统的电容电压的趋势变化数据波形图;
图7示出根据本发明另一示例性实施例的风力发电机组记录的变桨系统的电容电压的瞬时数据波形图;
图8示出根据本发明另一示例性实施例的变桨系统的电容电压的趋势变化数据波形图;
图9示出根据本发明示例性实施例的确定趋势变化数据的横向趋势指数的步骤的流程图;
图10示出根据本发明示例性实施例的确定趋势变化数据的纵向趋势指数的步骤的流程图;
图11示出根据本发明示例性实施例的风力发电机组的数据异常检测装置的框图;
图12示出根据本发明示例性实施例的趋势数据获取模块的框图;
图13示出根据本发明示例性实施例的监控中心与风电场内的各台风力发电机组的通信拓扑图;
图14示出根据本发明示例性实施例的控制器的框图。
具体实施方式
现在,将参照附图更充分地描述不同的示例实施例,一些示例性实施例在附图中示出。
图3示出根据本发明示例性实施例的风力发电机组的数据异常检测方法的流程图。
参照图3,在步骤S10中,获取风力发电机组在预定时间段内的趋势变化数据。
例如,可获取风力发电机组的瞬时数据,确定所获取的瞬时数据在每个统计周期的统计值,并将在预定时间段内所确定的各瞬时数据的统计值确定为趋势变化数据。
这里,风力发电机组的瞬时数据可包括风力发电机组的控制器所采集的风力发电机组的各种运行参数,可针对每种运行参数中的任一种运行参数来执行上述的数据异常检测方法。作为示例,预定时间段可包括多个统计周期,优选地,统计周期的时长与风力发电机组所处的风电场的数据采集与监视控制SCADA系统的数据采集周期的时长一致。
以风力发电机组的控制器为PLC(可编程逻辑控制器)为例,PLC采集各种运行参数的采样周期的时长一般为20毫秒,风电场的SCADA系统以其数据采样周期从各风力发电机组来获取数据,通常SCADA系统的数据采样周期的时长为5秒~7秒。在本发明示例性实施例中,在风力发电机组的控制器内,计算风力发电机组的与SCADA系统的数据采集周期相同的时间窗口内的瞬时数据的统计值,以在SCADA系统的每个数据采样周期将所计算的统计值上传至SCADA系统。
在本发明的一实例中,可基于趋势平均法来确定瞬时数据在每个统计周期的统计值。这里,趋势平均法是指在移动平均法计算多个时间序列移动平均值的基础上,进一步计算趋势值的移动平均值,进而得到趋势变化数据的方法。
下面参照图4来介绍确定瞬时数据在每个统计周期的统计值的步骤。应理解,图4所示的确定瞬时数据在每个统计周期的统计值的方法仅为示例,本发明不限于此,还可以通过其他方式来确定统计值。
图4示出根据本发明示例性实施例的确定瞬时数据在每个统计周期的统计值的步骤的流程图。
参照图4,在步骤S101中,采集风力发电机组的瞬时数据。
在步骤S102中,将采集的瞬时数据按照顺序存入数组,并开始计数。
例如,可将所采集的瞬时数据按照时间顺序依次存入数组,并统计数组中所存储的瞬时数据的个数。
在步骤S103中,确定数组内的瞬时数据的个数是否达到计数个数。这里,利用计数个数来表征统计周期的时长。
例如,可以根据任一统计周期的时长和瞬时数据的采样周期的时长来确定计数个数。作为示例,可将该任一统计周期的时长与瞬时数据的采样周期的时长的比值,确定为计数个数。
在一示例中,假设风力发电机组的PLC的采样周期为20毫秒,统计周期的时长为5秒(即,SCADA系统的数据采集周期),此时,计数个数为:5秒×1000÷20毫秒=250个。
如果数组内的瞬时数据的个数没有达到(小于)计数个数,则返回执行步骤S101,以继续采集瞬时数据。
如果数组内的瞬时数据的个数达到(等于)计数个数,则执行步骤S104:基于数组内的瞬时数据来确定瞬时数据在该统计周期的统计值,同时,将计数值清零,并返回执行步骤S101,以继续计算下一统计周期的统计值。
作为示例,瞬时数据在任一统计周期的统计值可包括但不限于在该任一统计周期内所获取的各瞬时数据的平均值,或者在该任一统计周期内所获取的各瞬时数据中的最大值。除此之外,该统计值还可以包括在任一统计周期内所获取的各瞬时数据的方差或者残差。
现有的采用滑动平均值的连续计算方法,因为其数据计算更新的周期还是风力发电机组的控制器的采用周期(如20毫秒),这种方式的数据计算量仍然很大,且无法与SCADA系统实现很好的配合。
通过上述处理之后,SCADA系统在其每个数据采集周期所获取的不再是一个时间点的数据,而是瞬时数据在统计周期的统计值,该统计值能够反映出数据在这一统计周期内的变化趋势,后续可基于SCADA系统所获取的趋势变化数据来进行数据异常检测,从而进行故障预警判断,此过程不需要风力发电机组停机,可实现数据价值的最大化。
图5示出根据本发明示例性实施例的风力发电机组记录的变桨系统的电容电压的瞬时数据波形图。图6示出根据本发明示例性实施例的变桨系统的电容电压的趋势变化数据波形图。
在本示例中,以风力发电机组的瞬时数据为变桨系统的电容电压为例,图5示出的是现场采集的故障文件中的电容电压的运行数据波形图,其采样周期为20毫秒,从图5中可以看出,电容电压出现了很大的波动,且上下波动值不对称。图6示出的是风力发电机组的趋势变化数据,即,SCADA系统采集的数据的波形图,从图6中可以看出,基于上述方法所获得的趋势变化数据能够很好地还原数据变化趋势。
图7示出根据本发明另一示例性实施例的风力发电机组记录的变桨系统的电容电压的瞬时数据波形图。图8示出根据本发明另一示例性实施例的变桨系统的电容电压的趋势变化数据波形图。
在本示例中,以风力发电机组的瞬时数据为变桨系统的电容电压为例,图7示出的是现场采集的故障文件中的电容电压的运行数据波形图,其采样周期为20毫秒,从图7中可以看出,电容电压出现了很大的波动,且上下波动值对称。图8示出的是风力发电机组的趋势变化数据,即,SCADA系统采集的数据的波形图,从图8中可以看出,基于上述方法所获得的趋势变化数据能够很好地还原数据变化趋势。
在一优选示例中,根据本发明示例性实施例的风力发电机组的数据异常检测方法可还包括:对所获取的瞬时数据进行预处理,以基于预处理后的瞬时数据来确定在每个统计周期的统计值。
例如,对所获取的瞬时数据进行预处理的过程可如下:将所获取的瞬时数据的数值与数据额定值进行比较;如果所获取的瞬时数据的数值不大于(小于或者等于)数据额定值,则保持瞬时数据的数值不变;如果所获取的瞬时数据的数值大于数据额定值,则用数据额定值替换瞬时数据的数值。这里,不同瞬时数据对应的数据额定值不同,在执行上述比较时,将所获取的瞬时数据的数值与对应的数据额定值进行比较。
以风力发电机组的瞬时数据为变桨系统的电容电压为例,可在变桨控制器或者风力发电机组的控制器中,对所获取的瞬时数据进行预处理,假设电容电压的额定值为85伏,如果所获取的电容电压的数值不大于85伏,则保持其数值不变,如果所获取的电容电压的数值大于85伏,则将其数值按照85伏来计算统计值。通过上述预处理,可以消除上下波动数值的均值为正常值而造成的误差影响。
上述预处理的目的为:因为瞬时数据在波动时,如图7所示其波动为上下波动,如果直接求取平均值,难以检测到数据异常。例如,假设正常数据的数值为4,获取到的数据序列为4、6、2、4,这里,数值6和2发生了异常,但如果直接求取平均值则结果为(4+6+2+4)÷4=4,此时所获得的统计值无法反映数据的异常情况。
在一示例中,针对瞬时数据在任一统计周期的统计值为在该任一统计周期内所获取的各瞬时数据中的最大值的情况,可通过包络检波方法来确定该最大值。
这里,利用软件对瞬时数据进行包络检波的方式,可以更准确地检测数据是否发生了波动,提高故障预警的精确度,例如,包络检波可包括正向包络检波和负向包络检波。
返回图3,在步骤S20中,对所获取的趋势变化数据进行横向检测和纵向检测。这里,横向检测用于确定趋势变化数据是否存在持续异常,纵向检测用于确定趋势变化数据是否发生瞬时突变。
为提高对趋势变化数据检测的准确性,在本发明示例性实施例中通过横向、纵向交叉检测的方式,进行数据趋势的双重、互补检测与判断。
与传统的斜率检测法(计算曲线的斜率)相比,在本发明实施例中对趋势变化数据进行横向检测和纵向检测,实现了曲线数字化,具有更准确、更可靠的检测精度,而斜率检测法无法反映出数据波动持续时间的长短。
这里,横向检测的目的是检测趋势变化数据中是否存在连续一段数据小于设定阈值的情况,这种检测方法一方面可以自动剔除单次的数据跳变,另一方面还可以检测原始数据的波动时间的长短。
例如,可确定所获取的趋势变化数据的横向趋势指数和纵向趋势指数,以基于所确定的横向趋势指数和纵向趋势指数来确定风力发电机组是否存在数据异常。
作为示例,横向趋势指数用于表征趋势变化数据中的异常数据的波动持续时长。下面参照图9来介绍确定趋势变化数据的横向趋势指数的过程。应理解,图9所示的确定横向趋势指数的方式仅为示例,本发明不限于此,还可以通过其他方式来确定横向趋势指数。
图9示出根据本发明示例性实施例的确定趋势变化数据的横向趋势指数的步骤的流程图。
参照图9,在步骤S201中,将第i个趋势变化数据(如第一趋势变化数据)的数值与设定阈值进行比较,即,确定第i个趋势变化数据的数值是否小于设定阈值。
在此之前,可获取预定时间段内的趋势变化数据,并确定趋势变化数据的长度(即,趋势变化数据的总个数)。
作为示例,设定阈值可为预定时间段内的趋势变化数据中的最大统计值与最小统计值之和的一半。但本发明不限于此,还可以通过其他方式来确定设定阈值的大小。
如果确定第i个趋势变化数据的数值不小于(大于或者等于)设定阈值,则执行步骤S208。
如果确定第i个趋势变化数据的数值小于设定阈值,则执行步骤S202:将第i+1个趋势变化数据的数值与设定阈值进行比较,即,确定第i+1个趋势变化数据的数值是否小于设定阈值。
如果确定第i+1个趋势变化数据(如第二趋势变化数据)的数值小于设定阈值,则执行步骤S203:将计数统计的计数值加一。
如果确定第i+1个趋势变化数据的数值不小于设定阈值,则认为数据恢复正常,此时停止计数统计,并执行步骤S204:确定当前的计数值。
在步骤S205中,将当前的计数值与存储的计数值进行比较,即,确定当前的计数值是否大于存储的计数值。
如果确定当前的计数值大于存储的计数值,则执行步骤S206:用当前的计数值更新存储的计数值。
如果确定当前的计数值不大于(小于或者等于)存储的计数值,则执行步骤S207:不更新存储的计数值。
针对第i+1个趋势变化数据的数值不小于设定阈值的情况,在执行步骤S206或者步骤S207之后,还需将当前的计数值清零,针对第i+1个趋势变化数据的数值小于设定阈值的情况,无需对计数值清零。
在步骤S208中,确定i+1是否等于m,这里,i的初值为1,m表示在预定时间段内的趋势变化数据的总个数,m为大于零的自然数。
如果确定i+1不等于m,执行步骤S209:使得i=i+1,并返回执行步骤S201。
如果确定i+1等于m,执行步骤S210:将存储的最终计数值确定为趋势变化数据的横向趋势指数。
通过上述图9所示的检测过程可以获取趋势变化数据中有下降趋势的数据的连续个数的最大值(即,计数值)。
在上述对趋势变化数据进行横向检测的实施例中,可以准确检测出趋势变化数据中异常数据波动的宽度,但无法检测出趋势变化数据波动的深度。
在本发明示例性实施例中,通过对趋势变化数据进行纵向检测,一方面可以检测趋势变化数据中是否出现瞬时突变(直线下降)的状态,另一方面可以检测趋势变化数据中较大值、较小值所占的比例大小,从而与微小的数据波动进行区分,以避免误判。在本发明示例性实施例中通过对趋势变化数据进行横向、纵向交叉检测,弥补了单一检测方法的不足,涵盖了全面的数据检测情况。
作为示例,纵向趋势指数用于表征趋势变化数据的波动变化速率。下面参照图10来介绍确定趋势变化数据的纵向趋势指数的过程。应理解,图10所示的确定纵向趋势指数的方式仅为示例,本发明不限于此,还可以通过其他方式来确定纵向趋势指数。
图10示出根据本发明示例性实施例的确定趋势变化数据的纵向趋势指数的步骤的流程图。
参照图10,在步骤S220中,确定在预定时间段内的各趋势变化数据所属的数值区间。
例如,可通过以下方式来获得多个数值区间:确定在预定时间段内的趋势变化数据的最小值和最大值,将所确定的最小值作为数值范围的第一端点值,将所确定的最大值作为数值范围的第二端点值,对数值范围进行等分来获得多个数值区间。
在步骤S230中,获取靠近第一端点值的第一数量的数值区间内包含的趋势变化数据的第一个数。
在步骤S240中,获取靠近第二端点值的第二数量的数值区间内包含的趋势变化数据的第二个数。
在一示例中,假设对从最大值到最小值的数值范围进行10等分,获得10个数值区间,此时可确定靠近最大值的两个数值区间内包括的趋势变化数据的个数,作为第一个数,并确定靠近最小值的两个数值区间内包括的趋势变化数据的个数,作为第二个数,例如,在所划分的10个数值区间中的第1、2数值区间,以及第9、10数值区间中的趋势变化数据的个数。
在步骤S250中,计算第一个数与第二个数的和值,并计算该和值与在预定时间段内的趋势变化数据的总个数的比值,将计算得到的比值确定为趋势变化数据的纵向趋势指数。
这里,上述四个数值区间内包括的趋势变化数据的个数之和与总个数的比值,能够反映出在趋势变化数据中较大值、较小值的占比,该比值越大,表明中间部分的趋势变化数据越少,数据突变(如下降)越接近直角,或者表面趋势变化数据发生微小波动的概率越小。
返回图3,在步骤S30中,基于横向检测和纵向检测的检测结果,确定风力发电机组是否存在数据异常。
例如,将所确定的横向趋势指数与第一设定值进行比较,并将所确定的纵向趋势指数与第二设定值进行比较;如果所确定的横向趋势指数不小于第一设定值,且所确定的纵向趋势指数不小于第二设定值,则确定风力发电机组存在数据异常;如果所确定的横向趋势指数小于第一设定值,和/或所确定的纵向趋势指数小于第二设定值,则确定风力发电机组不存在数据异常。这里,第一设定值和第二设定值可以依据经验来设定,但本发明不限于此,还可以通过其他方式来进行设定,本领域技术人员也可以根据实际需要(检测精度)来设置第一设定值和第二设定值的大小。
通过上述数据异常检测方法,还可以用于对风力发电机组的运行数据计算相关的统计,提高统计的精确度。例如,对于变桨电机电流、变桨电压的采集,由于风力发电机组在运行过程中,变桨电机电流、变桨电压都是瞬变的,如果将上述采集的瞬时数据传送给SCADA系统,由于SCADA系统的采样周期过长,所以根据顺桨数据如果要计算电机效率、电机功率值,电机转矩等数据,其结果会极不准确,而采样本发明的上述数据异常检测方法,可以减少数据的计算量,还可以提高数据统计的精度。
图11示出根据本发明示例性实施例的风力发电机组的数据异常检测装置的框图。
如图11所示,根据本发明示例性实施例的风力发电机组的数据异常检测装置100包括:趋势数据获取模块101、数据检测模块102和数据异常识别模块103。
具体说来,趋势数据获取模块101获取风力发电机组在预定时间段内的趋势变化数据。
图12示出根据本发明示例性实施例的趋势数据获取模块101的框图。
如图12所示,根据本发明示例性实施例的趋势数据获取模块101可包括:瞬时数据获取子模块11和统计值确定子模块12。
具体说来,瞬时数据获取子模块11获取风力发电机组的瞬时数据。这里,风力发电机组的瞬时数据可指风力发电机组的控制器所采集的风力发电机组的各种运行参数。
统计值确定子模块12确定所获取的瞬时数据在每个统计周期的统计值,并将在预定时间段内所确定的各瞬时数据的统计值确定为趋势变化数据。
这里,预定时间段可包括多个统计周期,统计周期的时长与风力发电机组所处的风电场的数据采集与监视控制系统的数据采集周期的时长一致。
在一优选示例中,统计值确定子模块12可通过以下方式确定所获取的瞬时数据在任一统计周期的统计值。
根据所述任一统计周期的时长和瞬时数据的采样周期的时长,确定计数个数;确定所获取的瞬时数据的个数是否达到计数个数,如果所获取的瞬时数据的个数达到计数个数,则基于个数的瞬时数据来确定瞬时数据在所述任一统计周期的统计值。如果数组内的瞬时数据的个数没有达到计数个数,则继续获取瞬时数据。
作为示例,瞬时数据在任一统计周期的统计值可包括但不限于在所述任一统计周期内所获取的各瞬时数据的平均值,或者在所述任一统计周期内所获取的各瞬时数据中的最大值。
优选地,根据本发明示例性实施例的趋势数据获取模块101可还包括:数据预处理子模块(图中未示出),对所获取的瞬时数据进行预处理,此时,统计值确定子模块12基于预处理后的瞬时数据来确定统计值。
数据预处理子模块对所获取的瞬时数据进行预处理的过程为:将所获取的瞬时数据的数值与数据额定值进行比较;如果所获取的瞬时数据的数值不大于数据额定值,则保持瞬时数据的数值不变;如果所获取的瞬时数据的数值大于数据额定值,则用数据额定值替换瞬时数据的数值。
返回图11,数据检测模块102对所获取的趋势变化数据进行横向检测和纵向检测。这里,横向检测用于确定趋势变化数据是否存在持续异常,纵向检测用于确定趋势变化数据是否发生瞬时突变。
例如,数据检测模块102可包括横向检测子模块和纵向检测子模块(图中未示出)。
具体说来,横向检测子模块确定所获取的趋势变化数据的横向趋势指数,纵向检测子模块确定所获取的趋势变化数据的纵向趋势指数,此时,数据异常识别模块103可基于所确定的横向趋势指数和纵向趋势指数来确定风力发电机组是否存在数据异常。
作为示例,横向趋势指数可用于表征趋势变化数据中的异常数据的波动持续时长。可选地,横向检测子模块可通过以下方式确定横向趋势指数。
按照时间顺序依次针对每相邻的第一趋势变化数据和第二趋势变化数据执行以下步骤:将第一趋势变化数据和第二趋势变化数据分别与设定阈值进行比较,如果均小于设定阈值,则将计数统计的计数值加一,如果均不小于设定阈值,或者第一趋势变化数据不小于设定阈值而第二趋势变化数据小于设定阈值,则不进行计数统计,如果第一趋势变化数据小于设定阈值而第二趋势变化数据不小于设定阈值,则停止计数统计,并将当前的计数值与存储的计数值进行比较,如果当前的计数值大于存储的计数值,则用当前的计数值更新存储的计数值,如果当前的计数值不大于存储的计数值,则不更新存储的计数值;将存储的最终计数值确定为趋势变化数据的横向趋势指数。作为示例,设定阈值可为预定时间段内的趋势变化数据中的最大统计值与最小统计值之和的一半。
作为示例,纵向趋势指数可用于表征趋势变化数据的波动变化速率。例如,纵向检测子模块可通过以下方式确定纵向趋势指数。
确定在预定时间段内的趋势变化数据的最小值和最大值,将所确定的最小值作为数值范围的第一端点值,将所确定的最大值作为数值范围的第二端点值,对所述数值范围进行等分,获得多个数值区间;确定在预定时间段内的各趋势变化数据所属的数值区间;获取靠近第一端点值的第一数量的数值区间内包含的趋势变化数据的第一个数,获取靠近第二端点值的第二数量的数值区间内包含的趋势变化数据的第二个数;计算第一个数与第二个数的和值,并计算得到的和值与在所述预定时间段内的趋势变化数据的总个数的比值,将所述比值确定为趋势变化数据的纵向趋势指数。
数据异常识别模块103基于横向检测和纵向检测的检测结果,确定风力发电机组是否存在数据异常。
例如,数据异常识别模块103可将所确定的横向趋势指数与第一设定值进行比较,并将所确定的纵向趋势指数与第二设定值进行比较;如果所确定的横向趋势指数不小于第一设定值,且所确定的纵向趋势指数不小于第二设定值,则确定风力发电机组存在数据异常;如果所确定的横向趋势指数小于第一设定值,和/或所确定的纵向趋势指数小于第二设定值,则确定风力发电机组不存在数据异常。
图13示出根据本发明示例性实施例的监控中心与风电场内的各台风力发电机组的通信拓扑图。
如图13所示,可以选用可编程控制器PLC控制风力发电机组运行并采集风力发电机组的运行数据,作为示例,可以使用HMI触摸屏进行现场控制和监视。可编程控制器PLC通过工业以太网通讯模块与光纤环网上的光纤交换机(OSM)连接,监控中心通过OSM连接到工业以太网冗余光纤环网中,使用PC工控机对现场进行远程控制和监视。
根据图13所示的数据链路,可得实现故障预警的数据分析和运算,可以在PLC、触摸屏、监控中心实现,具体如下:
在PLC中进行数据分析和运算,即,在PLC中执行上述数据异常检测方法,可以实时采集并对数据进行运算处理,但由于故障预警模型需要不断优化,后续可能需要多次升级程序,对于大批量风力发电机组而言,会造成较大的、重复的工作量,并会由于风力发电机组停机而降低发电量。
在HMI触摸屏中进行数据分析和运算,HMI触摸屏从SCADA系统获取趋势变化数据,即,在HMI触摸屏中执行上述数据异常检测方法,升级时不需要停机,但对触摸屏的功能和性能要求较高,会造成成本升高。
在监控中心中进行数据分析和运算,监控中心从SCADA系统获取趋势变化数据,程序升级所涉及工作量小,不会停机造成发电量损失,维护方便,而且从SCADA系统获取趋势变化数据能够很好地还原原始数据变化趋势。
图14示出根据本发明示例性实施例的控制器的框图。
如图14所示,根据本发明示例性实施例的控制器200包括:处理器201和存储器202。
具体说来,存储器202用于存储计算机程序,所述计算机程序在被所述处理器201执行时实现上述的风力发电机组的数据异常检测方法。
这里,图3所示的风力发电机组的数据异常检测方法可在图14所示的处理器201中执行。也就是说,图11所示的各模块可由数字信号处理器、现场可编程门阵列等通用硬件处理器来实现,也可通过专用芯片等专用硬件处理器来实现,还可完全通过计算机程序来以软件方式实现,例如,可被实现为图14中所示的处理器201中的各个模块。
根据本发明的示例性实施例还提供一种存储有计算机程序的计算机可读存储介质。该计算机可读存储介质存储有当被处理器执行时使得处理器执行上述风力发电机组的数据异常检测方法的计算机程序。该计算机可读记录介质是可存储由计算机系统读出的数据的任意数据存储装置。计算机可读记录介质的示例包括:只读存储器、随机存取存储器、只读光盘、磁带、软盘、光数据存储装置和载波(诸如经有线或无线传输路径通过互联网的数据传输)。
根据本发明示例性实施例的风力发电机组的数据异常检测方法和装置,不需要风力发电机组触发故障才能获取数据,且不需要人工进行数据采集,只检测数据变化趋势,就可以实现对运行数据波动性的检测,且可以及早识别风力发电机组的数据异常,对实现风力发电机组的故障预警和运行监测具有重要的意义。
此外,在本发明示例性实施例的风力发电机组的数据异常检测方法和装置中,所涉及的横向、纵向检测方法,与直接检测下限值相比,可以得出趋势变化数据更准确、更多的信息量,而不是单纯得出TRUE or FALSE(真或假)的判断结果,可以为进一步分析提供数据基础,同时,可以直接检测不同电压等级的电压值,不需要根据电压等级调整相关参数。
尽管已经参照其示例性实施例具体显示和描述了本发明,但是本领域的技术人员应该理解,在不脱离权利要求所限定的本发明的精神和范围的情况下,可以对其进行形式和细节上的各种改变。