一种模块地址确定方法及装置、电源模块与通信网络与流程

文档序号:26590011发布日期:2021-09-10 20:36
一种模块地址确定方法及装置、电源模块与通信网络与流程

1.本技术涉及通信技术领域,特别是涉及一种模块地址确定方法及装置、电源模块与通信网络。


背景技术:

2.大功率、大电流的电源已成为发展的趋势,大功率、大电流实现的基础是多个电源模块的并联。电源模块并联后,模块通信线挂接在同一个通信总线上,每个模块拥有唯一固定的地址是电源监控软件可以和每个模块通信的基础。因此必须要为每个电源模块设置一个地址。
3.在现有技术中,设置电源地址的方法通常是采用拨码开关的方法,即在电源模块面板上增加拨码开关,使用拨码开关以二进制的形式确定模块的地址。
4.然而,该种方法需要熟悉操作的人员来完成模块地址的确认,操作不便且对安装人员有一定的技术要求,操作较为麻烦。


技术实现要素:

5.本技术实施例旨在提供一种模块地址确定方法及装置、电源模块与通信网络,能够实现模块地址的自动确定,且可靠性较高。
6.为实现上述目的,第一方面,本技术提供一种模块地址确定方法,应用于通信网络,所述通信网络包括至少一个模块,各所述模块之间通过总线连接,其中,各所述模块中均设置有条码信息,且不同模块中的条码信息不同,所述方法包括:
7.向所述总线发送条码信息;
8.若未接收到非本模块的条码信息,则延时第一预设时长;
9.在所述第一预设时长结束的时刻,停止向所述总线发送条码信息,并确定本模块的地址为第一预设数值;
10.若接收到至少一条非本模块的条码信息,则根据接收到的所述至少一条非本模块的条码信息,确定所述本模块的地址。
11.在一种可选的方式中,在所述向所述总线发送条码信息之前,所述方法还包括:
12.将所述本模块的地址设置为所述第一预设数值,并向所述总线发送条码信息请求指令;
13.若接收到总线上非本模块的条码信息请求指令,则执行向所述总线发送条码信息这一步骤。
14.在一种可选的方式中,所述方法还包括:
15.若未接收到总线上非本模块的条码信息请求指令,则延时第二预设时长;
16.在第二预设时长结束的时刻,停止向所述总线发送条码信息请求指令,并执行向所述总线发送条码信息这一步骤。
17.在一种可选的方式中,所述根据接收到的所述至少一条非本模块的条码信息,确
定所述本模块的地址,包括:
18.存储非本模块的各条码信息;
19.根据非本模块的各条码信息与所述本模块的条码信息,确定所述本模块的地址。
20.在一种可选的方式中,所述根据非本模块的各条码信息与本模块的条码信息,确定所述本模块的地址,包括:
21.判断非本模块的各条码信息中是否存在至少一条条码信息对应的数字小于所述本模块的条码信息对应的数字的条码信息;
22.若是,则遍历各条码信息,针对每一条码信息,如果该条码信息对应的数字小于所述本模块条码信息对应的数字,则所述本模块的地址加上第二预设数值;
23.若否,则保持所述本模块的地址不变。
24.在一种可选的方式中,在所述根据非本模块的各条码信息与本模块的条码信息,确定所述本模块的地址之后,所述方法还包括:
25.判断从执行向所述总线发送条码信息这一步骤的时刻到当前时刻之间的时长是否大于或等于第三预设时长;
26.若是,则停止向所述总线发送所述本模块的条码信息;
27.若否,则返回执行存储非本模块的各条码信息这一步骤。
28.第二方面,本技术实施例提供一种模块地址确定装置,应用于通信网络,所述通信网络包括至少一个模块,各所述模块之间通过总线连接,其中,各所述模块中均设置有条码信息,且不同模块中的条码信息不同,所述装置包括:
29.指令发送单元,用于向所述总线发送条码信息;
30.延时单元,用于若未接收到非本模块的条码信息,则延时第一预设时长;
31.第一地址确定单元,用于在所述第一预设时长结束的时刻,停止向所述总线发送条码信息请求指令,并确定本模块的地址为第一预设数值;
32.第二地址确定单元,用于若接收到至少一条非本模块的条码信息,则根据接收到的所述至少一条非本模块的条码信息,确定所述本模块的地址。
33.第三方面,本技术实施例提供一种电源模块,包括:
34.控制处理单元,所述控制处理单元包括:
35.至少一个处理器以及与所述至少一个处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
36.第四方面,本技术实施例提供一种通信网络,包括至少一个如上所述的电源模块;
37.各所述电源模块之间通过总线连接。
38.第五方面,本技术实施例提供一种非易失性计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被电源模块执行时,使所述电源模块执行如上所述的方法。
39.本技术实施例的有益效果是:本技术提供的模块地址确定方法包括向总线发送条码信息,若未接收到非本模块的条码信息,则延时第一预设时长,在第一预设时长结束的时刻,停止向总线发送条码信息,并确定本模块的地址为第一预设数值,若接收到至少一条非本模块的条码信息,则根据接收到的至少一条非本模块的条码信息,确定本模块的地址,因
此,能够通过至少一条非本模块的条码信息自动确定本模块的地址,从而实现每一个模块的地址确定过程,亦即,实现模块地址的自动确定,并且,该方法由软件实现,无需人工操作,可靠性较高。
附图说明
40.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
41.图1为现有技术中的模块并联的示意图;
42.图2为本技术实施例提供的模块地址确定方法的流程图;
43.图3为本技术实施例提供的在向总线发送条码信息之前的所执行步骤的流程图;
44.图4为本技术实施例提供的通过本模块的条码信息与非本模块的条码信息确定本模块的地址的方法的流程图;
45.图5为本技术实施例提供的通信网络的结构示意图;
46.图6为本技术实施例提供的模块地址确定装置的结构示意图;
47.图7为本技术实施例提供的电源模块的结构示意图。
具体实施方式
48.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
49.请参照图1,图1为现有技术中的模块并联的示意图。如图1所示,按从左到右的顺序总共有7个模块进行并联,这7个模块分别为模块a1、模块a2、模块a3、模块a4、模块a5、模块a6与模块a7。
50.在该现有技术中,每个模块上均设置有1、2、3、4、5这5个拨码开关,根据二进制的原理,在每个拨码开关中,向上拨码表示二进制“1”,不拨码(即保持在下位)则表示二进制“0”,并且从左到右5个拨码开关分别代表十进制的1、2、4、8、16。从而,通过对不同模块进行不同的拨码设置,以使不同的模块的地址不同,则可确定各个模块的实际地址。例如,在模块a1中,只把5对应的开关上拨,则模块a1的地址为01;在模块a2中,只把4对应的开关上拨,则模块a2对应的地址为02;在模块a3中,把4、5对应的开关上拨,则模块a3对应的地址为01+02=03;在模块a4中,把3对应的开关上拨,则模块a4对应的值为04;在模块a5中,把3、5对应的开关上拨,则模块a5对应的值为05;在模块6中,把3、4对应的开关上拨,则模块a6对应的值为06;在模块a7中,把3、4、5对应的开关上拨,则模块a7对应的值为07。
51.然而,对于上述的方式而言,各个模块在现场安装完成后,需要熟悉操作的人员来完成模块地址的确认。一方面,需要进行手工操作,会带来操作上的不便,另一方面,需要对安装人员具有一定的技术要求,不利于后期进行维护。
52.基于此,本技术提供一种模块地址确定方法,该方法通过利用每一个模块上出厂时自带的条码信息,可进行模块地址的自动识别过程,无需人工干预,操作较为简单,同时,
也为后期增加模块或减少模块带来了便利。
53.可理解,每个模块上出厂时自带的条码信息均为唯一的条码信息,即每两个模块之间的条码信息不同。
54.图2为本技术提供的模块地址确定方法的流程图,该方法应用于通信网络,该通信网络包括至少一个模块,且各模块之间通过总线连接,其中,每个模块中均设置有条码信息,且不同模块中的条码信息不同。该方法包括:
55.201:向总线发送条码信息。
56.每一个模块在连接到总线之后,第一步均是该模块自己的条码信息发送到总线上,以使除本模块之外的其他模块能够从总线上获取到其他模块的条码信息。
57.其中,在本实施例中,总线可指can总线,而各模块可指电源模块,即各电源模块之间通过can总线连接,并通过can总线通信。can是控制器局域网络(controller area network,can)的简称,是国际上应用最广泛的现场总线之一。
58.进一步地,在一实施例中,在执行向总线发送条码信息这一步骤之前,该模块地址确定方法还包括以下步骤:
59.301:将本模块的地址设置为第一预设数值,并向总线发送条码信息请求指令。
60.具体操作为:在模块上电通信后,将本模块的地址经常初始化设置,并设置为第一预设数值,例如,将本模块的地址初始化为1。同时,本模块会主动向总线发送条码信息请求指令,即请求获取除本模块外的其他模块所发送在总线上的条码信息。并且,若是在电源模块的应用中,通常可将发送条码信息请求指令的发送周期设置为400ms。
61.302:若接收到总线上非本模块的条码信息请求指令,则执行向总线发送条码信息这一步骤。
62.如果能从总线接收到非本模块的条码信息请求指令,说明连接于总线上的除了本模块之外还有其他的模块,由于其他模块同样需要知道本模块的条码信息,其他模块才能够确定自己的地址,所以,此时本模块需要向总线发送本模块的条码信息。并且,若是在电源模块的应用中,通常可将发送本模块的条码信息的发送周期设置为400ms。
63.可以理解的是,在本技术的所有实施例中,其他模块或其他的模块通常是指连接于总线上的除了本模块之外的模块。而本模块是指连接于总线上的所有模块中的任一模块。
64.303:若未接收到总线上非本模块的条码信息请求指令,则延时第二预设时长。
65.304:在第二预设时长结束的时刻,停止向总线发送条码信息请求指令,并执行向总线发送条码信息这一步骤。
66.如果本模块从总线上未接收到来自于其他模块的条码信息请求指令,则延时第二预设时长。并且在第二预设时长结束的时刻,本模块停止向总线发送条码信息请求指令,并开始向总线发送本模块的条码信息。例如,假设第二预设时长为3s,则如果本模块没有收到总线上其他模块的请求条码信息的指令,则在3s后,本模块停止发动请求条码信息的指令,并开始向总线发送本模块的条码信息。同样地,当本技术所提供的的方法应用于电源模块时,则可将发送本模块的条码信息的周期设置为400ms。
67.综上,在各模块成功上电并建立通信后,均将自身的模块地址初始化为第一预设数值,且各模块主动向总线发送请求条码信息的指令。如果能够接收到非本模块的请求条
码指令,说明至少有两个模块连接于总线上,则需要各个模块均向总线发送自身的条码信息。如果没有接收到非本模块的请求条码指令,说明很有可能只有一个模块连接于总线上,则可向总线发送条码信息,也可以不发,这里不做限制,而在本技术的实施例中,是在延时第二预设时长之后,即停止发送条码信息的请求指令,但仍会发送本模块的条码信息,以用于在后续有新的模块接入时,新的模块能够直接从总线上获取到本模块的条码信息,有利于提高效率。
68.202:若未接收到非本模块的条码信息,则延时第一预设时长。
69.203:在第一预设时长结束的时刻,停止向总线发送条码信息,并确定本模块的地址为第一预设数值。
70.在向总线发送条码信息请求指令后,如果没有接收到其他模块的条码信息,可确定只有本模块连接于总线上,那么此时可以停止向总线发送条码信息。进而,延时第一预设时长,并在第一预设时长结束的时刻,停止向总线发送条码信息,同时,直接将本模块的地址设定为第一预设数值即可。
71.结合上述实施例中内容,以第一预设数值为1为例进行说明。在各模块完成上电并建立通讯后,初始化各模块的地址均为1。继而,向总线发送本模块的条码信息,如果没有接收到其他模块的条码信息,则在停止向总线发送条码信息后,直接将本模块的地址设置为1即可。应理解,在向总线发送条码信息之前,若有接收到其他模块的请求条码指令,也可主动将本模块的地址复位为1,以保证本模块的初始值为1。
72.204:若接收到至少一条非本模块的条码信息,则根据接收到的至少一条非本模块的条码信息,确定本模块的地址。
73.假设本模块接收到n条非本模块(其他模块)的条码信息,其中,n为大于0的自然数。首先将该n条条码信息存储于本模块相应的内存空间中,以用于后续确定本模块的地址。然后,则可结合n条条码信息与本模块的条码信息,来确定本模块的地址。
74.具体地,在一实施例中,采用以下的方法以通过n条条码信息与本模块的条码信息,确定本模块的地址,如图4所示,该方法包括:
75.401:判断非本模块的各条码信息中是否存在至少一条条码信息对应的数字小于本模块的条码信息对应的数字的条码信息。
76.402:若是,则遍历各条码信息,针对每一条码信息,如果该条码信息对应的数字小于所述本模块条码信息对应的数字,则所述本模块的地址加上第二预设数值。
77.403:若否,则保持所述本模块的地址不变。
78.在本模块中,将所存储的其他模块的条码信息所对应的数字与本模块的条码信息所对应的数字进行大小的排序,从而可确定在其他模块的n条条码信息中,条码信息所对应的数字小于本模块的条码信息所对应的数字的k条条码信息,其中,k为小于或等于n,且大于或等于0的自然数。
79.若k大于0,则将本模块的地址加上第二预设数值的k倍。例如,当k为1时,说明有一条条码信息对应的数字小于本模块的条码信息所对应的数字,则将本模块的地址在初始地址(也就是上述实施例中的第一预设数值)的基础上加上第二预设数值;当k为2时,说明有两条条条码信息对应的数字小于本模块的条码信息所对应的数字,则将本模块的地址在初始地址的基础上加上第二预设数值的两倍。换言之,针对每一条码信息,如果该条码信息对
应的数字小于本模块条码信息对应的数字,则本模块的地址加上第二预设数值。
80.当k为0时,则仍保持本模块的地址为第一预设数值即可。
81.以图5所示的通信网络为例,在图5中,该通信网络包括模块m1、模块m2、模块m3、模块m4、模块m5与模块m6,其中,各模块连接于总线l上。假设,模块m1、模块m2、模块m3、模块m4、模块m5与模块m6的条码信息所对应的数字分别为10、20、30、40、50与60,且假设第一预设数值为1,第二预设数值也为2。
82.具体地,以模块m3作为本模块为例进行说明。模块m3从总线l上获取到其他模块(模块m1、模块m2、模块m4、模块m5与模块m6)的条码信息。模块m1的初始化地址为1,由于模块m1的条码信息所对应的数字为10,小于本模块m3的条码信息所对应的数字30,则本模块m3的地址变为1+1=2;进而,由于模块m2的条码信息所对应的数字为20,小于本模块m3的条码信息所对应的数字30,则本模块m3的地址变为2+1=3。而模块m4、模块m5与模块m6的条码信息所对应的数字均大于本模块m3的条码信息所对应的数字,则保持本模块m3的地址为3。按照同样的方式,则可以获取到模块m1、模块m2、模块m4、模块m5与模块m6的地址,这里不再赘述。
83.可理解,在其他的实施例中,也可采用其他的方法以通过n条条码信息与本模块的条码信息,确定本模块的地址。例如,在上述的实施例中,通过遍历各条码信息,并针对每一条码信息,如果该条码信息对应的数字大于本模块条码信息对应的数字时,将本模块的地址加上第二预设数值。
84.同时,在另一实施例中,在通过上述的方法确定完本模块的地址之后,还需进一步判断从执行向总线发送条码信息这一步骤开始的时刻到当前的时刻之间的时长是否大于第三预设时长。亦即,从本模块向总线发送条码信息即开始进行计时,并实时判断计时时长是否大于第三预设时长时,其中,第三预设时长为用户的预设值,通常是由用户根据实际使用情况而定,第三预设时长通常需要大于或等于所有模块完成确定地址的总时间。一般在电源模块的应用中,可设置为9s,也就是说在9s内完成各电源模块地址的确定。
85.当上述的计时时长大于第三预设时长时,所有的模块均不再向总线发送条码信息,此时表明各模块的地址均已完成确定。当然,当上述的计时时长小于第三预设时长时,则回到上述实施例中的非本模块的各条码信息这一步骤,并继续执行根据非本模块的各条码信息与本模块的条码信息,确定本模块的地址这一步骤,直到计时时长大于或等于第三预设时长。
86.需要说明的是,在本实施例中,是从向总线发送条码信息开始计时,而在其他实施例中,也可以从向总线发送条码信息请求指令开始进行计时。
87.综上所述,首先,在各模块完成上电并建立通信后,初始化各模块的地址为1,各模块主动向总线发送条码请求指令。若本模块从总线上接收到其他模块的请求条码指令,在复位自身模块的地址为第一预设数值的同时向总线发送条码信息。若没有从总线上接收到其他模块的条码信息请求指令,则延时第二预设时长,并在第二预设时长后停止发送条码信息请求指令,并向总线发送条码信息。
88.若本模块收到其他模块的条码信息,则先将这些条码信息存储于本模块中,并将其他模块的条码信息对应的数字与本模块的条码信息对应的数字逐一进行大小的比较。如果其他模块的条码信息对应的数字大于本模块的条码信息对应的数字,则保持本模块的地
址为第一预设数值不变。如果,在其他模块中,存在一个模块的条码信息对应的数字小于本模块的条码信息对应的数字,则本模块的地址加上第二预设数值。
89.若本模块未收到其他模块的条码信息,则延时第一预设时长,并在第一预设时长结束的时刻停止向总线发送条码信息,同时,直接将本模块的地址确定为第一预设数值。
90.上述的所有步骤需要在第三预设时长内完成,当第三预设时长结束之后,各模块不再向总线发送条码信息,各模块的地址均完成确定。
91.同时,若总线上现有的模块已完成地址的确定,而又新的模块接入到总线上时,新的模块会发送条码信息请求指令。当总线上现有的模块接收到新的模块所发送的条码信息请求指令后,总线上所有的模块(包括现有的模块与新的模块)会重新启动地址确定过程,即执行如图2

图4中的步骤。可见,无论是所有的模块同时上电,还是各个模块依次上电,通过本技术所提供的方法均能够自动确定各模块的地址,减少了使用中的限制,适应性较高。同时,无需人工操作,能够提高产品的可靠性。并且,现对于现有技术而言,还能够省去相关电路结构(例如,拨码开关),从而可降低成本。
92.可理解,在上述实施例中,是通过各模块独有的条码信息以确定各模块的地址。而在其他实施例中,也可以通过各模块的其他独有的标识以确定各模块的地址,例如,各模块的id号,具体实现过程与本技术的上述实施例类似,其在本领域技术人员容易理解的范围内,这里不再赘述。
93.图6是本发明实施例提供一种模块地址确定装置的结构示意图,模块地址确定装置600应用于通信网络,通信网络包括至少一个模块,各模块之间通过总线连接,其中,各所述模块中均设置有条码信息,且不同模块中的条码信息不同。如图6所示,模块地址确定装置600包括指令发送单元601、延时单元602、第一地址确定单元603与第二地址确定单元604。
94.指令发送单元601用于向总线发送条码信息。延时单元602用于若未接收到非本模块的条码信息,则延时第一预设时长。第一地址确定单元603用于在第一预设时长结束的时刻,停止向总线发送条码信息请求指令,并确定本模块的地址为第一预设数值。第二地址确定单元604用于若接收到至少一条非本模块的条码信息,则根据接收到的至少一条非本模块的条码信息,确定本模块的地址。
95.由于装置实施例和方法实施例是基于同一构思,在内容不互相冲突的前提下,装置实施例的内容可以引用方法实施例的,在此不赘述。
96.图7是本发明实施例提供一种电源模块的结构示意图。如图7所示,该电源模块700包括一个或多个处理器701以及存储器702。其中,图7中以一个处理器701为例。
97.处理器701和存储器702可以通过总线或者其他方式连接,图7中以通过总线连接为例。
98.存储器702作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的模块地址确定方法对应的程序指令/模块(例如,附图6所述的各个单元)。处理器701通过运行存储在存储器702中的非易失性软件程序、指令以及模块,从而执行模块地址确定装置的各种功能应用以及数据处理,即实现上述方法实施例中的模块地址确定方法以及上述装置实施例的各个模块和单元的功能。
99.存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至处理器701。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
100.所述程序指令/模块存储在所述存储器702中,当被所述一个或者多个处理器701执行时,执行上述任意方法实施例中的模块地址确定方法,例如,执行以上描述的图2、图3和图4所示的各个步骤;也可实现附图6所述的各个单元的功能。
101.本技术实施例还提供一种通信网络,该通信网络包括至少一个如上述任一实施例中的电源模块,其中,各电源模块之间通过总线连接。
102.本发明实施例还提供一种非易失性计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,当计算机可执行指令被电源模块执行时,使电源模块执行如上任一实施例中的方法。
103.本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行如上任一实施例中的方法。
104.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;在本技术的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本技术的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1