一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

风电场的通信异常检测方法、装置以及场站控制器与流程

2021-12-17 19:46:00 来源:中国专利 TAG:


1.本发明总体说来涉及通信处理技术领域,更具体地讲,涉及一种风电场的通信异常检测方法、装置以及场站控制器。


背景技术:

2.随着新能源发电机组渗透率的不断增加,在高渗透率区域电网内,风电机组的安全性、稳定性引起了广泛关注。电网实际运行中,当电量消耗与电量供给不匹配时,即可引起电网频率出现变化较小、变动周期较短的微小分量,这种频率扰动主要靠汽轮发电机组本身的调节系统直接自动调整汽轮机调门完成电网负荷补偿,修正电网频率的波动,这个过程即为发电机组的快速频率控制。
3.电网要求新能源场站具有快速频率控制响应能力,新能源场站完成快速频率响应功能改造后,在场站并网点通过现场试验验证需具备快速频率响应功能,具体包括测试新能源场站快速频率响应滞后时间、响应时间、测频精度等指标。
4.新能场站快速频率响应改造包含风电场和光伏电站等,但很多新能源场站经过改造过程中,很多响应时间及精度不达标的,查找具体问题发现很多与通信等有很大关系。
5.快速频率响应改造过程,场站控制器与多台设备进行通信,包含与单台新能源发电单元通信、与中间测控装置、通信柜、数采装置、频率采集装置、协议转换装置、agc、能量管理平台、wfc、调度等多个直接通信的设备。与这些设备之间通信过程中有单台测试、多台测试及实际调节响应过程中的测试等多个环节,也会在不同的环节遇到通信问题,如果在调节响应过程中遇到不固定设备的通信问题,则无法准确查找问题,此时需事先选定哪台设备,一直查看命令行报文来分析,但实际调节响应过程中不一定是这台设备出问题,则需通过命令行查看另一台设备的报文,导致查找工作繁琐。


技术实现要素:

6.本发明的示例性实施例的目的在于提供一种风电场的通信异常检测方法、装置以及场站控制器,以克服上述至少一种缺陷。
7.在一个总体方面,提供一种风电场的通信异常检测方法,所述风电场包括场站控制器和与场站控制器进行直接通信的多台设备,所述通信异常检测方法包括:从所述多台设备中确定至少一台待排查设备;获取所述至少一台待排查设备的运行报文;将所获取的所述至少一台待排查设备的运行报文写入共享内存的数据结构体中;基于共享内存的数据结构体中所写入的运行报文生成所述至少一台待排查设备的设备文件,以基于设备文件对所述至少一台待排查设备进行通信异常排查。
8.可选地,从所述多台设备中确定至少一台待排查设备的步骤可包括以下步骤之一:基于设备选择指令来确定所述至少一台待排查设备;基于场站控制器与每台设备的通信状态,识别存在通信异常的设备,从所识别的存在通信异常的设备中确定所述至少一台待排查设备。
9.可选地,所述通信异常检测方法可还包括:获取针对所述至少一台待排查设备的控制标识,所述控制标识指示是否针对所述至少一台待排查设备开启文件记录,其中,当所获取的控制标识指示针对所述至少一台待排查设备开启文件记录时,将所获取的所述至少一台待排查设备的运行报文写入共享内存的数据结构体中,当所获取的控制标识指示针对所述至少一台待排查设备不开启文件记录时,将所获取的所述至少一台待排查设备的运行报文在命令窗中进行显示。
10.可选地,将所获取的所述至少一台待排查设备的运行报文写入共享内存的数据结构体中的步骤可包括:确定每台待排查设备的设备索引信息;将与各设备索引信息关联的设备标识写入共享内存的数据结构体中,并将各待排查设备的运行报文写入数据结构体中分别与各待排查设备的设备索引信息关联的设备标识所对应的报文结构体中。
11.可选地,可通过以下方式将任一待排查设备的运行报文写入报文结构体中:确定共享内存的数据结构体中的设备标识与预定设备索引信息是否相匹配,所述预定设备索引信息为任一待排查设备的设备索引信息;当所述设备标识与预定设备索引信息相匹配时,获取任一待排查设备的运行报文;将每次获取的运行报文按照时间顺序进行排序;将与所述预定设备索引信息相匹配的设备标识以及排序后的运行报文写入报文结构体中。
12.可选地,场站控制器与所述多台设备基于不同的通信协议进行通信,其中,将所获取的所述至少一台待排查设备的运行报文写入共享内存的数据结构体中的步骤可包括:确定用于执行读取/写入操作的待排查设备的设备索引信息,基于所确定的设备索引信息确定对应的待排查设备所使用的通信协议,基于所确定的通信协议,将与读取/写入操作对应的运行报文写入共享内存的数据结构体中。
13.可选地,所述通信异常检测方法可还包括:当获取与读取/写入操作对应的运行报文失败时,断开场站控制器与运行报文获取失败的待排查设备的通信连接;生成描述报文,其中,所述描述报文用于描述读取/写入操作的失败原因;当确定存在报文查看需求时,在命令窗中显示所生成的描述报文。
14.可选地,基于共享内存的数据结构体中所写入的运行报文生成所述至少一台待排查设备的设备文件的步骤可包括:针对每台待排查设备创建线程,其中,每个线程用于将对应的待排查设备的运行报文写入该待排查设备的设备文件中,其中,所创建的各线程并行执行。
15.可选地,每个线程中的任一线程可通过以下方式生成任一线程对应的待排查设备的设备文件:将与任一线程对应的待排查设备的设备索引信息关联的设备标识与在存储位置创建的初始文件关联成报文路径;打开报文路径指示的初始文件;获取与设备索引信息关联的设备标识所对应的报文结构体中的运行报文;将所述设备标识以及所获取的运行报文进行拼接,并将拼接后的运行报文写入打开的初始文件,以形成与任一线程对应的待排查设备的设备文件。
16.在另一总体方面,提供一种风电场的通信异常检测装置,所述风电场包括场站控制器和与场站控制器进行直接通信的多台设备,所述通信异常检测装置包括:待排查设备确定模块,从所述多台设备中确定至少一台待排查设备;报文获取模块,获取所述至少一台待排查设备的运行报文;数据写入模块,将所获取的所述至少一台待排查设备的运行报文写入共享内存的数据结构体中;文件生成模块,基于共享内存的数据结构体中所写入的运
行报文生成所述至少一台待排查设备的设备文件,以基于设备文件对所述至少一台待排查设备进行通信异常排查。
17.可选地,待排查设备确定模块可通过以下方式之一确定所述至少一台待排查设备:基于设备选择指令来确定所述至少一台待排查设备;基于场站控制器与每台设备的通信状态,识别存在通信异常的设备,从所识别的存在通信异常的设备中确定所述至少一台待排查设备。
18.可选地,数据写入模块可还获取针对所述至少一台待排查设备的控制标识,所述控制标识指示是否针对所述至少一台待排查设备开启文件记录,其中,当所获取的控制标识指示针对所述至少一台待排查设备开启文件记录时,数据写入模块将所获取的所述至少一台待排查设备的运行报文写入共享内存的数据结构体中,和/或,所述通信异常检测装置可还包括显示控制模块,当所获取的控制标识指示针对所述至少一台待排查设备不开启文件记录时,显示控制模块将所获取的所述至少一台待排查设备的运行报文在命令窗中进行显示。
19.可选地,数据写入模块可包括:索引确定子模块,确定每台待排查设备的设备索引信息;标识写入子模块,将与各设备索引信息关联的设备标识写入共享内存的数据结构体中;数据写入子模块,将各待排查设备的运行报文写入数据结构体中分别与各待排查设备的设备索引信息关联的设备标识所对应的报文结构体中。
20.可选地,数据写入子模块可通过以下方式将任一待排查设备的运行报文写入报文结构体中:确定共享内存的数据结构体中的设备标识与预定设备索引信息是否相匹配,所述预定设备索引信息为任一待排查设备的设备索引信息;当所述设备标识与预定设备索引信息相匹配时,获取任一待排查设备的运行报文;将每次获取的运行报文按照时间顺序进行排序;将与所述预定设备索引信息相匹配的设备标识以及排序后的运行报文写入报文结构体中。
21.可选地,场站控制器与所述多台设备基于不同的通信协议进行通信,其中,报文获取模块可获取与读取/写入操作对应的运行报文,数据写入模块确定用于执行读取/写入操作的待排查设备的设备索引信息,基于所确定的设备索引信息确定对应的待排查设备所使用的通信协议,基于所确定的通信协议,将所获取的与读取/写入操作对应的运行报文写入共享内存的数据结构体中。
22.可选地,所述通信异常检测装置可还包括:操作异常处理模块,当获取与读取/写入操作对应的运行报文失败时,断开场站控制器与运行报文获取失败的待排查设备的通信连接,并生成描述报文,其中,所述描述报文用于描述读取/写入操作的失败原因;显示控制模块,当确定存在报文查看需求时,将所生成的描述报文在命令窗中进行显示。
23.可选地,文件生成模块可针对每台待排查设备创建线程,其中,每个线程用于将对应的待排查设备的运行报文写入该待排查设备的设备文件中,其中,所创建的各线程并行执行。
24.可选地,文件生成模块可包括:路径生成子模块,将与任一线程对应的待排查设备的设备索引信息关联的设备标识与在存储位置创建的初始文件关联成报文路径;文件开启子模块,打开报文路径指示的初始文件;报文读取子模块,获取与设备索引信息关联的设备标识所对应的报文结构体中的运行报文;报文写入子模块,将所述设备标识以及所获取的
运行报文进行拼接,并将拼接后的运行报文写入打开的初始文件,以形成与任一线程对应的待排查设备的设备文件。
25.在另一总体方面,提供一种风电场的场站控制器,在所述场站控制器中执行通信进程和通信排查进程,其中,通信排查进程从与场站控制器进行直接通信的多台设备中确定至少一台待排查设备,产生针对所述至少一台待排查设备的通信排查请求并发送至通信进程;通信进程响应于通信排查请求,获取所述至少一台待排查设备的运行报文,并将所获取的运行报文写入共享内存的数据结构体中;通信排查进程基于共享内存的数据结构体中所写入的运行报文生成所述至少一台待排查设备的设备文件。
26.可选地,在通信排查请求中携带了每个待排查设备对应的设备索引信息以及控制标识,所述控制标识指示是否针对所述至少一台待排查设备开启文件记录;其中,通信进程可从接收的通信排查请求中提取控制标识,如果控制标识指示针对所述至少一台待排查设备开启文件记录,则将所获取的运行报文写入共享内存的数据结构体中。
27.在另一总体方面,提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序在被处理器执行时实现上述的风电场的通信异常检测方法。
28.基于本发明示例性实施例的风电场的通信异常检测方法、装置以及场站控制器,能够有效提高通信异常排查的效率和准确性。
附图说明
29.通过下面结合示例性地示出实施例的附图进行的详细描述,本发明示例性实施例的上述和其它目的、特点和优点将会变得更加清楚。
30.图1示出根据本发明示例性实施例的风电场的通信异常检测方法的流程图;
31.图2示出根据本发明示例性实施例的设备写状态判断的步骤的流程图;
32.图3示出根据本发明示例性实施例的设备读状态判断的步骤的流程图;
33.图4示出根据本发明示例性实施例的向共享内存的数据结构体中写入运行报文以及生成设备文件的步骤的流程图;
34.图5示出根据本发明示例性实施例的tcplient主循环的步骤的流程图;
35.图6示出根据本发明示例性实施例的场站控制器与多台设备之间的通信协议的示意图;
36.图7示出根据本发明示例性实施例的将与读取/写入操作对应的运行报文写入共享内存的数据结构体中的步骤的流程图;
37.图8示出根据本发明示例性实施例的将任一待排查设备的运行报文写入报文结构体中的步骤的流程图;
38.图9示出根据本发明示例性实施例的生成至少一台待排查设备的设备文件的步骤的流程图;
39.图10示出根据本发明示例性实施例的风电场的通信异常检测装置的框图;
40.图11示出根据本发明示例性实施例的数据写入模块的框图;
41.图12示出根据本发明示例性实施例的文件生成模块的框图;
42.图13示出根据本发明示例性实施例的控制器的框图。
具体实施方式
43.现在,将参照附图更充分地描述不同的示例实施例,一些示例性实施例在附图中示出。
44.新能源场站利用相应的有功控制系统,完成场站有功功率和并网点电网频率的下垂特性控制,使其在并网点具备参与电网频率快速调整能力,即具备快速频率响应能力。
45.风电场中包括场站控制器以及与场站控制器进行直接通信的多台设备,风电场内的设备种类繁多,且通信协议不固定,灵活多变,尤其是发电单元光伏和风电机组,被控数量多,且是主要控制对象,这些控制对象在现实应用中被多种控制设备控制,因此需要控制发电单元时,可能会经过一些中间设备转发,比如测控装置、通信柜等,因此场站控制器与测控装置和通信柜之间的通信状态也就变得非常重要了。
46.在快速频率响应改造调试过程中或者在风电场投入运行期间场站控制器与多台设备的通信过程中,针对场站控制器与多台设备之间存在的通信异常,可通过本发明示例性实施例的风电场的通信异常检测方法来针对每台待排查设备生成对应的设备文件,从而后续基于设备文件对各待排查设备进行通信异常排查。
47.图1示出根据本发明示例性实施例的风电场的通信异常检测方法的流程图。
48.参照图1,在步骤s10中,从多台设备中确定至少一台待排查设备。
49.一种情况,可基于场站控制器与每台设备的通信状态,识别存在通信异常的设备,从所识别的存在通信异常的设备中确定至少一台待排查设备。
50.例如,可基于所识别的存在通信异常的设备来确定至少一台待排查设备。在此情况下,可以将所识别的存在通信异常的全部设备或者部分设备自动确定为至少一台待排查设备。除此之外,也可以将所识别的存在通信异常的全部设备或者部分设备与其他至少一台不存在通信异常的设备自动确定为至少一台待排查设备。
51.例如,场站控制器可以自动根据与各设备的通信收发数据情况,确定各设备与场站控制器之间的通信状态,以方便调试人员和策略控制使用。
52.下面参照图2介绍场站控制器确定向每台待排查设备写入数据的通信状态的过程,即,场站控制器可以分别针对每台待排查设备执行图2所示的数据写入过程,以判断各待排查设备的设备写状态。
53.图2示出根据本发明示例性实施例的设备写状态判断的步骤的流程图。
54.参照图2,在步骤s110中,向至少一台待排查设备中的任一设备写入数据。
55.在步骤s120中,确定向任一设备写入数据是否发送成功。
56.如果发送成功,则执行步骤s130:将任一设备的通信标志位设置为第一标识。
57.作为示例,通信标志位(例如,comstatus)用于指示设备与场站控制器之间的通信状态,该第一标识可用于指示设备与场站控制器之间的通信状态为不存在通信异常,例如,第一标识可设置为1。
58.如果没有发送成功,则执行步骤s140:将任一设备的通信标志位设置为第二标识。
59.作为示例,该第二标识可用于指示设备与场站控制器之间的通信状态为存在通信异常,例如,第二标识可设置为0。
60.下面参照图3介绍场站控制器确定从每台待排查设备读取数据的通信状态的过程,即,场站控制器可以分别针对每台待排查设备执行图3所示的数据读取过程,以判断各
待排查设备的设备读状态。
61.图3示出根据本发明示例性实施例的设备读状态判断的步骤的流程图。
62.参照图3,在步骤s101中,从至少一台待排查设备中的任一设备读取数据。
63.在步骤s102中,确定从任一设备读取数据是否接收成功。
64.如果没有接收成功,则执行步骤s103:将任一设备的通信标志位设置为第二标识。
65.如果接收成功,则执行步骤s104:确定场控制器与任一设备之间的通信协议是否为modbus协议。
66.如果不是modbus协议,则执行步骤s105:将任一设备的通信标志位设置为第一标识。
67.这里,由于modbus协议涉及到分包发送,其他通信协议不涉及分包发送,因此当确定与任一设备的通信协议不属于modbus协议时,在步骤s105中可以直接确定出任一设备的通信标志位。
68.如果是modbus协议,则执行步骤s106:将指示本次接收是否成功的标志flag设置为第三标识。作为示例,该第三标识可用于指示本次接收成功。
69.在步骤s107中,确定所有包是否接收完成。
70.如果所有包没有接收完成,则返回步骤s101继续从任一设备读取数据。
71.如果所有包接收完成,则执行步骤s108:确定任一设备的通信标志位。
72.例如,可以基于接收所有包时对应的标志flag来确定任一设备的通信标志位。在一示例中,可将第三标识设置为1,如果接收某一包时没有接收成功,则可将标志flag设置为第四标识(如可将第四标识设置为0)。在此情况下,将所有包对应的标志flag相与,如果相与的结果为1,则将任一设备的通信标志位设置为第一标识,如果相与的结果为0,则将任一设备的通信标志位设置为第二标识。
73.在本发明示例性实施例的通信异常检测方法中,通过增加每台待排查设备的通信标志位comstatus,可以直观、快速判断出各待排查设备的通信状态。也就是说,通过通信标志位comstatus的值做初步筛查,可以将存在通信异常的设备筛选出来。
74.应理解,上述图2和图3所示的场站控制器判断各设备的写状态/读状态的方式仅为一示例,本发明不限于此,本领域技术人员还可以通过其他方式来确定场站控制器与各设备之间的通信状态。
75.另一种情况,可基于设备选择指令来确定至少一台待排查设备。
76.在此情况下,可根据设备选择指令来从多台设备中任意选择至少一台设备作为待排查设备。此时,被选择的设备可以是通过上述方式确定出的存在通信异常的全部设备或者部分设备,也可以是不存在通信异常的全部设备或者部分设备,还可以是包括了存在通信异常和不存在通信异常的设备。
77.返回图1,在步骤s20中,获取至少一台待排查设备的运行报文。
78.例如,可获取各待排查设备的实时参数以形成运行报文。
79.在步骤s30中,将所获取的至少一台待排查设备的运行报文写入共享内存的数据结构体中。
80.在步骤s40中,基于共享内存的数据结构体中所写入的运行报文生成至少一台待排查设备的设备文件,以基于设备文件对至少一台待排查设备进行通信异常排查。
81.对于响应调节过程中出现的不固定台数的瞬时故障,或者针对每个设备单台测试都正常、但在响应调节过程中或者风电场投运期间出现通信异常的情况,基于本发明示例性实施例的通信异常检测方法,可以针对每台待排查设备生成对应的设备文件用于分析、排查通信异常问题。
82.图4示出根据本发明示例性实施例的向共享内存的数据结构体中写入运行报文以及生成设备文件的步骤的流程图。
83.参照图4,在步骤s301中,确定是否写文件。即,获取针对至少一台待排查设备的控制标识,并基于所获取的控制标识确定是否开启文件记录。这里,控制标识指示是否针对至少一台待排查设备开启文件记录(即,是否生成设备文件)。
84.在一示例中,在步骤s301之前,可获取共享内存并做映射,获取共享内存中的数据结构devicelnfo。本发明不限于此,也可以获取共享内存中的其他区域用来写入运行报文。
85.如果确定写文件,即,所获取的控制标识指示针对至少一台待排查设备开启文件记录,则执行步骤s302:确定每台待排查设备的设备索引信息。
86.作为示例,可将待排查设备的编号作为设备索引信息。
87.在步骤s303中,将与各设备索引信息关联的设备标识写入共享内存的数据结构体中,并将各待排查设备的运行报文写入数据结构体中分别与各待排查设备的设备索引信息关联的设备标识所对应的报文结构体中。
88.作为示例,设备标识可包括但不限于设备名称。也就是说,共享内存的数据结构体(如printdebuginfos)中包括各待排查设备的设备标识以及与设备标识对应的报文结构体。
89.可选地,针对基于设备选择指令确定至少一个待排查设备的情况,该设备选择指令可基于用户的选择来产生,此时根据本发明示例性实施例的通信异常检测方法可还包括:校验用户输入是否正确。
90.例如,校验过程可为:判断设备标识与设备索引信息是否能够对应上,如果能够对应上,则执行步骤s303,如果无法对应上,则进行错误提示。
91.在步骤s304中,针对每台待排查设备创建线程。
92.这里,每个线程用于将对应的待排查设备的运行报文写入该待排查设备的设备文件中。优选地,所创建的各线程并行执行。
93.例如,可针对每台待排查设备来逐个创建对应的线程,如果线程创建失败,则显示报错提示信息。
94.在一示例中,可将设备文件存储在硬盘中,在进行运行报文写入时,可确定硬盘中是否存在设备文件,如果不存在,则创建设备文件,以将运行报文写入所创建的设备文件。如果存在,则更新硬盘中的设备文件。
95.如果确定不写文件,即,所获取的控制标识指示针对至少一台待排查设备不开启文件记录,则执行步骤s305:确定待排查设备数量。
96.在步骤s306中,将所获取的至少一台待排查设备的运行报文在命令窗中进行显示。
97.在此情况下,仅在命令窗中显示运行报文,不对运行报文进行存储。优选地,在通信排查进程中通过命令窗针对单台待排查设备的运行报文进行分析排查,但本发明不限于
此,也可以在命令窗中显示多台待排查设备的运行报文。
98.在一示例中,在确定不写文件时,也通过上述的步骤s302和步骤s303将待排查设备的运行报文写入报文结构体中。此时,可从共享内存的报文结构体中获取与设备索引信息对应的待排查设备的预定数量的运行报文,将获取的运行报文进行排序,将与设备索引信息对应的设备标识和获取的运行报文进行拼接,在命令窗中显示拼接后的运行报文。
99.图5示出根据本发明示例性实施例的tcplient主循环的步骤的流程图。
100.参照图5,在步骤s310中,初始化获取共享内存映射。
101.在步骤s320中,执行读取/写入操作。
102.例如,如果待排查设备与场站控制器的通信连接断开的,可以重新连接,以执行读取/写入操作。
103.在步骤s330中,判断可读集合和可写集合。
104.例如,确定至少一台待排查设备中可执行读取操作的设备,放入可读集合,将可执行写入操作的设备放入可写集合。
105.在步骤s340中,获取命令,并分配数据结构及命令队列的清零。这里,所获取的命令可包括针对待排查设备执行读取/写入操作的命令。
106.在步骤s350中,设备通道可写时,执行写入数据操作。
107.在步骤s360中,在写入数据操作成功之后,针对基于modbus协议的待排查设备执行读取数据操作。
108.这是由于设备状态为waitingforread的modbus协议才可以读取,如果是其他通信协议则不受影响,即,其他通信协议也可以先执行读取数据操作再执行写入数据操作。
109.应理解,上述图5是以tcpclient同行进程为例进行介绍的,但本发明不限于此,还可以是与tcpclient同行进程具有相同功能的其他进程,例如,opcuaclient、svgcontrol、plcsend等。
110.图6示出根据本发明示例性实施例的场站控制器与多台设备之间的通信协议的示意图。如图6所示,场站控制器与多台设备之间基于不同的通信协议进行通信。
111.图7示出根据本发明示例性实施例的将与读取/写入操作对应的运行报文写入共享内存的数据结构体中的步骤的流程图。
112.参照图7,在步骤s31中,确定用于执行读取/写入操作的待排查设备的设备索引信息。
113.针对读数据报文操作,可先判断可读,并读取报文。
114.针对写数据报文操作,可先判断可写,此时,可判断是否有控制命令,有控制命令则先写控制命令,无控制命令则发送召唤命令。即,确保优先执行控制命令。
115.在步骤s32中,基于所确定的设备索引信息确定对应的待排查设备所使用的通信协议。
116.在步骤s33中,基于所确定的通信协议,来将与读取/写入操作对应的运行报文写入共享内存的数据结构体中。
117.在一示例中,根据本发明示例性实施例的风电场的通信异常检测方法可还包括:如果获取与读取/写入操作对应的运行报文失败,则断开场站控制器与运行报文获取失败的待排查设备的通信连接;生成描述报文,这里,描述报文用于描述读取/写入操作的失败
原因;如果确定存在报文查看需求,则在命令窗中显示所生成的描述报文。
118.例如,可获取用于指示报文查看需求的需求标志(例如,debugnumber),如果需求标志指示存在报文查看需求(如debugnumber不为0),则将所生成的描述报文打印到命令窗。如果需求标志指示不存在报文查看需求(如debugnumber为0),则不对描述报文进行处理。
119.图8示出根据本发明示例性实施例的将每台待排查设备中的任一待排查设备的运行报文写入报文结构体中的步骤的流程图。
120.参照图8,在步骤s601中,确定共享内存的数据结构体中的设备标识与预定设备索引信息是否相匹配。这里,预定设备索引信息为任一待排查设备的设备索引信息。
121.可选地,在步骤s601之前,可获取系统时间,将秒转换为本地时间,毫秒备用。
122.如果设备标识与预定设备索引信息不匹配,则返回继续寻找与预定设备索引信息匹配的设备标识。
123.如果设备标识与预定设备索引信息相匹配,则执行步骤s602:获取任一待排查设备的运行报文。例如,可不间断地实时获取任一待排查设备的运行报文。
124.在步骤s603中,将每次获取的运行报文按照时间顺序进行排序。
125.例如,可为运行报文定义序号(number),对运行报文进行排序增加,做到运行报文按照时间顺序一条条增加,即,改变number的值,保证顺序由旧到新。
126.在步骤s604中,将与预定设备索引信息相匹配的设备标识以及排序后的运行报文写入报文结构体中。
127.例如,可将本地时间、毫秒、筛选出来的设备标识、报文放入共享内存中。
128.下面参照图9来介绍每个线程中的任一线程生成与该任一线程对应的待排查设备的设备文件的过程。
129.图9示出根据本发明示例性实施例的生成每台待排查设备中的任一待排查设备的设备文件的步骤的流程图。
130.参照图9,在步骤s401中,将与任一线程对应的待排查设备的设备索引信息关联的设备标识与在存储位置创建的初始文件关联成报文路径。
131.在步骤s402中,打开报文路径指示的初始文件。
132.在步骤s403中,获取与设备索引信息关联的设备标识所对应的报文结构体中的运行报文。
133.在步骤s404中,将设备标识以及所获取的运行报文进行拼接。
134.在步骤s405中,将拼接后的运行报文写入打开的初始文件,以形成与任一线程对应的待排查设备的设备文件。
135.作为示例,可将拼接后的运行报文放入printdebuginfos数据结构体中的message,再将message报文写入初始文件中,以形成设备文件。
136.长期存储的报文分析功能具有随时开启和随时关闭的功能,分析时长可由用户决定。通过上述方式来分析通信问题,可以长期稳定取得运行报文,且此报文是精简版用户数据报文,不包含以太网头、tcp头、ip头、以太网尾等其他内容,且报文分析中记录了中断连接、命令和读数据的格式有区分,便于分析。
137.图10示出根据本发明示例性实施例的风电场的通信异常检测装置的框图。风电场
包括场站控制器和与场站控制器进行直接通信的多台设备。
138.如图10所示,根据本发明示例性实施例的风电场的通信异常检测装置100包括:待排查设备确定模块101、报文获取模块102、数据写入模块103和文件生成模块104。
139.具体说来,待排查设备确定模块101从所述多台设备中确定至少一台待排查设备。
140.一种情况,待排查设备确定模块101可基于场站控制器与每台设备的通信状态,识别存在通信异常的设备,基于所识别的存在通信异常的设备来确定至少一台待排查设备。
141.另一种情况,待排查设备确定模块101可基于设备选择指令来确定至少一台待排查设备。
142.报文获取模块102获取至少一台待排查设备的运行报文。
143.数据写入模块103将所获取的至少一台待排查设备的运行报文写入共享内存的数据结构体中。
144.在一示例中,数据写入模块103可还获取针对至少一台待排查设备的控制标识。这里,控制标识指示是否针对至少一台待排查设备开启文件记录。
145.如果所获取的控制标识指示针对至少一台待排查设备开启文件记录,则数据写入模块103将所获取的至少一台待排查设备的运行报文写入共享内存的数据结构体中。
146.可选地,根据本发明示例性实施例的风电场的通信异常检测装置100可还包括显示控制模块(图中未示出)。
147.如果所获取的控制标识指示针对至少一台待排查设备不开启文件记录,则显示控制模块将所获取的至少一台待排查设备的运行报文在命令窗中进行显示。
148.场站控制器与多台设备基于不同的通信协议进行通信,报文获取模块102可获取与读取/写入操作对应的运行报文。
149.在此情况下,数据写入模块103确定用于执行读取/写入操作的待排查设备的设备索引信息,基于所确定的设备索引信息确定对应的待排查设备所使用的通信协议,基于所确定的通信协议,来将所获取的与读取/写入操作对应的运行报文写入共享内存的数据结构体中。
150.根据本发明示例性实施例的风电场的通信异常检测装置100可还包括:操作异常处理模块(图中未示出),如果获取与读取/写入操作对应的运行报文失败,则断开场站控制器与运行报文获取失败的待排查设备的通信连接,并生成描述报文。这里,描述报文用于描述读取/写入操作的失败原因。
151.此时,如果确定存在报文查看需求,则显示控制模块将所生成的描述报文在命令窗中进行显示。
152.图11示出根据本发明示例性实施例的数据写入模块的框图。
153.如图11所示,根据本发明示例性实施例的数据写入模块103可包括:索引确定子模块31、标识写入子模块32和数据写入子模块33。
154.具体说来,索引确定子模块31确定每台待排查设备的设备索引信息。
155.标识写入子模块32将与各设备索引信息关联的设备标识写入共享内存的数据结构体中。
156.数据写入子模块33将各待排查设备的运行报文写入数据结构体中分别与各待排查设备的设备索引信息关联的设备标识所对应的报文结构体中。
157.在一示例中,数据写入子模块33可通过以下方式将任一待排查设备的运行报文写入报文结构体中:确定共享内存的数据结构体中的设备标识与预定设备索引信息是否相匹配,这里,预定设备索引信息为任一待排查设备的设备索引信息,如果相匹配,则获取任一待排查设备的运行报文,将每次获取的运行报文按照时间顺序进行排序,将与预定设备索引信息相匹配的设备标识以及排序后的运行报文写入报文结构体中。
158.返回图10,文件生成模块104基于共享内存的数据结构体中所写入的运行报文生成所述至少一台待排查设备的设备文件,以基于设备文件对所述至少一台待排查设备进行通信异常排查。
159.例如,文件生成模块104可针对每台待排查设备创建线程。这里,每个线程用于将对应的待排查设备的运行报文写入该待排查设备的设备文件中。优选地,所创建的各线程并行执行。
160.图12示出根据本发明示例性实施例的文件生成模块的框图。
161.如图12所示,根据本发明示例性实施例的文件生成模块104可包括:路径生成子模块41、文件开启子模块42、报文读取子模块43和报文写入子模块44。
162.具体说来,路径生成子模块41将与任一线程对应的待排查设备的设备索引信息关联的设备标识与在存储位置创建的初始文件关联成报文路径。
163.文件开启子模块42打开报文路径指示的初始文件。
164.报文读取子模块43获取与设备索引信息关联的设备标识所对应的报文结构体中的运行报文。
165.报文写入子模块44将所述设备标识以及所获取的运行报文进行拼接,并将拼接后的运行报文写入打开的初始文件,以形成与任一线程对应的待排查设备的设备文件。
166.根据本发明的示例性实施例还提供一种风电场的场站控制器,在场站控制器中执行通信进程和通信排查进程。
167.通信排查进程可为用户提供命令行输入排查设备编号、命令行查看分析报文方法及多台设备长期监测分析报文的入口。通信进程可将用户在通信排查进程提供命令行输入排查设备编号对应的设备报文处理后,放入共享内存,供通信排查进程使用。
168.具体说来,通信排查进程从与场站控制器进行直接通信的多台设备中确定至少一台待排查设备,产生针对至少一台待排查设备的通信排查请求并发送至通信进程;通信进程响应于通信排查请求,获取所述至少一台待排查设备的运行报文,并将所获取的运行报文写入共享内存的数据结构体中;通信排查进程基于共享内存的数据结构体中所写入的运行报文生成至少一台待排查设备的设备文件。
169.在通信排查请求中携带了每个待排查设备对应的设备索引信息以及控制标识,这里,控制标识指示是否针对所述至少一台待排查设备开启文件记录。
170.在此情况下,通信进程从接收的通信排查请求中提取控制标识,如果控制标识指示针对至少一台待排查设备开启文件记录,则将所获取的运行报文写入共享内存的数据结构体中。
171.如果控制标识指示针对至少一台待排查设备不开启文件记录,则通信排查进程通过命令窗显示至少一台待排查设备的运行报文。
172.在每个通信进程,如tcpclient、opcuaclient、svgcontrol、plcsend等都是长期运
行,且需要响应时间保证的,且每个通信进程通信设备数量多,在这些进程中做报文打印及分析,影响主通信响应时间,且报文掺杂在一起不便于分析。
173.在本发明示例性实施例中,通信排查进程独立运行,不影响主通信进程的响应时间,且可以采用慢速的长期记录多台设备的通信报文分析文件,便于详细分析故障原因,且不影响主通信进程。也就是说,可以在通信排查进程而非通信进程中通过命令行打印报文的方式排查问题。
174.图13示出根据本发明示例性实施例的控制器的框图。
175.如图13所示,根据本发明示例性实施例的控制器200包括:处理器201和存储器202。
176.具体说来,存储器202用于存储计算机程序,所述计算机程序在被所述处理器201执行时实现上述的风电场的通信异常检测方法。
177.这里,图1所示的风电机组的风速预估方法可在图13所示的处理器201中执行。也就是说,图10至图12所示的各模块可由数字信号处理器、现场可编程门阵列等通用硬件处理器来实现,也可通过专用芯片等专用硬件处理器来实现,还可完全通过计算机程序来以软件方式实现,例如,可被实现为图13中所示的处理器201中的各个模块。
178.根据本发明的示例性实施例还提供一种存储有计算机程序的计算机可读存储介质。该计算机可读存储介质存储有当被处理器执行时使得处理器执行上述风电场的通信异常检测方法的计算机程序。该计算机可读记录介质是可存储由计算机系统读出的数据的任意数据存储装置。计算机可读记录介质的示例包括:只读存储器、随机存取存储器、只读光盘、磁带、软盘、光数据存储装置和载波(诸如经有线或无线传输路径通过互联网的数据传输)。
179.本发明示例性实施例的风电场的通信异常检测方法、装置以及场站控制器,能够有效查找到设备通信故障,逐步缩小排查范围,简化调试复杂度。
180.此外,根据本发明示例性实施例的风电场的通信异常检测方法、装置以及场站控制器,通过长期多台设备通信分析报文记录,便于排查单台测试时发现不了的通信问题,且保存报文分析设备文件,便于与配合厂家沟通确认故障问题,缩减调试周期及责任划分。
181.此外,长期多台设备通信运行报文比采用抓包工具的方式获取的报文简洁,数据分析便捷,缩短分析问题时间和复杂度,减少研发人员故障排查投入时间。
182.尽管已经参照其示例性实施例具体显示和描述了本发明,但是本领域的技术人员应该理解,在不脱离权利要求所限定的本发明的精神和范围的情况下,可以对其进行形式和细节上的各种改变。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献