电力线载波通信自组网实现方法与流程

文档序号:22333252发布日期:2020-09-25 18:06阅读:253来源:国知局
电力线载波通信自组网实现方法与流程

本发明涉及一种组网方法,尤其涉及一种电力线载波通信自组网实现方法。



背景技术:

电力线载波通信是电力系统特有的通信方式,是通过载波方式传输模拟或数字信号的技术。电力线载波最大的优点是无需重新架设网络、成本低、布置维护方便。传统的电力线载波系统中,因为集中器与部分子节点距离较远,需要经过一级或多级中继才能通信,一般采取预先建立起所有子节点与主节点通信的路由路径,当有通信需求时,直接使用事先建立的路径进行数据传输。

然而,电力线并非一种良好的通信介质,节点间通信链路具有不对称性,即上行和下行通信链路的通信质量和具体环境有关,可能存在较大的差异,尤其存在主节点向子节点链路质量良好,而反向链路通信质量很差的情形,沿原路返回时导致数据传输失败,因此,提出一种电力线载波通信自组网实现方法,来提高电力线载波通信网络的可靠性和稳定性,并降低网络部署成本,是非常有必要的。



技术实现要素:

本发明要解决的技术问题是提供一种电力线载波通信自组网实现方法,利用从机的唯一的身份识别编号,产生不同的随机数,再根据随机数产生不同的延时时间,当主机发起组网时,每次只有一个最快的从机回复组网,实现从机的依次组网,提高组网的可靠性和稳定性。

本发明为解决上述技术问题而采用的技术方案是提供一种电力线载波通信自组网实现方法,包括如下步骤:s1:主机广播发送组网命令,等待未组网从机的组网回复;s2:从机收到主机的组网命令后,每台从机检测自己的组网状态;s3:若从机检测到自己未组网,则根据自己的mac地址产生随机数,并根据随机数设定延时时间;s4:未组网的从机在延时时间后进行组网回复,最先进行组网回复的从机为第一组网从机;s5:主机收到第一组网从机的组网回复后,发送握手命令给第一组网从机;s6:第一组网从机收到握手命令后,接收并保存主机分配给自己的组网地址,并对握手命令进行握手回复;s7:主机收到第一组网从机的握手回复后,保存该从机的mac地址到地址数据列表中分配给第一组网从机的组网地址对应的组网mac地址,并标记该从机的状态为已组网,完成该从机的组网;s8:重复步骤s1-s7,进行从机的依次组网,直到完成所有从机的组网。

进一步地,每个从机包括mac地址和组网地址;所述mac地址为每一台从机唯一区别于其他从机的身份识别编号,由8位16进制数据组成,取值范围为0x00000001-0xfffffffe;在从机处于组网状态时,组网地址为主机分配给从机的地址,范围为1-60;在从机处于未组网状态时,组网地址为0。

进一步地,所述步骤s3中具体包括:从机根据自己的mac地址产生的随机数为第一随机数;设置随机种子,通过系统时钟节拍,产生第二随机数;将第一随机数和第二随机数进行叠加运算后,得到组网随机数;将组网随机数作为该从机的延时时间,单位为毫秒;组网随机数的计算公式:rand=((macid>>i)&0x000000f)*60+tick%60,其中,macid为从机的mac地址,范围为0x00000001-0xfffffffe,i为0-7,tick为随机种子;最大等待延时1019毫秒,最小等待延时0毫秒,每个从机的延时时间为0-1019毫秒之间不同的延时,实现从机的错开依次组网。

进一步地,所述步骤s4中,组网回复的内容为自己的mac地址,组网回复为广播式发送,若其他从机在延时时间内接收到第一组网从机的组网回复,则不再进行组网回复,若未收到第一组网从机的组网回复,则进行组网回复。

进一步地,所述主机的地址数据列表保存组网地址及对应的组网mac地址;当组网地址分配给组网从机时,组网mac地址保存对应组网从机的mac地址,当组网地址未分配时,对应该组网地址保存数据0xffffffff,代表该组网地址未被占用。

进一步地,在步骤s7中若主机通信丢包,导致主机未收到第一组网从机的握手回复,则第一组网从机组网失败,主机发送解网命令进行解网,使占用组网地址的第一组网从机自动释放组网地址,并进入待组网态。

进一步地,所述解网具体包括:s71:主机从地址数据列表搜索组网mac地址值为0xffffffff的索引值,得到该组网mac地址对应的组网地址,该组网地址即为需要进行解网释放的组网地址;s72:主机用该组网地址广播数次,发起解网命令;s73:占用该组网地址的从机接收到解网命令后,进行解网,将自己的组网地址设为0,恢复到未组网状态,等待主机发送组网命令,再进行组网。

进一步地,所述主机与从机组网完成后形成串联的环形网络。

本发明对比现有技术有如下的有益效果:本发明提供的电力线载波通信自组网实现方法,利用从机的唯一的身份识别编号,产生不同的随机数,再根据随机数产生不同的延时时间,当主机发起组网时,每次只有一个最快的从机进行组网回复,实现从机的依次组网,提高组网的可靠性和稳定性;在通信丢包,主机未收到握手回复时,进行广播命令对应的从机进行解网,避免主机将相同的组网地址分配给多台从机,组网速度快,组网成功率高,组网更稳定。

附图说明

图1为本发明实施例中电力线载波通信自组网实现方法流程图;

图2为本发明实施例中电力线载波通信自组网实现方法的组网结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的描述。

图1为本发明实施例中电力线载波通信自组网实现方法流程图。

请参见图1,本发明实施例的电力线载波通信自组网实现方法,包括如下步骤:

s1:主机广播发送组网命令,等待未组网从机的组网回复;

s2:从机收到主机的组网命令后,每台从机检测自己的组网状态;

s3:若从机检测到自己未组网,则根据自己的mac地址产生随机数,并根据随机数设定延时时间;

s4:未组网的从机在延时时间后进行组网回复,最先进行组网回复的从机为第一组网从机;

s5:主机收到第一组网从机的组网回复后,发送握手命令给第一组网从机;

s6:第一组网从机收到握手命令后,接收并保存主机分配给自己的组网地址,并对握手命令进行握手回复;

s7:主机收到第一组网从机的握手回复后,保存该从机的mac地址到地址数据列表中分配给第一组网从机的组网地址对应的组网mac地址,并标记该从机的状态为已组网,完成该从机的组网;

s8:重复步骤s1-s7,进行从机的依次组网,直到完成所有从机的组网。

每个从机包括mac地址和组网地址;所述mac地址为每一台从机唯一区别于其他从机的身份识别编号,由8位16进制数据组成,取值范围为0x00000001-0xfffffffe;在从机处于组网状态时,组网地址为主机分配给从机的地址,范围为1-60;在从机处于未组网状态时,组网地址为0。

主机的地址数据列表保存组网地址及对应的组网mac地址;当组网地址分配给组网从机时,组网mac地址保存对应组网从机的mac地址,当组网地址未分配时,对应该组网地址保存数据0xffffffff,代表该组网地址未被占用。

具体地,本发明实施例的电力线载波通信自组网实现方法,步骤s3中具体包括:从机根据自己的mac地址产生的随机数为第一随机数;设置随机种子,通过系统时钟节拍,产生第二随机数;将第一随机数和第二随机数进行叠加运算后,得到组网随机数;将组网随机数作为该从机的延时时间,单位为毫秒;

组网随机数的计算公式:

rand=((macid>>i)&0x000000f)*60+tick%60

其中,macid为从机的mac地址,范围为0x00000001-0xfffffffe,右移位数i为0-7,tick为随机种子;

计算可得,最大等待延时1019毫秒,超过范围,组网时间过慢;最小等待延时0毫秒,每个从机的延时时间为0-1019毫秒之间不同的延时,实现从机的错开依次组网。

具体地,本发明实施例的电力线载波通信自组网实现方法,步骤s4中,组网回复的内容为自己的mac地址,组网回复为广播式发送,若其他从机在延时时间内接收到第一组网从机的组网回复,则不再进行组网回复,若未收到第一组网从机的组网回复,则进行组网回复。

在组网过程中可能碰到通信丢包,导致主机和从机保存的信息不一致,在步骤s7中若主机通信丢包,导致主机未收到第一组网从机的握手回复,则第一组网从机组网失败,主机发送解网命令进行解网,使占用组网地址的第一组网从机自动释放组网地址,并进入待组网态。

解网具体包括:

s71:主机从地址数据列表搜索组网mac地址值为0xffffffff的索引值,得到该组网mac地址对应的组网地址,该组网地址即为需要进行解网释放的组网地址;

s72:主机用该组网地址广播数次,发起解网命令;

s73:占用该组网地址的从机接收到解网命令后,进行解网,将自己的组网地址设为0,恢复到未组网状态,等待主机发送组网命令,再进行组网。

请参见图2,本发明实施例的电力线载波通信自组网实现方法,主机与从机组网完成后形成串联的环形网络。

综上所述,本发明实施例的电力线载波通信自组网实现方法,利用从机的唯一的身份识别编号,产生不同的随机数,再根据随机数产生不同的延时时间,当主机发起组网时,每次只有一个最快的从机进行组网回复,实现从机的依次组网,提高组网的可靠性和稳定性;在通信丢包,主机未收到握手回复时,进行广播命令对应的从机进行解网,避免主机将相同的组网地址分配给多台从机,组网速度快,组网成功率高,组网更稳定。

虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。

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