一种分配通信地址的方法及装置与流程

文档序号:11180824阅读:591来源:国知局
一种分配通信地址的方法及装置与流程

本发明涉及计算机技术领域,尤其涉及一种分配通信地址的方法及装置。



背景技术:

串行总线广泛应用于计算机及工业控制领域中实现数据交换。在串行总线通信过程中,串行总线上的各个节点设备共享串行总线,任何一个节点设备发出的通信信息,都能够被总线上的其它节点设备收到。为了标识发送或接收信息的节点设备,必须为串行总线上的每个节点设备分配一个唯一的通信地址。

现有可行的为串行总线节点设备分配通信地址的方法是,以人工分配的方式,为串行总线上的每一节点设备分别分配唯一的通信地址。当串行总线上节点设备数量较多时,依靠人工为串行总线上的每个节点设备分别分配通信地址,对于工作人员来说,无疑是一项繁重的体力劳动,并且分配效率不高。因此,业内亟需一种能够自动为串行总线上的节点设备分配通信地址的方法,来降低工作人员劳动量,提高通信地址分配效率。



技术实现要素:

基于上述现有技术的缺陷和不足,本发明提出一种分配通信地址的方法及装置,能够实现自动为串行总线上的节点设备分配通信地址。

一种分配通信地址的方法,应用于串行总线上的节点设备,该方法包括:

接收与所述节点设备相邻的第一节点设备发送的通信地址;

根据所述第一节点设备发送的通信地址,计算得到自身通信地址;

将所述自身通信地址发送给与所述节点设备相邻的第二节点设备,使所述第二节点设备根据所述自身通信地址,计算所述第二节点设备自身的通信地址。

优选地,所述根据所述第一节点设备发送的通信地址,计算得到自身通信地址,包括:

对所述第一节点设备发送的通信地址,进行设定的数学运算处理,得到自身通信地址。

优选地,所述对所述第一节点设备发送的通信地址,进行设定的数学运算处理,得到自身通信地址,包括:

将所述第一节点设备发送的通信地址加1,得到自身通信地址。

优选地,当与所述节点设备相邻的第一节点设备为主机设备时,所述接收与所述节点设备相邻的第一节点设备发送的通信地址,包括:

接收与所述节点设备相邻的主机设备发送的,所述主机设备为所述节点设备分配的通信地址。

优选地,当所述串行总线上的节点设备为所述串行总线上的最后一个节点设备时,在根据所述第一节点设备发送的通信地址,计算得到自身通信地址后,该方法还包括:

按照设定的周期检测是否有新加入的节点设备与所述串行总线上的最后一个节点设备连接;

当检测到有新加入的节点设备与所述串行总线上的最后一个节点设备连接时,将所述自身通信地址发送给所述新加入的节点设备,使所述新加入的节点设备根据所述自身通信地址,计算所述新加入的节点设备自身的通信地址。

一种分配通信地址的装置,应用于串行总线上的节点设备,该装置包括:

数据接收单元,用于接收与所述节点设备相邻的第一节点设备发送的通信地址;

计算单元,用于根据所述第一节点设备发送的通信地址,计算得到自身通信地址;

数据发送单元,用于将所述自身通信地址发送给与所述节点设备相邻的第二节点设备,使所述第二节点设备根据所述自身通信地址,计算所述第二节点设备自身的通信地址。

优选地,所述计算单元根据所述第一节点设备发送的通信地址,计算得到自身通信地址时,具体用于:

对所述第一节点设备发送的通信地址,进行设定的数学运算处理,得到自身通信地址。

优选地,所述计算单元对所述第一节点设备发送的通信地址,进行设定的数学运算处理,得到自身通信地址时,具体用于:

将所述第一节点设备发送的通信地址加1,得到自身通信地址。

优选地,当与所述节点设备相邻的第一节点设备为主机设备时,所述数据接收单元接收与所述节点设备相邻的第一节点设备发送的通信地址时,具体用于:

接收与所述节点设备相邻的主机设备发送的,所述主机设备为所述节点设备分配的通信地址。

优选地,该装置还包括:

检测处理单元,用于当所述串行总线上的节点设备为所述串行总线上的最后一个节点设备时,在所述计算单元根据所述第一节点设备发送的通信地址,计算得到自身通信地址后,按照设定的周期检测是否有新加入的节点设备与所述串行总线上的最后一个节点设备连接;当检测到有新加入的节点设备与所述串行总线上的最后一个节点设备连接时,控制所述数据发送单元将所述自身通信地址发送给所述新加入的节点设备,使所述新加入的节点设备根据所述自身通信地址,计算所述新加入的节点设备自身的通信地址。

本发明提出的分配通信地址的方法,应用于串行总线上的节点设备。串行总线上的节点设备接收相邻的第一节点设备发送的通信地址,并根据接收的通信地址计算得到自身通信地址,然后将计算得到的自身通信地址发送给与自身相邻的第二节点设备。第二节点设备按照上述同样的方法,根据接收的通信地址计算自身通信地址,然后再把第二节点设备自身的通信地址发送给下一个节点设备,以此类推,采用本发明技术方案,各个节点设备能够自动计算得到自身唯一的通信地址,实现了自动为串行总线上的节点设备分配通信地址的目的,提高了通信地址分配效率。

附图说明

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

图1是本发明实施例提供的一种分配通信地址的方法的流程示意图;

图2是本发明实施例提供的一种串行总线系统结构示意图;

图3是本发明实施例提供的一种分配通信地址的装置的结构示意图;

图4是本发明实施例提供的另一种分配通信地址的装置的结构示意图。

具体实施方式

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

本发明实施例公开了一种分配通信地址的方法,应用于串行总线上的节点设备,参见图1所示,该方法包括:

s101、接收与所述节点设备相邻的第一节点设备发送的通信地址;

具体的,串行总线上的节点设备按照图2所示的方式串行连接。除去串行总线头尾的节点设备之外,串行总线上的每一个节点设备,都有两个相邻的节点设备。

例如在由可编程逻辑控制器(programmablelogiccontroller,plc)作为主机构成的串行总线通信系统中,一般是从与plc主机连接的第一个节点设备开始分配通信地址,一直到串行总线的最后一个节点设备。

本发明实施例所述的与串行总线上的节点设备相邻的第一节点设备,是指节点设备的前一个节点设备,即按照上述通信地址分配方式,已经分配通信地址的前一个节点设备。

与节点设备相邻的前一个节点设备在确认自身的通信地址后,将自身的通信地址发送给上述节点设备。

上述通信地址,通常是以数字表示的地址代码。每个节点设备分配唯一的通信地址。

s102、根据所述第一节点设备发送的通信地址,计算得到自身通信地址;

具体的,当节点设备接收到相邻的第一节点设备发送的通信地址后,根据第一节点设备的通信地址,计算出自身的通信地址。

需要说明的是,节点设备按照预先设定的计算方法,计算出自身的通信地址,并且,该计算方法能够保证根据某一通信地址计算出的通信地址,一定与上述某一通信地址不同。也就是说,上述计算方法能够保证各个节点设备计算出的通信地址不会重复,都是唯一存在的。

s103、将所述自身通信地址发送给与所述节点设备相邻的第二节点设备,使所述第二节点设备根据所述自身通信地址,计算所述第二节点设备自身的通信地址。

具体的,当节点设备计算得到自身的通信地址后,将自身通信地址再发送给与自身连接的下一个节点设备,即与自身相邻的第二节点设备。然后,第二节点设备接收到上述节点设备发送的通信地址后,采用s102相同的方法,计算得到自身通信地址,以及将第二节点设备自身的通信地址发送给与第二节点设备相邻的再下一个节点设备。以此类推,每个节点设备分别执行步骤s101~s103,即实现了对串行总线上各个节点设备的通信地址的自动分配。

本发明实施例提出的分配通信地址的方法,应用于串行总线上的节点设备。串行总线上的节点设备接收相邻的第一节点设备发送的通信地址,并根据接收的通信地址计算得到自身通信地址,然后将计算得到的自身通信地址发送给与自身相邻的第二节点设备。第二节点设备按照上述同样的方法,根据接收的通信地址计算自身通信地址,然后再把第二节点设备自身的通信地址发送给下一个节点设备,以此类推,采用本发明实施例技术方案,各个节点设备能够自动计算得到自身唯一的通信地址,实现了自动为串行总线上的节点设备分配通信地址的目的,提高了通信地址分配效率。

可选的,在本发明的另一个实施例中,所述根据所述第一节点设备发送的通信地址,计算得到自身通信地址,包括:

对所述第一节点设备发送的通信地址,进行设定的数学运算处理,得到自身通信地址。

具体的,在本发明实施例中,为各个节点设备分别预先设定统一的数学运算方法,该数学运算方法,用来通过某一通信地址,计算得到另一个通信地址,并且能够保证计算得到的通信地址都不相同。例如,可以设定乘法运算、除法运算、平方运算等运算方法。

当节点设备接收到相邻的第一节点设备发送的通信地址后,采用上述预先设定的数学运算方法,对该通信地址进行数学运算处理,得到另一个通信地址,并将得到的另一个通信地址,作为自身的通信地址。

可选的,在本发明的另一个实施例中,所述对所述第一节点设备发送的通信地址,进行设定的数学运算处理,得到自身通信地址,包括:

将所述第一节点设备发送的通信地址加1,得到自身通信地址。

具体的,在本发明实施例中,为节点设备设置简单的数学运算方法,使节点设备能够快速地根据接收的通信地址,计算得到自身通信地址。上述简单的数学运算方法为加1运算,即节点设备将接收的通信地址加1,得到的新的通信地址,作为自身通信地址。

可选的,在本发明的另一个实施例中,当与所述节点设备相邻的第一节点设备为主机设备时,所述接收与所述节点设备相邻的第一节点设备发送的通信地址,包括:

接收与所述节点设备相邻的主机设备发送的,所述主机设备为所述节点设备分配的通信地址。

具体的,当节点设备为与主机设备直接相连的节点设备时,上述与节点设备相邻的第一节点设备,即为上述主机设备。

在本发明实施例中,主机设备直接为与其连接的节点设备分配通信地址,并将分配的通信地址发送给节点设备。

需要说明的是,在上述场景中,即节点设备相邻的第一节点设备为主机设备时,主机设备为该节点设备分配了通信地址,并将通信地址发送给该节点设备后,节点设备不再执行步骤s102,即不用再计算自身的通信地址,而是直接将主机设备发送的,为自身分配的通信地址,发送给与自身相邻的第二节点设备即可。

可选的,在本发明的另一个实施例中,当所述串行总线上的节点设备为所述串行总线上的最后一个节点设备时,在根据所述第一节点设备发送的通信地址,计算得到自身通信地址后,该方法还包括:

按照设定的周期检测是否有新加入的节点设备与所述串行总线上的最后一个节点设备连接;

当检测到有新加入的节点设备与所述串行总线上的最后一个节点设备连接时,将所述自身通信地址发送给所述新加入的节点设备,使所述新加入的节点设备根据所述自身通信地址,计算所述新加入的节点设备自身的通信地址。

具体的,当实施本发明实施例技术方案的节点设备为串行总线上的最后一个节点设备时,由于该节点设备没有相邻的第二节点设备,因此,在计算得到自身的通信地址后,没有可以发送自身通信地址的目的节点设备。

在这种情况下,本发明实施例使节点设备按照设定的周期,检测是否有新加入该串行总线系统的节点设备与该节点设备连接。如果检测到有新加入的节点设备与该节点设备连接,那么该节点设备将已经计算得到的自身通信地址发送给该新加入的节点设备,并且停止检测是否有新加入该串行总线系统的节点设备与该节点设备连接。新加入的节点设备接收到通信地址后,按照s102的方法,计算得到自身的通信地址。

此时,新加入的节点设备同样没有可以发送自身通信地址的目的节点设备,因此,新加入的节点设备开始按照设定的周期,检测是否又有新加入该串行总线系统的节点设备与该新加入的节点设备连接。当又有新加入的节点设备时,将自身通信地址发送给新加入的节点设备。

综上所述,当实施本发明实施例技术方案的节点设备为串行总线的最后一个节点设备时,要通过周期检测新加入的设备,当检测到新加入的设备时,将自身通信地址发送给新加入的设备。

本发明实施例公开了一种分配通信地址的装置,应用于串行总线上的节点设备,参见图3所示,该装置包括:

数据接收单元301,用于接收与所述节点设备相邻的第一节点设备发送的通信地址;

计算单元302,用于根据所述第一节点设备发送的通信地址,计算得到自身通信地址;

数据发送单元303,用于将所述自身通信地址发送给与所述节点设备相邻的第二节点设备,使所述第二节点设备根据所述自身通信地址,计算所述第二节点设备自身的通信地址。

具体的,本实施例中各个单元的具体工作内容,请参见上述方法实施例的内容,此处不再赘述。

可选的,在本发明的另一个实施例中,计算单元302根据所述第一节点设备发送的通信地址,计算得到自身通信地址时,具体用于:

对所述第一节点设备发送的通信地址,进行设定的数学运算处理,得到自身通信地址。

具体的,本实施例中的计算单元302的具体工作内容,请参见上述方法实施例的内容,此处不再赘述。

可选的,在本发明的另一个实施例中,计算单元302对所述第一节点设备发送的通信地址,进行设定的数学运算处理,得到自身通信地址时,具体用于:

将所述第一节点设备发送的通信地址加1,得到自身通信地址。

具体的,本实施例中的计算单元302的具体工作内容,请参见上述方法实施例的内容,此处不再赘述。

可选的,在本发明的另一个实施例中,当与所述节点设备相邻的第一节点设备为主机设备时,数据接收单元301接收与所述节点设备相邻的第一节点设备发送的通信地址时,具体用于:

接收与所述节点设备相邻的主机设备发送的,所述主机设备为所述节点设备分配的通信地址。

具体的,本实施例中的数据接收单元301的具体工作内容,请参见上述方法实施例的内容,此处不再赘述。

可选的,在本发明的另一个实施例中,参见图4所示,该装置还包括:

检测处理单元304,用于当所述串行总线上的节点设备为所述串行总线上的最后一个节点设备时,在计算单元302根据所述第一节点设备发送的通信地址,计算得到自身通信地址后,按照设定的周期检测是否有新加入的节点设备与所述串行总线上的最后一个节点设备连接;当检测到有新加入的节点设备与所述串行总线上的最后一个节点设备连接时,控制数据发送单元303将所述自身通信地址发送给所述新加入的节点设备,使所述新加入的节点设备根据所述自身通信地址,计算所述新加入的节点设备自身的通信地址。

具体的,本实施例中的检测处理单元304的具体工作内容,请参见上述方法实施例的内容,此处不再赘述。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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