在线识别高频振动异常的方法及可编程逻辑控制器与流程

文档序号:22479907发布日期:2020-10-09 22:27阅读:264来源:国知局
在线识别高频振动异常的方法及可编程逻辑控制器与流程

本发明总体说来涉及风力发电技术领域,更具体地讲,涉及一种基于可编程逻辑控制器在线识别风电机组的高频振动异常的方法及可编程逻辑控制器。



背景技术:

发电机基波二倍频振动和发电机定子高阶振动等是直驱风电机组的发电机的主要振动形式,该类振动一般体现为机组振动信号中的高频成分(例如,一般在15hz以上),高频振动较大或产生频率互相叠加后,会对发电机乃至整个风电机组带来不同程度的损伤,严重时将导致发电机失效。

经现场机组运行分析发现,在大功率机型上,随发电功率提升,发电机基波二倍频振动逐步增强,在功率满发段甚至可能成为机组振动的主导频率,并且可能会和发电机定子高阶振型等相邻振动成分叠加,导致机组存在振动成分互相激发的风险。发电机基波二倍频振动和发电机定子高阶振动等高频振动成分在机组接近满发功率时成为机组异常振动的主要来源之一。因此,在风电机组的发电过程中,实时准确地识别是否存在发电机基波二倍频振动、发电机定子高阶振动等高频振动成分异常就显得尤为重要。

现有的风电机组的振动识别方法主要是通过专业软件(例如,matlab)工具对采集的机组振动信号进行快速傅里叶变换fft,进而分析出机组振动信号中的频率成分和能量谱密度分布情况,该识别方法需要进行大量的数学计算,因此通常需要计算性能较高的计算装置(例如,计算机)来离线实现。



技术实现要素:

本发明的示例性实施例在于提供一种基于可编程逻辑控制器在线识别风电机组的高频振动异常的方法及可编程逻辑控制器,以解决现有技术存在的无法在线实时对风电机组的高频振动异常进行识别的问题。

根据本发明的示例性实施例,提供一种基于可编程逻辑控制器plc在线识别风电机组的高频振动异常的方法,所述方法包括:周期性地读取风电机组实时的振动数据;通过第一数据缓冲区对读取的振动数据进行第一数据分析;通过第二数据缓冲区对读取的振动数据进行第二数据分析;根据第一数据分析以及第二数据分析的分析结果识别所述风电机组的高频振动异常,其中,第一数据缓冲区和第二数据缓冲区在所述plc中被建立。

可选地,通过第一数据缓冲区对读取的振动数据进行第一数据分析的步骤包括:基于预设长度的当前时间段内各读取周期读取的振动数据是否超过预设的振动预警值的情况,通过第一数据缓冲区对当前时间段内的振动数据进行第一数据分析,其中,通过第二数据缓冲区对读取的振动数据进行第二数据分析的步骤包括:基于当前时间段内的振动数据是否超过振动预警值的情况,通过第二数据缓冲区对当前时间段内的振动数据进行第二数据分析。

可选地,通过第一数据缓冲区对当前时间段内的振动数据进行第一数据分析的步骤包括:通过第一数据缓冲区统计当前时间段内超过振动预警值的振动数据的波峰累计数量。

可选地,通过第二数据缓冲区对当前时间段内的振动数据进行第二数据分析的步骤包括:通过第二数据缓冲区统计当前时间段内振动数据超过振动预警值的累计时长。

可选地,第一数据缓冲区和/或第二数据缓冲区的大小基于振动数据的读取周期以及当前时间段的所述预设长度被确定。

可选地,根据第一数据分析以及第二数据分析的分析结果识别所述风电机组的高频振动异常的步骤包括:当当前时间段的波峰累计数量超过预设累计数量时,确定风电机组在当前时间段内存在高频振动异常;或者,当当前时间段的波峰累计数量超过预设累计数量、且所述累计时长超过预设时长时,确定风电机组在当前时间段内存在高频振动异常。

可选地,通过第一数据缓冲区统计当前时间段内超过振动预警值的振动数据的波峰累计数量的步骤包括:确定是否当前读取周期读取的振动数据超过振动预警值且上一读取周期读取的振动数据未超过振动预警值;当当前读取周期读取的振动数据超过振动预警值、且上一读取周期读取的振动数据未超过振动预警值时,将第一标识符写入第一数据缓冲区;否则,将第二标识符写入第一数据缓冲区;当将第一标识符写入第一数据缓冲区时,将波峰累计数量加1或保持波峰累计数量不变;当将第二标识符写入第一数据缓冲区时,将波峰累计数量减1或保持波峰累计数量不变,其中,波峰累计数量的初始值为0。

可选地,当将第一标识符写入第一数据缓冲区时,将波峰累计数量加1或保持波峰累计数量不变的步骤包括:当将第一标识符写入第一数据缓冲区时,基于在将第一标识符写入第一数据缓冲区之前第一数据缓冲区是否已写满、已写满时其内最先被写入的数据是否为第一标识符,来将波峰累计数量加1或保持波峰累计数量不变,其中,当将第二标识符写入第一数据缓冲区时,将波峰累计数量减1或保持波峰累计数量不变的步骤包括:当将第二标识符写入第一数据缓冲区时,基于在将第二标识符写入第一数据缓冲区之前第一数据缓冲区是否已写满、已写满时其内最先被写入的数据是否为第一标识符,来将波峰累计数量减1或保持波峰累计数量不变,其中,第一数据缓冲区为先入先出数据缓冲区。

可选地,通过第二数据缓冲区统计当前时间段内振动数据超过振动预警值的累计时长的步骤包括:确定当前读取周期读取的振动数据是否超过振动预警值;当当前读取周期读取的振动数据超过振动预警值时,将第一标识符写入第二数据缓冲区;否则,将第二标识符写入第二数据缓冲区;当将第一标识符写入第二数据缓冲区时,将所述累计时长增加一个读取周期或保持所述累计时长不变;当将第二标识符写入第二数据缓冲区时,保持所述累计时长不变或将所述累计时长减少一个读取周期,其中,所述累计时长的初始值为0。

可选地,当将第一标识符写入第二数据缓冲区时,将所述累计时长增加一个读取周期或保持所述累计时长不变的步骤包括:当将第一标识符写入第二数据缓冲区时,基于在将第一标识符写入第二数据缓冲区之前第二数据缓冲区是否已写满、已写满时其内最先被写入的数据是否为第一标识符,来将所述累计时长增加一个读取周期或保持所述累计时长不变,其中,当将第二标识符写入第二数据缓冲区时,保持所述累计时长不变或将所述累计时长减少一个读取周期的步骤包括:当将第二标识符写入第二数据缓冲区时,基于在将第二标识符写入第二数据缓冲区之前第二数据缓冲区是否已写满、已写满时其内最先被写入的数据是否为第一标识符,来保持所述累计时长不变或将所述累计时长减少一个读取周期,其中,第二数据缓冲区为先入先出数据缓冲区。

根据本发明的另一示例性实施例,提供一种在线识别风电机组的高频振动异常的可编程逻辑控制器plc,所述plc包括:数据读取单元,周期性地读取风电机组实时的振动数据;第一数据分析单元,通过第一数据缓冲区对读取的振动数据进行第一数据分析;第二数据分析单元,通过第二数据缓冲区对读取的振动数据进行第二数据分析;异常确定单元,根据第一数据分析以及第二数据分析的分析结果识别所述风电机组的高频振动异常,其中,第一数据缓冲区和第二数据缓冲区在所述plc中被建立。

可选地,第一数据分析单元基于预设长度的当前时间段内各读取周期读取的振动数据是否超过预设的振动预警值的情况,通过第一数据缓冲区对当前时间段内的振动数据进行第一数据分析,其中,第二数据分析单元基于当前时间段内的振动数据是否超过振动预警值的情况,通过第二数据缓冲区对当前时间段内的振动数据进行第二数据分析。

可选地,第一数据分析单元通过第一数据缓冲区统计当前时间段内超过振动预警值的振动数据的波峰累计数量。

可选地,第二数据分析单元通过第二数据缓冲区统计当前时间段内振动数据超过振动预警值的累计时长。

可选地,第一数据缓冲区和/或第二数据缓冲区的大小基于振动数据的读取周期以及当前时间段的所述预设长度被确定。

可选地,当当前时间段的波峰累计数量超过预设累计数量时,异常确定单元确定风电机组在当前时间段内存在高频振动异常;或者,当当前时间段的波峰累计数量超过预设累计数量、且所述累计时长超过预设时长时,异常确定单元确定风电机组在当前时间段内存在高频振动异常。

可选地,第一数据分析单元包括:第一确定单元,确定是否当前读取周期读取的振动数据超过振动预警值且上一读取周期读取的振动数据未超过振动预警值;第一写入单元,当当前读取周期读取的振动数据超过振动预警值、且上一读取周期读取的振动数据未超过振动预警值时,将第一标识符写入第一数据缓冲区;否则,将第二标识符写入第一数据缓冲区;数量统计单元,当将第一标识符写入第一数据缓冲区时,将波峰累计数量加1或保持波峰累计数量不变;当将第二标识符写入第一数据缓冲区时,将波峰累计数量减1或保持波峰累计数量不变,其中,波峰累计数量的初始值为0。

可选地,当将第一标识符写入第一数据缓冲区时,数量统计单元基于在将第一标识符写入第一数据缓冲区之前第一数据缓冲区是否已写满、已写满时其内最先被写入的数据是否为第一标识符,来将波峰累计数量加1或保持波峰累计数量不变,当将第二标识符写入第一数据缓冲区时,数量统计单元基于在将第二标识符写入第一数据缓冲区之前第一数据缓冲区是否已写满、已写满时其内最先被写入的数据是否为第一标识符,来将波峰累计数量减1或保持波峰累计数量不变,其中,第一数据缓冲区为先入先出数据缓冲区。

可选地,第二数据分析单元包括:第二确定单元,确定当前读取周期读取的振动数据是否超过振动预警值;第二写入单元,当当前读取周期读取的振动数据超过振动预警值时,将第一标识符写入第二数据缓冲区;否则,将第二标识符写入第二数据缓冲区;累计时长统计单元,当将第一标识符写入第二数据缓冲区时,将所述累计时长增加一个读取周期或保持所述累计时长不变;当将第二标识符写入第二数据缓冲区时,保持所述累计时长不变或将所述累计时长减少一个读取周期,其中,所述累计时长的初始值为0。

可选地,当将第一标识符写入第二数据缓冲区时,累计时长统计单元基于在将第一标识符写入第二数据缓冲区之前第二数据缓冲区是否已写满、已写满时其内最先被写入的数据是否为第一标识符,来将所述累计时长增加一个读取周期或保持所述累计时长不变,当将第二标识符写入第二数据缓冲区时,累计时长统计单元基于在将第二标识符写入第二数据缓冲区之前第二数据缓冲区是否已写满、已写满时其内最先被写入的数据是否为第一标识符,来保持所述累计时长不变或将所述累计时长减少一个读取周期,其中,第二数据缓冲区为先入先出数据缓冲区。

根据本发明的另一示例性实施例,提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时实现如上所述的基于plc在线识别风电机组的高频振动异常的方法。

根据本发明的另一示例性实施例,提供一种可编程逻辑控制器plc,所述plc包括:处理器;存储器,存储有计算机程序,当所述计算机程序被处理器执行时,实现如上所述的基于plc在线识别风电机组的高频振动异常的方法。

根据本发明示例性实施例的基于可编程逻辑控制器在线识别风电机组的高频振动异常的方法及可编程逻辑控制器,能够通过plc实时在线地准确识别风电机组是否存在高频振动成分(例如,发电机基波二倍频振动、发电机定子高阶振动等)异常,为保障风电机组安全稳定地运行提供有力的支撑。

将在接下来的描述中部分阐述本发明总体构思另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本发明总体构思的实施而得知。

附图说明

通过下面结合示例性地示出实施例的附图进行的描述,本发明示例性实施例的上述和其他目的和特点将会变得更加清楚,其中:

图1示出根据本发明示例性实施例的基于plc在线识别风电机组的高频振动异常的方法的流程图;

图2和图4示出根据本发明示例性实施例的通过第一数据缓冲区统计当前时间段内超过振动预警值的振动数据的波峰累计数量的方法的流程图;

图3和图5示出根据本发明示例性实施例的通过第二数据缓冲区统计当前时间段内振动数据超过振动预警值的累计时长的方法的流程图;

图6示出根据本发明示例性实施例的在线识别风电机组的高频振动异常的可编程逻辑控制器的框图;

图7示出根据本发明示例性实施例的第一数据分析单元的框图;

图8示出根据本发明示例性实施例的第二数据分析单元的框图。

具体实施方式

现将详细参照本发明的实施例,所述实施例的示例在附图中示出,其中,相同的标号始终指的是相同的部件。以下将通过参照附图来说明所述实施例,以便解释本发明。

图1示出根据本发明示例性实施例的基于plc在线识别风电机组的高频振动异常的方法的流程图,即,所述方法由plc来执行。

参照图1,在步骤s10,周期性地读取风电机组实时的振动数据。

作为示例,可通过传感器实时地采集风电机组的振动数据,并周期性地从传感器接收其实时采集的振动数据。

风电机组的振动数据为能够指示风电机组的振动情况(例如,振动幅度)的数据。作为示例,风电机组的振动数据可包括以下项之中的至少一项:机舱沿指定方向的加速度数据、机舱沿指定方向的位移数据、机舱沿指定方向的速度数据。例如,所述指定方向可为机舱的轴向和/或机舱的侧向。

在步骤s20,通过第一数据缓冲区对读取的振动数据进行第一数据分析。

作为示例,可基于预设长度的当前时间段内各读取周期读取的振动数据是否超过预设的振动预警值的情况,通过第一数据缓冲区对当前时间段内的振动数据进行第一数据分析。其中,所述预设长度的当前时间段即以当前时间点为终点的具有所述预设长度的时间段。

作为示例,可通过第一数据缓冲区统计当前时间段内超过振动预警值的振动数据的波峰累计数量。所述波峰累计数量即:在所述当前时间段内超过振动预警值的所有振动数据随时间变化的曲线中波峰的总数。

具体说来,振动数据的大小能够指示风电机组振动的幅度,当某一时间点的振动数据大于预设的振动预警值,可说明该时间点的振动较为剧烈;而一段时间内振动数据超过振动预警值的所有时间点的振动数据的波峰累计数量能够体现该段时间内剧烈振动的振荡过程、剧烈振动发生的频率。

可使用各种适当的方式来通过第一数据缓冲区统计当前时间段内超过振动预警值的振动数据的波峰累计数量,下面将结合图2和图4来描述步骤s20的示例性实施例。

在步骤s30,通过第二数据缓冲区对读取的振动数据进行第二数据分析。其中,第一数据缓冲区和第二数据缓冲区在所述plc中被建立。

作为示例,可基于当前时间段内的振动数据是否超过振动预警值的情况,通过第二数据缓冲区对当前时间段内的振动数据进行第二数据分析。

作为示例,可通过第二数据缓冲区统计当前时间段内振动数据超过振动预警值的累计时长(也即,总时长)。

作为示例,第一数据缓冲区和/或第二数据缓冲区的大小可基于振动数据的读取周期以及当前时间段的所述预设长度被确定。

此外,应该理解,第一数据分析、第二数据分析也可以是其他类型的分析结果能够用于判断是否存在高频振动异常的数据分析方式。

应该理解,针对每种类型的振动数据可分别设置对应的振动预警值。

可使用各种适当的方式来通过第二数据缓冲区统计当前时间段内振动数据超过振动预警值的累计时长,下面将结合图3和图5来描述步骤s30的示例性实施例。

在步骤s40,根据第一数据分析以及第二数据分析的分析结果识别所述风电机组的高频振动异常。

作为示例,所述高频振动可包括但不限于以下振动类型:发电机基波二倍频振动、发电机定子高阶振动。

作为示例,当风电机组的高频振动较为剧烈(例如,振动幅度过大、振动加速度过大、振动速度过大)时,可认为风电机组的高频振动存在异常,因此,根据本发明的示例性实施例,当风电机组剧烈振动的频率较高时,可认为风电机组存在高频振动异常。或者,当风电机组剧烈振动的频率较高,并且处于剧烈振动的时长较长时,可认为风电机组存在高频振动异常。

相应地,作为示例,可当当前时间段的波峰累计数量超过预设累计数量时,确定风电机组在当前时间段内存在高频振动异常。

作为另一示例,可当当前时间段的波峰累计数量超过预设累计数量、且所述累计时长超过预设时长时,确定风电机组在当前时间段内存在高频振动异常。

应该理解,也可通过其他适当的方式来根据第一数据分析以及第二数据分析的分析结果来确定风电机组在当前时间段内是否存在高频振动异常。

作为示例,振动数据的读取周期可为所述plc的任务执行周期。任务执行周期可理解为:每隔任务执行周期,执行一遍预先设置的一系列任务,即,周期性地重复执行所述一系列任务。所述一系列任务可包括执行根据本发明示例性实施例的在线识别风电机组的高频振动异常的方法,除执行该方法之外,还可执行其他任务,例如,变桨控制等任务。

现有技术通常需要对振动信号进行离线频谱分析,然后基于频谱分析结果识别高频成分,再判断识别的高频成分是否存在异常,从而实现判断风电机组是否存在高频振动异常。而根据本发明示例性实施例的基于plc在线识别风电机组的高频振动异常的方法,不需要具体识别出每种高频振动成分(例如,发电机基波二倍频振动、发电机定子高阶振动等高频振动成分)及该高频振动成分是否异常,仅定性地识别主导高频振动是否异常即可,从而不需要进行大量的数学运算(例如,fft、频谱分析等),就能够快速准确地确定风电机组在当前时间段内的高频振动是否存在异常,便于通过plc在线实时执行,且不会影响plc的任务执行周期、执行其他任务的实时性,为尽快对高频振动异常情况进行处理以保证风电机组平稳安全运行提供支持。

图2示出根据本发明示例性实施例的通过第一数据缓冲区统计当前时间段内超过振动预警值的振动数据的波峰累计数量的方法的流程图。

参照图2,在步骤s101,确定是否当前读取周期读取的振动数据超过振动预警值且上一读取周期读取的振动数据未超过振动预警值。

当在步骤s101确定当前读取周期读取的振动数据超过振动预警值且上一读取周期读取的振动数据未超过振动预警值时,执行步骤s102,将第一标识符写入第一数据缓冲区;否则,执行步骤s103,将第二标识符写入第一数据缓冲区。

作为示例,第一数据缓冲区可为先入先出(fifo)数据缓冲区。即,最先写入第一数据缓冲区的数据最先被删除,例如,当本次向第一数据缓冲区写入标识符之前第一数据缓冲区已存满时,可将当前第一数据缓冲区中最先被写入的一个标识符删除,然后再写入本次的标识符。

作为示例,第一数据缓冲区的长度可基于所述预设长度和振动数据的读取周期被确定。例如,如果所述预设长度为60s,所述plc的任务执行周期(即,振动数据的读取周期)为10ms,则第一数据缓冲区的长度可为6000。

在步骤s104,当将第一标识符写入第一数据缓冲区时,将波峰累计数量加1或保持波峰累计数量不变。其中,波峰累计数量的初始值为0。

作为示例,当将第一标识符写入第一数据缓冲区时,可基于在将第一标识符写入第一数据缓冲区之前第一数据缓冲区是否已写满、已写满时其内最先被写入的数据是否为第一标识符,来将波峰累计数量加1或保持波峰累计数量不变。

作为示例,在将标识符写入第一数据缓冲区之前(即,步骤s102和步骤s103之前)第一数据缓冲区未写满的情况下,当将第一标识符写入第一数据缓冲区时,将波峰累计数量加1;在将标识符写入第一数据缓冲区之前第一数据缓冲区已写满、且其内最先被写入的数据为第一标识符的情况下,当将第一标识符写入第一数据缓冲区时,保持波峰累计数量不变;在将第一标识符写入第一数据缓冲区之前第一数据缓冲区已写满、且其内最先被写入的数据为第二标识符的情况下,当将第一标识符写入第一数据缓冲区时,将波峰累计数量加1。

在步骤s105,当将第二标识符写入第一数据缓冲区时,将波峰累计数量减1或保持波峰累计数量不变。

作为示例,当将第二标识符写入第一数据缓冲区时,可基于在将第二标识符写入第一数据缓冲区之前第一数据缓冲区是否已写满、已写满时其内最先被写入的数据是否为第一标识符,来将波峰累计数量减1或保持波峰累计数量不变。

作为示例,在将标识符写入第一数据缓冲区之前第一数据缓冲区未写满的情况下,当将第二标识符写入第一数据缓冲区时,保持波峰累计数量不变;在将标识符写入第一数据缓冲区之前第一数据缓冲区已写满、且其内最先被写入的数据为第一标识符的情况下,当将第二标识符写入第一数据缓冲区时,将波峰累计数量减1;在将第一标识符写入第一数据缓冲区之前第一数据缓冲区已写满、且其内最先被写入的数据为第二标识符的情况下,当将第二标识符写入第一数据缓冲区时,保持波峰累计数量不变。

图3示出根据本发明示例性实施例的通过第二数据缓冲区统计当前时间段内振动数据超过振动预警值的累计时长的方法的流程图。

参照图3,在步骤s106,确定当前读取周期读取的振动数据是否超过振动预警值。

当在步骤s106确定当前读取周期读取的振动数据超过振动预警值时,执行步骤s107,将第一标识符写入第二数据缓冲区;否则,执行步骤s108,将第二标识符写入第二数据缓冲区。

作为示例,第二数据缓冲区可为先入先出(fifo)数据缓冲区。

作为示例,第二数据缓冲区的长度可基于所述预设长度和振动数据的读取周期被确定。例如,如果所述预设长度为60s,所述plc的任务执行周期(即,振动数据的读取周期)为10ms,则第二数据缓冲区的长度可为6000。

在步骤s109,当将第一标识符写入第二数据缓冲区时,将所述累计时长增加一个读取周期或保持所述累计时长不变。其中,所述累计时长的初始值为0。

作为示例,当将第一标识符写入第二数据缓冲区时,可基于在将第一标识符写入第二数据缓冲区之前第二数据缓冲区是否已写满、已写满时其内最先被写入的数据是否为第一标识符,来将所述累计时长增加一个读取周期或保持所述累计时长不变。

作为示例,在将标识符写入第二数据缓冲区之前(即,步骤s107和步骤s108之前)第二数据缓冲区未写满的情况下,当将第一标识符写入第二数据缓冲区时,将所述累计时长增加一个读取周期;在将标识符写入第二数据缓冲区之前第二数据缓冲区已写满、且其内最先被写入的数据为第一标识符的情况下,当将第一标识符写入第二数据缓冲区时,保持所述累计时长不变;在将第一标识符写入第二数据缓冲区之前第二数据缓冲区已写满、且其内最先被写入的数据为第二标识符的情况下,当将第一标识符写入第二数据缓冲区时,将所述累计时长增加一个读取周期。

在步骤s110,当将第二标识符写入第二数据缓冲区时,保持所述累计时长不变或将所述累计时长减少一个读取周期。

作为示例,当将第二标识符写入第二数据缓冲区时,可基于在将第二标识符写入第二数据缓冲区之前第二数据缓冲区是否已写满、已写满时其内最先被写入的数据是否为第一标识符,来保持所述累计时长不变或将所述累计时长减少一个读取周期。

作为示例,在将标识符写入第二数据缓冲区之前第二数据缓冲区未写满的情况下,当将第二标识符写入第二数据缓冲区时,保持所述累计时长不变;在将标识符写入第二数据缓冲区之前第二数据缓冲区已写满、且其内最先被写入的数据为第一标识符的情况下,当将第二标识符写入第二数据缓冲区时,将所述累计时长减少一个读取周期;在将第一标识符写入第二数据缓冲区之前第二数据缓冲区已写满、且其内最先被写入的数据为第二标识符的情况下,当将第二标识符写入第二数据缓冲区时,保持所述累计时长不变。

图4示出根据本发明示例性实施例的通过第一数据缓冲区统计当前时间段内超过振动预警值的振动数据的波峰累计数量的方法的流程图。

参照图4,在步骤s201,确定是否当前读取周期读取的振动数据超过振动预警值且上一读取周期读取的振动数据未超过振动预警值。

在步骤s202,确定第一数据缓冲区是否已写满。

在步骤s203,当第一数据缓冲区未写满、当前读取周期读取的振动数据超过振动预警值、且上一读取周期读取的振动数据未超过振动预警值时,将第一标识符写入第一数据缓冲区,并将波峰累计数量加1。

在步骤s204,当第一数据缓冲区未写满、且当前读取周期读取的振动数据未超过振动预警值时,或者,当第一数据缓冲区未写满、当前读取周期读取的振动数据超过振动预警值、且上一读取周期读取的振动数据也超过振动预警值时,将第二标识符写入第一数据缓冲区,并保持波峰累计数量不变。

当在步骤s202确定第一数据缓冲区已写满时,执行步骤s205,确定当前的第一数据缓冲区内最先被写入的数据是否为第一标识符。

在步骤s206,当当前读取周期读取的振动数据超过振动预警值、上一读取周期读取的振动数据未超过振动预警值、且当前的第一数据缓冲区内最先被写入的数据为第一标识符时,将第一标识符写入第一数据缓冲区,并保持波峰累计数量不变。

在步骤s207,当当前读取周期读取的振动数据超过振动预警值、上一读取周期读取的振动数据未超过振动预警值、且当前的第一数据缓冲区内最先被写入的数据为第二标识符时,将第一标识符写入第一数据缓冲区,并将波峰累计数量加1。

在步骤s208,当当前读取周期读取的振动数据未超过振动预警值、且当前的第一数据缓冲区内最先被写入的数据为第一标识符时;或者,当当前读取周期读取的振动数据超过振动预警值、上一读取周期读取的振动数据也超过振动预警值、且当前的第一数据缓冲区内最先被写入的数据为第一标识符时,将第二标识符写入第一数据缓冲区,并将波峰累计数量减1。

在步骤s209,当当前读取周期读取的振动数据未超过振动预警值、且当前的第一数据缓冲区内最先被写入的数据为第二标识符时;或者,当当前读取周期读取的振动数据超过振动预警值、上一读取周期读取的振动数据也超过振动预警值、且当前的第一数据缓冲区内最先被写入的数据为第二标识符时,将第二标识符写入第一数据缓冲区,并保持波峰累计数量不变。

图5示出根据本发明示例性实施例的通过第二数据缓冲区统计当前时间段内振动数据超过振动预警值的累计时长的方法的流程图。

参照图5,在步骤s210,确定当前读取周期读取的振动数据是否超过振动预警值。

在步骤s211,确定第二数据缓冲区是否已写满。

在步骤s212,当第二数据缓冲区未写满、且当前读取周期读取的振动数据超过振动预警值时,将第一标识符写入第二数据缓冲区,并将所述累计时长增加一个读取周期。

在步骤s213,当第二数据缓冲区未写满、且当前读取周期读取的振动数据未超过振动预警值时,将第二标识符写入第二数据缓冲区,并保持所述累计时长不变。

当在步骤s211确定第二数据缓冲区已写满时,执行步骤s214,确定当前的第二数据缓冲区内最先被写入的数据是否为第一标识符。

在步骤s215,当当前读取周期读取的振动数据超过振动预警值、且当前的第二数据缓冲区内最先被写入的数据为第一标识符时,将第一标识符写入第二数据缓冲区,并保持所述累计时长不变。

在步骤s216,当当前读取周期读取的振动数据超过振动预警值、且当前的第二数据缓冲区内最先被写入的数据为第二标识符时,将第一标识符写入第二数据缓冲区,并将所述累计时长增加一个读取周期。

在步骤s217,当当前读取周期读取的振动数据未超过振动预警值、且当前的第二数据缓冲区内最先被写入的数据为第一标识符时,将第二标识符写入第二数据缓冲区,并将所述累计时长减少一个读取周期。

在步骤s218,当当前读取周期读取的振动数据未超过振动预警值、且当前的第二数据缓冲区内最先被写入的数据为第二标识符时,将第二标识符写入第二数据缓冲区,并保持所述累计时长不变。

根据本发明的示例性实施例,建立两个数据缓冲区,一个用于快速计算当前时间段内振动数据超过振动预警值的时间点的振动数据的波峰累计数量,另一个用于快速计算当前时间段内振动数据超过振动预警值的累计时长。一方面,由于仅基于当前数据缓冲区内最先被写入的标识符,以及本次将写入的标识符,即可更新波峰累计数量和累计时长,不需要每次都基于数据缓冲区内的全部数据来对波峰累计数量和累计时长进行重新统计,从而能够有效减小数据的运算量,既占用较少的运算资源,且计算较快;另一方面,同时统计超过振动预警值的振动数据的波峰累计数量以及超过振动预警值的累计时长可以提高识别高频振动异常的准确性,从而避免由于错误识别结果导致发出错误的控制指令,进而造成损失。

图6示出根据本发明示例性实施例的在线识别风电机组的高频振动异常的可编程逻辑控制器的框图。

如图6所示,根据本发明示例性实施例的在线识别风电机组的高频振动异常的可编程逻辑控制器包括:数据读取单元10、第一数据分析单元20、第二数据分析单元30、异常确定单元40。

具体说来,数据读取单元10用于周期性地读取风电机组实时的振动数据。

作为示例,可通过传感器实时地采集风电机组的振动数据,数据读取单元10可周期性地从传感器接收其实时采集的振动数据。

风电机组的振动数据为能够指示风电机组的振动情况(例如,振动幅度)的数据。作为示例,风电机组的振动数据可包括以下项之中的至少一项:机舱沿指定方向的加速度数据、机舱沿指定方向的位移数据、机舱沿指定方向的速度数据。例如,所述指定方向可为机舱的轴向和/或机舱的侧向。

第一数据分析单元20用于通过第一数据缓冲区对读取的振动数据进行第一数据分析。

作为示例,第一数据分析单元20可基于预设长度的当前时间段内各读取周期读取的振动数据是否超过预设的振动预警值的情况,通过第一数据缓冲区对当前时间段内的振动数据进行第一数据分析。其中,所述预设长度的当前时间段即以当前时间点为终点的具有所述预设长度的时间段。

作为示例,第一数据分析单元20可通过第一数据缓冲区统计当前时间段内超过振动预警值的振动数据的波峰累计数量。所述波峰累计数量即:在所述当前时间段内超过振动预警值的所有振动数据随时间变化的曲线中波峰的总数。

具体说来,振动数据的大小能够指示风电机组振动的幅度,当某一时间点的振动数据大于预设的振动预警值,可说明该时间点的振动较为剧烈;而一段时间内振动数据超过振动预警值的所有时间点的振动数据的波峰累计数量能够体现该段时间内剧烈振动的振荡过程、剧烈振动发生的频率。

第二数据分析单元30用于通过第二数据缓冲区对读取的振动数据进行第二数据分析。其中,第一数据缓冲区和第二数据缓冲区在所述plc中被建立。

作为示例,第二数据分析单元30可基于当前时间段内的振动数据是否超过振动预警值的情况,通过第二数据缓冲区对当前时间段内的振动数据进行第二数据分析。

作为示例,第二数据分析单元30可通过第二数据缓冲区统计当前时间段内振动数据超过振动预警值的累计时长(也即,总时长)。

作为示例,第一数据缓冲区和/或第二数据缓冲区的大小可基于振动数据的读取周期以及当前时间段的所述预设长度被确定。

此外,应该理解,第一数据分析、第二数据分析也可以是其他类型的分析结果能够用于判断是否存在高频振动异常的数据分析方式。

应该理解,针对每种类型的振动数据可分别设置对应的振动预警值。

第一数据分析单元20可使用各种适当的方式来通过第一数据缓冲区统计当前时间段内超过振动预警值的振动数据的波峰累计数量,第二数据分析单元30可使用各种适当的方式来通过第二数据缓冲区统计当前时间段内振动数据超过振动预警值的累计时长,下面将结合图7和图8来描述第一数据分析单元20和第二数据分析单元30的示例性结构。

异常确定单元40用于根据第一数据分析以及第二数据分析的分析结果识别所述风电机组的高频振动异常。

作为示例,可当当前时间段的波峰累计数量超过预设累计数量时,异常确定单元40确定风电机组在当前时间段内存在高频振动异常。

作为另一示例,可当当前时间段的波峰累计数量超过预设累计数量、且所述累计时长超过预设时长时,异常确定单元40确定风电机组在当前时间段内存在高频振动异常。

作为示例,振动数据的读取周期可为所述plc的任务执行周期。任务执行周期可理解为:每隔任务执行周期,执行一遍预先设置的一系列任务,即,周期性地重复执行所述一系列任务。所述一系列任务可包括执行根据本发明示例性实施例的在线识别风电机组的高频振动异常的方法,除执行该方法之外,还可执行其他任务,例如,变桨控制等任务。

图7示出根据本发明示例性实施例的第一数据分析单元20的框图。

如图7所示,根据本发明示例性实施例的第一数据分析单元20包括:第一确定单元201、第一写入单元202、数量统计单元203。

具体说来,第一确定单元201用于确定是否当前读取周期读取的振动数据超过振动预警值且上一读取周期读取的振动数据未超过振动预警值。

第一写入单元202用于当当前读取周期读取的振动数据超过振动预警值且上一读取周期读取的振动数据未超过振动预警值时,将第一标识符写入第一数据缓冲区;否则,将第二标识符写入第一数据缓冲区。

作为示例,第一数据缓冲区可为先入先出数据缓冲区。

作为另一示例,第一数据缓冲区的长度可基于所述预设长度和振动数据的读取周期被确定。

数量统计单元203用于当将第一标识符写入第一数据缓冲区时,将波峰累计数量加1或保持波峰累计数量不变;当将第二标识符写入第一数据缓冲区时,将波峰累计数量减1或保持波峰累计数量不变,其中,波峰累计数量的初始值为0。

作为示例,当将第一标识符写入第一数据缓冲区时,数量统计单元203可基于在将第一标识符写入第一数据缓冲区之前第一数据缓冲区是否已写满、已写满时其内最先被写入的数据是否为第一标识符,来将波峰累计数量加1或保持波峰累计数量不变;当将第二标识符写入第一数据缓冲区时,数量统计单元203可基于在将第二标识符写入第一数据缓冲区之前第一数据缓冲区是否已写满、已写满时其内最先被写入的数据是否为第一标识符,来将波峰累计数量减1或保持波峰累计数量不变。

图8示出根据本发明的另一示例性实施例的第二数据分析单元30的框图。

如图8所示,根据本发明示例性实施例的第二数据分析单元30包括:第二确定单元301、第二写入单元302、累计时长统计单元303。

具体说来,第二确定单元301用于确定当前读取周期读取的振动数据是否超过振动预警值。

第二写入单元302用于当当前读取周期读取的振动数据超过振动预警值时,将第一标识符写入第二数据缓冲区;否则,将第二标识符写入第二数据缓冲区。

作为示例,第二数据缓冲区可为先入先出数据缓冲区。

作为另一示例,第二数据缓冲区的长度可基于所述预设长度和振动数据的读取周期被确定。

累计时长统计单元303用于当将第一标识符写入第二数据缓冲区时,将所述累计时长增加一个读取周期或保持所述累计时长不变;当将第二标识符写入第二数据缓冲区时,保持所述累计时长不变或将所述累计时长减少一个读取周期,其中,所述累计时长的初始值为0。

作为示例,当将第一标识符写入第二数据缓冲区时,累计时长统计单元303可基于在将第一标识符写入第二数据缓冲区之前第二数据缓冲区是否已写满、已写满时其内最先被写入的数据是否为第一标识符,来将所述累计时长增加一个读取周期或保持所述累计时长不变;当将第二标识符写入第二数据缓冲区时,累计时长统计单元303可基于在将第二标识符写入第二数据缓冲区之前第二数据缓冲区是否已写满、已写满时其内最先被写入的数据是否为第一标识符,来保持所述累计时长不变或将所述累计时长减少一个读取周期。

应该理解,根据本发明示例性实施例的在线识别风电机组的高频振动异常的可编程逻辑控制器的具体实现方式可参照结合图1至图5描述的相关具体实现方式来实现,在此不再赘述。

应该理解,根据本发明示例性实施例的在线识别风电机组的高频振动异常的可编程逻辑控制器中的各个单元可被实现硬件组件和/或软件组件。

本发明的示例性实施例提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时实现如上述示例性实施例所述的基于plc在线识别风电机组的高频振动异常的方法。该计算机可读存储介质是可存储由计算机系统读出的数据的任意数据存储装置。计算机可读存储介质的示例包括:只读存储器、随机存取存储器、只读光盘、磁带、软盘、光数据存储装置和载波(诸如经有线或无线传输路径通过互联网的数据传输)。

根据本发明的示例性实施例的可编程逻辑控制器包括:处理器(未示出)和存储器(未示出),其中,存储器存储有计算机程序,当所述计算机程序被处理器执行时,实现如上述示例性实施例所述的基于plc在线识别风电机组的高频振动异常的方法。

虽然已表示和描述了本发明的一些示例性实施例,但本领域技术人员应该理解,在不脱离由权利要求及其等同物限定其范围的本发明的原理和精神的情况下,可以对这些实施例进行修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1