一种基于链表的电能表事件主动上报处理方法与流程

文档序号:16436194发布日期:2018-12-28 20:31阅读:273来源:国知局
一种基于链表的电能表事件主动上报处理方法与流程

本发明涉及电力抄表领域,尤其涉及一种基于链表的电能表事件主动上报处理方法。

背景技术

在电力抄表系统中,在用电现场,由于不同的用电场境、用电运行异常、窃电行为等,都会触发电能表事件的产生。在用电信息采集系统中,电能表事件实时处理的能力,是用电采集信息终端的一个非常重要的运行指标。按国家电网技术要求,当电能表发生事件时,除了需上报电能表事件外,还需要上报事件发生时的电能表其它一些运行数据。

现有的事件处理方式主要是通过点抄方式采集运行数据。但是,这种针对电能表运行数据的点钞采集方式存在占用内存空间大、执行效率低以及影响其它高优先级业务采集数据的缺点。



技术实现要素:

本发明所要解决的技术问题是针对上述现有技术提供一种基于链表的电能表事件主动上报处理方法。

本发明解决上述技术问题所采用的技术方案为:一种基于链表的电能表事件主动上报处理方法,用于包括有集中器、主站以及至少一个电能表所形成的电力系统,其特征在于,所述基于链表的电能表事件主动上报处理方法包括如下步骤:

步骤1,建立所述集中器分别与主站、所述各电能表之间的通信连接,并由各电能表发送电表数据给集中器;

步骤2,所述电能表在检测到自身出现电能表事件时,该电能表发送电能表事件信息以及对应该电能表事件当前状态的运行数据给集中器;其中,所述电能表事件信息包括电能表事件以及对应该电能表事件的事件状态字;

步骤3,所述集中器解析接收的电能表事件信息,并判断当前电能表事件处于有效状态时,集中器即转入步骤4,启动针对当前的该电能表事件的事件预处理,;否则,所述集中器不予处理当前的该电能表事件,并结束针对当前的该电能表事件的上报处理操作;

步骤4,所述集中器获取解析的该电能表事件信息中的电能表事件和事件状态字,并且按照预设的事件队列数据结构对所获取的各事件状态字进行预处理;其中,所述事件队列数据结构包括电能表事件上报时间、电能表事件所对应的电表地址、电能表事件所对应的事件状态字以及电能表事件发生次数;

步骤5,所述集中器建立事件待处理队列,并将预处理后的各事件状态字加入到所述事件待处理队列,以等待事件上报业务做统一处理;

步骤6,所述集中器判断位于所述事件待处理队列内且需要处理的电能表事件为空时,集中器继续接收各电能表发送来的电能表事件;

步骤7,所述集中器下发清除事件状态字指令给电能表,由电能表将自身电能表事件所对应的事件状态字做清除处理,且在成功清除事件状态字后,由电能表将事件状态字成功清除的清除成功反馈信息给集中器,以避免集中器重复检测位于所述事件待处理队列中且已经处理过的电能表事件;

步骤8,所述集中器在接收到对应电能表发送来的清除成功反馈信息后,集中器再次启动针对所有所述电能表所对应电能表事件状态字的采集事件操作:

步骤8-1,所述集中器解析电能表发送来的电能表事件所对应的事件状态字;

步骤8-2,所述集中器根据所解析的事件状态字判断是否需要抄读电能表事件数据:

所述集中器判断所解析的电能表事件为预设的待抄读电能表事件时,集中器按照预设的事件队列数据结构取出该事件状态字所对应电能表事件的各数据项,转至步骤8-3;

所述集中器判断所解析的电能表事件为预设的非待抄读电能表事件时,集中器将当前电能表事件所对应的事件状态字报文上报至主站,并结束针对当前事件状态字所对应电能表的采集事件操作;

步骤8-3,所述集中器判断所解析出的各事件状态字所对应的数据项个数大于零时,集中器要求各电能表将位于电能表内的各所述数据项做组包发送,以由电能表将包括有数据项的组包数据发送给所述集中器;否则,转入步骤8-5;

步骤8-4,所述集中器接收并解析电能表发送来的组包数据,并将接收的所述电能表事件原始报文缓存到集中器内存中;

步骤8-5,所述集中器将缓存的所述电能表事件原始报文上报至主站,结束针对各电能表的采集事件操作。

进一步地,在所述基于链表的电能表事件主动上报处理方法中,在步骤7中,所述集中器按照如下步骤a1~步骤a7的方式执行清除事件状态操作:

步骤a1,所述集中器取出所述事件待处理队列中的有效电能表事件所对应的事件状态字;其中,所述事件状态字的值为0或1;

步骤a2,所述集中器对取出的所述事件状态字按位取反,并做组包处理;

步骤a3,所述集中器将组包处理后的事件状态字报文发送给电能表;

步骤a4,所述电能表按照所述事件状态字报文成功清除自身的对应事件状态字后,电能表即发送清除成功反馈信息报文发送给集中器,转入步骤a5;否则,电能表发送未清除成功的反馈信息报文发送给集中器,转入步骤a7;

步骤a5,所述集中器接收各电能表发送来的清除成功反馈信息报文,并对接收的所述清除成功反馈信息报文做解析处理;

步骤a6,所述集中器成功解析所述清除成功反馈信息报文后,结束当前针对电能表事件的清除事件状态操作;

步骤a7,所述集中器再次发送清除事件状态字报文命令给该电能表,由电能表在预设次数内重复执行针对当前事件状态字报文命令的清除操作,直到该电能表成功执行完毕一次事件状态字清除操作后,即结束当前针对该事件状态字的清除操作。

改进地,在所述基于链表的电能表事件主动上报处理方法中,所述集中器针对电能表事件处理业务的处理优先级高于所述集中器针对电能表的普通采集业务。

再改进地,所述基于链表的电能表事件主动上报处理方法还包括:所述集中器在处理完毕电能表事件后,集中器对位于所述事件待处理队列中且已处理完毕的电能表事件赋予已处理的状态标识。

改进地,所述基于链表的电能表事件主动上报处理方法还包括:对所述集中器准许处理的电能表事件个数做出限制,以节约集中器内存的步骤。

进一步地,在所述基于链表的电能表事件主动上报处理方法中,对所述集中器准许处理的电能表事件个数限制为16个。

改进地,在所述基于链表的电能表事件主动上报处理方法中,所述集中器与所述各电能表之间通过plc通道实现数据交互,以获取各电能表所发送来的电能表事件。

再改进地,所述基于链表的电能表事件主动上报处理方法还包括:对所述电力系统中的各电能表赋予不同的电能表事件处理优先级,并由所述集中器按照所述赋予的电能表事件处理优先级的优先顺序来处理对应电能表所发送的电能表事件的步骤。

再进一步地,所述基于链表的电能表事件主动上报处理方法还包括:所述主站发送预设事件上报时间点给集中器,由集中器在所述预设事件上报时间点将处理过的电能表事件原始报文上报给主站的步骤。

与现有技术相比,本发明的优点在于:

首先,本发明中的电能表事件主动上报处理方法通过建立存放电能表事件用的事件待处理队列,并且由集中器利用链表的方式按照预设的事件队列数据结构对所获取的各事件状态字做预处理,进而完成针对各事件状态字所对应电能表事件的处理,且由集中器将针对电能表事件的处理结果主动上报给主站,从而可以在充分利用集中器现有内存的前提下提高执行效率;

其次,集中器通过利用对应电能表事件的事件状态字来分别处理事件待处理队列中所预设的待抄读电能表事件,有效地简化了集中器针对电能表的业务处理模式;

再次,通过对电能表事件以及电能表的普通抄读业务分别赋予不同的处理优先级,从而使得集中器针对电能表事件的处理与针对电表的普通抄读不会相互造成影响,达到优先保证针对电能表事件的处理。

附图说明

图1为本发明实施例中基于链表的电能表事件主动上报处理方法的流程示意图。

具体实施方式

以下结合附图实施例对本发明作进一步详细描述。

如图1所示,本实施例中基于链表的电能表事件主动上报处理方法,用于包括有集中器、主站以及至少一个电能表所形成的电力系统,该基于链表的电能表事件主动上报处理方法包括如下步骤:

步骤1,建立集中器分别与主站、各电能表之间的通信连接,并由各电能表发送电表数据给集中器;其中,本实施例中的集中器与各电能表之间通过plc通道实现数据交互,以满足集中器获取各电能表所发送来的电能表事件;

步骤2,电能表在检测到自身出现电能表事件时,该电能表发送电能表事件信息以及对应该电能表事件当前状态的运行数据给集中器;其中,这里的电能表事件信息包括电能表事件以及对应该电能表事件的事件状态字;这里的电能表事件可以是用电运行异常事件或者窃电事件或者停电事件;

步骤3,集中器解析接收的电能表事件信息,并判断当前电能表事件处于有效状态时,集中器即转入步骤4,启动针对当前的该电能表事件的事件预处理,;否则,集中器不予处理当前的该电能表事件,并结束针对当前的该电能表事件的上报处理操作;也就说是,一旦集中器判断当前电能表事件不处于有效状态时,集中器则不会将当前的该电能表事件上报给主站;

步骤4,集中器获取解析的该电能表事件信息中的电能表事件和事件状态字,并且按照预设的事件队列数据结构对所获取的各事件状态字进行预处理;其中,事件队列数据结构包括电能表事件上报时间、电能表事件所对应的电表地址、电能表事件所对应的事件状态字以及电能表事件发生次数;

电能表事件与事件状态字之间是一一对应地;电能表事件上报时间是指集中器所接收到电能表事件的时间;电能表事件发生次数是指电能表发送当前该电能表事件所对应的次序;例如,在当前的电能表甲中,第一次发生的电能表事件是电能表事件a1,第二次发生的电能表事件是电能表事件a2,第三次发生的电能表事件是电能表事件a3,那么电能表事件a2的发生次数就是2,电能表事件a3的发生次数就是3;

步骤5,集中器建立事件待处理队列,并将预处理后的各事件状态字加入到事件待处理队列,以等待事件上报业务做统一处理;

其中,在这里的事件待处理队列内放置有预设的待抄读电能表事件以及预设的非待抄读电能表事件;待抄读电能表事件是需要集中器执行处理的;非待抄读电能表事件则不需要集中器执行处理操作;需要说明的是,集中器针对电能表事件处理业务的处理优先级高于集中器针对电能表的普通采集业务;也就是说,集中器优先处理电能表事件,然后才是去处理针对电能表数据的普通采集业务;

另外,针对当次没有处理完毕的电能表事件,集中器可以通过再次查询事件待处理队列中的事件状态字,以去处理那些仍然处于有效状态且未被处理的待抄读电能表事件,从而不会造成电能表事件的丢失问题;

步骤6,集中器判断位于该事件待处理队列内且需要处理的电能表事件为空时,表明当前没有需要集中器去处理的电能表事件,集中器继续接收各电能表发送来的电能表事件;

步骤7,集中器下发清除事件状态字指令给电能表,由电能表将自身电能表事件所对应的事件状态字做清除处理,且在成功清除事件状态字后,由电能表将事件状态字成功清除的清除成功反馈信息给集中器,这样可以避免集中器重复检测位于上述事件待处理队列中且已经处理过的电能表事件,减少不必要的时间消耗;

具体地,集中器按照如下步骤a1~步骤a7的方式执行清除事件状态操作:

步骤a1,集中器取出该事件待处理队列中的有效电能表事件所对应的事件状态字;这里的事件状态字的值为0或1;

步骤a2,集中器对取出的事件状态字按位取反,并做组包处理,得到组包处理后的事件状态字报文;例如,如果一个电能表事件所对应的事件状态字的值为0,那么,集中器此时就要将值为0的该事件状态字按位取反,即将该事件状态字的值由0修改为1;当然,如果一个电能表事件所对应的事件状态字的值为1,那么,集中器此时就要将值为1的该事件状态字按位取反,即将该事件状态字的值由1修改为0;

步骤a3,集中器将组包处理后的事件状态字报文发送给电能表;

步骤a4,电能表按照事件状态字报文成功清除自身的对应事件状态字后,电能表即发送清除成功反馈信息报文发送给集中器,转入步骤a5;否则,电能表发送未清除成功的反馈信息报文发送给集中器,转入步骤a7;

也就是说,如果集中器发送的事件状态字报文所对应的电能表事件为b1,电能表在接收到集中器发送的这个对应电能表事件b1的事件状态字报文后,电能表就将存在于自身的电能表事件b1的事件状态字清除掉,然后该电能表在确保成功清除该事件状态字后,电能表发送清除成功反馈信息报文给集中器;

步骤a5,集中器接收各电能表发送来的清除成功反馈信息报文,并对接收的清除成功反馈信息报文做解析处理;

步骤a6,集中器成功解析清除成功反馈信息报文后,结束当前针对电能表事件的清除事件状态操作;

步骤a7,集中器再次发送清除事件状态字报文命令给该电能表,由电能表在预设次数内重复执行针对当前事件状态字报文命令的清除操作,直到该电能表成功执行完毕一次事件状态字清除操作后,即结束当前针对该事件状态字的清除操作;

步骤8,集中器在接收到对应电能表发送来的清除成功反馈信息后,集中器再次启动针对所有电能表所对应电能表事件状态字的采集事件操作:

步骤8-1,集中器解析电能表发送来的电能表事件所对应的事件状态字;

步骤8-2,集中器根据所解析的事件状态字判断是否需要抄读电能表事件数据:

集中器判断所解析的电能表事件为预设的待抄读电能表事件时,集中器按照预设的事件队列数据结构取出该事件状态字所对应电能表事件的各数据项,转至步骤8-3;其中,此处所说的数据项为事件队列数据结构中的数据,主要包括电能表事件上报时间、电能表事件所对应的电表地址、电能表事件所对应的事件状态字以及电能表事件发生次数;

集中器判断所解析的电能表事件为预设的非待抄读电能表事件时,集中器将当前电能表事件所对应的事件状态字报文上报至主站,并结束针对当前事件状态字所对应电能表的采集事件操作;

步骤8-3,集中器判断所解析出的各事件状态字所对应的数据项个数大于零时,集中器要求各电能表将位于电能表内的各数据项做组包发送,以由电能表将包括有数据项的组包数据发送给集中器;否则,转入步骤8-5;

步骤8-4,集中器接收并解析电能表发送来的组包数据,并将接收的电能表事件原始报文缓存到集中器内存中;

步骤8-5,集中器将缓存的电能表事件原始报文上报至主站,结束针对各电能表的采集事件操作。

当然,在集中器处理完毕电能表事件后,集中器对位于上述事件待处理队列中且已处理完毕的电能表事件赋予已处理的状态标识。

为了节约集中器的内存,本实施例中的电能表事件主动上报处理方法还对集中器准许处理的电能表事件个数做出限制。例如,对集中器准许处理的电能表事件个数限制为16个。

另外,还可以对电力系统中的各电能表赋予不同的电能表事件处理优先级,并由集中器按照赋予的电能表事件处理优先级的优先顺序来处理对应电能表所发送的电能表事件。当然,主站也可以根据需要发送预设事件上报时间点给集中器,由集中器在该预设事件上报时间点将处理过的电能表事件原始报文上报给主站。

尽管以上详细地描述了本发明的优选实施例,但是应该清楚地理解,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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