CN112614331A - 抄读电能表事件的方法与电能表抄读事件系统 - Google Patents
抄读电能表事件的方法与电能表抄读事件系统 Download PDFInfo
- Publication number
- CN112614331A CN112614331A CN202011466502.5A CN202011466502A CN112614331A CN 112614331 A CN112614331 A CN 112614331A CN 202011466502 A CN202011466502 A CN 202011466502A CN 112614331 A CN112614331 A CN 112614331A
- Authority
- CN
- China
- Prior art keywords
- event
- electric energy
- reading
- energy meter
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C19/00—Electric signal transmission systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B3/00—Line transmission systems
- H04B3/54—Systems for transmission via power distribution lines
- H04B3/544—Setting up communications; Call and signalling arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Selective Calling Equipment (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
本申请涉及了一种抄读电能表事件的方法与电能表抄读事件系统,集中器通过同时向多个电能表发送抄读报文,可以实现并发同时抄读多个电能表的电能表事件,此外,集中器还可以同时接收多个电能表返回的事件报文,对每一个事件报文进行解析与事件状态字的读取,最终通过抄读事件状态字中各个事件状态位的数值生成事件记录,大大提高了电能表事件的抄读效率。
Description
技术领域
本申请涉及表计抄读技术领域,特别是涉及一种抄读电能表事件的方法与电能表抄读事件系统。
背景技术
智能电网的AMI系统由系统主站、采集终端、电表及之间的通讯模块组成。集中器作为一种采集终端,其上有上行通讯模块和下行通讯模块,均为可插拔模块,上行跟系统主站一般采用2G/3G/4G通讯模块进行通讯,下行跟电表一般采用载波或无线通讯模块进行通讯,并且可以在其下安装多个电表,主要作用为读写电表的一些参数、抄读电表的电量、负荷、事件等数据。
然而,在电能表的数据抄读过程中,抄读电能表事件是很重要的一环。电能表事件一般包括有标准事件、电网事件、窃电事件等多种类型。对电能表事件的抄读,可以及时了解电能表的运行状况。
传统抄读电能表事件的方法,由于电能表事件抄读的步骤冗杂繁多,抄读并不是发送一帧报文就能完成的。因此受抄读流程的限制,只能抄完一个电能表的事件后,切换到下一个电能表,再抄读下一个电能表的事件。因此,传统抄读电能表事件的方法无法做到并发同时抄读多个表,这会大大降低抄读电能表事件的效率。
发明内容
基于此,有必要针对传统抄读电能表事件的方法无法做到并发同时抄读多个表,导致抄读事件效率低下的问题,提供一种抄读电能表事件的方法与电能表抄读事件系统。
本申请提供一种抄读电能表事件的方法,
所述抄读电能表事件的方法包括:
同时向M个电能表发送抄读报文,并发的对M个电能表的电能表事件进行抄读;每一个电能表发送一个抄读报文,M为大于1的正整数;
自动监控本地是否接收到至少一个电能表返回的事件报文,当接收到至少一个电能表返回的事件报文时,将接收到的事件报文的数量记为N,并将N一个事件报文存放于内存中,N为正整数且N小于或等于M;每一个电能表返回一个事件报文;
选取一个事件报文,对所述事件报文进行解析,读取所述事件报文中的事件状态字,进一步读取事件状态字中各个事件状态位的数值,判断是否存在任意一个事件状态位的位值为1;
若存在任意一个事件状态位的位值为1,则获取位值为1的事件状态位;
依次抄读位值为1的事件状态位对应的电能表事件,生成事件记录;
将所述事件记录存储至本地数据库,并上传至系统主站;
返回选取一个事件报文,对所述事件报文进行解析的步骤,反复执行抄读事件状态字中各个事件状态位的数值的步骤,直至所有电能表对应的事件报文均被解析完毕;
若所有事件状态位的位值均不为1,则终止后续步骤,返回选取一个事件报文,对所述事件报文进行解析的步骤。
本申请还提供一种电能表抄读事件系统,包括:
多个电能表;
集中器,与每一个电能表通信连接,用于执行前述内容提及的抄读电能表事件的方法;
系统主站,与所述集中器通过网络通信连接。
本申请涉及了一种抄读电能表事件的方法与电能表抄读事件系统,集中器通过同时向多个电能表发送抄读报文,可以实现并发同时抄读多个电能表的电能表事件,此外,集中器还可以同时接收多个电能表返回的事件报文,对每一个事件报文进行解析与事件状态字的读取,最终通过抄读事件状态字中各个事件状态位的数值生成事件记录,大大提高了电能表事件的抄读效率。
附图说明
图1为本申请一实施例提供的抄读电能表事件的方法的流程示意图;
图2为本申请一实施例提供的电能表抄读事件系统的结构示意图。
附图标记:
10-电能表;20-集中器;210-并发载波模块;220-第一模块;
230-第二模块;240-本地数据库;250-内存;30-系统主站
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供一种电能表抄读事件系统。
如图2所示,在本申请的一实施例中,所述电能表抄读事件系统包括多个电能表10、集中器20和系统主站30。所述集中器20,与每一个电能表10通信连接,用于执行前述多个实施例中任意一个实施例提及的抄读电能表事件的方法。所述系统主站30,与所述集中器20通过网络通信连接。
具体地,所述集中器20包括第一模块220、第二模块230和并发载波模块210。
所述电能表10可以为智能电能表,所述第一模220块为抄表执行功能模块。所述第二模块230为事件抄读策略功能模块。所述并发载波模块210为高速并发载波模块。
所述第一模块220可以与并发载波模块210通信连接,发送多个抄表报文至并发载波模块210。并发载波模块210与多个电能表10通信连接,再将多个抄表报文并发的发送至各个电能表10执行抄表流程,并接收电能表10返回的事件报文。并发载波模块210还将电能表10返回的事件报文返回给第一模块。第一模块220再将事件报文发送给第二模块230。所述第二模块230可以与第一模块220通信连接,用于接收第一模块220发送的事件报文,解析报文得到具体的事件状态字,生成抄表结果的相关文件,并将抄表结果通知系统内的其他模块。
本申请提供一种抄读电能表事件的方法。需要说明的是,本申请提供的抄读电能表事件的方法的应用于任何种类、型号和品牌的电能表10和集中器20。
此外,本申请提供的抄读电能表事件的方法不限制其执行主体。可选地,本申请提供的抄读电能表事件的方法的执行主体可以为一种集中器20。
在本申请的一实施例中,所述抄读电能表事件的方法包括如下步骤S110至步骤S370:
S110,同时向M个电能表10发送抄读报文,并发的对M个电能表10的电能表事件进行抄读;每一个电能表10发送一个抄读报文,M为大于1的正整数。
具体地,本步骤的执行主体可以为集中器20的第一模块220。所述第一模块220也可以通过并发载波模块210同时向M个电能表10发送抄读报文。可选地,所述第一模块220向并发载波模块210发送M个抄读报文,并发载波模块210再同时向M个电能表10发送抄读报文。发送抄读报文时,并发载波模块210向每一个电能表10发送一个抄读报文。
S120,自动监控本地是否接收到至少一个电能表10返回的事件报文,当接收到至少一个电能表10返回的事件报文时,将接收到的事件报文的数量记为N,并将N个事件报文存放于内存250中,N为正整数且N小于或等于M。每一个电能表10返回一个事件报文。
具体地,本步骤的执行主体可以为集中器20的第一模块220。所述第一模块220可以通过并发载波模块210获取电能表10返回的事件报文。
当电能表事件发生时,电能表10会通过事件状态字存储发生的电能表事件,并自动存储在电能表10内部的事件寄存器。
电能表10在接收到前述内容抄读报文时,会自动提取事件寄存器中的事件状态字,并将事件状态字、电能表ID和表地址整合生成事件报文,发送至集中器20的并发载波模块210。
集中器20的并发载波模块210接收到事件报文后,将事件报文转发给第一模块220。由于第一模块220可以同时接收多个事件报文,因此第一模块220会将接收到的事件报文的数量记为N,并将N个事件报文存放于内存250中。所述内存250为集中器20的内存250,用于暂时性的存储事件报文。
S310,选取一个事件报文,对所述事件报文进行解析,读取所述事件报文中的事件状态字,进一步读取事件状态字中各个事件状态位的数值,判断是否存在任意一个事件状态位的位值为1。
具体地,步骤S310至步骤S360的执行主体可以均为第二模块230。所述第一模块220将事件报文传递至第二模块230。所述第二模块230逐一的对事件报文进行解析,遵循先到先解析,后到后解析的原则,即先传给第二模块230的事件报文先进行解析。
所述事件报文经解析之后可能得到电能表10的事件状态字、电能表ID和表地址。所述事件状态字可以为一个具有有多个字节的数据。每一个字节称之为一个事件状态位。每一个事件状态位的位值为0或1,不会出现其他的位值。
S320,若存在至少一个事件状态位的位值为1,则获取位值为1的事件状态位。
具体地,例如,一个事件状态字具有3个事件状态为。3个事件状态位中存在至少一个事件状态的位置为1,则获取位值为1的事件状态位。例如,事件状态字为110,则表明第一事件状态位和第二事件状态位的位值为1,获取第一事件状态位和第二事件状态位。
S330,依次抄读位值为1的事件状态位对应的电能表事件,生成事件记录。
具体地,不同的事件状态位代表不同的电能表事件。可选地,第一事件状态位可以为标准事件,第二事件状态位可以为电网事件,第三事件状态位可以为窃电事件,以此类推。事件状态位的位值为0,代表没有发生该类事件,位值为1,代表发生了该类事件。所述第二模块230可以依次抄读每一个事件状态位的位值,并依据这些位值和电能表事件的关系生成事件记录。所述事件记录可以为一个统计表格,也可以是其他形式的数据。事件记录可以表征该电能表10发生了哪些电能表事件,没有发生哪些电能表事件。
例如,事件状态字110,可以表示发生了标准类事件和电网类事件,没有发生窃电类事件。
S340,将所述事件记录存储至本地数据库240,并上传至系统主站30。
具体地,集中器20本地设置有数据库,第二模块230可以将事件记录存储至本地数据库240,并同步将事件记录上传至系统主站30。系统主站30与集中器20通信连接,是用于收集集中器20采集的各类电能表数据的服务器。
S350,返回所述步骤S310,反复执行所述步骤S310至步骤S340,直至所有电能表10对应的事件报文均被解析完毕。
S360,若所有事件状态位的位值均不为1,则终止后续步骤,返回所述步骤S310。
具体地,若所有事件状态位的位值均不为1,则表明该电能表10的事件状态字的所有事件状态位的位值均为0,该电能表10未发生任何电能表事件。
本实施例中,通过同时向多个电能表10发送抄读报文,可以实现并发同时抄读多个电能表10的电能表事件,此外,集中器20还可以同时接收多个电能表10返回的事件报文,对每一个事件报文进行解析与事件状态字的读取,最终通过抄读事件状态字中各个事件状态位的数值生成事件记录,大大提高了电能表事件的抄读效率。
在本申请的一实施例中,在所述步骤S110之前,所述抄读电能表事件的方法还包括如下步骤S010至步骤S050:
S010,读取本地数据库240的多个表档案信息。每一个电能表10具有一个表档案信息,所述表档案信息包括电能表ID。
具体地,步骤S010至步骤S050为在步骤S110执行前的初始配置步骤。
步骤S010至步骤S050的执行主体可以为集中器20的处理器。首先,所述处理器读取集中器20本地数据库240的多个表档案信息。注册过的电能表10会在集中器20的本地数据库240中存储有对应的表档案信息。只有注册过的电能表10才会对集中器20接发出的抄读报文进行响应,从而完成后续的抄读电能表事件的流程。
S020,依据每一个表档案信息构建一个结构体,得到多个结构体。所述结构体包括结构体信息,所述结构体信息包括抄读状态和电能表ID。
具体地,结构体是一种数据形式。本步骤中,通过每一个表档案信息构建一个结构体。
S030,将每一个结构体的结构体信息中的抄读状态由空白修改为抄读失败,并将多个结构体置入内存250。
具体地,抄读状态有两种,分别抄读失败和抄读成功。初始状态下,还没有对电能表事件进行抄读,因此抄读状态修改为抄读失败。将多个结构体置入内存250是为了防止丢失,因为后续要将结构体导入到队列中。
S040,创建第一队列、第二队列和链表。
具体地,处理器在第一模块220中创建第一队列,在第二模块230中创建第二队列和链表。队列和链表都是一种数据暂存的方式,区别在于,队列中数据的处理遵循先进先出的机制,即先进入队列的数据优先处理,后进入队列的数据后处理,即默认对数据有一个按进入队列时间先后顺序继续排序的过程。而链表则不遵循先进先出的机制。
S050,将内存250中多个结构体依次导入至第一队列中。
具体地,处理器将前述步骤初始生成的多个结构体依次导入至第一模块220的第一队列中。例如,已注册的电能表10有20个,那么本地数据库240的表档案信息有20个,结构体也为20个,处理器将20个结构体有序的一个一个依次导入至第一队列中,这是因为第一队列遵循先进先出的处理机制。
本实施例中,在向各个电能表10抄读电能表事件前,通过创建第一队列,第二队列,链表和结构体,使得事件报文可以通过结构体的形式在第一队列,第二队列和链表之间传递,传递速度快,占用空间小,安全性高。
在本申请的一实施例中,所述步骤S110至步骤S120由第一模块220执行,所述步骤S310至步骤S360由第二模块230执行,所述第一模块220和第二模块230异步通信,第一模块220执行的所有步骤和第二模块230执行的所有步骤异步执行,基于本地数据库240完成事件报文由第一模块220向第二模块230的传递。
具体地,第一模块220执行的所有步骤,和第二模块230执行的所有步骤之间,互不影响,彼此之间异步执行。两个模块都从自身的队列中提取所需的数据,并不是一个模块发送数据后等待另一个模块的回复后才能继续工作,而是异步通讯,各自执行自身模型所需执行的步骤。
本实施例中,通过设置第一模块220和第二模块230异步通信可以进一步提高集中器20抄读电能表事件的效率,而且根据是结构体中的一些参数变化,来确定下一个抄读步骤,可以将第一模块220的第二模块230各自的工作步骤有序的串联起来,有效地解决抄读事件不能并发的问题。
在本申请的一实施例中,在所述步骤S120之后,在所述步骤S110之前,所述抄读电能表事件的方法还包括如下步骤S101至步骤S102:
S101,从第一队列中取出M个结构体,并将M个结构体复制到链表中存储。
具体地,所述步骤S 101至步骤S102是在步骤S050之后,步骤S110之前,第一模块220执行的步骤。
上述内容已经提及,在步骤S050中,处理器已经将内存250中多个结构体依次导入至第一队列中。本步骤S101中,第一模块220从本地的第一队列中,取出M个结构体。这里是取出并不是复制或拷贝,也即,在第一队列中取出M个结构体,那么第一队列中就少了M个结构体。取出的原则是步骤S050中先导入的结构体先去除。M的数值可以预设,小于或等于并发载波模块210的最大可并发发送报文的上限数量即可。
进一步地,第一模块220还将M个结构体复制一份到第一模块220的链表中存储。
S102,依据结构体和电能表ID的对应关系,将每一个结构体转化为抄读报文,得到M个抄读报文。
具体地,结构体和报文之间是可以相互转化的,结构体和报文是两种不同的数据信息存储的形式。转化为抄读报文后,第一模块220将M个抄读报文发送至并发载波模块210。并发载波模块210再将M个抄读报文并发的分发给M个电能表10。
本实施例中,通过设置结构体转化为抄读报文,可以使得向集中器20以外的设备流出数据时,数据以报文形式传输,数据在集中器20内部的第一队列和第二队列中传递时,数据以结构体的形式传输。从而实现通过结构体中的参数变化,来确定下一个抄读步骤,可以将第一模块220的第二模块230各自的工作步骤有序的串联起来,同时不会影响外部报文的并发发送。
在所述步骤S120之后,所述抄读电能表事件的方法还包括如下步骤S130至步骤S193:
S130,从N个事件报文中选取一个事件报文,解析所述事件报文,得到事件状态字、电能表ID和协议数据,组成一个结构体。
具体地,步骤S120中,并发载波模块210通过和电能表10之间的串口接收电能表10发送的N个事件报文,再将N个事件报文发送至第一模块220的第一队列。后续执行本实施例中的步骤S130至步骤S193。步骤S130至步骤S193的执行主体也是第一模块220。
由于N小于或等于M,那么也就是说,有些电能表10还存在未抄读完毕电能表10的可能,
本步骤中,第一模块220是逐一对第一队列中的每一个报文进行处理,也是遵循先进先处理的原则。具体地,第一模块220将事件报文转化为结构体。事件报文包括了事件状态字、电能表ID和协议数据。关于事件状态字的解释前述内容已经阐述,这里不再赘述。
S140,从链表中搜寻与事件报文中电能表ID对应的结构体,判断链表中的结构体和步骤S130中组成的结构体的协议数据是否一致。
具体地,本步骤是验证电能表10发送的事件报文的合法性的步骤。事件报文还包括协议数据。如果事件报文是合法的,那么事件报文转化的结构体,和链表中的结构体,在同一电能表ID下,两个结构体的协议数据应当是一致的。反之,就是不合法的。
S151,若链表中的结构体和步骤S130中组成的结构体的协议数据不一致,则将步骤S130中组成的结构体删除。
具体地,如果不一致,证明步骤S120中的第一模块220接收到的事件报文不合法,直接删除步骤S130中事件报文转化成的结构体。
S152,若链表中的结构体和步骤S130中组成的结构体的协议数据一致,则确定步骤S130中组成的结构体合法,执行后续步骤S160。
具体地,如果一致,则步骤S130中组成的结构体合法,执行后续步骤S160。
S160,将事件状态字与电能表ID相对应的存储至本地数据库240。
具体地,经过合法性的验证,那么事件报文中的事件状态字真实可信,将事件状态字与电能表ID相对应的存储至本地数据库240。
S170,将步骤S130中组成的结构体的结构体信息中的抄读状态由抄读失败修改为抄读成功,将修改抄读状态后的结构体发送至第二队列,将链表中存储的,与事件报文中电能表ID对应的结构体删除。
具体地,本步骤是核心步骤,第一模块220和第二模块230之间异步通信,通过传递队列中的结构体完成流程的耦合。本步骤中,第一队列在事件状态字与电能表ID已保存的情况下,将抄读状态修改为抄读成功,发送至第二队列,那么第二模块230就可以通过第二队列中结构体的抄读状态的变化,执行第二模块230自身的流程。
由于结构体中的数据保存至本地数据库240,那么链表之前复制的结构体也可以相应的删除。
S180,反复执行所述步骤S130至步骤S170,直至N个事件报文全部处理完毕。
具体地,如果已注册的电能表10数量为20,M为10,N为2,2个事件报文全部处理完毕,那么链表中此时应该还剩下8个未返回事件报文的电能表ID对应的结构体。第一队列中没有任何结构体。第二队列由于接收了第二队列传递的N个结构体,此时第二队列应该有2个抄读状态为成功的结构体。
S191,从第一队列中取出N个结构体,并将N个结构体复制到链表中存储。
具体地,由于M为10,那么可以认为集中器20最多支持10个并发处理的报文,那么已知电能表10处还有没处理完毕的抄读报文,数量是8个,已经处理了2个事件报文,那么集中器20还可以继续向外部发送2个事件报文。这样可以保证未处理完毕的抄读报文和事件报文的和为M,就是10,进一步提高了抄读电能表事件的效率。
S192,依据结构体和电能表ID的对应关系,将每一个结构体转化为抄读报文,得到N个抄读报文。
具体地,本步骤的原理和S102的原理类似,此处不再赘述。
S193,同时向N个电能表10发送N个抄读报文,并发的对N个电能表10的电能表事件进行抄读。每一个电能表10发送一个抄读报文,返回所述步骤S120。
具体地,本步骤和步骤S110原理类似,此处不再赘述,至此,第一模块220的所有步骤形成了一个完整的闭环流程。
在本申请的一实施例中,在所述步骤S310之前,所述抄读电能表事件的方法还包括如下步骤S301至步骤S302:
S301,判断第二队列是否存在结构体。
S302,若第二队列存在结构体,则执行后续步骤S310。
具体地,步骤S310至步骤S360的执行主体是第二模块230。步骤S310至步骤S302的执行主体也是第二模块230。
第二模块230实时监控第二队列中是否存在结构体,如果有结构体,执行后续步骤S310。
如果第二队列中没有任何结构体,表明可能还没有电能表10返回事件报文,或者第一模块220还没有处理完毕。可选地,此时,可以向处理器发送指令,使得处理器继续执行步骤S050,将内存250中其他结构体继续依次导入至第一队列中。这样可以在第二模块230空闲时,处理器处理压力不大时,驱动处理器做其他工作。
在本申请的一实施例中,所述步骤S310包括如下步骤S311至步骤S315:
S311,从第二队列中选取一个修改抄读状态后的结构体,转化为事件报文。
具体地,第二模块230从第二队列中选取一个修改抄读状态后的结构体,转化为事件报文。这里依据先进先处理的原则,先进入第二队列的先转化。可以通过结构体的时间标签,判断结构体进入第二队列的先后顺序。
S312,对该事件报文进行解析,读取该事件报文的抄读状态和电能表ID。
具体地,第二模块230对事件报文进行解析。
S313,判断抄读状态是否为抄读失败。
具体地,虽然前述内容提及,第一模块220是将结构体的抄读状态由抄读失败修改至抄读成功,再传递至第二模块230的第二队列的,如果按逻辑分析,不应当出现抄读失败的可能性。
然而,电能表10可能和集中器20存在通讯故障,无法返回事件报文。那么,作为一种优选的实施例,第一模块220可以每隔预设时间段监控下链表里是否存在进入链表时间大于10天(也可以是预设时长),却一直没有被删除的结构体,如果存在,则表明这个结构体对应的电能表ID的电能表10就是出现了通讯故障。此时,将链表中的该结构体取出,置入第一队列。第一模块220再将该结构体从第一队列传递至第二队列。那么,第二队列中的该结构体的抄读状态仍然是失败,因为第一模块220没有接收到事件报文,自然就不会执行步骤S130至步骤S17。
S314,若抄读状态为成功,则从本地数据库240中提取与电能表ID对应的事件状态字。
具体地,如果抄读状态为成功,则证明该结构体是经第一模块220处理后的结构体,此时本地数据库240应当有存储的事件状态字。
S315,读取所述事件状态字中各个事件状态位的数值,判断是否存在任意一个事件状态位的位值为1,执行后续步骤S320或步骤S370。
具体地,本步骤之后,根据判断的结果,执行步骤S320或步骤S370。
在本申请的一实施例中,所述步骤S310还包括如下步骤:
S316,若抄读状态为失败,则将所述事件报文删除。
具体地,抄读失败的情况已在前述内容解释,此处不再重复解释。
在本申请的一实施例中,所述步骤S370包括如下步骤:
S371,若所有事件状态位的位值均不为1,则终止后续步骤,删除所述事件报文,返回所述步骤S310。
具体地,若所有事件状态位的位值均不为1,则表明该电能表10的事件状态字的所有事件状态位的位值均为0,该电能表10未发生任何电能表事件。那么这个事件报文可以删除。由于结构体已经转化为了事件报文,那么结构体自然也不存在,第二队列中消失了一个结构体。
本申请涉及的电能表10抄读事件的方法,抄读电能表事件时,只是抄读了事件状态字的位值,知晓了发生了哪些电能表事件,没有发生电能表事件。在本申请的一实施例中,还包括对已发生的电能表事件的事件内容进行具体抄读的流程,也应用于第一模块220和第二模块230的结构体的传输架构,具体步骤和步骤S110至步骤S360的原理一致。
以上所述实施例的各技术特征可以进行任意的组合,各方法步骤也并不做执行顺序的限制,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种抄读电能表事件的方法,其特征在于,所述抄读电能表事件的方法包括:
S110,同时向M个电能表发送抄读报文,并发的对M个电能表的电能表事件进行抄读;每一个电能表发送一个抄读报文,M为大于1的正整数;
S120,自动监控本地是否接收到至少一个电能表返回的事件报文,当接收到至少一个电能表返回的事件报文时,将接收到的事件报文的数量记为N,并将N一个事件报文存放于内存中,N为正整数且N小于或等于M;每一个电能表返回一个事件报文;
S310,选取一个事件报文,对所述事件报文进行解析,读取所述事件报文中的事件状态字,进一步读取事件状态字中各个事件状态位的数值,判断是否存在任意一个事件状态位的位值为1;
S320,若存在至少一个事件状态位的位值为1,则获取位值为1的事件状态位;
S330,依次抄读位值为1的事件状态位对应的电能表事件,生成事件记录;
S340,将所述事件记录存储至本地数据库,并上传至系统主站;
S350,返回所述步骤S310,反复执行所述步骤S310至步骤S340,直至所有电能表对应的事件报文均被解析完毕;
S360,若所有事件状态位的位值均不为1,则终止后续步骤,返回所述步骤S310。
2.根据权利要求1所述的抄读电能表事件的方法,其特征在于,在所述步骤S110之前,所述抄读电能表事件的方法还包括:
S010,读取本地数据库的多个表档案信息;每一个电能表具有一个表档案信息,所述表档案信息包括电能表ID;
S020,依据每一个表档案信息构建一个结构体,得到多个结构体;所述结构体包括结构体信息,所述结构体信息包括抄读状态和电能表ID;
S030,将每一个结构体的结构体信息中的抄读状态由空白修改为抄读失败,并将多个结构体置入内存;
S040,创建第一队列、第二队列和链表;
S050,将内存中多个结构体依次导入至第一队列中。
3.根据权利要求2所述的抄读电能表事件的方法,其特征在于,所述步骤S110至步骤S120由第一模块执行,所述步骤S310至步骤S360由第二模块执行,所述第一模块和第二模块异步通信,第一模块执行的所有步骤和第二模块执行的所有步骤异步执行,基于本地数据库完成事件报文由第一模块向第二模块的传递。
4.根据权利要求3所述的抄读电能表事件的方法,其特征在于,在所述步骤S110之前,所述抄读电能表事件的方法还包括:
S101,从第一队列中取出M个结构体,并将M个结构体复制到链表中存储;
S102,依据结构体和电能表ID的对应关系,将每一个结构体转化为抄读报文,得到M个抄读报文。
5.根据权利要求4所述的抄读电能表事件的方法,其特征在于,在所述步骤S120之后,所述抄读电能表事件的方法还包括:
S130,从N个事件报文中选取一个事件报文,解析所述事件报文,得到事件状态字、电能表ID和协议数据,组成一个结构体;
S140,从链表中搜寻与事件报文中电能表ID对应的结构体,判断链表中的结构体和步骤S130中组成的结构体的协议数据是否一致;
S151,若链表中的结构体和步骤S130中组成的结构体的协议数据不一致,则将步骤S130中组成的结构体删除删除;
S152,若链表中的结构体和步骤S130中组成的结构体的协议数据一致,则确定步骤S130中组成的结构体合法,执行后续步骤S160;
S160,将事件状态字与电能表ID相对应的存储至本地数据库;
S170,将步骤S130中组成的结构体的结构体信息中的抄读状态由抄读失败修改为抄读成功,将修改抄读状态后的结构体发送至第二队列,将链表中存储的,与事件报文中电能表ID对应的结构体删除;
S180,反复执行所述步骤S130至步骤S170,直至N个事件报文全部处理完毕;
S191,从第一队列中取出N个结构体,并将N个结构体复制到链表中存储;
S192,依据结构体和电能表ID的对应关系,将每一个结构体转化为抄读报文,得到N个抄读报文;
S193,同时向N个电能表发送N个抄读报文,并发的对N个电能表的电能表事件进行抄读;每一个电能表发送一个抄读报文,返回所述步骤S120。
6.根据权利要求5所述的抄读电能表事件的方法,其特征在于,在所述步骤S310之前,所述抄读电能表事件的方法还包括:
S301,判断第二队列是否存在结构体;
S302,若第二队列存在结构体,则执行后续步骤S310。
7.根据权利要求6所述的抄读电能表事件的方法,其特征在于,所述步骤S310包括:
S311,从第二队列中选取一个修改抄读状态后的结构体,转化为事件报文;
S312,对该事件报文进行解析,读取该事件报文的抄读状态和电能表ID;
S313,判断抄读状态是否为抄读失败;
S314,若抄读状态为成功,则从本地数据库中提取与电能表ID对应的事件状态字;
S315,读取所述事件状态字中各个事件状态位的数值,判断是否存在任意一个事件状态位的位值为1,执行后续步骤S320或步骤S370。
8.根据权利要求7所述的抄读电能表事件的方法,其特征在于,所述步骤S310还包括:
S316,若抄读状态为失败,则将所述事件报文删除。
9.根据权利要求8所述的抄读电能表事件的方法,其特征在于,所述步骤S370包括:
S371,若所有事件状态位的位值均不为1,则终止后续步骤,删除所述事件报文,返回所述步骤S310。
10.一种电能表抄读事件系统,其特征在于,包括:
多个电能表;
集中器,与每一个电能表通信连接,用于执行权利要求1-9中任意一项所述的抄读电能表事件的方法;
系统主站,与所述集中器通过网络通信连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011466502.5A CN112614331B (zh) | 2020-12-14 | 2020-12-14 | 抄读电能表事件的方法与电能表抄读事件系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011466502.5A CN112614331B (zh) | 2020-12-14 | 2020-12-14 | 抄读电能表事件的方法与电能表抄读事件系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112614331A true CN112614331A (zh) | 2021-04-06 |
CN112614331B CN112614331B (zh) | 2022-01-11 |
Family
ID=75234039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011466502.5A Active CN112614331B (zh) | 2020-12-14 | 2020-12-14 | 抄读电能表事件的方法与电能表抄读事件系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112614331B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113242059A (zh) * | 2021-06-09 | 2021-08-10 | 武汉中原电子信息有限公司 | 一种基于双环队列的无锁多协处理线程并发抄表方法 |
CN115665211A (zh) * | 2022-12-15 | 2023-01-31 | 长沙力合微智能科技有限公司 | 一种应用于hplc抄表的并发抄表方法与系统 |
CN117970226A (zh) * | 2024-04-02 | 2024-05-03 | 青岛高科通信股份有限公司 | 一种智能电表抄读检测方法、介质及系统 |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101990238A (zh) * | 2010-11-05 | 2011-03-23 | 中国科学院声学研究所 | 一种传感器网络数据聚合的实现方法 |
US8014317B1 (en) * | 2008-08-21 | 2011-09-06 | Juniper Networks, Inc. | Next hop chaining for forwarding data in a network switching device |
CN102881143A (zh) * | 2012-10-22 | 2013-01-16 | 杭州海兴电力科技股份有限公司 | Ami系统中读取电能表事件记录的方法 |
CN103763352A (zh) * | 2014-01-03 | 2014-04-30 | 沈阳中科博微自动化技术有限公司 | 一种短距离无线传感网与公共移动通信网接入的方法 |
CN103984235A (zh) * | 2014-05-27 | 2014-08-13 | 湖南大学 | 基于c/s结构的空间机械臂控制系统软件架构及构建方法 |
CN104125166A (zh) * | 2014-07-31 | 2014-10-29 | 华为技术有限公司 | 一种队列调度方法及计算系统 |
CN105959288A (zh) * | 2016-05-27 | 2016-09-21 | 姹や寒 | 一种电力电网系统中的网络协议转换及其相互通讯方法 |
CN106383693A (zh) * | 2016-08-30 | 2017-02-08 | 武汉阿迪克电子股份有限公司 | 一种智能集中器及以测量点为标签的数据处理方法 |
CN107464412A (zh) * | 2017-08-09 | 2017-12-12 | 国网浙江省电力公司 | 一种电能表事件信息抄读方法 |
CN107480045A (zh) * | 2017-07-05 | 2017-12-15 | 积成电子股份有限公司 | 一种电能表软件的检错纠错与轨迹跟踪方法 |
CN107727958A (zh) * | 2017-09-21 | 2018-02-23 | 国网上海市电力公司 | 一种电能表采集系统的用电信息事件采集方法 |
CN108920594A (zh) * | 2018-06-27 | 2018-11-30 | 杭州海兴电力科技股份有限公司 | 一种电能信息检索方法以及相关装置 |
CN109102691A (zh) * | 2018-07-24 | 2018-12-28 | 宁波三星医疗电气股份有限公司 | 一种基于链表的电能表事件主动上报处理方法 |
CN109215326A (zh) * | 2018-08-14 | 2019-01-15 | 瑞斯康微电子(深圳)有限公司 | 一种并行抄表方法和装置 |
CN109741592A (zh) * | 2019-01-10 | 2019-05-10 | 国网陕西省电力公司 | 厂站电能量采集终端的数据自动采集实现方法 |
CN109828131A (zh) * | 2018-12-28 | 2019-05-31 | 宁波三星智能电气有限公司 | 一种智能电表记录发生事件的方法 |
CN110012031A (zh) * | 2019-04-26 | 2019-07-12 | 中国电子科技集团公司第二十九研究所 | 数据报文通用自动解析方法和存储方法 |
CN110895873A (zh) * | 2019-11-25 | 2020-03-20 | 杭州海兴电力科技股份有限公司 | 载波抄表方法、中央协调器及系统 |
CN110992671A (zh) * | 2019-12-16 | 2020-04-10 | 宁波三星医疗电气股份有限公司 | 电表地址转发方法、装置、系统和电子设备 |
US10642796B2 (en) * | 2017-07-18 | 2020-05-05 | International Business Machines Corporation | File metadata verification in a distributed file system |
CN111143294A (zh) * | 2019-12-25 | 2020-05-12 | 宁波三星医疗电气股份有限公司 | 电力采集终端数据检索方法、装置和电子设备 |
-
2020
- 2020-12-14 CN CN202011466502.5A patent/CN112614331B/zh active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8014317B1 (en) * | 2008-08-21 | 2011-09-06 | Juniper Networks, Inc. | Next hop chaining for forwarding data in a network switching device |
CN101990238A (zh) * | 2010-11-05 | 2011-03-23 | 中国科学院声学研究所 | 一种传感器网络数据聚合的实现方法 |
CN102881143A (zh) * | 2012-10-22 | 2013-01-16 | 杭州海兴电力科技股份有限公司 | Ami系统中读取电能表事件记录的方法 |
CN103763352A (zh) * | 2014-01-03 | 2014-04-30 | 沈阳中科博微自动化技术有限公司 | 一种短距离无线传感网与公共移动通信网接入的方法 |
CN103984235A (zh) * | 2014-05-27 | 2014-08-13 | 湖南大学 | 基于c/s结构的空间机械臂控制系统软件架构及构建方法 |
CN104125166A (zh) * | 2014-07-31 | 2014-10-29 | 华为技术有限公司 | 一种队列调度方法及计算系统 |
CN105959288A (zh) * | 2016-05-27 | 2016-09-21 | 姹や寒 | 一种电力电网系统中的网络协议转换及其相互通讯方法 |
CN106383693A (zh) * | 2016-08-30 | 2017-02-08 | 武汉阿迪克电子股份有限公司 | 一种智能集中器及以测量点为标签的数据处理方法 |
CN107480045A (zh) * | 2017-07-05 | 2017-12-15 | 积成电子股份有限公司 | 一种电能表软件的检错纠错与轨迹跟踪方法 |
US10642796B2 (en) * | 2017-07-18 | 2020-05-05 | International Business Machines Corporation | File metadata verification in a distributed file system |
CN107464412A (zh) * | 2017-08-09 | 2017-12-12 | 国网浙江省电力公司 | 一种电能表事件信息抄读方法 |
CN107727958A (zh) * | 2017-09-21 | 2018-02-23 | 国网上海市电力公司 | 一种电能表采集系统的用电信息事件采集方法 |
CN108920594A (zh) * | 2018-06-27 | 2018-11-30 | 杭州海兴电力科技股份有限公司 | 一种电能信息检索方法以及相关装置 |
CN109102691A (zh) * | 2018-07-24 | 2018-12-28 | 宁波三星医疗电气股份有限公司 | 一种基于链表的电能表事件主动上报处理方法 |
CN109215326A (zh) * | 2018-08-14 | 2019-01-15 | 瑞斯康微电子(深圳)有限公司 | 一种并行抄表方法和装置 |
CN109828131A (zh) * | 2018-12-28 | 2019-05-31 | 宁波三星智能电气有限公司 | 一种智能电表记录发生事件的方法 |
CN109741592A (zh) * | 2019-01-10 | 2019-05-10 | 国网陕西省电力公司 | 厂站电能量采集终端的数据自动采集实现方法 |
CN110012031A (zh) * | 2019-04-26 | 2019-07-12 | 中国电子科技集团公司第二十九研究所 | 数据报文通用自动解析方法和存储方法 |
CN110895873A (zh) * | 2019-11-25 | 2020-03-20 | 杭州海兴电力科技股份有限公司 | 载波抄表方法、中央协调器及系统 |
CN110992671A (zh) * | 2019-12-16 | 2020-04-10 | 宁波三星医疗电气股份有限公司 | 电表地址转发方法、装置、系统和电子设备 |
CN111143294A (zh) * | 2019-12-25 | 2020-05-12 | 宁波三星医疗电气股份有限公司 | 电力采集终端数据检索方法、装置和电子设备 |
Non-Patent Citations (1)
Title |
---|
高胜利 等: "链表方式集中器抄表的设计", 《电测与仪表》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113242059A (zh) * | 2021-06-09 | 2021-08-10 | 武汉中原电子信息有限公司 | 一种基于双环队列的无锁多协处理线程并发抄表方法 |
CN113242059B (zh) * | 2021-06-09 | 2022-04-12 | 武汉中原电子信息有限公司 | 一种基于双环队列的无锁多协处理线程并发抄表方法 |
CN115665211A (zh) * | 2022-12-15 | 2023-01-31 | 长沙力合微智能科技有限公司 | 一种应用于hplc抄表的并发抄表方法与系统 |
CN117970226A (zh) * | 2024-04-02 | 2024-05-03 | 青岛高科通信股份有限公司 | 一种智能电表抄读检测方法、介质及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112614331B (zh) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112614331B (zh) | 抄读电能表事件的方法与电能表抄读事件系统 | |
CN113238913B (zh) | 服务器故障智能推送方法、装置、设备及存储介质 | |
KR101745456B1 (ko) | HiL 시뮬레이션 환경에서 대용량 데이터를 전송하기 위한 전자제어 장치, 이를 포함하는 시스템 및 그 방법 | |
CN111585344B (zh) | 一种基于全站ied仿真的变电站智能校核方法及装置 | |
CN110287119A (zh) | 一种基于python的接口自动化测试方法及装置 | |
CN109617754B (zh) | 一种实现智能变电站iec61850 通信报文可视化的方法 | |
CN102521356B (zh) | 基于确定有限状态自动机的正则表达式匹配设备和方法 | |
CN110868458B (zh) | 一种用于稳定控制系统的通信方法及装置 | |
CN101452631B (zh) | 一种用电管理终端的测试方法及系统 | |
CN112347047A (zh) | 一种车辆数据文件生成方法及装置 | |
CN111768608A (zh) | 基于双芯智能电表的数据传输方法、装置和计算机设备 | |
CN102238055B (zh) | 基于mdio接口的下载方法及系统 | |
CN109741211A (zh) | 一种基于fpga的核电厂安全级网络通信系统设计方法 | |
CN117348900A (zh) | 电能表匹配升级方法及相关设备 | |
CN111931012A (zh) | 一种基于故障管理子系统的数据模型自适应方法和装置 | |
CN109743362B (zh) | 一种应用于全格式数据结构的数据存储方法 | |
CN115809244A (zh) | 一种海量空间数据接入、处理、发布的方法 | |
CN103095595A (zh) | 一种基于单向并行多链表的网络数据管理方法及系统 | |
CN106934045B (zh) | 一种数据库迁移评估的系统以及方法 | |
CN113965447B (zh) | 一种在线云诊断方法、装置、系统、设备及存储介质 | |
CN115543755A (zh) | 一种性能监管方法、装置、系统、设备和介质 | |
CN111935316B (zh) | 一种前端设备目录获取方法及装置 | |
CN110769049B (zh) | 一种配电终端及其soe数据上送方法 | |
CN111010676B (zh) | 一种短信缓存方法、装置及系统 | |
CN106841842A (zh) | 二次设备的虚回路的测试方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |