具体实施方式
本领域技术人员长期以来一直在寻求一种改善该问题的工具或方法。
鉴于此,本发明的设计者通过长期的探索和尝试,以及多次的实验和努力,不断的改革创新,得出本方案所示的较佳多表集抄的抄表方法和装置。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,是本发明实施例提供的多表集抄的抄表装置110所应用的抄表系统的交互示意图。所述抄表系统包括:抄表装置110与抄表终端120和表计130的交互示意图。抄表装置110的上行接口与抄表终端120连接,抄表装置110的下行接口与多个表计130连接。抄表终端120包括主站121和集中器122,主站121与集中器122连接,集中器122与抄表装置110连接,抄表装置与表计130连接。
如图2所示,是包含抄表装置的抄表设备200的方框示意图。抄表设备200可以包括多表集抄的抄表装置110、、显示单元201、存储器202、存储控制器203、处理器204、外设接口205、输入输出单元206等。
显示单元201、存储器202、存储控制器203、处理器204、外设接口205、输入输出单元206等各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。多表集抄的抄表装置110包括至少一个可以软件或固件(firmware)的形式存储于存储器202中。处理器204用于执行存储器202中存储的可执行模块,例如多表集抄的抄表装置110包括的软件功能模块或计算机程序。
其中,存储器202可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器202用于存储程序,处理器204在接收到执行指令后,执行所述程序,后续本发明实施例任一实施例揭示的流程定义的多表集抄的抄表装置110所执行的方法可以应用于处理器204中,或者由处理器204实现。
处理器204可能是一种集成电路芯片,具有信号的处理能力。上述的处理器204可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
外设接口205将各种输入输出单元206耦合至处理器204以及存储器202。在一些实施例中,外设接口,处理器以及存储控制器可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
输入输出单元206用于提供给用户输入数据实现用户与抄表设备200的交互。所述输入输出单元可以是,但不限于,触摸屏、鼠标和键盘等,用于响应用户的操作而输出对应的信号。
显示单元201在抄表设备200与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。
请参见图3,是本发明第一实施例提供的多表集抄的抄表方法的步骤流程图,所述多表集抄的抄表方法应用于所述多表集抄的抄表装置。本实施例提供的抄表方法,用于执行档案模式下的单个表计的点抄任务,下面将对图3所示的过程进行具体解释。
步骤S301,接收抄表终端下发的抄表指令。
在用户终端与多表集抄的抄表装置建立通讯连接的情况下,用户通过用户终端下发抄表指令至所述多表集抄的抄表装置。所述多表集抄的抄表装置获取用户终端发送的抄表指令后,执行所述抄表指令对应的抄表操作,并将所获取的表计的抄读数据存储或应答给用户终端。所述抄表操作,是指由所述多表集抄的抄表装置与表计之间组建抄表网络,多表集抄的抄表装置和表计连接,获取与所述抄表装置连接的表计的应答数据。在其它实施方式中,所述多表集抄的抄表装置还可以根据预先设置的程序自动生成抄表指令,触发抄表操作。所述抄表指令可以包括待抄表计的档案,所述待抄表计的档案可以包括该待抄表计的地址信息、表计类型等。所述抄表指令还可以包括抄表时间、抄表周期等。所述多表集抄的抄表装置响应所述抄表指令时,能够在所述抄表时间,或者按照预设的抄表周期抄读所述待抄表计,并获取相应的抄读数据。由此,用户能够通过设定用户终端发送的抄表指令中的抄表时间和抄表周期,以获取所需时间点或时间段的抄读数据。
步骤S302,根据所述待抄表计的档案,按照表计的协议打包所述抄表指令,将打包的所述抄表指令发送至所述待抄表计。
多表集抄的抄表装置获取所述抄表指令后,解析所述抄表指令中包含的对应所述待抄表计的档案。所述多表集抄的抄表装置的多个下行接口均连接有表计,所述待抄表计的档案中可以包含该待抄表计对应的下行接口的地址信息。所述多表集抄的抄表装置接收抄表终端下发的抄表指令后,根据预先设置的表计的协议,重新将所获取的抄表指令打包,将打包后的所述抄表指令发送至所述抄表指令指定的待抄表计连接的下行接口,以使所述待抄表计接收所述抄表指令。
步骤S303,获取所述待抄表计基于所述抄表指令应答的抄读数据。
依据上述步骤将所获取的抄表指令发送至所述待抄表计之后,接收所述待抄表计基于所述抄表指令应答的抄读数据,即为该待抄表计的数据。所述抄表设备的存储器内可以设置对应各个表计的存储空间,可以将所获取的抄读数据存储在所述待抄表计对应的数据存储区域,也可以将所获取的抄读数据应答至用户终端,以使用户获取该待抄表计的抄读数据。
考虑到抄表操作的时效性,还可以设定定时器。作为一种实施方式,在多表集抄的抄表装置发送抄表指令至待抄表计后,多表集抄的抄表装置启动所述定时器延时第一时段,并判断在所述第一时段内是否接收到所述待抄表计应答的抄读数据。如果在所述第一时段内接收到所述待抄表计应答的抄读数据,则表示执行抄表操作未超时,多表集抄的抄表装置成功完成抄表操作。如果在所述第一时段内未接收到所述待抄表计应答的抄读数据,则表示执行抄表操作超时,多表集抄的抄表装置未完成抄表操作,所述多表集抄的抄表装置可以直接结束此次抄表操作,也可以发送超时未完成抄读的指示信息至需要监控抄表进度的用户终端,以使用户了解抄表进程。当然,也可以设置预设的重抄次数内的重抄操作等的抄读数据的获取方式。
本发明实施例提供的多表集抄的抄表方法,在接收抄表终端下发的抄表指令后,根据抄表指令中所包含的待抄表计的档案,将所述抄表指令发送至所述待抄表计对应的下行接口,提高了抄表效率,降低了非待抄表计被无关指令多次唤醒所造成的电池寿命的影响,提高了表计设备利用率。
目前部分厂家的有线的水、气、热表(M-BUS、485)响应抄表指令的时间过长,抄表系统在抄表时存在超时的问题,这种情况下通过点抄无法抄读实时数据。
针对两套M-BUS并网运行的情况,一般采用时间开关加继电器定时切换这种方式,若多表集抄通讯装置采用透传的方式,其中一套主M-BUS存在无法抄读数据的情况。
请参见图4,为本发明第二实施例提供的多表集抄的抄表方法的步骤流程图。本实施例提供的多表集抄的抄表方法,用于档案模式下的针对单个待抄表计的点抄任务,在上述实施例的基础上,增设非档案内表计的抄表指令过滤、待抄表计的抄读数据保留和多次抄读等操作。下面将对图4所示的过程进行具体描述。
步骤S401,接收抄表终端下发的抄表指令。
获取所述抄表指令的具体实施过程请参见上述实施例,在此不再赘述。
步骤S402,判断所述抄表指令对应的数据帧格式是否正确。
如果所述抄表指令对应的数据帧格式正确,则执行步骤S403。
如果所述抄表指令对应的数据帧格式是正确的,则继续执行后续的判断和获取操作。如果所述抄表指令对应的数据帧格式是错误的,则结束此次抄表操作。
所述控制装置内预设有抄表指令对应的数据帧格式,在获取所述抄表指令之后,判断所述抄表指令对应的数据帧格式是否正确。所谓数据帧,是指数据链路层的协议数据单元,包括三部分:帧头、数据部分和帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等,用于指明发送者、接收者等的地址信息。数据部分则包含网络层传下来的数据,比如ip数据包。在发送端,数据链路层把网络层传下来得数据封装成帧,然后发送到链路上去。在接收端,数据链路层把收到的帧中的数据取出交给网络层。不同的数据链路层协议对应着不同的帧。不同数据帧的格式也不同,可以根据发送端、接收端以及数据部分的内容设置特定格式的数据帧。将所接收的抄表指令对应的数据帧格式与预设的数据帧格式匹配,判断所述抄表指令对应的数据帧格式是否正确。如果所述抄表指令对应的数据帧格式是正确的,则继续执行后续的操作。如果所述抄表指令对应的数据帧格式不正确,则结束此次抄表操作。
步骤S403,判断所述待抄表计的档案与预先存储的表计档案是否匹配。
如果所述待抄表计的档案与预先存储的表计档案不匹配,则执行步骤S404。
如果所述待抄表计的档案与预先存储的表计档案匹配,则执行步骤S406。
在多表集抄任务中,抄表模式有多种,包括透传模式、档案模式以及混合模式等,多种抄表模式可以根据实际的应用场景进行配置。所述控制设备的存储器内存储有与所述多表集抄的抄表装置连接的多个表计的档案,或者是与表计的档案对应匹配的档案信息。所述控制装置获取所述抄表指令中包含的待抄表计的档案后,在所述存储器存储的所有表计的档案中查找是否存在所述待抄表计的档案,或者是查找是否存在与所述待抄表计的档案匹配的档案信息。若能查找到所述待抄表计的档案,或者是与所述待抄表计的档案匹配的档案信息,则判定所述待抄表计的档案与预先存储的表计档案匹配,表示所述待抄表计为该抄表系统内已经存在的表计,可以执行抄表操作。将所述抄表指令发送至所述待抄表计,获取所述待抄表计基于抄表指令反馈的抄读数据。将所获取的抄读数据应答至上行接口,更新所述待抄表计的数据冻结状态。
如果不能查找到所述待抄表计的档案或者是与所述待抄表计的档案匹配的档案信息,则就判定为不匹配,表示所述待抄表计不是所述抄表系统内存在的表计,则可以选择不执行该待抄表计的抄表操作。可以忽略所述抄表指令,或者是向用户终端发送待抄表计档案不匹配的指示信息。
步骤S404,判断抄表装置是否在档案维护期内。
如果所述抄表装置在档案维护期内,则执行步骤S405,将所述抄表指令发送至所述待抄表计,获取所述待抄表计基于抄表指令反馈的抄读数据,应答至上行接口,更新所述待抄表计的数据冻结状态。
如果所述抄表装置不在档案维护期内,则结束此次抄表操作。
所述多表集抄的抄表装置有两种运行状态,包括档案维护期和非档案维护期。所述档案维护期,是指在该期间执行抄表操作,进行表计档案的匹配、检测,通过自学习的模式进行档案的添加等,而在非档案维护期间,对于档案中不存在的表计不能进行抄表操作。在所述档案维护期内,所述抄表装置将所述抄表指令透传至下行所有表计,并等待下行所有表计的应答。若检测到应答的下行表计中有非档案中的表计,则将该应答的非档案中的表计的档案进行存储。因此在接收所述抄表指令后,如果判定当前处于档案维护期间,则可以继续执行后续的流程,如果处于非档案维护期间,则需要结束此次抄表操作。在其它方式中,也可以将所述档案维护期判断的操作放置于表计档案的匹配操作之后,其它不影响本实施例抄表方法实施的方案均可适用于本实施例。
步骤S406,判断所述待抄表计的数据冻结状态是否有效。
如果所述待抄表计的数据冻结状态是有效,则执行步骤S407,将所述待抄表计的冻结数据作为该待抄表计的抄读数据,应答至上行接口。
如果所述待抄表计的数据冻结状态不是有效,则执行步骤S405。
在常规的对于多表集抄水、气、热表采用M-BUS总线通信方式,存在频繁抄读问题,导致表计使用寿命缩短,而且还存在个别表计相应抄表指令的时间过长,导致载波通信响应超时问题,这种将会实时抄读失败,影响抄读成功率,因此可以在所述抄表装置的存储器内存储有每个表计的状态参数,例如表计的冻结数据和数据冻结状态等。所述表计的冻结数据,是指将所述表计的某次抄表操作获取的抄读数据作为该表计的冻结状态的数据,在该表计的数据冻结状态为有效时,可以在每次需要对该待抄表计执行抄表操作时,直接将存储的该表计的冻结数据作为该待抄表计的抄读数据,直至该表计的数据冻结状态为无效,才执行获取该待抄表计的新的抄读数据的操作。
可以通过预设有效次数或者有效时段的方式来监控和更新表计的数据冻结状态。在一种实施方式中,将第一次获取的某表计的抄读数据设为该表计的冻结数据,将该表计的数据冻结次数设为10次。则针对该表计的第二次的抄读操作中,可以判定所述表计的数据冻结次数大于0,则判定所述表计的数据冻结状态有效,将该表计的冻结数据作为该表计的第二次抄表操作的数据,并更新所述表计的数据冻结状态,即是,将所述表计的数据冻结次数减1。在每次需要对该表计执行抄表操作时均执行上述操作获取抄读数据,直至该表计的数据冻结次数小于0,即为该表计的数据冻结状态不是有效,不能以该表计的冻结数据作为抄读数据。将抄表指令发送至所述表计,使得所述表计基于所述抄表指令应答新的抄读数据。可以将所获取的抄读数据作为该表计的新的抄读数据,并更新所述表计的数据冻结次数为预设的数据冻结次数或者数据冻结状态。如果再次接收到该表计的抄表指令,可以再次以上述方式执行该表计的抄表操作,将数据冻结状态为有效的冻结数据作为该表计的抄读数据,或者是获取新的抄读数据。
上述本发明实施例提供的多表集抄的抄表方法,在接收抄表终端下发的抄表指令后,通过所述抄表指令的数据帧格式和待抄表计的档案的匹配操作,将非抄表系统的抄表指令过滤,只执行抄表系统的表计档案内预先存在的表计的抄表操作。考虑到同一表计在一定时段内的多次抄读数据一般不会发生较大变化,因此优选将获取的待抄表计的数据进行冻结处理,并设置该待抄表计的数据冻结状态,可以在需要多次执行同一表计的抄表操作时,直接将在先获取的抄读数据作为新获取的抄表操作,即可避免多次抄表操作对该待抄表计的多次唤醒操作所造成的电池寿命减少的问题,且直接获取所述抄表设备的存储器内存储的冻结数据,相对每次均执行抄表操作获取抄读数据的操作,极大程度地提高了抄表效率。
请参见图5,为本发明第三实施例提供的多表集抄的抄表方法的步骤流程图。本发明实施例提供的档案学习模式下的自动抄表模式,在上述实施例的基础上,本发明实施例增设对应多个表计自动抄表档案学习模式。根据预设的抄表周期遍历已获取的所有档案,针对每个所述档案对应的表计,按照表计的协议打包所述抄表指令,获取所述待抄表计基于所述抄表指令应答数据的步骤。下面将对图5所示的步骤进行具体解释。
步骤S501,自动抄表任务启动,置表计地址索引为0。
所述多表集抄的抄表装置下连接有多个表计,所述多表集抄的抄表装置在上述针对单个待抄表计的点抄任务空闲时,即未执行单个待抄表计的点抄任务时,会启动自动抄表任务,优选地,以预设的周期启动自动抄表任务。首先,置表计地址索引为0,即按照预设的表计地址顺序,开始依次执行多个表计中的每一个表计的抄读数据的抄表操作。
步骤S502,判断所述表计地址索引是否小于最大档案个数。
如果表计地址索引小于最大档案个数,则执行步骤S503。如果表计地址索引大于或者等于最大档案个数,结束此次周期性抄表任务。
依据上述步骤设置表计索引地址为0后,开始针对多个表计中的每一个表计的抄表操作。首先是判断所获取的当前的表计地址索引是否小于最大档案个数,如果所述表计地址索引小于最大档案个数,则证明还未执行完全部表计的抄表操作,需要继续依照后续的步骤执行当前表计地址索引对应的表计的抄表操作。如果所述表计地址索引等于或者大于最大档案个数,则证明已经执行完全部表计的抄表操作,需要结束此次自动抄表操作,停止或者等待下个抄表周期的自动抄表任务。
步骤S503,判断所述表计地址索引对应的档案是否有效。
如果所述表计地址索引对应的档案不是有效,则执行步骤S504,将所述表计地址索引加1后,返回执行步骤S502。
如果所述表计地址索引对应的档案有效,则执行步骤S505。
在判断当前表计地址索引未达到最大档案个数时,执行当前表计地址索引对应表计的抄表操作。首先判断该表计地址索引对应的表计的档案是有效,判断所述表计的档案是否有效的操作可以包括:判断该档案对应表计是否为有效表计、判断该档案内存储的该表计的相关数据信息是否可用等。如果所述表计的档案有效,则可以继续执行后续的参数判定和抄读数据获取的操作,如果所述表计的档案为无效,则不需要继续对当前表计地址索引对应表计执行后续的参数判定和抄读数据获取的操作,以避免无效表计的抄读操作造成的时间延迟。在当前表计地址索引的档案被判定为无效后,将当前表计地址索引加1,判断下一表计地址索引对应的表计是否满足抄表操作的条件。
步骤S505,当前档案对应表计的数据冻结次数是否大于0。
如果所述当前档案对应表计的数据冻结次数大于0,则执行步骤S506,将该表计的数据冻结次数减1,返回步骤S504。
如果所述当前档案对应表计的数据冻结次数小于或者等于0,执行步骤S507,将所述表计的重抄次数置0。
判断当前索引地址对应的表计的数据冻结次数是否大于0,如果所述表计的数据冻结次数大于0,则表示可以将所述表计的冻结数据作为此次抄读操作的抄读数据,不需要在重新执行该表计的抄表操作。每次调用该表计的冻结数据作为抄读数据后,将该表计的数据冻结次数减1,直至该表计的数据冻结次数小于或者等于0,表示该表计的冻结数据已经失效,需要重新执行该表计的抄读操作。获取当前表计地址索引对应表计的抄读数据后,将当前的表计地址索引加1,执行下一个表计地址索引对应表计的抄读数据的获取操作。
步骤S508,判断所述表计的重抄次数是否小于预置的重抄次数。
如果所述表计的重抄次数小于预置的重抄次数,则执行步骤S509,发送抄表指令至所述表计,启动定时器。
如果所述表计的重抄次数大于或者等于预置的重抄次数,则返回执行步骤S504。
所述存储器内存储有表计的重抄次数,表示该表计可以抄读的次数,一般优选将所述表计的重抄次数设置为1-3次。所述重抄次数的限定可以根据表计的电池电量等参数进行设置。在所述表计的数据冻结次数等于或者小于0后,需要重新对所述表计执行抄表操作。如果所述表计的重抄次数小于预置的重抄次数,则表示还可以对所述表计执行抄表操作,将抄表指令发送至该表计,即为根据档案地址、下行表计通信协议打包抄表指令,将打包报文发送至下行通信接口,以使所述表计接收所述抄表指令,并基于所述抄表指令应答抄读数据。在将所述打包报文发送至下行通信接口后,启动定时器,延时第一时段,等待所述表计应答的抄读数据。
如果所述表计的重抄次数大于或者等于预置的重抄次数,则表示对该表计的抄读次数已经超过预置的重抄次数的限制,不能继续对该表计执行抄表操作。则将当前表计地址索引加1,继续执行下一表计地址索引对应表计的抄表操作。
步骤S510,判断第一时段内是否获得抄读数据。
如果所述第一时段内收到应答数据,则执行步骤S511,记录所述表计的抄读数据,置该表计的数据冻结次数为预设的数据冻结次数,返回执行步骤S504。
如果所述第一时段内没有收到应答数据,则执行步骤S512,重抄次数加1,返回步骤S508。
如果在所述第一时段内接收到所述待抄表计应答的抄读数据,即为未超时成功完成抄表操作,将所获取的抄读数据存储为该表计的冻结数据,并继续执行下一表计地址索引对应的表计的抄表操作。
如果在所述第一时段内未接收到所述待抄表计应答的抄读数据,即为超时未完成抄表操作,则为该表计的抄表操作失败,继续执行该抄表的重抄操作,并且将该表计的重抄次数加1,直至抄读成功或者是该表计的重抄次数大于或者等于预置的重抄次数时停止,继续执行下一表计地址索引对应表计的抄表操作。
在上述实施例的基础上,所述多表集抄的抄表模式还可以包括非档案自学习模式。在上述档案自学习模式的基础上,还可以增加无效表的判断过程。在判定当前表计地址索引对应的表计的重抄次数大于或者等于预置的重抄次数之后,将该表计的无效表轮次加1,并判断该表当前的无效表轮次是否小于预设的无效表轮次。如果无效表轮次小于预设的无效表轮次,则表示该表计的连续抄读失败的次数没有达到预设的最大无效连续抄读失败次数,返回执行步骤S504,获取下一个索引地址对应的表计的抄读数据。如果当前无效表轮次大于或者等于预设的无效表轮次,表示该表计的连续抄读失败次数已经达到预设的最大无效连续抄读失败次数,将该表计标记为无效表。在每个抄表周期的自动抄表任务结束后,将所述无效表轮次置为0。
上述本发明实施例提供的多表集抄的抄表方法,通过表计地址索引方式依次获取全部表计的抄读数据。在针对每个表计的抄读操作中,增设档案状态判断、数据冻结状态判断、重抄次数判断以及抄表系统的无效表轮次等过程,进一步保证了自动抄表过程的准确性、统一性和便捷性。
请参见图6,为本发明第四实施提供的多表集抄的抄表方法的步骤流程图。在上述实施例的基础上,本发明实施例还增设点抄任务执行后的表计档案增加过程的档案自学习模式。下面将对图6所示的过程进行具体描述。
步骤S601,接收抄表终端下发的抄表指令。
获取所述抄表指令的具体实时过程请参见上述实施例,在此不再赘述。
步骤S602,判断所述待抄表计的档案与预先存储的表计档案是否匹配。
如果所述待抄表计的档案与预先存储的表计档案匹配,则执行步骤S603,将所述抄表指令发送至所述待抄表计,获取所述待抄表计的抄读数据。
如果所述待抄表计的档案与预先存储的表计档案不匹配,则执行步骤S604,将所述抄表指令发送至全部表计。
接收抄表终端下发的抄表指令后,解析获得抄表指令中包含的待抄表计的档案。判断所获取的待抄表计的档案与预先存储的表计档案是否匹配。如果匹配,则证明该待抄表计是预先存在的表计,则将该抄表指令发送至所述待抄表计,获取该待表计的抄读数据。在其它实施方式中,可以按照上述实施例提供的方式,获取该表计的冻结数据作为此次抄表操作获取的该表计的抄读数据。
如果所述待抄表计的档案与预先存储的表计档案不匹配,则证明该待抄表计可能不是预先存在的表计,或者是预先与所述多表集抄的抄表装置连接,但其档案未存储在所述多表集抄的抄表装置连接的存储器的表计档案内,需要进一步判断是否需要将该待抄表计的档案添加到所述预先存储的表计档案内。
步骤S605,判断能否接收到全部所述表计中的一个表计基于所述抄表指令应答的抄读数据。
如果能接收到全部所述表计中的一个表计基于所述抄表指令应答的抄读数据,则执行步骤S606。如果不能接收到全部所述表计中的一个表计基于所述抄表指令应答的抄读数据,则结束此次抄表操作。
所述多表集抄的抄表装置在获取待抄表计的抄表指令后,由于该待抄表计的档案与预先存储的表计档案不匹配,无法得知该表计的地址,因此将所述抄表指令发送至与所述多表集抄的抄表装置连接的全部表计。
步骤S606,将应答所述抄读数据的表计作为所述抄表指令对应的待抄表计。
非待抄表计的表计不会响应所获取的抄表指令,待抄表计的档案对应的表计在接收到抄表指令后,会应答抄读数据至该多表集抄的抄表装置,因此可以获得实际的待抄表计的地址信息,将应答所述抄读数据的表计作为所述抄表指令对应的待抄表计。
步骤S607,判断所述预先存储的表计档案中是否存在空白存储空间。
如果所述预先存储的表计档案中存在空白存储空间,则执行步骤S608,将该所述待抄表计的档案存储在所述空白存储空间。
如果所述预先存储的表计档案中不存在空白存储空间,则执行步骤S609。
将非预先存在的待抄表计的档案添加到存储器中时,首先判断所述预先存储的表计档案中是否存在空白存储空间。如果存储器存储表计档案的区域存储空白存储空间,则可以将所述待抄表计的档案存储到所述空白存储空间,并且将应答抄读数据的表计的地址和抄读数据均存储到该空白空间内,作为后续抄表操作的抄表参数。
步骤S609,判断所述预先存储的表计档案中是否存在无效表计的档案。
如果所述预先存储的表计档案中存在无效表计的档案,则执行步骤S610,将所述待抄表计的档案存储到所述无效表计的档案所在的存储空间。
如果所述预先存储的表计档案中不存在无效表计的档案,则结束此次抄表操作。
如果所述存储器存储所述表计档案的区域内不存在空白存储空间,则需要判断能否将其它已占用存储空间清空作为空白存储空间,用于存储该待抄表计的档案。判断所述多表集抄的抄表装置连接的多个表计中是否存储在无效表计,如果不存在无效表或者存储器中不存在无效表计的档案,则结束此次抄表操作。如果存在无效表计,或者存储器中存储有无效表计的档案,将无效表计的档案所在的存储空间清空,将所述待抄表计的档案、表计地址,以及抄读数据等存储到清空后的存储空间内。表计档案添加结束后结束此次抄表操作。
上述本发明实施例提供的多表集抄的抄表方法,在获取表计档案中未存储档案的待抄表计的抄表指令后,先通过透传方式查找是否存在所述待抄表计,将待抄表计实际存在而档案未存储的表计档案存储到空白存储空间内,以实现自动添加表计档案以及删除无效表计的功能,提高了了抄表系统内的档案更新和表计删减等的便捷性。
请参见图7,为本发明第五实施例提供的多表集抄的抄表装置110的功能模块图。所述多表集抄的抄表装置110包括:抄表指令接收模块701、抄表指令发送模块702和抄读数据获取模块703。
所述抄表指令接收模块701,用于接收抄表终端下发的抄表指令,其中,所述抄表指令包含待抄表计的档案;
所述抄表指令发送模块702,用于根据所述待抄表计的档案,按照表计的协议打包所述抄表指令,将打包的所述抄表指令发送至所述待抄表计;
所述抄读数据获取模块703,用于获取所述待抄表计基于所述抄表指令应答的抄读数据。
在上述实施例的基础上,所述抄表指令发送模块702具体用于:
判断所述待抄表计的档案与预先存储的表计档案是否匹配;
如果所述待抄表计的档案与预先存储的表计档案匹配,则执行将所述抄表指令发送至所述待抄表计的操作。
在上述实施例的基础上,所述多表集抄的抄表装置内存储有所述待抄表计的冻结数据和数据冻结状态。所述多表集抄的抄表装置110还包括:
第一判断模块,用于在所述抄表指令发送模块将所述抄表指令发送至所述待抄表计之前,判断所述待抄表计的数据冻结状态是否有效。
冻结数据应用模块,用于如果所述待抄表计的数据冻结状态有效,将所述待抄表计的冻结数据作为该待抄表计的抄读数据应答给所述抄表终端。
如果所述待抄表计的数据冻结状态不是有效,将所述抄表指令发送至下行所有表计,获取所述所有表计中的部分表计基于所述抄表指令应答数据。
在上述实施例的基础上,所述冻结数据应用模块还用于:
将所获取的所述抄读数据作为所述待抄表计的冻结数据;
将所述待抄表计的数据冻结状态设为有效。
在上述实施例的基础上,所述多表集抄的抄表装置110还包括第二判断模块,所述第二判断模块用于:
如果所述待抄表计的档案与预先存储的表计档案不匹配,判断所述抄表装置是否在档案维护期,其中,所述档案维护期是指所述抄表装置进行档案维护的时期,在所述档案维护期内,所述抄表装置将所述抄表指令透传至下行所有表计,若接收到非档案中的表计有应答,则存储该表计档案;
如果所述抄表装置不在所述档案维护期,结束此次抄表操作;
如果所述抄表装置在所述档案维护期,执行将所述抄表指令发送至下行所有表计,获取所述待抄表计基于所述抄表指令应答数据的步骤。
在上述实施例的基础上,所述多表集抄的抄表装置还包括第三判断模块,所述第三判断模块用于:
判断能否接收到全部所述表计中的一个表计基于所述抄表指令应答的抄读数据;
如果接收到全部所述表计中的一个表计基于所述抄表指令应答的抄读数据,将应答所述抄读数据的表计作为目标表计;
将所述抄读数据作为所述目标表计的冻结数据;
判断所述预先存储的表计档案中是否存在可用存储空间,其中,所述可用存储空间包括空白存储空间或者状态为无效的表计档案所在的存储空间;
如果所述预先存储的表计档案中存在可用存储空间,将所述待抄表计的档案存储到所述可用存储空间。
在上述实施例的基础上,抄表任务还包括对已获取档案的自动抄表任务,所述抄表装置还包括自动抄表模块,所述自动抄表模块用于:
根据预设的抄表周期遍历已获取的所有档案,针对每个所述档案对应的表计,按照表计的协议打包所述抄表指令,获取所述待抄表计基于所述抄表指令应答数据的步骤。
在上述实施例的基础上,所述抄读数据获取模块还用于:
延时第一时段;
判断在所述第一时段内是否获取所述待抄表计基于所述抄表指令应答的抄读数据;
如果在所述第一时段内获取所述待抄表计基于所述抄表指令应答的抄读数据,切换至下一只表计;
如果在所述第一时段内未获取所述待抄表计基于所述抄表指令应答的抄读数据,将所述待抄表计的重抄次数加1,判断所述待抄表计的重抄次数是否小于预设的重抄次数;
如果所述待抄表计的重抄次数大于或者等于所述预设的重抄次数,判断所述待抄表计的无效表轮次是否等于预设的无效表轮次;
如果所述待抄表计的当前无效表轮次等于预设的无效表轮次,将所述待抄表计标记为无效的表计;
如果所述待抄表计的重抄次数小于预设的重抄次数,继续执行获取所述待抄表计基于所述抄表指令应答数据的步骤。
本发明实施例提供的多表集抄的抄表装置,通过所述抄表指令接收模块接收抄表终端下发的抄表指令后,由所述抄表指令发送模块根据抄表指令中所包含的待抄表计的档案,将所述抄表指令只发送至所述待抄表计对应的下行接口,而不是将所述抄表指令发送至所有下行接口连接的表计。非待抄状态的表计就不会被无关指令多次唤醒,仅有抄表指令对应的待抄表计被唤醒执行抄表操作,提高了抄表效率,降低了非待抄表计被无关指令多次唤醒所造成的电池寿命的影响,提高了表计设备利用率。本发明实施例提供的多表集抄的抄表装置的具体实施过程请参见上述多表集抄的抄表方法的具体实施过程,在此不再一一赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。