欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 信号装置> 电能表事件上报方法及系统、获取方法、可读存储介质独创技术20263字

电能表事件上报方法及系统、获取方法、可读存储介质

2021-02-07 09:24:12

电能表事件上报方法及系统、获取方法、可读存储介质

  技术领域

  本发明涉及物联网通讯领域,特别涉及一种电能表事件上报方法及系统、获取方法、可读存储介质。

  背景技术

  当前,AMI(Advanced Metering Infrastructure,高级计量体系)体系内主站系统获取事件或者数据的方式有两种,一种是智能电能表主动推送至模块,模块上报给主站,这种方式称为PUSH模式,需要智能电能表以及模块支持硬件设计,通过EVENTOUT管脚拉高或者拉低电平来提示事件上报或者已完成事件上报;另一种是DCU(Data ConcentratorUnit,数据采集单元)定时去抄读智能电能表内数据或者事件,然后上报给主站系统,这种方式称之为PULL,目前大部分的流程为DCU周期性读取表计事件状态字,当事件状态字对应位有置1情况时,DCU记录相应bit后,清除表计事件状态字。根据事件状态字记录,DCU读取相应事件,并将其转换为相应的通信上行协议事件格式进行上报,这种上报方式对于DCU来说存在很大的不确定性,DCU需解析采集数据点的时标并存入数据库,根据时标对缺失的数据进行补采。

  因此,对于不具备EVENTOUT管脚的智能表以及模块来说,只能靠DCU控制事件或者数据周期采集上报,容易出现数据漏点,尤其在智能表时钟错误的情况下无法判断时序,导致事件数据大量丢失。现实中受环境限制,智能表很容易在频繁的上下电时发生时钟错误的情况,事件数据丢失的情况很难避免。

  因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。

  发明内容

  有鉴于此,本发明的目的在于提供一种电能表事件上报方法及系统、获取方法、可读存储介质,以便为不具备EVENTOUT管脚的智能表提供更为可靠的事件上报机制。其具体方案如下:

  一种电能表事件上报方法,应用于设于电能表内部的处理器,所述电能表事件上报方法包括:

  获取所述电能表的事件记录并累计存储至寄存器;

  当接收到DCU的事件查询请求,若所述寄存器内无所述事件记录,则返回内容为空的上报信息,若所述寄存器内存在所述事件记录,将所述寄存器中的所述事件记录封装后上报至所述DCU,以使所述DCU将所述事件记录上报至主站;

  当收到所述DCU的上报结果,根据所述上报结果判断是否上报成功;

  若否,重新上报封装后的所述事件记录。

  优选的,所述电能表事件上报方法还包括:

  当上报成功,对所述寄存器中的事件记录执行备份及清除操作。

  优选的,所述将所述寄存器中的所述事件记录封装后上报至所述DCU的过程,包括:

  按照所述事件记录的允许项数,将所述寄存器中的所述事件记录封装后上报至所述DCU;

  所述允许项数根据所述电能表的硬件配置确定。

  优选的,所述电能表包括无模块电能表、窄带载波电能表和树状RF电能表。

  优选的,所述事件记录包括上报指针、上报记录数和事件,所述事件包括流水账事件和专项事件。

  优选的,所述流水账事件包括标准事件、欺诈行为事件、通信事件和电网事件;所述专项事件包括开盖事件、欠压事件和旁路事件。

  相应的,本申请还公开了一种电能表事件获取方法,应用于与上文中的处理器连接的DCU,所述电能表事件获取方法包括:

  依次向所述处理器发送事件查询请求,以接收所述处理器对应的寄存器内封装后的事件记录,或以内容为空表示所述寄存器内无所述事件记录的上报信息;

  当收到所述事件记录,将所述事件记录上报至主站,并向所述处理器发送上报成功或上报失败的上报结果。

  相应的,本申请还公开了一种电能表事件上报系统,包括:电能表,处理器,寄存器,DCU和主站,其中所述处理器用于:

  获取所述电能表的事件记录并累计存储至所述寄存器;

  当接收到所述DCU的事件查询请求,若所述寄存器内无所述事件记录,则返回内容为空的上报信息,若所述寄存器内存在所述事件记录,将所述寄存器中的所述事件记录封装后上报至所述DCU,以使所述DCU将所述事件记录上报至主站;

  当收到所述DCU的上报结果,根据所述上报结果判断是否上报成功;

  若否,重新上报封装后的所述事件记录。

  优选的,所述电能表事件上报系统还包括PLC模块,用于将所述DCU的第一信息封装头改换为所述寄存器适用的第二信息封装头,或将所述第二信息封装头改换为所述第一信息封装头。

  相应的,本申请还公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任一项所述电能表事件上报方法的步骤。

  本申请公开了一种电能表事件上报方法,应用于设于电能表内部的处理器,所述电能表事件上报方法包括:获取所述电能表的事件记录并累计存储至寄存器;当接收到DCU的事件查询请求,若所述寄存器内无所述事件记录,则返回内容为空的上报信息,若所述寄存器内存在所述事件记录,将所述寄存器中的所述事件记录封装后上报至所述DCU,以使所述DCU将所述事件记录上报至主站;当收到所述DCU的上报结果,根据所述上报结果判断是否上报成功;若否,重新上报封装后的所述事件记录。本申请通过处理器将电能表的事件记录在寄存器中,待DCU的事件查询请求发来时再将事件记录上报,主动实现了事件记录与上报的异步进行,DCU只需接收事件即可,不需要主动采集解析,整个上报过程中不会出现数据漏点的情况,从而上报可靠性和采集速度均得到保障。

  附图说明

  为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

  图1为本发明实施例中一种电能表事件上报方法的步骤流程图;

  图2为本发明实施例中一种具体的电能表事件上报方法的信息流向图;

  图3a为本发明实施例中一种电能表事件上报方法的子步骤流程图;

  图3b为本发明实施例中一种电能表事件上报方法的子步骤流程图;

  图4为本发明实施例中一种电能表事件上报系统的结构分布图。

  具体实施方式

  下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

  对于不具备EVENTOUT管脚的智能表以及模块来说,只能靠DCU控制事件或者数据周期采集上报,容易出现数据漏点,尤其在智能表时钟错误的情况下无法判断时序,导致事件数据大量丢失。现实中受环境限制,智能表很容易在频繁的上下电时发生时钟错误的情况,事件数据丢失的情况很难避免。

  本申请通过处理器将电能表的事件记录在寄存器中,待DCU的事件查询请求发来时再将事件记录上报,主动实现了事件记录与上报的异步进行,DCU只需接收事件即可,不需要主动采集解析,整个上报过程中不会出现数据漏点的情况,从而上报可靠性和采集速度均得到保障。

  本发明实施例公开了一种电能表事件上报方法,应用于设于电能表内部的处理器,参见图1所示,电能表事件上报方法包括:

  S11:获取电能表的事件记录并累计存储至寄存器;

  具体的,在事件发生时,电能表根据事件上报掩码置位,由处理器将事件记录累计存储在寄存器中,同时在事件上报记录数上加1(不超过最大记录数),等待DCU查询。

  其中,除了与DCU通讯的常规电能表外,电能表还可以包括无模块电能表、窄带载波电能表和树状RF电能表,这些电能表原本无法通过DCU采集事件,但本实施例中设置处理器可完成事件采集任务。

  具体的,事件记录包括上报指针、上报记录数和事件,事件包括流水账事件和专项事件。其中,流水账事件包括标准事件、欺诈行为事件、通信事件和电网事件,专项事件包括开盖事件、欠压事件和旁路事件。

  其中,寄存器可选择新寄存器安装在电能表中,或选用电能表中原有的任一寄存器,每个电能表可对应一个寄存器,也可由多个电能表共用一个寄存器,具体的寄存器根据实际情况确定即可。

  S12:当接收到DCU的事件查询请求,若寄存器内无事件记录,则返回内容为空的上报信息,若寄存器内存在事件记录,将寄存器中的事件记录封装后上报至DCU,以使DCU将事件记录上报至主站;

  可以理解的是,在现有技术中,考虑上传过程中节点的标准不同,需要多次转换事件记录的应用协议,但本实施例中直接将事件记录封装,节点处不需要再修改或转换相应的应用协议,即可通过该节点向另一节点上传。

  具体的,将寄存器中的事件记录封装后上报至DCU的过程,包括:

  按照事件记录的允许项数,将寄存器中的事件记录封装后上报至DCU;

  允许项数根据电能表的硬件配置确定。

  可以理解的是,一次封装上报允许多条上报多条事件记录,但要考虑电能表的硬件配置会限制APDU(Application Protocol Data Unit,应用协议数据单元)的大小,从而限制了事件记录的允许项数,这里电能表的硬件配置,主要指电能表与上层的通讯介质,例如RS485。

  S13:当收到DCU的上报结果,根据上报结果判断是否上报成功;

  具体的,这里所说DCU的上报结果,指DCU向主站上报事件是否成功的反馈结果。

  S14:若否,重新上报封装后的事件记录。

  若是,可对已上报成功的事件记录作进一步操作,腾出寄存器的空间。因此,电能表事件上报方法还可以包括:

  S15:当上报成功,对寄存器中的事件记录执行备份及清除操作。

  可以理解的是,本实施例中电能表事件上报方法,由处理器主动完成事件采集存储,能够解决无模块电能表、窄带载波电能表和树状RF电能表等的数据上报问题;处理器的主动采集存储,减轻了DCU在事件采集上的负担,减少了判断时标、缓存事件数据等工作量,同时减少了时钟故障带来的漏报。

  除此外,原DCU采集事件时,涉及到两种上行协议,不利于互联互通,而本实施例中在上传时直接封装事件记录并透传,采用gateway上行协议即可。

  当然,本实施例中的处理器可安装在具有PUSH或PULL功能的电能表上,对同一个事件采集任务,可灵活选择不同的采集方式,该电能表的事件上传方式更加多样,可满足各类需求。

  本申请公开了一种电能表事件上报方法,应用于设于电能表内部的处理器,电能表事件上报方法包括:获取电能表的事件记录并累计存储至寄存器;当接收到DCU的事件查询请求,若寄存器内无事件记录,则返回内容为空的上报信息,若寄存器内存在事件记录,将寄存器中的事件记录封装后上报至DCU,以使DCU将事件记录上报至主站;当收到DCU的上报结果,根据上报结果判断是否上报成功;若否,重新上报封装后的事件记录。本申请通过处理器将电能表的事件记录在寄存器中,待DCU的事件查询请求发来时再将事件记录上报,主动实现了事件记录与上报的异步进行,DCU只需接收事件即可,不需要主动采集解析,整个上报过程中不会出现数据漏点的情况,从而上报可靠性和采集速度均得到保障。

  本发明实施例公开了一种具体的电能发表事件上报方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的,参见图2所示,其中与电能表meter连接的处理器执行以下动作:

  获取电能表meter的事件记录(report 1-4)并累计存储至寄存器ESR(EventSpecial Register,事件特殊寄存器);

  当接收到DCU的事件查询请求,即请求读取ESR,若寄存器内无事件记录,则返回内容为空的上报信息,即读取ESR回复,若寄存器内存在事件记录,将寄存器中的事件记录封装后上报至DCU,即读取ESR回复),以使DCU将事件记录上报至主站HES(Head End System,前置系统),即数据/时间上报通知)其中DCU中事件记录以WPDU(Wrapper Protocol DataUnit,封装协议数据单元)的形式上报至主站HES;

  当收到DCU的上报结果(action request),根据上报结果判断是否上报成功;

  若否,重新上报封装后的事件记录。

  具体的,重新上报通常有次数限制,当确认上报失败,在允许重发的次数范围内,可重新上报封装后的事件记录。DCU每次收到电能表的上报,均会向上上报主站,并将上报结果返回给电能表。

  通常,上报数据(上报信息/事件记录)的格式如下:

  Structure

  {

  transport_service:enum,

  destination:octet-string,

  push service:enum

  push client:U8

  push_data:octet-string

  }

  具体上报结果的格式如下:

  Push链路层推送结果

  bool:00-成功;01-失败

  具体的,事件记录被存储在寄存器时,每个事件均增加2字节,1字节为上报指针,1字节为上报记录数,参见图3a所示,当事件产生,由处理器将事件记录累计存储在寄存器中,同时在事件上报记录数上加1(不超过最大记录数),等待DCU查询。参见图3b所示,当处理器收到DCU的上报结果,对事件记录的具体操作包括:

  S21:根据上报结果判断是否上报成功;若成功,则进入步骤S22,若失败,则进入步骤S24;

  S22:判断当前上报记录数是否为零;若是,则进入步骤S23,若否,则进入步骤S26;

  S23:将当前上报记录数-1,当前上报记录指针+1;

  S24:从当前上报记录指针获取事件记录;

  S25:将该事件记录封装为上报数据帧;

  S26:回复DCU的事件查询请求。

  可以理解的是,如果上报失败,则绕过步骤S23重新上报当前的事件记录;如果上报成功,则判断是否还有事件记录待上报,若有,则执行步骤S23-S26的动作进行封装上报,若无,则直接返回内容为空的上报信息。

  相应的,本申请还公开了一种电能表事件获取方法,应用于与上文中的处理器连接的DCU,电能表事件获取方法包括:

  依次向处理器发送事件查询请求,以接收处理器对应的寄存器内封装后的事件记录,或以内容为空表示寄存器内无事件记录的上报信息;

  当收到事件记录,将事件记录上报至主站,并向处理器发送上报成功或上报失败的上报结果。

  具体的,DCU在发送事件查询请求时,通常配置一定的轮询周期,且按照电能表的地址顺序(0-128:96.1.2.255)进行轮询。

  本实施例中电能表事件获取方法具有与上一实施例中电能表事件上报方法相应的有益效果,此处不再赘述。

  相应的,本申请还公开了一种电能表事件上报系统,包括:电能表,处理器,寄存器,DCU和主站,其中处理器用于:

  获取电能表的事件记录并累计存储至寄存器;

  当接收到DCU的事件查询请求,若寄存器内无事件记录,则返回内容为空的上报信息,若寄存器内存在事件记录,将寄存器中的事件记录封装后上报至DCU,以使DCU将事件记录上报至主站;

  当收到DCU的上报结果,根据上报结果判断是否上报成功;

  若否,重新上报封装后的事件记录。

  优选的,电能表事件上报系统还包括PLC模块,用于将DCU的第一信息封装头改换为寄存器适用的第二信息封装头,或将第二信息封装头改换为第一信息封装头。

  参见图4所示,其中主站包括HES 01,DCU为02,PLC(Power Line Carrier,电力线载波)模块为03,母表标为04,子表为05,本实施例中上报的事件记录属于母表04或子表05。在整个通信过程中,通常涉及到以下协议动作:

  DCU上行协议包括DLMS_IP协议和DLMS_Gateway协议,DLMS_IP协议实现登录、心跳,DLMS_Gateway协议实现主站下行的中继透传;

  DCU下行时,抄母表使用常规抄读载波表的DLMS_IP协议格式,抄子表使用与主站下行中继透传的DLMS_Gateway格式。

  PLC模块下行时,使用常规的将DLMS_IP和DLMS_Gateway封装头转换为HDLC的方式。

  其中,本实施例中电能表事件上报系统具有与上一实施例中电能表事件上报方法相应的有益效果,此处不再赘述。

  相应的,本申请实施例还公开了一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上文任一实施例电能表事件上报方法的步骤。

  其中,本实施例中具体细节可参照上文实施例中电能表事件上报方法的相关描述,此处不再赘述。

  其中,本实施例中可读存储介质具有与上一实施例中电能表事件上报方法相应的有益效果,此处不再赘述。

  最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

  以上对本发明所提供的一种电能表事件上报方法及系统、获取方法、可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

《电能表事件上报方法及系统、获取方法、可读存储介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)