CN115208856A - 通信地址的分配方法、分配装置、处理器与通信系统 - Google Patents
通信地址的分配方法、分配装置、处理器与通信系统 Download PDFInfo
- Publication number
- CN115208856A CN115208856A CN202210821240.2A CN202210821240A CN115208856A CN 115208856 A CN115208856 A CN 115208856A CN 202210821240 A CN202210821240 A CN 202210821240A CN 115208856 A CN115208856 A CN 115208856A
- Authority
- CN
- China
- Prior art keywords
- target
- data frame
- slave
- time
- communication address
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 286
- 238000000034 method Methods 0.000 title claims abstract description 99
- 230000004044 response Effects 0.000 claims abstract description 85
- 238000004806 packaging method and process Methods 0.000 claims abstract description 20
- 238000012360 testing method Methods 0.000 claims description 10
- 238000005538 encapsulation Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 19
- 239000000463 material Substances 0.000 description 17
- 238000010586 diagram Methods 0.000 description 9
- 230000001186 cumulative effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000009825 accumulation Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Abstract
本申请提供了一种通信地址的分配方法、分配装置、处理器与通信系统,该分配方法包括:对时间值对应的区间进行分组,得到多个目标时间组,各目标时间组包括至少一个时刻;采用第一预设帧结构,对各目标时间组进行封装,得到多个第一点名数据帧,并对各第一点名数据帧进行广播;在仅接收到一个目标从机响应于目标点名数据帧而发送的回复数据帧的情况下,为目标从机分配通信地址并发送至目标从机,目标点名数据帧为第一点名数据帧或者第二点名数据帧,第二点名数据帧为对目标时间组进行划分得到的多个子目标时间组进行封装得到的,实现了主机自动和快速地为多个从机分配通信地址,从而解决现有技术中对多个从机分配通信地址成本较高的问题。
Description
技术领域
本申请涉及通信领域,具体而言,涉及一种通信地址的分配方法、分配装置、计算机可读存储介质、处理器与通信系统。
背景技术
RS-485通信已运用非常广泛,通信总线上可以下挂多个设备,一般情况下可以为一个主机和多个从机,从机一般最多为255个。由于RS-485通信为半双工通信,在同一时间内,若多个从机同时发送数据,便会造成通信总线数据紊乱。故为了解决上述技术问题,需对每个从机需设置不同的通信地址。但通信地址的配置一般通过硬件设置或软件设置。
其中,硬件设置主要通过拨码开关的方式,通过人工进行配置拨码。该方式效率低、需增加材料成本以及增加人工成本、且由于人工手动配置、容易造成地址冲突,从而使得总线通信异常。软件设置一般通过遥控器或者控制面板增加设置功能,需要人工对每一个从机进行地址设置。该方式也较容易出错、以及造成人工和时间成本的浪费。
因此,亟需一种在不增加人工和材料成本的基础上,能够对多个从机自动分配地址的方法。
在背景技术部分中公开的以上信息只是用来加强对本文所描述技术的背景技术的理解,因此,背景技术中可能包含某些信息,这些信息对于本领域技术人员来说并未形成在本国已知的现有技术。
发明内容
本申请的主要目的在于提供一种通信地址的分配方法、分配装置、计算机可读存储介质、处理器与通信系统,以解决现有技术中对多个从机分配通信地址成本较高的问题。
根据本发明实施例的一个方面,提供了一种通信地址的分配方法,包括:通信系统包括一个主机和多个从机,所述主机存储有时间值,所述分配方法应用于所述主机中,所述分配方法包括:对所述时间值对应的区间进行分组,得到多个目标时间组,各所述目标时间组包括至少一个时刻;采用第一预设帧结构,对各所述目标时间组进行封装,得到多个第一点名数据帧,并对各所述第一点名数据帧进行广播;在仅接收到一个目标从机响应于目标点名数据帧而发送的回复数据帧的情况下,为所述目标从机分配所述通信地址并发送至所述目标从机,所述目标点名数据帧为所述第一点名数据帧或者第二点名数据帧,所述第二点名数据帧为对所述目标时间组进行划分得到的多个子目标时间组进行封装得到的。
可选地,在仅接收到一个目标从机响应于目标点名数据帧而发送的回复数据帧的情况下,为所述目标从机分配所述通信地址并发送至所述目标从机,包括:在仅接收到一个所述目标从机响应于所述第一点名数据帧而发送的所述回复数据帧的情况下,为所述目标从机分配所述通信地址并发送至所述目标从机。
可选地,在仅接收到一个所述目标从机响应于所述第一点名数据帧而发送的所述回复数据帧的情况下,为所述目标从机分配所述通信地址并发送至所述目标从机,包括:在仅接收到一个所述目标从机响应于对应的所述第一点名数据帧而发送的所述回复数据帧的情况下,为所述目标从机分配所述通信地址,其中,所述回复数据帧中携带有所述目标从机的累计时间值;采用第二预设帧结构,对所述通信地址和所述累计时间值进行封装,得到对应的编号数据帧;将所述编号数据帧发送至具有所述累计时间值的所述目标从机。
可选地,所述分配方法还包括:分组步骤,在未接收到所述目标从机响应于对应的所述第一点名数据帧而发送的所述回复数据帧,或者接收到多个所述目标从机响应于对应的所述第一点名数据帧而发送的所述回复数据帧的情况下,对对应的所述第一点名数据帧中的所述目标时间组中的多个时间进行分组,得到多个所述子目标时间组;封装步骤,采用所述第一预设帧结构,对各所述子目标时间组进行封装,得到多个所述第二点名数据帧,并对各所述第二点名数据帧进行广播;第一分配步骤,在仅接收到一个所述目标从机响应于所述第二点名数据帧而发送的回复数据帧的情况下,为所述目标从机分配所述通信地址并发送至所述目标从机。
可选地,在采用所述第一预设帧结构,对各所述子目标时间组进行封装,得到多个所述第二点名数据帧,并对各所述第二点名数据帧进行广播之后,所述分配方法还包括:在未接收到所述目标从机响应于对应的所述第二点名数据帧,或者在接收到多个所述目标从机响应于对应的所述第二点名数据帧而发送的所述回复数据帧的情况下,依次重复执行所述分组步骤、所述封装步骤和所述分配步骤,在所述子目标时间组的单位为预定单位时,且仅接收到一个所述目标从机响应于所述第二点名数据帧而发送的回复数据帧的情况下,为所述目标从机分配所述通信地址并发送至所述目标从机;在所述子目标时间组的单位为所述预定单位时,还未接收到所述目标从机响应于所述第二点名数据帧而发送的所述回复数据帧,或者还接收到多个所述目标从机响应于所述第二点名数据帧而发送的所述回复数据帧的情况下,则停止重复。
可选地,在停止重复之后,所述分配方法还包括:生成步骤,随机生成多个目标时间,并对多个所述目标时间进行分组,得到多个所述子目标时间组;广播步骤,采用所述第一预设帧结构,对各所述子目标时间组进行封装,得到多个所述第二点名数据帧,并对各所述第二点名数据帧进行广播;第二分配步骤,在仅接收到一个所述目标从机响应于所述第二点名数据帧而发送的回复数据帧的情况下,为所述目标从机分配所述通信地址并发送至所述目标从机;在未接收到所述目标从机响应于对应的所述第二点名数据帧,或者在接收到多个所述目标从机响应于对应的所述第二点名数据帧而发送的所述回复数据帧的情况下,依次重复所述生成步骤、广播步骤和所述第二分配步骤至少一次,直到对所有的从机分配所述通信地址。
可选地,所述第一预设帧结构包括第一地址字段、第一功能码字段、第一时间计数码字段以及第一校验字段,其中,所述第一地址字段用于表征所述主机的广播地址,所述第一功能码字段用于表征所述第一预设帧结构的属性,所述第一时间计数码字段用于表征携带的所述目标时间组或者所述子目标时间组以及对应的时间单位。
可选地,所述第二预设帧结构包括第二地址字段、第二功能码字段、第二时间计数码字段、地址编号字段以及第二校验字段,其中,所述第二地址字段用于表征所述主机的广播地址,所述第二功能码字段用于表征所述第二预设帧结构的属性,所述第二时间计数码字段用于表征对应的所述目标从机的累计时间值,所述地址编号字段用于表征携带的所述通信地址。
可选地,所述回复数据帧具有第三预设帧结构,所述第三预设帧结构包括第三地址字段、第三功能码字段、第三时间计数码字段以及第三校验字段,其中,所述第三地址字段用于表征预先设置的所述从机的固定地址,所述第三功能码字段用于表征所述回复数据帧的属性,所述第三时间计数码字段用于表征所述从机的所述累计时间值。
可选地,所述主机通过RS485通信总线与多个所述从机进行通信。
可选地,所述累计时间值为第一累计值、第二累计值和第三累计值之和,其中,所述第一累计值为对应的所述从机从第一次上电到处于测试模式之间的时间与第一随机值的和,所述第二累计值为对应的所述从机从接收到控制信号到对应的所述从机下电之间的时间与第二随机值的和,所述第三累计值为对应的所述从机从非第一次上电与通信信号之间的时间与第三随机值的和,所述控制信号用于控制所述从机进入所述测试模式。
可选地,在为所述目标从机分配所述通信地址并发送至所述目标从机之后,所述分配方法还包括:接收各所述目标从机发送的具有所述通信地址的通信数据帧。
根据本发明实施例的另一方面,还提供了一种通信地址的分配装置,通信系统包括一个主机和多个从机,所述主机存储有时间值,所述分配装置包括:第一分组单元,用于对所述时间值对应的区间进行分组,得到多个目标时间组,各所述目标时间组包括至少一个时刻;第一封装单元,用于采用第一预设帧结构,对各所述目标时间组进行封装,得到多个第一点名数据帧,并对各所述第一点名数据帧进行广播;第一分配单元,用于在仅接收到一个目标从机响应于目标点名数据帧而发送的回复数据帧的情况下,为所述目标从机分配所述通信地址并发送至所述目标从机,所述目标点名数据帧为所述第一点名数据帧或者第二点名数据帧,所述第二点名数据帧为对所述目标时间组进行划分得到的多个子目标时间组进行封装得到的。
根据本发明实施例的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行任意一种所述的通信地址的分配方法。
根据本发明实施例的再一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任意一种所述的通信地址的分配方法。
根据本发明实施例的一方面,还提供了一种通信系统,包括通信地址的分配装置,所述分配装置用于执行任意一种所述的通信地址的分配方法。
在本发明实施例中,所述的通信地址的分配方法中,首先,所述主机对存储的时间值对应的区间进行分组,得到多个目标时间组;然后,所述主机采用第一预设帧结构,对各所述目标时间组进行封装,得到多个第一点名数据帧,并对各所述第一点名数据帧进行广播;最后,目标从机对所述第一点名数据帧进行响应,并发送目标点名数据帧至所述主机,所述主机在接收到所述目标从机发送的所述目标点名数据帧的情况下,为所述目标从机分配通信地址,并发送至所述目标从机。本申请的分配方法与现有技术中通过硬件设置或者软件设置对多个从机分配通信地址相比,本申请的主机在接收目标从机发送的目标点名数据帧的情况下,自动为对应的目标从机分配通信地址并发送至目标从机,即实现了主机自动和较为快速地为多个从机分配通信地址。本申请的分配方法,无需人工对从机分配通信地址,在降低人工成本的同时,还可以降低由于人工分配导致从机的通信地址易产生冲突的问题,保证了可以较为准确地为多个从机分配通信地址。另外,由于主机自动分配通信地址,无需拨码开关等物料,故可以降低物料成本,从而解决了现有技术中对多个从机分配通信地址成本较高的问题。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了根据本申请的一种实施例的通信地址的分配方法的流程图;
图2示出了根据本申请的一种实施例的主机与多个从机的连接示意图;
图3示出了根据本申请的另一种实施例的主机与多个从机的连接示意图;
图4示出了根据本申请的又一种实施例的主机与多个从机的连接示意图;
图5示出了根据本申请的一种实施例中的一个主机与一个从机的硬件连接示意图;
图6示出了根据本申请的一种实施例的通信地址的分配装置的结构示意图;
图7示出了根据本申请的又一种实施例的通信地址的分配方法的流程图;
图8示出了根据本申请的另一种实施例的通信地址的分配方法的流程图。
其中,上述附图包括以下附图标记:
100、主机;101、从机;102、RS485通信总线。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
正如背景技术中所说的,现有技术中对多个从机分配通信地址成本较高,为了解决上述问题,本申请的一种典型的实施方式中,提供了一种通信地址的分配方法、分配装置、计算机可读存储介质、处理器与通信系统。
根据本申请的实施例,提供了一种通信地址的分配方法。
图1是根据本申请实施例的通信地址的分配方法的流程图。通信系统包括一个主机和多个从机,上述主机存储有时间值,上述分配方法应用于上述主机中,如图1所示,该方分配法包括以下步骤:
步骤S101,对上述时间值对应的区间进行分组,得到多个目标时间组,各上述目标时间组包括至少一个时刻;
步骤S102,采用第一预设帧结构,对各上述目标时间组进行封装,得到多个第一点名数据帧,并对各上述第一点名数据帧进行广播;
步骤S103,在仅接收到一个目标从机响应于目标点名数据帧而发送的回复数据帧的情况下,为上述目标从机分配上述通信地址并发送至上述目标从机,上述目标点名数据帧为上述第一点名数据帧或者第二点名数据帧,上述第二点名数据帧为对上述目标时间组进行划分得到的多个子目标时间组进行封装得到的。
上述的通信地址的分配方法中,首先,上述主机对存储的时间值对应的区间进行分组,得到多个目标时间组;然后,上述主机采用第一预设帧结构,对各上述目标时间组进行封装,得到多个第一点名数据帧,并对各上述第一点名数据帧进行广播;最后,目标从机对上述第一点名数据帧进行响应,并发送目标点名数据帧至上述主机,上述主机在接收到上述目标从机发送的上述目标点名数据帧的情况下,为上述目标从机分配通信地址,并发送至上述目标从机。本申请的分配方法与现有技术中通过硬件设置或者软件设置对多个从机分配通信地址相比,本申请的主机在接收目标从机发送的目标点名数据帧的情况下,自动为对应的目标从机分配通信地址并发送至目标从机,即实现了主机自动和较为快速地为多个从机分配通信地址。本申请的分配方法,无需人工对从机分配通信地址,在降低人工成本的同时,还可以降低由于人工分配导致从机的通信地址易产生冲突的问题,保证了可以较为准确地为多个从机分配通信地址。另外,由于主机自动分配通信地址,无需拨码开关等物料,故可以降低物料成本,从而解决了现有技术中对多个从机分配通信地址成本较高的问题。
具体地,上述主机对上述时间值对应的区间进行分组,得到多个目标时间组,具体地为:若上述时间值为10分钟,即对应的区间为[0,10],且单位为分钟。将区间[0,10]划分为10个上述目标时间组,则每一个目标时间组中的时刻可以分别为1、2、3、4、5、6、7、8、9、10。对上述目标时间组进行划分得到的多个子目标时间组,具体地为,例如1分钟对应区间可以为(0,60],且单位为秒。若将(0,60]划分成六个子目标时间组,则可以为[0,9)、[10,19)、[20,29)、[30,39)、[40,49)、[50,59)。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请的一种实施例中,在仅接收到一个目标从机响应于目标点名数据帧而发送的回复数据帧的情况下,为上述目标从机分配上述通信地址并发送至上述目标从机,包括:在仅接收到一个上述目标从机响应于上述第一点名数据帧而发送的上述回复数据帧的情况下,为上述目标从机分配上述通信地址并发送至上述目标从机,这样进一步地实现了主机自动为目标从机分配地址,后续目标从机还可以通过主机发送的通信地址与主机进行通信。
本申请的另一种实施例中,在仅接收到一个上述目标从机响应于上述第一点名数据帧而发送的上述回复数据帧的情况下,为上述目标从机分配上述通信地址并发送至上述目标从机,包括:在仅接收到一个上述目标从机响应于对应的上述第一点名数据帧而发送的上述回复数据帧的情况下,为上述目标从机分配上述通信地址,其中,上述回复数据帧中携带有上述目标从机的累计时间值;采用第二预设帧结构,对上述通信地址和上述累计时间值进行封装,得到对应的编号数据帧;将上述编号数据帧发送至具有上述累计时间值的上述目标从机。在该实施例中,采用第二预设帧结构,对通信地址和目标从机的累计时间值进行封装,得到对应的编号数据帧,这样保证了得到的编号数据帧较为简短,保证了能够较为快速地将编号数据帧发送至目标从机。另外,上述回复数据帧中的累计时间值,为预先存在到目标从机中的。上述累计时间值可以看作为目标从机的预分配地址,主机将编号数据帧发送至对应的具有该累计时间值的目标从机,这样可以进一步地较为准确地为目标从机分配通信地址。
具体地,上述编号数据帧并不限于包括通信地址和累计时间值,还可以包括其他的信息。例如,校验字段、以及用于表征编号数据帧的字段等等。也就是说,上述编号数据帧携带的内容是可以根据实际情况进行调整的。
在实际的应用过程中,若多个目标从机响应于主机发送的第一点名数据帧,这种情况下,会导致主机并不知晓是哪一个目标从机发送的回复数据帧,从而使得主机难以较为准确地对目标从机分配通信地址并发送至对应的目标从机,故在本申请的又一种实施例中,上述分配方法还包括:分组步骤,在未接收到上述目标从机响应于对应的上述第一点名数据帧而发送的上述回复数据帧,或者接收到多个上述目标从机响应于对应的上述第一点名数据帧而发送的上述回复数据帧的情况下,对对应的上述第一点名数据帧中的上述目标时间组中的多个时间进行分组,得到多个上述子目标时间组;封装步骤,采用上述第一预设帧结构,对各上述子目标时间组进行封装,得到多个上述第二点名数据帧,并对各上述第二点名数据帧进行广播;第一分配步骤,在仅接收到一个上述目标从机响应于上述第二点名数据帧而发送的回复数据帧的情况下,为上述目标从机分配上述通信地址并发送至上述目标从机。
为了进一步地较为准确地对从机分配通信地址,本申请的再一种实施例中,在采用上述第一预设帧结构,对各上述子目标时间组进行封装,得到多个上述第二点名数据帧,并对各上述第二点名数据帧进行广播之后,上述分配方法还包括:在未接收到上述目标从机响应于对应的上述第二点名数据帧,或者在接收到多个上述目标从机响应于对应的上述第二点名数据帧而发送的上述回复数据帧的情况下,依次重复执行上述分组步骤、上述封装步骤和上述分配步骤,在上述子目标时间组的单位为预定单位时,且仅接收到一个上述目标从机响应于上述第二点名数据帧而发送的回复数据帧的情况下,为上述目标从机分配上述通信地址并发送至上述目标从机;在上述子目标时间组的单位为上述预定单位时,还未接收到上述目标从机响应于上述第二点名数据帧而发送的上述回复数据帧,或者还接收到多个上述目标从机响应于上述第二点名数据帧而发送的上述回复数据帧的情况下,则停止重复。
具体地,上述预定单位可以为根据经验值确定的。例如,在上述子目标时间组中各时刻的单位毫秒时,还未接收到上述目标从机响应于上述第二点名数据帧而发送的上述回复数据帧,或者还接收到多个上述目标从机响应于上述第二点名数据帧而发送的上述回复数据帧的情况下,则停止重复。
为了进一步地保证为每一个从机均分配到通信地址,以及保证本申请的分配方法的稳定性较高,本申请的一种实施例中,在停止重复之后,上述分配方法还包括:生成步骤,随机生成多个目标时间,并对多个上述目标时间进行分组,得到多个上述子目标时间组;广播步骤,采用上述第一预设帧结构,对各上述子目标时间组进行封装,得到多个上述第二点名数据帧,并对各上述第二点名数据帧进行广播;第二分配步骤,在仅接收到一个上述目标从机响应于上述第二点名数据帧而发送的回复数据帧的情况下,为上述目标从机分配上述通信地址并发送至上述目标从机;在未接收到上述目标从机响应于对应的上述第二点名数据帧,或者在接收到多个上述目标从机响应于对应的上述第二点名数据帧而发送的上述回复数据帧的情况下,依次重复上述生成步骤、广播步骤和上述第二分配步骤至少一次,直到对所有的从机分配上述通信地址。
具体地,上述随机生成多个目标时间,比如说可以在预设的区间中随机生成多个目标时间。在将各目标时间按照一定的规则进行分组,这样可以得到多个子目标时间组。
具体地,在实际的应用过程中,主机还可以随机生成一个时间值,并对该时间值对应的区间进行分组。当然,也可以随机生成一个时间区间,并该时间区间进行划分,得到多个子目标时间组。
本申请的另一种实施例中,如表一所示,上述第一预设帧结构包括第一地址字段、第一功能码字段、第一时间计数码字段以及第一校验字段,其中,上述第一地址字段用于表征上述主机的广播地址,上述第一功能码字段用于表征上述第一预设帧结构的属性,上述第一时间计数码字段用于表征携带的上述目标时间组或者上述子目标时间组以及对应的时间单位,这样可以保证后续采用第一预设帧结构封装得到的点名数据帧较为简短,进一步地缩短主机对各从机的点名时间,进一步地保证了主机可以较为快速地为多个从机分配通信地址。
表一
第一地址字段 | 第一功能码字段 | 第一时间计数码字段 | 第一校验字段 |
1Byte | 1Byte | 1Bytes | 2Bytes |
具体地,如表一所示,第一地址字段用于表征上述主机的广播地址,例如,为0x00。第一功能码字段用于表征上述第一预设帧结构的属性,例如,通过第一预设帧结构进行封装得到的点名数据帧是用于主机对从机进行点名。上述第一时间计数码字段用于表征携带的上述目标时间组或者上述子目标时间组以及对应的时间单位。例如,第一预设帧结构对秒[0,9)封装,则第一时间计数码字段不仅具有[0,9),还具有[0,9)的时间单位,即秒。其中,表一中示出了各字段均占用1Byte,这样可以进一步地保证采用第一预设帧结构进行封装得到的点名数据帧较为简短。当然,在实际的应用过程中各字段占用的字节大小可以根据实际的应用情况进行调整。
具体地,在第一时间计数码字段为1Byte的情况下,bit7~bit6为(1,1)的情况下,则表示目标时间组或者子目标时间组的时间单位为分钟;bit7~bit6为(1,0)的情况下,则表示目标时间组或者子目标时间组的时间为秒;bit7~bit6为(0,1)的情况下,则表示目标时间组或者子目标时间组的时间为毫秒;bit7~bit6为(0,0)的情况下,则表示目标时间组或者子目标时间组的时间为毫秒细分区间。另外,Bit5~bit0用于表征各目标时间组或者子目标时间组。
本申请的又一种实施例中,如表二所示,上述第二预设帧结构包括第二地址字段、第二功能码字段、第二时间计数码字段、地址编号字段以及第二校验字段,其中,上述第二地址字段用于表征上述主机的广播地址,例如,0X00,上述第二功能码字段用于表征上述第二预设帧结构的属性,例如,用于表征采用第二预设帧结构得到的编号数据帧用于表征主机对从机分配的通信地址的数据帧,上述第二时间计数码字段用于表征对应的上述目标从机的累计时间值,上述地址编号字段用于表征携带的上述通信地址。在该实施例中,编号数据帧中携带有累计时间值,这样主机可以将编号数据帧发送至对应的具有该累计时间值的目标从机,进一步地较为准确地为目标从机分配通信地址。
表二
具体地,如表二所示的各字段占用的字节大小,这样可以保证后续采用第二预设帧结构封装得到的编号数据帧较为简短,进一步地较为快速地将对应的编号数据帧发送至对应的目标从机,进一步地保证了主机可以较为快速地为多个从机分配通信地址。在实际的应用过程中,各字段占用的字节大小是可以根据实际的应用情况进行调整的。
本申请的再一种实施例中,如表三所示,上述回复数据帧具有第三预设帧结构,上述第三预设帧结构包括第三地址字段、第三功能码字段、第三时间计数码字段以及第三校验字段,其中,上述第三地址字段用于表征预先设置的上述从机的固定地址,例如,0xAA,上述第三功能码字段用于表征上述回复数据帧的属性,例如,用于表征上述回复数据帧为响应于点名点数据帧的数据帧,上述第三时间计数码字段用于表征上述从机的上述累计时间值。
表三
具体地,如表三所示的各字段占用的字节大小,这样可以保证回复数据帧较为简短,进一步地保证了主机较为快速地接收到回复数据帧,进一步地保证了主机可以较为快速地为多个从机分配通信地址。在实际的应用过程中,各字段占用的字节大小是可以根据实际的应用情况进行调整的。
具体地,如表一、表二和表三分别所示的第一校验字段、第二校验字段以及第三校验字段均可以为CRC(循环冗余校验,Cyclic Redundancy Check,简称CRC)校验。
本申请的一种实施例中,上述主机通过RS485通信总线与多个上述从机进行通信。
本申请的一种具体的实施例中,如图2、图3以及图4,均为主机100和多个从机101通过RS485通信总线102的相连接的示意图。
本申请的一种具体的实施例中,如图5所示,为一个主机和一个从机的连接硬件连接图。在实际的应用过程中,若RS485通信总线具有反转功能,则主机的针脚A和针脚B还可以与从机的针脚A和针脚B进行反接。
本申请的又一种实施例中,上述累计时间值为第一累计值、第二累计值和第三累计值之和,其中,上述第一累计值为对应的上述从机从第一次上电到处于测试模式之间的时间与第一随机值的和,上述第二累计值为对应的上述从机从接收到控制信号到对应的上述从机下电之间的时间与第二随机值的和,上述第三累计值为对应的上述从机从非第一次上电与通信信号之间的时间与第三随机值的和,上述控制信号用于控制上述从机进入上述测试模式。具体地,在该实施例中,上述累计时间值预先存储到对应的从机当中,形成从机的预分配地址,后续可以从机可以响应于主机的点名数据帧,发送回复数据帧至从机,进一步地实现主机自动对各从机分配地址。另外,在该实施例中,还引入了第一累计值、第二累计值和第三累计值,这样可以进一步地保证每个从机的累计计数值的长短不一致,进一步地保证了可以较为可靠地为从机分配的通信地址。
本申请的另一种实施例中,在为目标从机分配上述通信地址并发送至上述目标从机之后,上述分配方法还包括:接收各上述目标从机发送的具有上述通信地址的通信数据帧,这样进一步地实现了主机和从机之间通过通信地址进行通信。
本申请实施例还提供了一种通信地址的分配装置,需要说明的是,本申请实施例的通信地址的分配装置可以用于执行本申请实施例所提供的用于通信地址的分配方法。以下对本申请实施例提供的通信地址的分配装置进行介绍。
图6是根据本申请实施例的通信地址的分配装置的结构示意图。通信系统包括一个主机和多个从机,主机存储有时间值,如图6所示,该分配装置包括:
第一分组单元10,用于对上述时间值对应的区间进行分组,得到多个目标时间组,各上述目标时间组包括至少一个时刻;
第一封装单元20,用于采用第一预设帧结构,对各上述目标时间组进行封装,得到多个第一点名数据帧,并对各上述第一点名数据帧进行广播;
第一分配单元30,用于在仅接收到一个目标从机响应于目标点名数据帧而发送的回复数据帧的情况下,为上述目标从机分配上述通信地址并发送至上述目标从机,上述目标点名数据帧为上述第一点名数据帧或者第二点名数据帧,上述第二点名数据帧为对上述目标时间组进行划分得到的多个子目标时间组进行封装得到的。
上述的分配装置中,第一分组单元用于对上述时间值对应的区间进行分组,得到多个目标时间组,各上述目标时间组包括至少一个时刻;第一封装单元用于采用第一预设帧结构,对各上述目标时间组进行封装,得到多个第一点名数据帧,并对各上述第一点名数据帧进行广播;第一分配单元用于在仅接收到一个目标从机响应于目标点名数据帧而发送的回复数据帧的情况下,为上述目标从机分配上述通信地址并发送至上述目标从机,上述目标点名数据帧为上述第一点名数据帧或者第二点名数据帧,上述第二点名数据帧为对上述目标时间组进行划分得到的多个子目标时间组进行封装得到的。本申请的分配方法与现有技术中通过硬件设置或者软件设置对多个从机分配通信地址相比,本申请的主机在接收目标从机发送的目标点名数据帧的情况下,自动为对应的目标从机分配通信地址并发送至目标从机,即实现了主机自动和较为快速地为多个从机分配通信地址。本申请的分配装置,无需人工对从机分配通信地址,在降低人工成本的同时,还可以降低由于人工分配导致从机的通信地址易产生冲突的问题,保证了可以较为准确地为多个从机分配通信地址。另外,由于主机自动分配通信地址,无需拨码开关等物料,故可以降低物料成本,从而解决了现有技术中对多个从机分配通信地址成本较高的问题。
具体地,上述主机对上述时间值对应的区间进行分组,得到多个目标时间组,具体地为:若上述时间值为10分钟,即对应的区间为[0,10],且单位为分钟。将区间[0,10]划分为10个上述目标时间组,则每一个目标时间组中的时刻可以分别为1、2、3、4、5、6、7、8、9、10。对上述目标时间组进行划分得到的多个子目标时间组,具体地为,例如1分钟对应区间可以为(0,60],且单位为秒。若将(0,60]划分成六个子目标时间组,则可以为[0,9)、[10,19)、[20,29)、[30,39)、[40,49)、[50,59)。
本申请的一种实施例中,上述第一分配单元包括分配模块,用于在仅接收到一个上述目标从机响应于上述第一点名数据帧而发送的上述回复数据帧的情况下,为上述目标从机分配上述通信地址并发送至上述目标从机,这样进一步地实现了主机自动为目标从机分配地址,后续目标从机还可以通过主机发送的通信地址与主机进行通信。
本申请的另一种实施例中,上述分配模块包括分配子模块、封装子模块和发送子模块,其中,上述分配子模块用于在仅接收到一个上述目标从机响应于对应的上述第一点名数据帧而发送的上述回复数据帧的情况下,为上述目标从机分配上述通信地址,其中,上述回复数据帧中携带有上述目标从机的累计时间值;上述封装子模块用于采用第二预设帧结构,对上述通信地址和上述累计时间值进行封装,得到对应的编号数据帧;上述发送子模块用于将上述编号数据帧发送至具有上述累计时间值的上述目标从机。在该实施例中,采用第二预设帧结构,对通信地址和目标从机的累计时间值进行封装,得到对应的编号数据帧,这样保证了得到的编号数据帧较为简短,保证了能够较为快速地将编号数据帧发送至目标从机。另外,上述回复数据帧中的累计时间值,为预先存在到目标从机中的。上述累计时间值可以看作为目标从机的预分配地址,主机将编号数据帧发送至对应的具有该累计时间值的目标从机,这样可以进一步地较为准确地为目标从机分配通信地址。
具体地,上述编号数据帧并不限于包括通信地址和累计时间值,还可以包括其他的信息。例如,校验字段、以及用于表征编号数据帧的字段等等。也就是说,上述编号数据帧携带的内容是可以根据实际情况进行调整的。
在实际的应用过程中,若多个目标从机响应于主机发送的第一点名数据帧,这种情况下,会导致主机并不知晓是哪一个目标从机发送的回复数据帧,从而使得主机难以较为准确地对目标从机分配通信地址并发送至对应的目标从机,故在本申请的又一种实施例中,上述分配装置还包括第二分组单元、第二封装单元和第二分配单元,其中,上述第二分组单元用于分组步骤,在未接收到上述目标从机响应于对应的上述第一点名数据帧而发送的上述回复数据帧,或者接收到多个上述目标从机响应于对应的上述第一点名数据帧而发送的上述回复数据帧的情况下,对对应的上述第一点名数据帧中的上述目标时间组中的多个时间进行分组,得到多个上述子目标时间组;上述第二封装单元用于封装步骤,采用上述第一预设帧结构,对各上述子目标时间组进行封装,得到多个上述第二点名数据帧,并对各上述第二点名数据帧进行广播;上述第二分配单元用于第一分配步骤,在仅接收到一个上述目标从机响应于上述第二点名数据帧而发送的回复数据帧的情况下,为上述目标从机分配上述通信地址并发送至上述目标从机。
为了进一步地较为准确地对从机分配通信地址,本申请的再一种实施例中,上述分配装置还包括重复单元和停止单元,其中,上述重复单元用于在采用上述第一预设帧结构,对各上述子目标时间组进行封装,得到多个上述第二点名数据帧,并对各上述第二点名数据帧进行广播之后,在未接收到上述目标从机响应于对应的上述第二点名数据帧,或者在接收到多个上述目标从机响应于对应的上述第二点名数据帧而发送的上述回复数据帧的情况下,依次重复执行上述分组步骤、上述封装步骤和上述分配步骤,在上述子目标时间组的单位为预定单位时,且仅接收到一个上述目标从机响应于上述第二点名数据帧而发送的回复数据帧的情况下,为上述目标从机分配上述通信地址并发送至上述目标从机;上述停止单元用于在上述子目标时间组的单位为上述预定单位时,还未接收到上述目标从机响应于上述第二点名数据帧而发送的上述回复数据帧,或者还接收到多个上述目标从机响应于上述第二点名数据帧而发送的上述回复数据帧的情况下,则停止重复。
具体地,上述预定单位可以为根据经验值确定的。例如,在上述子目标时间组中各时刻的单位毫秒时,还未接收到上述目标从机响应于上述第二点名数据帧而发送的上述回复数据帧,或者还接收到多个上述目标从机响应于上述第二点名数据帧而发送的上述回复数据帧的情况下,则停止重复。
为了进一步地保证为每一个从机均分配到通信地址,以及保证本申请的分配方法的稳定性较高,本申请的一种实施例中,上述分配装置还包括生成单元、广播单元和第三分配单元,其中,上述生成单元用于在停止重复之后,生成步骤,随机生成多个目标时间,并对多个上述目标时间进行分组,得到多个上述子目标时间组;上述广播单元用于广播步骤,采用上述第一预设帧结构,对各上述子目标时间组进行封装,得到多个上述第二点名数据帧,并对各上述第二点名数据帧进行广播;上述第三分配单元用于第二分配步骤,在仅接收到一个上述目标从机响应于上述第二点名数据帧而发送的回复数据帧的情况下,为上述目标从机分配上述通信地址并发送至上述目标从机;在未接收到上述目标从机响应于对应的上述第二点名数据帧,或者在接收到多个上述目标从机响应于对应的上述第二点名数据帧而发送的上述回复数据帧的情况下,依次重复上述生成步骤、广播步骤和上述第二分配步骤至少一次,直到对所有的从机分配上述通信地址。
具体地,上述随机生成多个目标时间,比如说可以在预设的区间中随机生成多个目标时间。在将各目标时间按照一定的规则进行分组,这样可以得到多个子目标时间组。
具体地,在实际的应用过程中,主机还可以随机生成一个时间值,并对该时间值对应的区间进行分组。当然,也可以随机生成一个时间区间,并该时间区间进行划分,得到多个子目标时间组。
本申请的另一种实施例中,如表一所示,上述第一预设帧结构包括第一地址字段、第一功能码字段、第一时间计数码字段以及第一校验字段,其中,上述第一地址字段用于表征上述主机的广播地址,上述第一功能码字段用于表征上述第一预设帧结构的属性,上述第一时间计数码字段用于表征携带的上述目标时间组或者上述子目标时间组以及对应的时间单位,这样可以保证后续采用第一预设帧结构封装得到的点名数据帧较为简短,进一步地缩短主机对各从机的点名时间,进一步地保证了主机可以较为快速地为多个从机分配通信地址。
具体地,如表一所示,第一地址字段用于表征上述主机的广播地址,例如,为0x00。第一功能码字段用于表征上述第一预设帧结构的属性,例如,通过第一预设帧结构进行封装得到的点名数据帧是用于主机对从机进行点名。上述第一时间计数码字段用于表征携带的上述目标时间组或者上述子目标时间组以及对应的时间单位。例如,第一预设帧结构对秒[0,9)封装,则第一时间计数码字段不仅具有[0,9),还具有[0,9)的时间单位,即秒。其中,表一中示出了各字段均占用1Byte,这样可以进一步地保证采用第一预设帧结构进行封装得到的点名数据帧较为简短。当然,在实际的应用过程中各字段占用的字节大小可以根据实际的应用情况进行调整。
具体地,在第一时间计数码字段为1Byte的情况下,bit7~bit6为(1,1)的情况下,则表示目标时间组或者子目标时间组的时间单位为分钟;bit7~bit6为(1,0)的情况下,则表示目标时间组或者子目标时间组的时间为秒;bit7~bit6为(0,1)的情况下,则表示目标时间组或者子目标时间组的时间为毫秒;bit7~bit6为(0,0)的情况下,则表示目标时间组或者子目标时间组的时间为毫秒细分区间。另外,Bit5~bit0用于表征各目标时间组或者子目标时间组。
本申请的又一种实施例中,如表二所示,上述第二预设帧结构包括第二地址字段、第二功能码字段、第二时间计数码字段、地址编号字段以及第二校验字段,其中,上述第二地址字段用于表征上述主机的广播地址,例如,0X00,上述第二功能码字段用于表征上述第二预设帧结构的属性,例如,用于表征采用第二预设帧结构得到的编号数据帧用于表征主机对从机分配的通信地址的数据帧,上述第二时间计数码字段用于表征对应的上述目标从机的累计时间值,上述地址编号字段用于表征携带的上述通信地址。在该实施例中,编号数据帧中携带有累计时间值,这样主机可以将编号数据帧发送至对应的具有该累计时间值的目标从机,进一步地较为准确地为目标从机分配通信地址。
具体地,如表二所示的各字段占用的字节大小,这样可以保证后续采用第二预设帧结构封装得到的编号数据帧较为简短,进一步地较为快速地将对应的编号数据帧发送至对应的目标从机,进一步地保证了主机可以较为快速地为多个从机分配通信地址。在实际的应用过程中,各字段占用的字节大小是可以根据实际的应用情况进行调整的。
本申请的再一种实施例中,如表三所示,上述回复数据帧具有第三预设帧结构,上述第三预设帧结构包括第三地址字段、第三功能码字段、第三时间计数码字段以及第三校验字段,其中,上述第三地址字段用于表征预先设置的上述从机的固定地址,例如,0xAA,上述第三功能码字段用于表征上述回复数据帧的属性,例如,用于表征上述回复数据帧为响应于点名点数据帧的数据帧,上述第三时间计数码字段用于表征上述从机的上述累计时间值。
具体地,如表三所示的各字段占用的字节大小,这样可以保证回复数据帧较为简短,进一步地保证了主机较为快速地接收到回复数据帧,进一步地保证了主机可以较为快速地为多个从机分配通信地址。在实际的应用过程中,各字段占用的字节大小是可以根据实际的应用情况进行调整的。
具体地,如表一、表二和表三分别所示的第一校验字段、第二校验字段以及第三校验字段均可以为CRC(循环冗余校验,Cyclic Redundancy Check,简称CRC)校验。
本申请的一种实施例中,上述主机通过RS485通信总线与多个上述从机进行通信。
本申请的一种具体的实施例中,如图2、图3以及图4,均为主机100和多个从机101通过RS485通信总线102的相连接的示意图。
本申请的一种具体的实施例中,如图5所示,为一个主机和一个从机的连接硬件连接图。在实际的应用过程中,若RS485通信总线具有反转功能,则主机的针脚A和针脚B还可以与从机的针脚A和针脚B进行反接。
本申请的又一种实施例中,上述累计时间值为第一累计值、第二累计值和第三累计值之和,其中,上述第一累计值为对应的上述从机从第一次上电到处于测试模式之间的时间与第一随机值的和,上述第二累计值为对应的上述从机从接收到控制信号到对应的上述从机下电之间的时间与第二随机值的和,上述第三累计值为对应的上述从机从非第一次上电与通信信号之间的时间与第三随机值的和,上述控制信号用于控制上述从机进入上述测试模式。具体地,在该实施例中,上述累计时间值预先存储到对应的从机当中,形成从机的预分配地址,后续可以从机可以响应于主机的点名数据帧,发送回复数据帧至从机,进一步地实现主机自动对各从机分配地址。另外,在该实施例中,还引入了第一累计值、第二累计值和第三累计值,这样可以进一步地保证每个从机的累计计数值的长短不一致,进一步地保证了可以较为可靠地为从机分配的通信地址。
本申请的另一种实施例中,在为目标从机分配上述通信地址并发送至上述目标从机之后,上述分配方法还包括:接收各上述目标从机发送的具有上述通信地址的通信数据帧,这样进一步地实现了主机和从机之间通过通信地址进行通信。
上述通信地址的分配装置包括处理器和存储器,上述第一分组单元、第一封装单元和第一分配单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术中对多个从机分配通信地址成本较高的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述通信地址的分配方法。
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述通信地址的分配方法。
本申请的一种典型的实施例中,还提供了一种通信系统,上述通信系统包括通信地址的分配装置,上述分配装置用于执行任意一种上述的通信地址的分配方法。
上述的通信系统中包括上述的通信地址的分配装置,上述分配装置可以执行上述任一种上述的通信地址的分配方法。上述的分配方法与现有技术中通过硬件设置或者软件设置对多个从机分配通信地址相比,本申请的主机在接收目标从机发送的目标点名数据帧的情况下,自动为对应的目标从机分配通信地址并发送至目标从机,即实现了主机自动和较为快速地为多个从机分配通信地址。本申请的分配方法,无需人工对从机分配通信地址,在降低人工成本的同时,还可以降低由于人工分配导致从机的通信地址易产生冲突的问题,保证了可以较为准确地为多个从机分配通信地址。另外,由于主机自动分配通信地址,无需拨码开关等物料,故可以降低物料成本,从而解决了现有技术中对多个从机分配通信地址成本较高的问题。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
步骤S101,对上述时间值对应的区间进行分组,得到多个目标时间组,各上述目标时间组包括至少一个时刻;
步骤S102,采用第一预设帧结构,对各上述目标时间组进行封装,得到多个第一点名数据帧,并对各上述第一点名数据帧进行广播;
步骤S103,在仅接收到一个目标从机响应于目标点名数据帧而发送的回复数据帧的情况下,为上述目标从机分配上述通信地址并发送至上述目标从机,上述目标点名数据帧为上述第一点名数据帧或者第二点名数据帧,上述第二点名数据帧为对上述目标时间组进行划分得到的多个子目标时间组进行封装得到的。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
步骤S101,对上述时间值对应的区间进行分组,得到多个目标时间组,各上述目标时间组包括至少一个时刻;
步骤S102,采用第一预设帧结构,对各上述目标时间组进行封装,得到多个第一点名数据帧,并对各上述第一点名数据帧进行广播;
步骤S103,在仅接收到一个目标从机响应于目标点名数据帧而发送的回复数据帧的情况下,为上述目标从机分配上述通信地址并发送至上述目标从机,上述目标点名数据帧为上述第一点名数据帧或者第二点名数据帧,上述第二点名数据帧为对上述目标时间组进行划分得到的多个子目标时间组进行封装得到的。
为了本领域技术人员能够更加清楚地了解本申请的技术方案,以下将结合具体的实施例来说明本申请的技术方案和技术效果。
实施例1
如图7和图8所示,各从机分别配置一个时间定时器,且该时间定时器的计数单位为1ms。首先,判断从机是否为第一次上电。在从机第一次上电的情况下,该时间定时器开始进行计数,直到该从机进入测试模式,时间定时器停止计数,得到时间计数为N1。从机随机产生一个第一随机值T1。此时得到第一累计值n1=T1+N1,并将第一累计值存入到从机的记忆芯片中,待从机下一次上电读取使用。在从机接收收到按键或遥控器等控制信号时,即从机进入测试模式,这时该时间定时器开始计数,每间隔t时间产生一个随机数值N2,且从机随机产生一个第二随机值T2,直到该从机下电为止,停止计数。此时得到第二累计值n2=t*T2+N2并将第二累计值存入从机的记忆芯片,待从机下一次上电读取使用。在从机非第一次上电的情况下,确定该从机是否已经重新编号。若未重新编号,该时间定时器开始计数,直到从机接收到主机发送的通信信号为止,得到N3,且生成一个第三随机值T3,将此第三累计值n3=N3+T3存入记忆芯片。根据第一累计值、第二累计值和第三累计值,可得一个累计时间值n=n1+n2+n3,将此累计时间值存入记忆芯片,并设定为对应从机的预分配地址。当然,在实际的应用过程中,上述累计时间值可以不超过10分钟。
实施例2
如图7和图8所示,主机对多个从机进行点名的具体过程。
首先,主机按照第一预设帧结构,对各目标时间组进行封装,得到第一点名数据帧,并对各第一点名数据帧进行广播。即主机先根据第一点名数据帧,对累计计数值的时间单位为分钟的从机进行点名。若接收到一个目标从机响应于第一点名数据帧而发送的回复数据帧的情况下,主机为该目标从机分配通信地址,并以编号数据帧的形式将该通信地址发送至目标从机。若未接收到目标从机响应于第一点名数据帧而发送的回复数据帧,或者接收到多个目标从机响应于第一点名数据帧而发送的回复数据帧,则主机开始对累计计数值的时间单位为秒的从机进行点名。即对目标时间组进行再次划分,得到时间单位为秒的子目标时间组。
例如,1分钟对应着60秒,将60秒分为6组,具有如下子目标时间组:[0,9)、[10,19)、[20,29)、[30,39)、[40,49)、[50,59)。主机采用第一预设帧结构,对各子目标时间组进行封装,得到多个第二点名数据帧,主机对各第二点名数据帧进行广播。若接收到一个目标从机响应于第二点名数据帧而发送的回复数据帧的情况下,主机为该目标从机分配通信地址,并以编号数据帧的形式将该通信地址发送至目标从机。若未接收到目标从机响应于第二点名数据帧而发送的回复数据帧,则主机按照无对应的从机进行处理。若接收到多个目标从机响应于第二点名数据帧而发送的回复数据帧,则主机对子目标时间组进行再次划分,再次得到子目标时间组。例如,主机对区间[0,9),按照由低到高的顺序,将子目标时间组划分为0、1、2、3、4、5、6、7、8和9。再次采用第一预设帧结构,分别对0、1、2、3、4、5、6、7、8和9,得到多个第二点名数据帧,并对各第二点名数据帧进行广播。直到主机的子目标时间组的单位为毫秒。
例如,将1000毫秒分为20组,具有如下子目标时间组:[0,49)、[50,99)、[100,149)、[150,199)、[200,249)、[250,299)、[300,349)、[350,399)、[400,449)、[450,499)、[500,549)、[550,599)、[600,649)、[650,699)、[700,749)、[750,799)、[800,849)、[850,899)、[900,949)、[950,999)。主机采用第一预设帧结构,对各子目标时间组进行封装,得到多个第二点名数据帧,主机对各第二点名数据帧进行广播。若接收到一个目标从机响应于第二点名数据帧而发送的回复数据帧的情况下,主机为该目标从机分配通信地址,并以编号数据帧的形式将该通信地址发送至目标从机。若未接收到目标从机响应于第二点名数据帧而发送的回复数据帧,则主机按照无对应的从机进行处理。若接收到多个目标从机响应于第二点名数据帧而发送的回复数据帧,则主机对子目标时间组进行再次划分,再次得到子目标时间组。例如,主机对区间[0,49),按照由低到高的顺序,将子目标时间组划分为0、1、2、3、4、5、6、7、8、…、49。再次采用第一预设帧结构,分别对0、1、2、3、4、5、6、7、8、…、49,得到多个第二点名数据帧,并对各第二点名数据帧进行广播。
若接收到一个目标从机响应于第二点名数据帧而发送的回复数据帧,则主机为该目标从机分配通信地址,并以编号数据帧的形式将该通信地址发送至目标从机。若未接收到目标从机响应于第二点名数据帧而发送的回复数据帧,则主机按照无对应的从机进行处理。若接收到多个目标从机响应于第二点名数据帧而发送的回复数据帧,则主机随机生成多个目标时间T4,并再次划分为子目标时间组,以及采用第一预设帧结构进行封装,得到多个第二点名数据帧进行封装,且主机再次对多个第二点名数据帧进行广播。
若接收到一个目标从机响应于第二点名数据帧而发送的回复数据帧,则主机为该目标从机分配通信地址,并以编号数据帧的形式将该通信地址发送至目标从机。若未接收到目标从机响应于第二点名数据帧而发送的回复数据帧,则主机按照无对应的从机进行处理。若接收到多个目标从机响应于第二点名数据帧而发送的回复数据帧,则主机再次随机生成多个目标时间,并再次划分为子目标时间组,以及采用第一预设帧结构进行封装,得到多个第二点名数据帧进行封装,且主机再次对多个第二点名数据帧进行广播。
通过上述的分配方法,可以实现自动为各从机分配通信地址。本申请的分配方法无需增加任何材料成本、人工成本、时间成本,便可实现自动分配地址。且由于累计计数值中具有随机产生的随机值,从而使得每个从机的累计计数值长短不一,故可以提高通信地址分配的可靠性及时效性,并提高产品智能化。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:
1)、本申请的通信地址的分配方法中,首先,上述主机对存储的时间值对应的区间进行分组,得到多个目标时间组;然后,上述主机采用第一预设帧结构,对各上述目标时间组进行封装,得到多个第一点名数据帧,并对各上述第一点名数据帧进行广播;最后,目标从机对上述第一点名数据帧进行响应,并发送目标点名数据帧至上述主机,上述主机在接收到上述目标从机发送的上述目标点名数据帧的情况下,为上述目标从机分配通信地址,并发送至上述目标从机。本申请的分配方法与现有技术中通过硬件设置或者软件设置对多个从机分配通信地址相比,本申请的主机在接收目标从机发送的目标点名数据帧的情况下,自动为对应的目标从机分配通信地址并发送至目标从机,即实现了主机自动和较为快速地为多个从机分配通信地址。本申请的分配方法,无需人工对从机分配通信地址,在降低人工成本的同时,还可以降低由于人工分配导致从机的通信地址易产生冲突的问题,保证了可以较为准确地为多个从机分配通信地址。另外,由于主机自动分配通信地址,无需拨码开关等物料,故可以降低物料成本,从而解决了现有技术中对多个从机分配通信地址成本较高的问题。
2)、本申请的分配装置中,第一分组单元用于对上述时间值对应的区间进行分组,得到多个目标时间组,各上述目标时间组包括至少一个时刻;第一封装单元用于采用第一预设帧结构,对各上述目标时间组进行封装,得到多个第一点名数据帧,并对各上述第一点名数据帧进行广播;第一分配单元用于在仅接收到一个目标从机响应于目标点名数据帧而发送的回复数据帧的情况下,为上述目标从机分配上述通信地址并发送至上述目标从机,上述目标点名数据帧为上述第一点名数据帧或者第二点名数据帧,上述第二点名数据帧为对上述目标时间组进行划分得到的多个子目标时间组进行封装得到的。本申请的分配方法与现有技术中通过硬件设置或者软件设置对多个从机分配通信地址相比,本申请的主机在接收目标从机发送的目标点名数据帧的情况下,自动为对应的目标从机分配通信地址并发送至目标从机,即实现了主机自动和较为快速地为多个从机分配通信地址。本申请的分配装置,无需人工对从机分配通信地址,在降低人工成本的同时,还可以降低由于人工分配导致从机的通信地址易产生冲突的问题,保证了可以较为准确地为多个从机分配通信地址。另外,由于主机自动分配通信地址,无需拨码开关等物料,故可以降低物料成本,从而解决了现有技术中对多个从机分配通信地址成本较高的问题。
3)、本申请的通信系统中包括上述的通信地址的分配装置,上述分配装置可以执行上述任一种上述的通信地址的分配方法。上述的分配方法与现有技术中通过硬件设置或者软件设置对多个从机分配通信地址相比,本申请的主机在接收目标从机发送的目标点名数据帧的情况下,自动为对应的目标从机分配通信地址并发送至目标从机,即实现了主机自动和较为快速地为多个从机分配通信地址。本申请的分配方法,无需人工对从机分配通信地址,在降低人工成本的同时,还可以降低由于人工分配导致从机的通信地址易产生冲突的问题,保证了可以较为准确地为多个从机分配通信地址。另外,由于主机自动分配通信地址,无需拨码开关等物料,故可以降低物料成本,从而解决了现有技术中对多个从机分配通信地址成本较高的问题。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (16)
1.一种通信地址的分配方法,其特征在于,通信系统包括一个主机和多个从机,所述主机存储有时间值,所述分配方法应用于所述主机中,所述分配方法包括:
对所述时间值对应的区间进行分组,得到多个目标时间组,各所述目标时间组包括至少一个时刻;
采用第一预设帧结构,对各所述目标时间组进行封装,得到多个第一点名数据帧,并对各所述第一点名数据帧进行广播;
在仅接收到一个目标从机响应于目标点名数据帧而发送的回复数据帧的情况下,为所述目标从机分配所述通信地址并发送至所述目标从机,所述目标点名数据帧为所述第一点名数据帧或者第二点名数据帧,所述第二点名数据帧为对所述目标时间组进行划分得到的多个子目标时间组进行封装得到的。
2.根据权利要求1所述的分配方法,其特征在于,在仅接收到一个目标从机响应于目标点名数据帧而发送的回复数据帧的情况下,为所述目标从机分配所述通信地址并发送至所述目标从机,包括:
在仅接收到一个所述目标从机响应于所述第一点名数据帧而发送的所述回复数据帧的情况下,为所述目标从机分配所述通信地址并发送至所述目标从机。
3.根据权利要求2所述的分配方法,其特征在于,在仅接收到一个所述目标从机响应于所述第一点名数据帧而发送的所述回复数据帧的情况下,为所述目标从机分配所述通信地址并发送至所述目标从机,包括:
在仅接收到一个所述目标从机响应于对应的所述第一点名数据帧而发送的所述回复数据帧的情况下,为所述目标从机分配所述通信地址,其中,所述回复数据帧中携带有所述目标从机的累计时间值;
采用第二预设帧结构,对所述通信地址和所述累计时间值进行封装,得到对应的编号数据帧;
将所述编号数据帧发送至具有所述累计时间值的所述目标从机。
4.根据权利要求1所述的分配方法,其特征在于,所述分配方法还包括:
分组步骤,在未接收到所述目标从机响应于对应的所述第一点名数据帧而发送的所述回复数据帧,或者接收到多个所述目标从机响应于对应的所述第一点名数据帧而发送的所述回复数据帧的情况下,对对应的所述第一点名数据帧中的所述目标时间组中的多个时间进行分组,得到多个所述子目标时间组;
封装步骤,采用所述第一预设帧结构,对各所述子目标时间组进行封装,得到多个所述第二点名数据帧,并对各所述第二点名数据帧进行广播;
第一分配步骤,在仅接收到一个所述目标从机响应于所述第二点名数据帧而发送的回复数据帧的情况下,为所述目标从机分配所述通信地址并发送至所述目标从机。
5.根据权利要求4所述的分配方法,其特征在于,在采用所述第一预设帧结构,对各所述子目标时间组进行封装,得到多个所述第二点名数据帧,并对各所述第二点名数据帧进行广播之后,所述分配方法还包括:
在未接收到所述目标从机响应于对应的所述第二点名数据帧,或者在接收到多个所述目标从机响应于对应的所述第二点名数据帧而发送的所述回复数据帧的情况下,依次重复执行所述分组步骤、所述封装步骤和所述分配步骤,在所述子目标时间组的单位为预定单位时,且仅接收到一个所述目标从机响应于所述第二点名数据帧而发送的回复数据帧的情况下,为所述目标从机分配所述通信地址并发送至所述目标从机;
在所述子目标时间组的单位为所述预定单位时,还未接收到所述目标从机响应于所述第二点名数据帧而发送的所述回复数据帧,或者还接收到多个所述目标从机响应于所述第二点名数据帧而发送的所述回复数据帧的情况下,则停止重复。
6.根据权利要求5所述的分配方法,其特征在于,在停止重复之后,所述分配方法还包括:
生成步骤,随机生成多个目标时间,并对多个所述目标时间进行分组,得到多个所述子目标时间组;
广播步骤,采用所述第一预设帧结构,对各所述子目标时间组进行封装,得到多个所述第二点名数据帧,并对各所述第二点名数据帧进行广播;
第二分配步骤,在仅接收到一个所述目标从机响应于所述第二点名数据帧而发送的回复数据帧的情况下,为所述目标从机分配所述通信地址并发送至所述目标从机;
在未接收到所述目标从机响应于对应的所述第二点名数据帧,或者在接收到多个所述目标从机响应于对应的所述第二点名数据帧而发送的所述回复数据帧的情况下,依次重复所述生成步骤、广播步骤和所述第二分配步骤至少一次,直到对所有的从机分配所述通信地址。
7.根据权利要求1至6中任意一项所述的分配方法,其特征在于,所述第一预设帧结构包括第一地址字段、第一功能码字段、第一时间计数码字段以及第一校验字段,其中,所述第一地址字段用于表征所述主机的广播地址,所述第一功能码字段用于表征所述第一预设帧结构的属性,所述第一时间计数码字段用于表征携带的所述目标时间组或者所述子目标时间组以及对应的时间单位。
8.根据权利要求3所述的分配方法,其特征在于,所述第二预设帧结构包括第二地址字段、第二功能码字段、第二时间计数码字段、地址编号字段以及第二校验字段,其中,所述第二地址字段用于表征所述主机的广播地址,所述第二功能码字段用于表征所述第二预设帧结构的属性,所述第二时间计数码字段用于表征对应的所述目标从机的所述累计时间值,所述地址编号字段用于表征携带的所述通信地址。
9.根据权利要求3所述的分配方法,其特征在于,所述回复数据帧具有第三预设帧结构,所述第三预设帧结构包括第三地址字段、第三功能码字段、第三时间计数码字段以及第三校验字段,其中,所述第三地址字段用于表征预先设置的所述从机的固定地址,所述第三功能码字段用于表征所述回复数据帧的属性,所述第三时间计数码字段用于表征所述从机的所述累计时间值。
10.根据权利要求1至6中任意一项所述的分配方法,其特征在于,所述主机通过RS485通信总线与多个所述从机进行通信。
11.根据权利要求3所述的分配方法,其特征在于,所述累计时间值为第一累计值、第二累计值和第三累计值之和,其中,所述第一累计值为对应的所述从机从第一次上电到处于测试模式之间的时间与第一随机值的和,所述第二累计值为对应的所述从机从接收到控制信号到对应的所述从机下电之间的时间与第二随机值的和,所述第三累计值为对应的所述从机从非第一次上电与通信信号之间的时间与第三随机值的和,所述控制信号用于控制所述从机进入所述测试模式。
12.根据权利要求1至6中任意一项所述的分配方法,其特征在于,在为所述目标从机分配所述通信地址并发送至所述目标从机之后,所述分配方法还包括:
接收各所述目标从机发送的具有所述通信地址的通信数据帧。
13.一种通信地址的分配装置,其特征在于,通信系统包括一个主机和多个从机,所述主机存储有时间值,所述分配装置包括:
第一分组单元,用于对所述时间值对应的区间进行分组,得到多个目标时间组,各所述目标时间组包括至少一个时刻;
第一封装单元,用于采用第一预设帧结构,对各所述目标时间组进行封装,得到多个第一点名数据帧,并对各所述第一点名数据帧进行广播;
第一分配单元,用于在仅接收到一个目标从机响应于目标点名数据帧而发送的回复数据帧的情况下,为所述目标从机分配所述通信地址并发送至所述目标从机,所述目标点名数据帧为所述第一点名数据帧或者第二点名数据帧,所述第二点名数据帧为对所述目标时间组进行划分得到的多个子目标时间组进行封装得到的。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,所述程序执行权利要求1至12中任意一项所述的通信地址的分配方法。
15.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至12中任意一项所述的通信地址的分配方法。
16.一种通信系统,其特征在于,包括通信地址的分配装置,所述分配装置用于执行权利要求1至12中任意一项所述的通信地址的分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210821240.2A CN115208856A (zh) | 2022-07-13 | 2022-07-13 | 通信地址的分配方法、分配装置、处理器与通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210821240.2A CN115208856A (zh) | 2022-07-13 | 2022-07-13 | 通信地址的分配方法、分配装置、处理器与通信系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115208856A true CN115208856A (zh) | 2022-10-18 |
Family
ID=83580289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210821240.2A Pending CN115208856A (zh) | 2022-07-13 | 2022-07-13 | 通信地址的分配方法、分配装置、处理器与通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115208856A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116032451A (zh) * | 2023-01-11 | 2023-04-28 | 深圳市深视智能科技有限公司 | 一种三线半双工多机通信系统及三线半双工多机通信方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101446438A (zh) * | 2008-08-29 | 2009-06-03 | 广东志高空调有限公司 | 一种中央空调系统室内机地址分配方法、装置和系统 |
CN102185934A (zh) * | 2011-04-27 | 2011-09-14 | 深圳Tcl新技术有限公司 | 一种烧写mac地址的系统及方法 |
US20120239206A1 (en) * | 2011-03-18 | 2012-09-20 | Thomas Sauer | Method for assigning network addresses for fans |
CN111597123A (zh) * | 2020-04-08 | 2020-08-28 | 广东志高暖通设备股份有限公司 | 自动分配地址方法、装置、计算机设备和存储介质 |
CN112187746A (zh) * | 2020-09-15 | 2021-01-05 | 北京明略昭辉科技有限公司 | 一种设备标识的生成方法及装置 |
CN112511662A (zh) * | 2020-11-20 | 2021-03-16 | 珠海格力电器股份有限公司 | 系统通讯地址生成、分配方法和装置以及空调系统 |
-
2022
- 2022-07-13 CN CN202210821240.2A patent/CN115208856A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101446438A (zh) * | 2008-08-29 | 2009-06-03 | 广东志高空调有限公司 | 一种中央空调系统室内机地址分配方法、装置和系统 |
US20120239206A1 (en) * | 2011-03-18 | 2012-09-20 | Thomas Sauer | Method for assigning network addresses for fans |
CN102185934A (zh) * | 2011-04-27 | 2011-09-14 | 深圳Tcl新技术有限公司 | 一种烧写mac地址的系统及方法 |
CN111597123A (zh) * | 2020-04-08 | 2020-08-28 | 广东志高暖通设备股份有限公司 | 自动分配地址方法、装置、计算机设备和存储介质 |
CN112187746A (zh) * | 2020-09-15 | 2021-01-05 | 北京明略昭辉科技有限公司 | 一种设备标识的生成方法及装置 |
CN112511662A (zh) * | 2020-11-20 | 2021-03-16 | 珠海格力电器股份有限公司 | 系统通讯地址生成、分配方法和装置以及空调系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116032451A (zh) * | 2023-01-11 | 2023-04-28 | 深圳市深视智能科技有限公司 | 一种三线半双工多机通信系统及三线半双工多机通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110945928B (zh) | 寻呼时机的监听方法、装置、终端及存储介质 | |
CN115208856A (zh) | 通信地址的分配方法、分配装置、处理器与通信系统 | |
CN114531423A (zh) | 一种节点地址分配方法、存储介质及总线网络 | |
CN114401250A (zh) | 一种地址分配的方法及装置 | |
US10979929B2 (en) | Method and apparatus for transmitting and receiving system information, base station, and terminal | |
CN117119617A (zh) | 一种通信的方法及装置 | |
EP3751926A1 (en) | Resource configuration method and device, and computer storage medium | |
CN104298176B (zh) | 智能开关及其主机的注册方法、智能控制网络 | |
CN113556219B (zh) | 一种多媒体广播组播业务mbms的传输方法及相关设备 | |
CN105578597A (zh) | 配置用于mtc ue的可配置的css资源的方法和装置 | |
US20200374095A1 (en) | Resource configuration method and device, and computer storage medium | |
US11539496B2 (en) | Resource configuration method and device, and computer storage medium | |
US10785750B2 (en) | Methods for triggering user equipment to monitor paging message, user equipments, base stations and storage medium | |
CN110119111B (zh) | 通信方法及装置、存储介质、电子装置 | |
CN112566049A (zh) | 业务信道分配方法及相关装置 | |
CN112615942A (zh) | 一种e1环网地址码的远程配置方法、装置及存储介质 | |
CN112764385A (zh) | 小型plc总线的实现系统及方法 | |
CN1150778C (zh) | 在选呼通信系统中协调入站信道的方法 | |
CN105557033A (zh) | 传输发现信号的方法、用户设备和基站 | |
US20090037552A1 (en) | Master-slave card system and method for operating the same | |
US11576150B2 (en) | Channel allocation method, gateway, and terminal device | |
CN113067685B (zh) | 一种信息通信方法及系统 | |
CN109391911B (zh) | 宽带集群的短消息发送方法及基站 | |
CN112187698A (zh) | 通信方法、业务系统、电子设备及其具有的主mcu | |
CN115767598A (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 |