基于RS485串口的搜表方法与系统与流程

文档序号:23923411发布日期:2021-02-09 19:59阅读:216来源:国知局
基于RS485串口的搜表方法与系统与流程
基于rs485串口的搜表方法与系统
技术领域
[0001]
本申请涉及智能表搜表技术领域,特别是涉及一种基于rs485串口的搜表方法与系统。


背景技术:

[0002]
电网端采集终端包含集中器、采集器、配变终端、负控终端等,是具有采集智能表的数据、监控变压器下电能质量、负荷控制等多种功能的一种终端。
[0003]
采集终端上一般配有一路甚至多路rs485串口,可以通过rs485串口采集智能表的数据,采集数据前,采集终端内需要有相应的表档案信息。
[0004]
传统的基于rs485串口的搜表方法,一般通过广播方式搜表,只要有智能表接收到采集终端发送的数据,都会上报表地址信息,但是有一定的局限性,在rs485线路上同一时间一旦有多条数据通讯,就会产生数据乱码的现象,所以每进行一次广播搜表,多个智能表进行响应,很大概率上采集终端都会接收到乱码的数据,搜表的效率非常低。


技术实现要素:

[0005]
基于此,有必要针对传统基于rs485串口的搜表方法中广播搜表时通讯数据易乱码,搜表效率低的问题,提供一种基于rs485串口的搜表方法与系统。
[0006]
本申请提供一种基于rs485串口的搜表方法。所述方法包括:
[0007]
采集终端对所有已进行搜表的智能表发送注册指令;
[0008]
采集终端以广播模式对所有智能表发送搜表指令,所述搜表指令包括一个标记数字,所述标记数字具有一个初始数值;所述初始数值为10;
[0009]
每一个接收到所述搜表指令的智能表判断自身是否处于已注册状态;
[0010]
若智能表自身处于未注册状态,则所述智能表在1到100之内产生一个随机数;
[0011]
所述智能表判断所述随机数是否大于所述标记数字;
[0012]
若所述随机数小于或等于所述标记数字的数值,则所述智能表发送自身的表地址信息至采集终端;
[0013]
所述采集终端接收表地址信息,对所有已上传表地址信息的智能表发送注册指令;
[0014]
所述采集终端将初始数值增加一个预设间隔值作为所述标记数字的新数值,返回所述采集终端以广播模式对所有智能表发送搜表指令的步骤。
[0015]
进一步地,在采集终端对所有已进行搜表的智能表发送注册指令之前,所述方法还包括:
[0016]
采集终端通过广播模式向多个智能表发送清表指令;
[0017]
每一个智能表接收到所述清表指令后,清除本地存储的注册信息,以将智能表的状态恢复为未注册状态。
[0018]
进一步地,采集终端对所有已进行搜表的智能表发送注册指令,包括:
[0019]
采集终端读取本地数据库存储的智能表档案,获取至少一个已进行搜表的智能表的id号;
[0020]
采集终端依据id号,向所有已进行搜表的智能表发送注册指令和采集终端的地址信息;
[0021]
每一个已进行搜表的智能表在接收到注册指令和采集终端的地址信息后,存储所述采集终端的地址信息,并将智能表的状态变更为已注册状态。
[0022]
进一步地,所述智能表发送自身的表地址信息至采集终端,包括:
[0023]
若所述随机数小于或等于所述标记数字的数值,则智能表在预设时间段后,上报智能表的表地址信息至采集终端。
[0024]
进一步地,所述智能表发送自身的表地址信息至采集终端,包括:
[0025]
若所述随机数小于或等于所述标记数字的数值,则智能表在预设时间数值范围内随机生成一个随机时间数值;
[0026]
在随机时间数值后,智能表上报智能表的表地址信息至采集终端。
[0027]
进一步地,在所述智能表判断所述随机数是否大于所述标记数字之后,所述方法还包括:
[0028]
若所述随机数大于所述标记数字的数值,中止后续步骤。
[0029]
进一步地,采集终端将智能表档案发送给系统主站;
[0030]
所述系统主站依据智能表档案,将智能表档案与所述系统主站中的虚拟变压器数据、户号相关联;
[0031]
系统主站将智能表档案返回至采集终端;
[0032]
采集终端将智能表档案存储于本地数据库中,至此系统主站和采集终端的智能表档案实现数据同步。进一步地,在所述采集终端接收表地址信息,对所有已上传表地址信息的智能表发送注册指令之后,所述方法还包括:
[0033]
采集终端保持标记数字的数值不变,以广播模式对所有智能表再次发送搜表指令;
[0034]
执行智能表判断自身是否处于已注册状态的步骤至所述采集终端接收表地址信息,对所有已上传表地址信息的智能表发送注册指令的步骤,采集终端判断是否接收到至少一个表地址信息;
[0035]
若采集终端接收到至少一个表地址信息,则返回以广播模式对所有智能表再次发送搜表指令的步骤;
[0036]
若采集终端没有接受到任何表地址信息,则执行后续采集终端将初始数值增加一个预设间隔值的步骤。
[0037]
进一步地,所述预设间隔值为10,所述预设时间数值范围为大于等于100毫秒且小于等于500毫秒。
[0038]
本申请还提供一种基于rs485串口的搜表系统。
[0039]
所述基于rs485串口的搜表系统包括:
[0040]
系统主站;
[0041]
采集终端,与所述系统主站通过网络连接;
[0042]
多个智能表,每一个智能表与所述采集终端通过rs485串口通信连接。
[0043]
本申请涉及一种基于rs485串口的搜表方法和系统,采集终端通过对所有已进行搜表的智能表发送注册指令,可以实现在后续搜表过程中,已进行搜表并注册成功的表就不会再被搜上来,防止rs485串口线路的占用。通过采集终端下发的搜表指令带有数值较小的标记数字,且未注册的智能表在1到100之内自动产生随机数,仅当随机数小于或等于标记数字才将表地址信息上传至采集终端,大大减少了在rs485线路上同一时间进行通讯的数据的数量,提高采集終端的搜表效率。
附图说明
[0044]
图1为本申请一实施例提供的基于rs485串口的搜表方法的流程示意图;
[0045]
图2为本申请一实施例提供的基于rs485串口的搜表系统的结构示意图。
[0046]
附图标记:
[0047]
10-系统主站;20-采集终端;30-智能表
具体实施方式
[0048]
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0049]
本申请提供一种基于rs485串口的搜表方法。需要说明的是,本申请提供的基于rs485串口的搜表方法应用于任何种类和型号的智能表30。
[0050]
此外,本申请提供的基于rs485串口的搜表方法不限制其执行主体。可选地,本申请提供的基于rs485串口的搜表方法的执行主体的可以为一种基于rs485串口的搜表系统。
[0051]
如图1所示,在本申请的一实施例中,所述基于rs485串口的搜表方法包括如下步骤s100至步骤s900:
[0052]
s100,采集终端20对所有已进行搜表的智能表30发送注册指令。
[0053]
具体地,注册指令可以为采集终端20发起的一帧具有注册意义的报文。智能表30接收到了这一帧报文,就可以存储采集终端20的地址信息(即采集终端20的设备地址),并回复确认消息给采集终端20。在此之后,只要该采集终端20发送的报文,已经注册的智能表30都会响应,而其他采集终端20发送的的报文该已经注册的智能表30不再响应。也即,每一个智能表30仅能通过唯一的采集终端20注册,且注册后的智能表30不能被其他采集终端20再次注册。
[0054]
步骤s100的目的是,本次搜表可能不是第一次搜表,那么可以在搜表之前,先对已经进行过搜表的智能表30进行注册。这样,注册成功的表,下次搜表时,就不会被搜上来。
[0055]
s200,采集终端20以广播模式对所有智能表30发送搜表指令,所述搜表指令包括一个标记数字,所述标记数字具有一个初始数值。所述初始数值为10。
[0056]
具体地,所述标记数字初始可以为10。也即采集终端20发送的搜表指令携带标记数字10这个信息。
[0057]
s300,每一个接收到所述搜表指令的智能表30判断自身是否处于已注册状态。
[0058]
具体地,由于采集终端20是以广播模式发送的搜表指令,搜表指令实际上也是一帧报文,报文中携带了采集终端20的地址信息(即采集终端20的设备地址),而且所有智能
表30均能进行响应,开始判断自身是否处于已注册状态。
[0059]
s400,若智能表30自身处于未注册状态,则所述智能表30在1到100之内产生一个随机数。
[0060]
具体地,智能表30可以内置一个随机数发生器,所述随机数发生器用于产生一个随机数,所述随机数处于1-100的数值范围内。当然,该数值范围也可以不仅限于1-100这个数字范围。
[0061]
s500,所述智能表30判断所述随机数是否大于所述标记数字。
[0062]
s610,若所述随机数小于或等于所述标记数字的数值,则所述智能表30发送自身的表地址信息至采集终端20。
[0063]
具体地,例如,如果生成的随机数为8,标记数字初始为10,8小于10,则智能表30发送自身的表地址信息上报至采集终端20,以便后续智能表30的注册。
[0064]
由于标记数字的初始值为10,那么也即只有生成1-10这个极小的数字范围内的随机数的智能表30才能上报表地址信息,概率较低,只有10%,这就可以确保在同一时间内均上报表地址信息的智能表30的数量大大减少。
[0065]
s700,所述采集终端20接收表地址信息,对所有已上传表地址信息的智能表30发送注册指令。
[0066]
具体地,承接上述步骤s610,本步骤是对步骤s610中发送过表地址信息的智能表30发送注册指令。接收到所述注册指令后,智能表30成功被注册。
[0067]
s900,所述采集终端20将初始数值增加一个预设间隔值作为所述标记数字的新数值,返回所述步骤s200。
[0068]
具体地,所述预设间隔值可以是任意数值。例如,所述预设间隔值是20,那么下一次采集终端20以广播形式发送的搜表指令包含的标记数字就变为30。那么可以理解,在步骤s200-s700反复执行后,标记数字是越来越大的,这有两个优点。
[0069]
第一点,可以避免标记数字一直维持较小的数值导致智能表30一直无法上报表地址信息,无法注册,导致搜表缓慢的问题。标记数字是越来越大的,可以理解,最终标记数字的数值甚至等于生成随机数的最大值或大于生成随机数的最大值,那么所有智能表30最终是一定都可以注册成功的。
[0070]
第二点,标记数字越来越大也不会强行增大在rs485线路上同一时间进行通讯的数据的数量,因为已注册的智能表30只会越来越多,未注册的智能表30只会越来越少,因此,最终在rs485线路上同一时间进行通讯的数据的数量还是会维持在一个较低的水平。
[0071]
本实施例中,采集终端20通过对所有已进行搜表的智能表30发送注册指令,可以实现在后续搜表过程中,已进行搜表并注册成功的表就不会再被搜上来,防止rs485串口线路的占用。通过采集终端20下发的搜表指令带有数值较小的标记数字,且未注册的智能表30在1到100之内自动产生随机数,仅当随机数小于或等于标记数字才将表地址信息上传至采集终端20,大大减少了在rs485线路上同一时间进行通讯的数据的数量,提高采集終端的搜表效率。
[0072]
在本申请的一实施例中,在所述步骤s100之前,所述方法还包括如下步骤s010至步骤s020:
[0073]
s010,采集终端20通过广播模式向多个智能表30发送清表指令。
[0074]
s020,每一个智能表30接收到所述清表指令后,清除本地存储的注册信息,以将智能表30的状态恢复为未注册状态。
[0075]
具体地,在步骤s100执行之前,采集终端20先向多个智能表30发送清表指令的目的是,将所有的智能表30都恢复至初始状态,即未注册状态,这样可以防止有一些表是被其他采集终端20注册过的异常表,那么就无法搜到这些异常表。
[0076]
本实施例中,通过采集终端20先向多个智能表30发送清表指令,可以将所有的智能表30都恢复至初始状态,防止被其他采集终端20注册过的异常表无法被抄读到。
[0077]
在本申请的一实施例中,所述步骤s100包括如下步骤s110至步骤s130:
[0078]
s110,采集终端20读取本地数据库存储的智能表档案,获取至少一个已进行搜表的智能表30的id号。
[0079]
具体地,采集终端20本地设置有本地数据库。本地数据库存储有智能表档案,每一个智能表档案对应一个智能表30,实际上是id号和智能表档案之间有关联的关系。那么本地数据库如果存在5个智能表档案,那么表明这个5个智能表档案对应的5个智能表30都已经进行过搜表过程,那么直接获取他们的id号。
[0080]
s120,采集终端20依据id号,向所有已进行搜表的智能表30发送注册指令和采集终端20的地址信息。
[0081]
具体地,本次搜表可能不是第一次搜表,那么可以在搜表之前,先对已经进行过搜表的智能表30进行注册。这样,注册成功的智能表30,下次搜表时,这些已经搜表并注册的智能表30就不会被搜上来。
[0082]
s130,每一个已进行搜表的智能表30在接收到注册指令和采集终端20的地址信息后,存储所述采集终端20的地址信息,并将智能表30的状态变更为已注册状态。
[0083]
具体地,注册是需要注册指令和采集终端20的地址信息的。
[0084]
本实施例中,通过在对所有智能表30发送搜表指令前,对已进行搜表的智能表30发送注册指令和采集终端20的地址信息,并对已进行搜表的智能表30进行注册,可以减少后续搜表过程中利用rs485线路上传表地址信息的智能表30的总数量,相当于从侧面提高了搜表效率,避免了重复搜表工作。
[0085]
在本申请的一实施例中,所述步骤s610包括如下步骤:
[0086]
s611,若所述随机数小于或等于所述标记数字的数值,则智能表30在预设时间段后,上报智能表30的表地址信息至采集终端20。
[0087]
具体地,本实施例中,不是直接上报智能表30的表地址信息至采集终端20,而是设置了一个预设时间段,起到了延迟发送的效果。这样做的目的是,可以进一步避免在同一时间,有多个通过rs485串口上传表地址信息的智能表30。所述预设时间段可以为200毫秒。
[0088]
本实施例中,通过设置智能表30在预设时间段后,上报智能表30的表地址信息至采集终端20,可以进一步避免在同一时间,有多个通过rs485串口上传表地址信息的智能表30。
[0089]
在本申请的一实施例中,所述步骤s600包括:
[0090]
s612,若所述随机数小于或等于所述标记数字的数值,则智能表30在预设时间数值范围内随机生成一个随机时间数值。
[0091]
s613,在随机时间数值后,智能表30上报智能表30的表地址信息至采集终端20。
[0092]
具体地,与上一个实施例相比,上一个实施例是固定数值的预设时间段,本实施例是随机生成的随机时间数值,随机性大,那么可以最大化减少在同一时间,通过rs485串口上传表地址信息的智能表30的数量。
[0093]
本实施例中,通过在随机时间数值后,智能表30上报智能表30的表地址信息至采集终端20,可以实现最大化减少在同一时间,通过rs485串口上传表地址信息的智能表30的数量。
[0094]
在本申请的一实施例中,在所述步骤s500之后,所述方法还包括:
[0095]
s620,若所述随机数大于所述标记数字的数值,中止后续步骤。
[0096]
具体地,例如生成的随机数为11,标记数字初始为10,11大于10,那么智能表30就放弃上传表地址信息,等待下次搜表命令的发出。
[0097]
在本申请的一实施例中,在所述步骤s700之后,所述方法还包括如下步骤s811至步骤s815:
[0098]
s811,采集终端20依据协议组帧将智能表档案发送给系统主站10。
[0099]
s812,所述系统主站10依据智能表档案,将智能表档案与所述系统主站10中的虚拟变压器数据、户号相关联。
[0100]
s813,系统主站10将智能表档案返回至采集终端20。
[0101]
s815,采集终端20将智能表档案存储于本地数据库中,至此系统主站10和采集终端20的智能表档案实现数据同步。
[0102]
具体地,智能表档案指中有一些表参数,用于表达智能表30的特征,比如表序号、表协议类型等,这些参数都是由标准协议规定的,比如dlms协议有一套标准参数,国网376.1和698.45协议也有各自一套标准参数。但是在各个设备中,会衍生出另外的一些参数,这些参数称为相关参数,比如系统主站10上有户号、虚拟变压器等,系统主站10会把表档案跟这些相关参数相关联,形成一套完整的目录树参数。因此,在智能表30被注册之后,还需要在系统主站10上将已注册的智能表30的智能表档案做相关参数的数据关联,之后在系统主站10上建档保存。
[0103]
本实施例中,通过将智能表档案与所述系统主站10中的虚拟变压器数据、户号相关联,系统主站10和采集终端20的智能表档案实现了数据的同步化。
[0104]
在本申请的一实施例中,在所述步骤s700之后,所述方法还包括如下步骤s821至步骤s824:
[0105]
s821,采集终端20保持标记数字的数值不变,以广播模式对所有智能表30再次发送搜表指令。
[0106]
s822,执行所述步骤s300至步骤s700,采集终端20判断是否接收到至少一个表地址信息。
[0107]
s823,若采集终端20接收到至少一个表地址信息,则返回所述步骤s821。
[0108]
s824,若采集终端20没有接受到任何表地址信息,则执行后续步骤s900。
[0109]
具体地,本实施例为了提高搜表效率,对一个数值的标记数字,进行两次搜表指令的发送,即在步骤s700后,保持标记数字的数值不变,以广播模式对所有智能表30再次发送搜表指令。步骤s821至步骤s824可以在步骤s815之后执行。如果再次发送搜表指令后,还是没有表地址信息上报,则更改标记数字的数值。如果再次发送搜表指令后,有新的表地址信
息的商标,可能是因为该随机数容易生成,可以再额外增加一次搜表指令的发送,直至采集终端20无法接受到表地址信息为止。
[0110]
本实施例中可以提高搜表效率,提高整体搜表方法的容错率,调整偶然性,在比较不常见的随机数出现时,可以再次给予智能表30重新一次生成随机数的机会。
[0111]
在本申请的一实施例中,所述预设间隔值为10,所述预设时间数值范围为大于等于100毫秒且小于等于500毫秒。
[0112]
具体地,预设间隔值的具体取值不仅限于本实施例列举的数值。预设时间数值范围的设定范围也不仅限于本实施例列举的100毫秒到500毫秒的数值范围。
[0113]
如图2所示,本申请还提供一种基于rs485串口的搜表系统,应用了前述权利提及的基于rs485串口的搜表方法,所述基于rs485串口的搜表系统包括:
[0114]
系统主站10,存储有相关参数和智能表档案。
[0115]
采集终端20,与所述系统主站10通过网络连接。
[0116]
多个智能表30,每一个智能表30与所述采集终端20通过rs485串口通信连接。
[0117]
以上所述实施例的各技术特征可以进行任意的组合,各方法步骤也并不做执行顺序的限制,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0118]
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1