CN1674593A - 一种基于主从通信模式的地址自动分配设置方法 - Google Patents
一种基于主从通信模式的地址自动分配设置方法 Download PDFInfo
- Publication number
- CN1674593A CN1674593A CN 200510038652 CN200510038652A CN1674593A CN 1674593 A CN1674593 A CN 1674593A CN 200510038652 CN200510038652 CN 200510038652 CN 200510038652 A CN200510038652 A CN 200510038652A CN 1674593 A CN1674593 A CN 1674593A
- Authority
- CN
- China
- Prior art keywords
- address
- virtual address
- main website
- instruction
- slave station
- 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.)
- Granted
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明提供了一种基于主从通信模式的地址自动分配设置方法。该方法分两个步骤进行:1)主站先找出总线上某一个从站,该从站处于虚地址状态且其虚地址不等同于总线上的任何其他处于虚地址状态的从站的虚地址;2)主站对此从站进行实地址的分配和设置。对于总线上可能出现的虚地址重复或者实地址重复,提供令其重组的命令,在地址重组之后重新按照上述两个步骤进行地址分配。以这样的方式,逐步为所有处于虚地址状态的从站分配实地址。
Description
技术领域
本发明涉及了一种主从通信模式下的基于虚地址的地址分配设置方法,该方法可以用于采用主从通信模式的工业现场总线,也可以用于采用主从通信模式的无线共享媒介。该方法不需要为通讯站配设任何用于地址分配的诸如电子的或者机械的开关装置,而采用完全通信协议化的方法进行地址的分配和设置。
技术背景
自动地址分配迄今为止对于主从通信模式下的总线系统是不可能的,或者实现上非常困难。传统认为,在采用主从通信模式下的总线系统中,由于布局的原因不允许地址的重复,否则的话就不可能单义的识别通信站,并且也因此不可能单义的传递数据。
在西门子公司的S7-300型自动化仪表中公知了一种自动地址分配的方法,但是这种方法的实现代价过高;此外,还有一种用于主从通信模式下的地址分配协议,主站具有用于和从站进行通讯联系而分别配设的所谓的物理通路,隐含的用通路的连接来确定各通讯站的地址;西门子公司还公布了一种基于距离测量的用于自动地址分配的方法,该方法由于需要根据主站到多个从站的不同的距离来确定从站的地址,应用上有很大缺陷。
主从通信模式下的自动地址分配尽管目前技术上是不可能的,或者实现上非常困难,但是应用上是迫切需要的,比如说在一个已有的系统上添加从站设备,就有可能碰到地址重复的问题;相似的问题也存在于更换损坏的从站之时,也有可能碰到地址重复的问题。
发明内容
本发明的目的是提供一种在主从通信模式下的基于虚地址的地址分配设置方法。该方法利用了由于地址重复而造成的多义性来识别重复虚地址,对于重复的虚地址提供一个虚地址重组指令让它们产生一个新的虚地址,最终给每一个虚地址分配一个实地址完成地址的自动分配。
一种用于在具有多个通讯站(M,S1,S2,....Sn)的通讯系统中进行自动地址分配的方法,这些通讯站中至少有一个下面称为主站(M)的通讯站承担上级功能,而其余的S1,S2,....Sn称为从站或者丛属站。连接站与站的总线属于共享的物理传输媒介,也可以是无线的共享的物理传输媒介。由主站M发送的指令的信号串可以到达所有接在总线上的从站S1、S2、....Sn。要想完成主站和一个从站S1、S2、....Sn之间的通讯,或在某种情况下在两个从站之间的通讯,必须给每个从站和主站分配单义的地址之后才是可能的。
本发明的地址设置分配方法分两个步骤进行:1)、主站先找出总线上某一个从站,该从站处于虚地址状态且其虚地址不等同于总线上的任何其他处于虚地址状态的从站的虚地址;2)、主站对此从站进行实地址的分配和设置。对于总线上可能出现的虚地址重复或者实地址重复,提供令其重组的命令,在地址重组之后重新按照上述两个步骤进行地址分配。重复进行步骤1和2可以依次为处于同一总线上的所有从站自动分配地址。
本发明认为从站具有两种地址状态:虚地址状态和实地址状态。设置虚地址的目的是为了能够通过虚地址产生实地址,而实地址是设备工作时的确切地址,等同于原先的从站地址;任何刚刚出品的从站令其处于虚地址状态且具有一个确切的虚地址;处于虚地址状态的所有从站只接收并处理主站发送的虚地址查询指令、虚地址重组指令、实地址设置指令;处于虚地址状态的从站在接收到主站发送的针对自己的实地址设置指令后进入实地址状态;处于实地址状态的所有从站对于主站发送的虚地址查询指令、虚地址重组指令和实地址设置指令不需做任何处理,但如果接收到主站发送的针对自己的实地址重组指令后进入虚地址状态。这里所述的实地址状态的从站当然也具有普通的发送和接收功能,这些功能足以满足为各个不同的传输介质所定义的总线协议,本发明仅仅是增强了原先的从站的功能。
该方法的步骤1需要三种类型的信号串:主站发送的虚地址查询指令、从站发送的虚地址查询响应指令和主站发送的虚地址重组指令。虚地址查询指令是主站发送给从站的指令,包含地址范围,地址范围可以是某一个确切的虚地址或者是某一段虚地址的上限和下限;虚地址查询响应指令是从站接收到虚地址查询指令后对其的响应,由从站发送给主站,包含从站自己的虚地址(A)用于告知主站,指令中也可以包含从站的设备描述等等;虚地址重组指令是主站发送给从站的指令,包含地址范围,地址范围可以是某一个确切需要重组的虚地址或者是某一段需要重组的虚地址的上限和下限,指令中也可以包含重组后的虚地址范围;虚地址查询指令和虚地址重组指令都属于广播型指令,总线上所有处于虚地址状态的从站都必须接收并做相应处理。
步骤1的主站的处理流程可以参见图1。主站发送虚地址查询指令,该查询指令被所有的从站接收,只要从站属于虚地址状态且自己的虚地址在地址范围的上下限之内,它们就发出虚地址查询响应指令作为对虚地址查询指令的响应,并由此告知主站自己的虚地址(A)。主站在一个规定的时间窗口内接收来自从站的虚地址查询响应指令,主站接收的响应情况可为三种:1)、主站没有收到响应,表明没有从站的虚地址属于查询的地址范围内,此时主站可以换一个地址范围重新进行查询或者结束本次查询;2)、主站收到一个从站的虚地址查询响应指令,表明总线上采用该虚地址(A)的从站可能只有一个,即该从站的虚地址(A)不等同于总线上的其他的任何从站的虚地址,此时主站可以进入步骤2;3)、主站收到不止一个从站的虚地址查询响应指令,表明网络上满足虚地址查询指令中地址范围的从站的数目不止一个,此时需要做进一步处理,即如果查询的地址范围为某一段虚地址,则可以缩小地址范围重新发送虚地址查询指令;如果查询的地址范围为某一个确切的虚地址,则表明有不止一个从站采用了该虚地址,此时主站需要针对该虚地址发送虚地址重组指令。
主站在收到不止一个从站的虚地址查询响应指令后,必须分两种情况进行处理:1)、主站在针对某一段虚地址的上限和下限发送虚地址查询指令后,主站在一个规定的时间窗口内接收来自从站的虚地址查询响应指令,如果在规定的时间窗口内由于不止一个从站的响应将会造成主站接收到如下错误信息:主站收到多个从站各自时间上依次分开的单独的响应、由于从站响应在时间上重叠而使得主站发生接收错误或者上述两种错误同时发生而造成的综合接收错误。如果出现了上述三种情形之一,主站可以据此判断出总线上属于该段虚地址的上限和下限内的从站数目不只一个,此时需要主站缩小地址范围重新发送虚地址查询指令。2)、主站在针对某一个确切的虚地址发送的虚地址查询指令后,主站在一个规定的时间窗口内接收来自从站的虚地址查询响应指令,如果在规定的时间窗口内由于不止一个从站的响应将会造成主站接收到如下错误信息:主站收到多个从站各自时间上依次分开的单独的响应、由于从站响应在时间上重叠而使得主站发生接收错误或者上述两种错误同时发生而造成的综合接收错误。如果出现了上述三种情形之一,主站可以据此判断出总线上有不止一个从站采用了该虚地址(A),即出现了虚地址(A)重复,此时主站需要针对该虚地址(A)发送虚地址重组指令。
主站判断出总线上采用某一个确切的虚地址(A)的从站数目不只一个时,即从站的虚地址(A)有重复,主站可以针对该虚地址(A)发出虚地址重组指令。从站在接收到主站发送的虚地址重组指令后,只要从站属于虚地址状态且满足重组指令中地址的上下限要求,从站将产生一个新的数值(比如随机数)做为自己的虚地址。如果主站发送的虚地址重组指令中包含重组后的虚地址范围,则从站产生的新的虚地址必须在此范围之内。从站在接收到虚地址重组指令后无需回应任何消息。
在得知总线上采用某虚地址的从站可能只有一个之后,主站可以从响应指令中得知该从站的虚地址(A),之后可以进入步骤2。完成步骤2需要三种类型的信号串:主站发送的实地址设置指令、从站发送的实地址设置响应指令和主站发送的实地址重组指令。实地址设置指令是主站发送给从站的指令,包含某一个虚地址(B)、相应分配的实地址(C),也可以包含从站的设备描述;实地址设置响应指令是从站接收到实地址设置指令后对其的响应,由从站发送给主站的指令,包含从站自己的虚地址(B)、相应分配的实地址(C),也可以包含从站的设备描述;实地址重组指令是主站发送给从站的指令,包含实地址范围,实地址范围是某一个确切需要重组的实地址或者是某一段需要重组的实地址的上限和下限,也可以包含重组后的虚地址范围;实地址设置指令属于广播型指令,总线上所有处于虚地址状态的从站都必须接收并做相应处理;实地址重组指令也属于广播型指令,总线上所有处于实地址状态的从站都必须接收并做相应处理。
步骤2的主站的处理流程可以参见图2。主站发送实地址设置指令,将某一个处于虚地址状态的从站设置成实地址状态,该指令被所有的从站接收,只要从站属于虚地址状态且从站的虚地址等于实地址设置指令中的虚地址(B),则该从站将实地址设置指令中的实地址(C)作为自己的实地址,并且进入实地址状态。从站还发出实地址设置响应指令作为对实地址设置指令的响应。主站在一个规定的时间窗口内接收来自从站的实地址设置响应指令,主站接收的响应情况可为三种:1)、主站没有收到响应,表明步骤1可能有错,退回步骤1;2)、主站收到不止一个从站的实地址设置响应指令,表明有不止一个从站采用了虚地址(B),且这些从站都进入了采用实地址(C)的实地址状态,此时主站需要针对该实地址发送实地址重组指令;3)、主站收到一个从站的实地址设置响应指令,表明总线上采用该虚地址(B)的从站可能只有一个,且该从站已经进入了采用实地址(C)的实地址状态,针对该从站的地址分配完毕。
主站发送实地址设置指令后,在一个规定的时间窗口内接收来自从站的实地址设置响应指令,如果在规定的时间窗口内由于不止一个从站的响应将会造成主站接收到如下错误信息:主站收到多个从站各自时间上依次分开的单独的响应、由于从站响应在时间上重叠而使得主站发生接收错误或者上述两种错误同时发生而造成的综合接收错误。如果出现了上述三种情形之一,主站可以据此判断出总线上可能有不止一个从站采用了实地址(C),即出现了实地址(C)重复,此时主站需要针对该实地址(C)发送实地址重组指令。
如果主站在发送实地址设置指令时或者实际运行过程中发现网络上从站的实地址有重复,主站可以发出实地址重组指令。从站在接收到主站发送的实地址重组指令后,只要从站属于实地址状态且满足重组指令中地址的上下限要求,从站将进入虚地址状态并产生一个新的数值(比如随机数)做为自己的虚地址。如果主站发送的实地址重组指令中包含重组后的虚地址范围,则从站产生的新的虚地址必须在此范围之内。从站在接收到实地址重组指令后不需回应任何消息。实地址设置指令可以针对某一段需要重组的具有实地址状态的从站进行,可以针对某一个确切需要重组的具有实地址状态的从站进行。
主站在通讯系统的工作期间,在可预定的时刻或在一可预定的时间段内重新发送虚地址查询指令。
该方法也适合于多主多从系统,即适合于(M1,M2,...Mi,S1,S2,....Sn)这样的系统。在多主多从系统中,将有一个主站完成地址分配,其余的主站可以不参加地址分配或者被当作某一个特殊的从站(具有某种特殊的标记)对待。
作为本发明的一个简化方法是:从站在接收到主站发送的实地址设置指令后,从站不需回应任何指令,主站对于重复实地址的判断可以在网络的实际运行过程中进行。
主站在发送虚地址查询指令或者实地址设置指令后,主站在一个规定的时间窗口内接收来自从站的响应信息,如果在规定的时间窗口内由于多个从站的响应将会造成主站接收到如下错误信息:主站收到多个从站各自时间上依次分开的单独的响应、由于从站响应在时间上重叠而使得主站发生接收错误或者上述两种错误同时发生而造成的综合接收错误。下面就这三种情形做一说明。
主站收到多个从站各自时间上依次分开的单独的响应的情形如下:假设通讯系统中有两个节点A和B具有同样的虚地址i,如果主站针对虚地址i发送虚地址查询指令或者实地址设置指令后,A和B都会发出响应,则可能发生一种情况,在规定的时间窗口T内,A先发出响应,而B后发出响应,两个从站各自时间上依次分开的单独的响应的情形图可以参见图3。多个从站各自时间上依次分开的单独的响应的举例略。
由于从站响应在时间上重叠而使得主站发生接收错误的情形如下:假设通讯系统中有两个节点A和B具有同样的虚地址i,如果主站针对虚地址i发送虚地址查询指令或者实地址设置指令后,A和B都会发出响应,则可能发生一种情况,在规定的时间窗口T内,A先发出响应,未等A的响应发送完毕B也发出响应,这样使得两个响应在时间上不能分开,因而造成错误信息。由于响应在时间上重叠而产生接收错误的情形图可以参见图4。多个从站由于响应在时间上重叠而产生接收错误的举例略。
上述两种错误同时发生而造成的综合接收错误的情形如下:假设通讯系统中有三个节点A、B和C具有同样的虚地址i,如果主站针对虚地址i发送虚地址查询指令或者实地址设置指令后,A、B和C都会发出响应,则可能发生一种情况,在规定的时间窗口T内,A先发出响应,而B后发出响应,未等B的响应发送完毕C也发出响应,这样使得B、C两个响应在时间上不能分开。综合接收错误的情形图可以参见图4。三个从站或者更多的从站由于具有同样的虚地址i都发出响应的其他综合接收错误的举例略。
选择在本发明方法的范围中所应用的指令(虚地址查询指令、虚地址查询响应指令、虚地址重组指令、实地址重组指令、实地址设置指令或实地址设置响应指令)的规则:必须使得它们不损害正常的通讯运作,并且能可靠地被识别。
附图说明
图1地址分配设置方法的步骤1的主站的处理流程图
图2地址分配设置方法的步骤2的主站的处理流程图
图3两个从站各自时间上依次分开的单独的响应的情形图
图4两个从站由于响应在时间上重叠而产生接收错误的情形图
图5三个从站同时响应的一种综合接收错误的情形图
具体实施方式
本发明涉及在通讯系统中的自动地址分配。在实施例中,通讯系统示范性地以基于RS-485的modbus为例。但本发明决不仅限于基于RS-485的modbus,而可有利地应用于上述类型的其他总线系统,尤其是在具有总线导线的总线系统中,比如profibus等等。
迄今为止,在基于RS-485的modbus或者是profibus中是无法对通讯站的地址作自动分配的,因为在上述系统中,由上级通讯站即主站所发送的指令差不多同时位于所有的从站上。传统认为如果为地址分配提供这种信号串,则从站将以相同形式对同一个信号串做出反应,于是便不能得到一种单义的区别。本发明恰恰利用了这种多义性,利用了由于地址重复而造成的多义性来识别重复的虚地址,对于重复的虚地址提供一个虚地址重组指令让它们产生一个新的虚地址,最终给每一个虚地址分配一个实地址完成地址的自动分配。
本发明方法可以使具有多个通讯站的通讯系统自动地运作,该方法不需要为通讯站配设任何用于地址分配的诸如电子的或者机械的开关装置,而采用完全通信协议化的方法进行地址的分配和设置。通过该方法,可以将任何一个无须经过事先的人工干预/配置的从站接纳进总线中。
一种用于在具有多个通讯站(M,S1,S2,....Sn)的通讯系统中进行自动地址分配的方法,这些通讯站中至少有一个下面称为主站(M)的通讯站承担上级功能,而其余的S1、S2、....Sn称为从站或者丛属站。连接站与站的总线属于共享的物理传输媒介。
由主站M发送的指令的信号串可以到达所有接在总线上的从站S1、S2、....Sn。要想完成主站和一个从站S1、S2、....Sn之间的通讯,或在某种情况下在两个从站之间的通讯,必须给每个从站和主站分配单义的地址之后才是可能的。
本发明设定从站具有两种地址状态:虚地址状态和实地址状态。设置虚地址的目的是为了能够通过虚地址产生实地址,而实地址是设备工作时的确切地址,等同于原先的从站地址;任何刚刚出品的从站令其处于虚地址状态且具有一个确切的虚地址;处于虚地址状态的所有从站只接收并处理主站发送的虚地址查询指令、虚地址重组指令、实地址设置指令;处于虚地址状态的从站在接收到主站发送的针对自己的实地址设置指令后进入实地址状态;处于实地址状态的所有从站对于主站发送的虚地址查询指令、虚地址重组指令和实地址设置指令不需做任何处理,但如果接收到主站发送的针对自己的实地址重组指令后进入虚地址状态。这里所述的实地址状态的从站当然也具有普通的发送和接收功能,这些功能足以满足为各个不同的传输介质所定义的总线协议,仅仅是增强了原先的从站的功能。
在自动地址分配期间,那些没有分配实地址的从站S1、S2、....Sn处于虚地址状态。启动本发明的用于地址自动分配方法的主站占用总线来发送指令,并且监视接收指令的响应。那些处于虚地址状态的从站S1、S2、....Sn根据其适合用于执行本发明方法的机制来检测所接收到的指令,并在某种情况下发送自身的响应作为对接收到指令的响应。
下面示范性地以基于RS-485的modbus为例,modbus的从站地址范围为1到247。下列实施例中,总线通信速率均采用9.6Kbps,主站在发出虚地址查询指令或者实地址设置指令后,在后续的300毫秒内接收来自从站的响应。
实施例1:新组建一个通讯系统,系统中一共有十个从站,这些从站属于虚地址状态且从站的虚地址分别为1、3、6、10、15、23、27、28、90、100。
方法1:主站对地址范围内的所有地址逐一发出虚地址查询指令,即可以对地址1到247分别发出虚地址查询指令。针对虚地址1发出虚地址查询指令,主站收到一个从站的虚地址查询响应指令,然后发送实地址设置指令将虚地址为1的从站的实地址设为1;针对虚地址2发出虚地址查询指令,主站没有收到响应;针对虚地址3发出虚地址查询指令,主站收到一个从站的虚地址查询响应指令,然后发送实地址设置指令将虚地址为3的从站的实地址设为2;针对虚地址4发出虚地址查询指令,主站没有收到响应;针对虚地址5发出虚地址查询指令,主站没有收到响应;针对虚地址6发出虚地址查询指令,主站收到一个从站的虚地址查询响应指令,然后发送实地址设置指令将虚地址为6的从站的实地址设为3...。以此类推,原先的虚地址为1、3、6、10、15、23、27、28、90、100的从站在进行实地址设置后,实地址分别是1、2、3、4、5、6、7、8、9、10。
方法2:主站对地址范围内的所有地址逐一发出虚地址查询指令,即可以对地址1到247分别发出虚地址查询指令。针对虚地址1发出虚地址查询指令,主站收到一个从站的虚地址查询响应指令,然后发送实地址设置指令将虚地址为1的从站的实地址设为1;针对虚地址2发出虚地址查询指令,主站没有收到响应;针对虚地址3发出虚地址查询指令,主站收到一个从站的虚地址查询响应指令,然后发送实地址设置指令将虚地址为3的从站的实地址设为3;针对虚地址4发出虚地址查询指令,主站没有收到响应;针对虚地址5发出虚地址查询指令,主站没有收到响应;针对虚地址6发出虚地址查询指令,主站收到一个从站的虚地址查询响应指令,然后发送实地址设置指令将虚地址为6的从站的实地址设为6...。以此类推,原先的虚地址为1、3、6、10、15、23、27、28、90、100的从站在进行实地址设置后,实地址分别是1、3、6、10、15、23、27、28、90、100。即设置后从站的实地址等同于原先的虚地址。
实施例2:新组建一个通讯系统,系统中一共有十个从站,这些从站属于虚地址状态且从站的虚地址分别为1、1、6、10、15、23、27、28、90、100。即有两个从站采用了相同的虚地址1。
主站对地址范围内的所有地址逐一发出虚地址查询指令,即可以对地址1到247分别发出虚地址查询指令。针对虚地址1发出虚地址查询指令,主站收到不止一个从站的虚地址查询响应指令,主站针对虚地址1发虚地址重组指令,虚地址为1的从站接收到收到虚地址重组指令后,分别将自己的虚地址设置为2和8。即10个从站的虚地址变成了2、6、8、10、15、23、27、28、90、100。后续的工作等同于实例1,虚地址为2、6、8、10、15、23、27、28、90、100的从站在进行实地址自动分配设置后,实地址分别是1、2、3、4、5、6、7、8、9、10。
实施例3:在一个已有的通讯系统上添加一个从站,该从站的虚地址假设为168。原先通讯系统上共有10个从站,实地址分别为1、2、3、4、5、6、7、8、9、10。
主站在通讯系统的工作期间,在可预定的时刻或在一可预定的时间段内重新发送虚地址查询指令。当一个系统正在工作时,考虑到系统增加从站不可能非常迅速,主站对地址范围内的所有地址一次性发出虚地址查询指令,即地址的下限设置为1,地址的上限设置为247,然后发出虚地址查询指令。该指令发出后,虚地址为168的从站发出虚地址查询响应指令,主站收到该从站的虚地址查询响应指令,从中可以获取其虚地址为168,然后发送实地址设置指令将虚地址为168的从站的实地址设为11。
实施例4:在一个已有的通讯系统上添加了两个从站,两个从站的虚地址都为168。原先通讯系统上共有10个从站,实地址分别为1、2、3、4、5、6、7、8、9、10。
主站在通讯系统的工作期间,在可预定的时刻或在一可预定的时间段内重新发送虚地址查询指令。当一个系统正在工作时,考虑到系统增加从站不可能非常迅速,主站对地址范围内的所有地址一次性发出虚地址查询指令,即地址的下限设置为1,地址的上限设置为247,然后发出虚地址查询指令。该指令发出后,虚地址为168的从站都发出虚地址查询响应指令,主站收到不止一个从站的虚地址查询响应指令,然后主站可以采用二分法缩小地址查询范围继续发出虚地址查询指令...。最后可以确定有两个从站的虚地址都为168。主站针对虚地址168发虚地址重组指令,虚地址为168的从站接收到虚地址重组指令后,分别将自己的虚地址设置为100和160。之后主站扩大地址查询范围,地址的下限设置为1,地址的上限设置为247,再次发出虚地址查询指令。该指令发出后,虚地址为100和160的从站发出虚地址查询响应指令,主站收到不止一个从站的虚地址查询响应指令,然后主站继续采用二分法缩小地址查询范围继续发出虚地址查询指令。最终可以确定通讯系统上存在两个从站,其地址分别为100和160,分别为其分配实地址11和12。
实施例5:在一个已有的通讯系统上,通讯系统上共有10个从站,主站发现有两个从站的实地址都为9。即实地址分别为1、2、3、4、5、6、7、8、9、9。主站针对实地址9发出实地址重组指令,实地址为9的从站接收到虚地址重组指令后,分别将自己的虚地址设置为100和160。之后主站设置地址查询范围,地址的下限设置为1,地址的上限设置为247,发出虚地址查询指令。该指令发出后,虚地址为100和160的从站发出虚地址查询响应指令,主站收到不止一个从站的虚地址查询响应指令,然后主站继续采用二分法缩小地址查询范围继续发出虚地址查询指令...。最终可以确定通讯系统上存在两个从站,其地址分别为100和160,分别为其分配实地址10和11。
选择在本发明方法的范围中所应用的指令(虚地址查询指令、虚地址查询响应指令、虚地址重组指令、实地址重组指令、实地址设置指令或实地址设置响应指令)的规则:必须使得它们不损害正常的通讯运作,并且能可靠地被识别。
Claims (10)
1、一种基于主从通信模式的地址自动分配设置方法,用于在具有多个通讯站(M,S1,S2,....Sn)的通讯系统中进行自动地址分配,这些通讯站中至少有一个下面称为主站(M)的通讯站承担上级功能,而其余的S1,S2,....Sn称为从站或者从属站,连接站与站的总线属于共享的物理传输媒介,主站占用总线来发送指令,并且监视接收指令的响应,其特征是分两个步骤进行:
1)、主站先找出总线上某一个从站,该从站处于虚地址状态且其虚地址不等同于总线上的任何其他处于虚地址状态的从站的虚地址。从站具有两种地址状态:虚地址状态和实地址状态。设置虚地址的目的是为了能够通过虚地址产生实地址,而实地址是设备工作时的确切地址,等同于原先的从站地址;任何刚刚出品的从站令其处于虚地址状态且具有一个确切的虚地址;处于虚地址状态的所有从站只接收并处理主站发送的虚地址查询指令、虚地址重组指令、实地址设置指令;处于虚地址状态的从站在接收到主站发送的针对自己的实地址设置指令后进入实地址状态;处于实地址状态的所有从站对于主站发送的虚地址查询指令、虚地址重组指令和实地址设置指令不需做任何处理,但如果接收到主站发送的针对自己的实地址重组指令后进入虚地址状态。
2)、主站对此从站进行实地址的分配和设置。对于总线上可能出现的虚地址重复或者实地址重复,提供令其重组的命令,在地址重组之后重新按照上述两个步骤进行地址分配。重复进行步骤1和2可以依次为处于同一总线上的所有从站自动分配实地址。
2、根据权利要求1所述的基于主从通信模式的地址自动分配设置方法,其特征在于:完成步骤1需要三种类型的信号串:主站发送的虚地址查询指令、从站发送的虚地址查询响应指令和主站发送的虚地址重组指令。虚地址查询指令是主站发送给从站的指令,包含地址范围,地址范围可以是某一个确切的虚地址或者是某一段虚地址的上限和下限;虚地址查询响应指令是从站接收到虚地址查询指令后对其的响应,由从站发送给主站,包含从站自己的虚地址(A)用于告知主站;虚地址重组指令是主站发送给从站的指令,包含地址范围,地址范围可以是某一个确切需要重组的虚地址或者是某一段需要重组的虚地址的上限和下限,指令中也可以包含重组后的虚地址范围;虚地址查询指令和虚地址重组指令都属于广播型指令,总线上所有处于虚地址状态的从站都必须接收并做相应处理。
主站发送虚地址查询指令,该查询指令被所有的从站接收,只要从站属于虚地址状态且自己的虚地址在地址范围的上下限之内,它们就发出虚地址查询响应指令作为对虚地址查询指令的响应,并由此告知主站自己的虚地址(A)。主站在一个规定的时间窗口内接收来自从站的虚地址查询响应指令,主站接收的响应情况可为三利:1)、主站没有收到响应,表明没有从站的虚地址属于查询的地址范围内,此时主站可以换一个地址范围重新进行查询或者结束本次查询;2)、主站收到一个从站的虚地址查询响应指令,表明总线上采用该虚地址(A)的从站可能只有一个,即该从站的虚地址(A)不等同于总线上的其他的任何从站的虚地址,此时主站可以进入步骤2;3)、主站收到不止一个从站的虚地址查询响应指令,表明网络上满足虚地址查询指令中地址范围的从站的数目不止一个,此时需要做进一步处理。
3、根据权利要求2所述的基于主从通信模式的地址自动分配设置方法,其特征在于:主站对于收到不止一个从站的虚地址查询响应指令的判断及其相关处理如下:主站在针对某一段虚地址的上限和下限发送虚地址查询指令后,主站在一个规定的时间窗口内接收来自从站的虚地址查询响应指令,如果在规定的时间窗口内由于不止一个从站的响应将会造成主站接收到如下错误信息:主站收到多个从站各自时间上依次分开的单独的响应、由于从站响应在时间上重叠而使得主站发生接收错误或者上述两种错误同时发生而造成的综合接收错误。如果出现了上述三种情形之一,主站可以据此判断出总线上属于该段虚地址的上限和下限内的从站数目不只一个,此时需要主站缩小地址范围重新发送虚地址查询指令。
主站在针对某一个确切的虚地址发送的虚地址查询指令后,主站在一个规定的时间窗口内接收来自从站的虚地址查询响应指令,如果在规定的时间窗口内由于不止一个从站的响应将会造成主站接收到如下错误信息:主站收到多个从站各自时间上依次分开的单独的响应、由于从站响应在时间上重叠而使得主站发生接收错误或者上述两种错误同时发生而造成的综合接收错误。如果出现了上述三种情形之一,主站可以据此判断出总线上有不止一个从站采用了该虚地址(A),即出现了虚地址(A)重复,此时主站需要针对该虚地址(A)发送虚地址重组指令。
4、根据权利要求3所述的基于主从通信模式的地址自动分配设置方法,其特征在于:主站判断出总线上采用某一个确切的虚地址(A)的从站数目不只一个时,即从站的虚地址(A)有重复,主站可以针对该虚地址(A)发出虚地址重组指令。从站在接收到主站发送的虚地址重组指令后,只要从站属于虚地址状态且满足重组指令中地址的上下限要求,从站将产生一个新的数值(比如随机数)做为自己的虚地址。如果主站发送的虚地址重组指令中包含重组后的虚地址范围,则从站产生的新的虚地址必须在此范围之内。从站在接收到虚地址重组指令后无需回应任何消息。
5、根据权利要求1所述的基于主从通信模式的地址自动分配设置方法,其特征在于:在得知总线上采用某虚地址的从站可能只有一个之后,主站可以从响应指令中得知该从站的虚地址(A),之后可以进入步骤2。完成步骤2需要三种类型的信号串:主站发送的实地址设置指令、从站发送的实地址设置响应指令和主站发送的实地址重组指令。实地址设置指令是主站发送给从站的指令,包含某一个虚地址(B)、相应分配的实地址(C);实地址设置响应指令是从站接收到实地址设置指令后对其的响应,由从站发送给主站的指令,包含从站自己的虚地址(B)、相应分配的实地址(C);实地址重组指令是主站发送给从站的指令,包含实地址范围,实地址范围是某一个确切需要重组的实地址或者是某一段需要重组的实地址的上限和下限,也可以包含重组后的虚地址范围;实地址设置指令属于广播型指令,总线上所有处于虚地址状态的从站都必须接收并做相应处理;实地址重组指令也属于广播型指令,总线上所有处于实地址状态的从站都必须接收并做相应处理。
主站发送实地址设置指令,将某一个处于虚地址状态的从站设置成实地址状态,该指令被所有的从站接收,只要从站属于虚地址状态且从站的虚地址等于实地址设置指令中的虚地址(B),则该从站将实地址设置指令中的实地址(C)作为自己的实地址,并且进入实地址状态。从站还发出实地址设置响应指令作为对实地址设置指令的响应。主站在一个规定的时间窗口内接收来自从站的实地址设置响应指令,主站接收的响应情况可为三种:1)、主站没有收到响应,表明步骤1可能有错,退回步骤1;2)、主站收到不止一个从站的实地址设置响应指令,表明有不止一个从站采用了虚地址(B),且这些从站都进入了采用实地址(C)的实地址状态,此时主站需要针对该实地址发送实地址重组指令;3)、主站收到一个从站的实地址设置响应指令,表明总线上采用该虚地址(B)的从站可能只有一个,且该从站已经进入了采用实地址(C)的实地址状态,针对该从站的地址分配完毕。
6、根据权利要求5所述的基于主从通信模式的地址自动分配设置方法,其特征在于:主站发送实地址设置指令后,在一个规定的时间窗口内接收来自从站的实地址设置响应指令,如果在规定的时间窗口内由于不止一个从站的响应将会造成主站接收到如下错误信息:主站收到多个从站各自时间上依次分开的单独的响应、由于从站响应在时间上重叠而使得主站发生接收错误或者上述两种错误同时发生而造成的综合接收错误。如果出现了上述三种情形之一,主站可以据此判断出总线上可能有不止一个从站采用了实地址(C),即出现了实地址(C)重复,此时主站需要针对该实地址(C)发送实地址重组指令。
7、根据权利要求6所述的基于主从通信模式的地址自动分配设置方法,其特征在于:如果主站在发送实地址设置指令时或者实际运行过程中发现网络上从站的实地址有重复,主站可以发出实地址重组指令。从站在接收到主站发送的实地址重组指令后,只要从站属于实地址状态且满足重组指令中地址的上下限要求,从站将进入虚地址状态并产生一个新的数值(比如随机数)做为自己的虚地址。如果主站发送的实地址重组指令中包含重组后的虚地址范围,则从站产生的新的虚地址必须在此范围之内。从站在接收到实地址重组指令后不需回应任何消息。实地址设置指令可以针对某一段需要重组的具有实地址状态的从站进行,可以针对某一个确切需要重组的具有实地址状态的从站进行。
8、根据权利要求1所述的基于主从通信模式的地址自动分配设置方法,其特征在于:主站在通讯系统的工作期间,在可预定的时刻或在一可预定的时间段内重新发送虚地址查询指令。
9、根据权利要求1所述的基于主从通信模式的地址自动分配设置方法,其特征在于:该方法也适合于多主多从系统,即适合于(M1,M2,...Mi,S1,S2,....Sn)这样的系统。在多主多从系统中,将有一个主站完成地址分配,其余的主站可以不参加地址分配或者被当作某一个特殊的从站(具有某种特殊的标记)对待。
10、根据权利要求5、6所述的基于主从通信模式的地址自动分配设置方法,其特征在于:作为本发明的一个简化方法是:从站在接收到主站发送的实地址设置指令后,从站不需回应任何指令,主站对于重复实地址的判断可以在网络的实际运行过程中进行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100386525A CN100477670C (zh) | 2005-04-01 | 2005-04-01 | 一种基于主从通信模式的地址自动分配设置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100386525A CN100477670C (zh) | 2005-04-01 | 2005-04-01 | 一种基于主从通信模式的地址自动分配设置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1674593A true CN1674593A (zh) | 2005-09-28 |
CN100477670C CN100477670C (zh) | 2009-04-08 |
Family
ID=35046850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100386525A Expired - Fee Related CN100477670C (zh) | 2005-04-01 | 2005-04-01 | 一种基于主从通信模式的地址自动分配设置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100477670C (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309306B (zh) * | 2008-07-16 | 2010-06-30 | 哈尔滨工业大学 | 在Modbus通信网络中为从节点设备分配地址的方法 |
CN103108319A (zh) * | 2013-02-06 | 2013-05-15 | 中达电通股份有限公司 | 为led 路灯内置控制器自动设置通讯地址的方法及装置 |
CN103345217A (zh) * | 2013-06-18 | 2013-10-09 | 苏州骋研电子技术有限公司 | 快速设定通讯地址的方法及群控风机过滤单元系统 |
CN103716420A (zh) * | 2014-01-03 | 2014-04-09 | 西南大学 | Modbus ASCII从站自动获取站地址方法及从站 |
TWI481245B (zh) * | 2012-12-19 | 2015-04-11 | Motech Ind Inc | 通訊網路的子裝置的位址設定方法 |
CN104639666A (zh) * | 2013-11-06 | 2015-05-20 | 腾讯科技(深圳)有限公司 | 域名访问方法及装置 |
CN106878488A (zh) * | 2017-04-29 | 2017-06-20 | 成都工鼎科技有限公司 | 一种Modbus RTU总线地址自动分配方法 |
CN107205059A (zh) * | 2016-03-17 | 2017-09-26 | 华为技术有限公司 | 管理表计设备地址的方法、采集终端和表计设备 |
CN107580085A (zh) * | 2017-10-26 | 2018-01-12 | 北京科技大学 | 一种物联网组网方法 |
CN108316975A (zh) * | 2018-02-06 | 2018-07-24 | 天地(常州)自动化股份有限公司 | 一种煤矿安全监控系统传感器地址自动分配方法 |
CN108833602A (zh) * | 2018-05-24 | 2018-11-16 | 湖北文理学院 | 一种基于元器件制造差异的总线地址自动分配方法和系统 |
CN109218155A (zh) * | 2018-09-13 | 2019-01-15 | 深圳益邦物联科技有限公司 | 基于Modbus RTU协议的地址自动分配系统及方法 |
CN110296503A (zh) * | 2019-05-10 | 2019-10-01 | 珠海格力电器股份有限公司 | 空调机组自动分配地址的方法、空调系统 |
CN111756609A (zh) * | 2020-06-15 | 2020-10-09 | 苏州汇川技术有限公司 | 站号自动分配方法、主站设备、从站设备及单锭检测系统 |
CN115277295A (zh) * | 2022-07-29 | 2022-11-01 | 广东美的智能科技有限公司 | 控制器的通信方法及控制器 |
-
2005
- 2005-04-01 CN CNB2005100386525A patent/CN100477670C/zh not_active Expired - Fee Related
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309306B (zh) * | 2008-07-16 | 2010-06-30 | 哈尔滨工业大学 | 在Modbus通信网络中为从节点设备分配地址的方法 |
TWI481245B (zh) * | 2012-12-19 | 2015-04-11 | Motech Ind Inc | 通訊網路的子裝置的位址設定方法 |
CN103108319A (zh) * | 2013-02-06 | 2013-05-15 | 中达电通股份有限公司 | 为led 路灯内置控制器自动设置通讯地址的方法及装置 |
CN103108319B (zh) * | 2013-02-06 | 2015-10-28 | 中达电通股份有限公司 | 为led路灯内置控制器自动设置通讯地址的方法及装置 |
CN103345217A (zh) * | 2013-06-18 | 2013-10-09 | 苏州骋研电子技术有限公司 | 快速设定通讯地址的方法及群控风机过滤单元系统 |
CN104639666B (zh) * | 2013-11-06 | 2019-04-16 | 腾讯科技(深圳)有限公司 | 域名访问方法及装置 |
CN104639666A (zh) * | 2013-11-06 | 2015-05-20 | 腾讯科技(深圳)有限公司 | 域名访问方法及装置 |
CN103716420A (zh) * | 2014-01-03 | 2014-04-09 | 西南大学 | Modbus ASCII从站自动获取站地址方法及从站 |
CN107205059A (zh) * | 2016-03-17 | 2017-09-26 | 华为技术有限公司 | 管理表计设备地址的方法、采集终端和表计设备 |
US10944716B2 (en) | 2016-03-17 | 2021-03-09 | Huawei Technologies Co., Ltd. | Metering device address management method, collection terminal, and metering device |
CN106878488A (zh) * | 2017-04-29 | 2017-06-20 | 成都工鼎科技有限公司 | 一种Modbus RTU总线地址自动分配方法 |
CN106878488B (zh) * | 2017-04-29 | 2020-03-20 | 成都工鼎科技有限公司 | 一种Modbus RTU总线地址自动分配方法 |
CN107580085B (zh) * | 2017-10-26 | 2019-12-13 | 北京科技大学 | 一种物联网组网方法 |
CN107580085A (zh) * | 2017-10-26 | 2018-01-12 | 北京科技大学 | 一种物联网组网方法 |
CN108316975A (zh) * | 2018-02-06 | 2018-07-24 | 天地(常州)自动化股份有限公司 | 一种煤矿安全监控系统传感器地址自动分配方法 |
CN108833602A (zh) * | 2018-05-24 | 2018-11-16 | 湖北文理学院 | 一种基于元器件制造差异的总线地址自动分配方法和系统 |
CN109218155A (zh) * | 2018-09-13 | 2019-01-15 | 深圳益邦物联科技有限公司 | 基于Modbus RTU协议的地址自动分配系统及方法 |
CN110296503A (zh) * | 2019-05-10 | 2019-10-01 | 珠海格力电器股份有限公司 | 空调机组自动分配地址的方法、空调系统 |
CN111756609A (zh) * | 2020-06-15 | 2020-10-09 | 苏州汇川技术有限公司 | 站号自动分配方法、主站设备、从站设备及单锭检测系统 |
CN111756609B (zh) * | 2020-06-15 | 2022-03-04 | 苏州汇川控制技术有限公司 | 站号自动分配方法、主站设备、从站设备及单锭检测系统 |
CN115277295A (zh) * | 2022-07-29 | 2022-11-01 | 广东美的智能科技有限公司 | 控制器的通信方法及控制器 |
CN115277295B (zh) * | 2022-07-29 | 2023-12-19 | 广东美的智能科技有限公司 | 控制器的通信方法及控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN100477670C (zh) | 2009-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1674593A (zh) | 一种基于主从通信模式的地址自动分配设置方法 | |
CN108989169B (zh) | 基于can总线的模块智能自组网的方法 | |
CN1232072C (zh) | 多个虚拟局域网共用一个网际协议子网网段时的通信方法 | |
CN1829190A (zh) | 一种分布式arp实现方法 | |
CN1672359A (zh) | 定源多播组地址到源地址的映射 | |
CN106101299B (zh) | 室内机地址分配方法和多联机系统 | |
CN101175000A (zh) | 一种自动检测ip地址的方法及装置 | |
CN1099794C (zh) | 电信网络节点中的地址分配方法 | |
US20060173955A1 (en) | Method and apparatus for allocating network subscriber device addresses in a profinet IO network | |
CN103001888B (zh) | 一种实时数据的传输方法及节点设备 | |
CN104838625A (zh) | 通信系统、控制装置、通信控制方法、传输控制方法以及传输控制程序 | |
CN103716420A (zh) | Modbus ASCII从站自动获取站地址方法及从站 | |
CN1531268A (zh) | 网络地址设定方法 | |
CN1343415A (zh) | 控制区域网络协议中的双级标识符 | |
EP2203821B1 (de) | Verfahren zur sicheren datenübertragung und gerät | |
US20130145045A1 (en) | Systems and methods for managing network address information | |
CN111083055A (zh) | 一种客户端设备管理方法、装置、路由器及存储介质 | |
CN1559132A (zh) | 在具有冗余网络路径的通信系统中接收数据电报 | |
EP1435027B1 (de) | Verfahren zur übertragung eines datentelegramms zwischen einer echtzeit-domain und einer nicht-echtzeit-domain und koppeleinheit | |
CN1249956C (zh) | 虚拟以太网适配卡的方法 | |
US10798052B2 (en) | Switch and method for providing a name service within an industrial automation system by distributing supplemented router advertisement messages | |
CN1244266A (zh) | 可“监听”的通信用户、通信方法和具有可“监听”的通信用户的通信系统 | |
CN111371659A (zh) | 一种rs485从设备地址自动分配的方法 | |
CN111092964B (zh) | 车载网络中的设备标识方法 | |
CN113179338B (zh) | 通信方法、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090408 Termination date: 20140401 |