CN115442333A - 基于rs485通信的自组网方法、装置、计算机设备及介质 - Google Patents
基于rs485通信的自组网方法、装置、计算机设备及介质 Download PDFInfo
- Publication number
- CN115442333A CN115442333A CN202211000068.0A CN202211000068A CN115442333A CN 115442333 A CN115442333 A CN 115442333A CN 202211000068 A CN202211000068 A CN 202211000068A CN 115442333 A CN115442333 A CN 115442333A
- Authority
- CN
- China
- Prior art keywords
- address
- networking
- slave
- instruction
- network
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 96
- 238000004891 communication Methods 0.000 title claims abstract description 95
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000006855 networking Effects 0.000 claims abstract description 184
- 230000004044 response Effects 0.000 claims abstract description 78
- 238000004590 computer program Methods 0.000 claims description 22
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 abstract description 14
- 238000012986 modification Methods 0.000 abstract description 14
- 206010063385 Intellectualisation Diseases 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种基于RS485通信的自组网方法、装置、计算机设备及介质,其中,该基于RS485通信的自组网方法包括主机端执行的如下步骤:向网络发送组网广播指令;接收目标从机端返回的携带真随机地址的从机指令应答数据包,并缓存从机指令应答数据包;基于从机指令应答数据包对应的真随机地址和数据包到达次序,给目标从机端匹配内部组网地址;向目标从机端发送携带内部组网地址的修改地址指令;当***当前时间满足最长延时等待时限时,重复执行向网络发送组网广播指令的步骤,直至完成网络自组网。该基于RS485通信的自组网方法无需人为设置固定地址,提高RS485组网的智能化和自动可扩展性。
Description
技术领域
本发明涉及工业互联网通信技术领域,尤其涉及一种基于RS485通信的自组网方法、装置、计算机设备及介质。
背景技术
在RS485通信网络中一般采用主从通信方式,即一个主机带多个从机。RS485通信是半双工模式,且主机和从机是以并联的形式挂接在总线上,同一时刻在通信网络中只能有一台终端发送数据到***总线上,进而主机与从机的通信方式为“一问一答”的方式,即主机发送数据包到总线上,数据包中包含有主机想要通信的从机地址;从机在接收到主机的数据包后,比对数据包中的地址是否与从机的从机地址一致,从而确定此数据包是否发给本机的。
从机地址一般是人为设置固定的地址,主机需要人为录入网络中所有的从机地址,才能进行正常的通信。采用这种方式,主机和从机的本机地址都需要人为设置固定的地址,操作繁琐;并且从机地址必须保持唯一性,网络中不能存在相同的从机地址,这就使得人为设置地址极易出现错误,导致网络异常,从而不能正常工作;而面对无人值守的场景,这样人为设定本机地址的方式也难以正常运行。
发明内容
本发明实施例提供一种基于RS485通信的自组网方法、装置、计算机设备及介质,以解决人为设置地址极易出现错误,导致网络异常,从而不能正常工作,以及面对无人值守的场景,这样人为设定本机地址的方式也难以正常运行的问题。
一种基于RS485通信的自组网方法,包括主机端执行的如下步骤:
向网络发送组网广播指令,用于多个从机端基于组网广播指令生成真随机地址;
接收目标从机端返回的携带真随机地址的从机指令应答数据包,并缓存从机指令应答数据包;在最长延时等待时限内,基于从机指令应答数据包对应的真随机地址和数据包到达次序,给目标从机端匹配内部组网地址;
向目标从机端发送携带内部组网地址的修改地址指令,以使目标从机端将其对应的真随机地址替换为内部组网地址;
当***当前时间满足最长延时等待时限时,重复执行向网络发送组网广播指令的步骤,直至未收到任何从机端返回的从机指令应答数据包的连续次数满足最大等待次数,则完成网络自组网。
一种基于RS485通信的自组网装置,包括主机端,主机端包括:
发送广播组网指令模块,用于向网络发送组网广播指令,用于多个从机端基于组网广播指令生成真随机地址;
缓存应答数据包模块,用于接收目标从机端返回的携带真随机地址的从机指令应答数据包,并缓存从机指令应答数据包;
匹配内部组网地址模块,用于在最长延时等待时限内,基于从机指令应答数据包对应的真随机地址和数据包到达次序,给目标从机端匹配内部组网地址;
发送修改地址指令模块,用于向目标从机端发送携带内部组网地址的修改地址指令,以使目标从机端将其对应的真随机地址替换为内部组网地址;
完成网络自组网模块,用于当***当前时间满足最长延时等待时限时,重复执行向网络发送组网广播指令的步骤,直至未收到任何从机端返回的从机指令应答数据包的连续次数满足最大等待次数,则完成网络自组网。
一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述基于RS485通信的自组网方法。
一种计算机可读介质,计算机可读介质存储有计算机程序,计算机程序被处理器执行时实现上述基于RS485通信的自组网方法。
一种基于RS485通信的自组网方法,包括主机端执行的如下步骤:
接收网络上的主机端发送的组网广播指令;
基于组网广播指令,生成真随机地址,并基于真随机地址,生成随机延时时间;
根据随机延时时间进行延时后,向主机端返回携带真随机地址的从机指令应答数据包;
接收主机端发送的携带内部组网地址的修改地址指令;
将本机对应的真随机地址替换为内部组网地址,并进入从机静默状态。
一种基于RS485通信的自组网装置,包括从机端,从机端包括:
接收广播指令模块,用于接收网络上的主机端发送的组网广播指令;
生成真随机地址模块,用于基于组网广播指令,生成真随机地址,并基于真随机地址,生成随机延时时间;
返回应答数据包模块,用于根据随机延时时间进行延时后,向主机端返回携带真随机地址的从机指令应答数据包;
接收修改地址指令模块,用于接收主机端发送的携带内部组网地址的修改地址指令;
进入静默状态模块,用于将本机对应的真随机地址替换为内部组网地址,并进入从机静默状态。
一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述基于RS485通信的自组网方法。
一种计算机可读介质,计算机可读介质存储有计算机程序,计算机程序被处理器执行时实现上述基于RS485通信的自组网方法。
上述基于RS485通信的自组网方法、装置、计算机设备及介质,通过主机端向网络发送组网广播指令,多个从机端可基于地址范围生成真随机地址并发送给主机端,主机端可按序给从机端根据真随机地址匹配内部组网地址,实现从机地址的自动分配,也即实现通信自组网,无需人为设置固定地址,提高RS485组网的智能化和自动可扩展性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1绘示出本发明一实施例中基于RS485通信的自组网的应用环境示意图;
图2绘示出本发明一实施例中基于RS485通信的自组网的流程图;
图3绘示出本发明一实施例中基于RS485通信的自组网的第一流程图;
图4绘示出本发明一实施例中基于RS485通信的自组网的第二流程图;
图5绘示出本发明一实施例中基于RS485通信的自组网的过程中第一轮地址分配时序示意图;
图6绘示出本发明一实施例中基于RS485通信的自组网的第三流程图;
图7绘示出发明一实施例中基于RS485通信的自组网中主机端的全流程示例图;
图8绘示出发明一实施例中基于RS485通信的自组网中从机端的全流程示例图;
图9绘示出本发明一实施例中基于RS485通信的自组网装置的示意图;
图10绘示出本发明一实施例中计算机设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
RS485是定义平衡数字多点***中驱动器和接收器电气特性的标准,由电信行业协会和电子工业联盟定义。使用该标准的数字通信网络可以有效地在远程和电子噪声环境中传输信号。RS-485使得连接本地网络和多支路通信链路的配置成为可能。RS485主要采用两线***接线模式。该接线模式为总线拓扑结构,最多可在同一总线上连接32个节点。在RS485通信网络一般采用主从通信方式,即主机带多个从机。RS485通信速率快,最大传输速度可以达到10Mb/s以上。
RS485通信是半双工(Half duplex Communication)工作模式,是指在通信过程的任意时刻,信息既可由A传到B,又能由B传A,但只能有一个方向上的传输存在。采用半双工方式时,通信***每一端的发送器和接收器,通过收/发开关转接到通信线上,进行方向的切换,会产生时间延迟。
RS485主从式多机通信协议(数据传输协议):此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一个控制器请求访问其他设备的过程,如何回应来自其他设备的请求,以及怎样侦测错误并记录。此协议决定了每个控制器需要知道从设备的已人为设定的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息按本协议发出。主设备可单独和从设备通信,也能以广播方式和所有从设备通信。
上述主从设备间的通信方式基于主设备应提前知道从设备的通信地址,不利于网络扩展,或可能出现从设备地址冲突的情况。本实施例基于前述问题,本发明实施例提供一种基于RS485通信的自组网方法,可应用在如图1的应用环境中,该基于RS485通信的自组网方法应用在基于RS485通信的自组网***中,该基于RS485通信的自组网***包括主机端和多个从机端,其中,主机端通过网络与多个从机端,比如传感器等,进行通信。
该基于RS485通信的自组网方法包括主机端执行的如下步骤:
向网络发送组网广播指令,用于多个从机端基于组网广播指令生成真随机地址。
接收目标从机端返回的携带真随机地址的从机指令应答数据包,并缓存从机指令应答数据包。
在最长延时等待时限内,基于从机指令应答数据包对应的真随机地址和数据包到达次序,给目标从机端匹配内部组网地址。
向目标从机端发送携带内部组网地址的修改地址指令,以使目标从机端将其对应的真随机地址替换为内部组网地址。
当***当前时间满足最长延时等待时限时,重复执行向网络发送组网广播指令的步骤,直至未收到任何从机端返回的从机指令应答数据包的连续次数满足最大等待次数,则完成网络自组网。
该基于RS485通信的自组网方法还包括从机端执行的如下步骤:
接收网络上的主机端发送的组网广播指令。
基于组网广播指令,生成真随机地址,并基于真随机地址,生成随机延时时间。
根据随机延时时间进行延时后,向主机端返回携带真随机地址的从机指令应答数据包。
接收主机端发送的携带内部组网地址的修改地址指令。
将本机对应的真随机地址替换为内部组网地址,并进入从机静默状态。
在一实施例中,如图2所示,提供一种基于RS485通信的自组网方法,以该方法应用在图1中的主机端和从机端为例进行说明,具体包括如下步骤:
S11.主机端向网络发送组网广播指令,用于多个从机端基于组网广播指令生成真随机地址。
其中,组网广播指令是主机端向网络发送的,每个从机端都能够接收到的用于生成真随机地址的指令。真随机指令是从机端根据主机端发送的地址范围进行地址匹配得到的。
具体地,本实施例可采用115200bps的波特率和半双工工作模式,由通信由上位机发起,下位机应答的模式。由表示地址的位数设定为八位可知,网络可容纳256个节点,且***上电时,所有的从机地址均为零。此时,主机限定从机端的可分配的从机对应的地址范围为1~240,则从机可随机从该范围中匹配出一个地址作为自身在网络中对应的八位真随机地址。
地址范围是主机侧根据网络中可容纳的节点数设定的地址范围,比如,设定网络中最多容纳256个节点,则可设定从机端的地址范围为:0~240,将主机及总线监控单元设定地址范围:241~255。进一步地,地址范围还包括用于表示地址的位数,于本实施例,可将表示地址的位数设定为八位。
主机端向从机端发送组网广播指令可采用如下的通信数据包格式:
其中“目标地址”,“源地址”和“指令”三项是本实施例中主要使用的对象。源地址为此数据包发出的主机端对应的地址,目标地址为接收此数据包的从机端对应的地址,指令用于加载该发送组网广播指令,说明此数据包的功能和类型。可以理解的是,上述通信数据包格式可依据实际需求做相应修改。
本实施例提供的生成真随机范围的方法利于主机根据网络节点大小动态设定节点大小,并及时调整从机对应的地址范围,而无需人工从机端进行设定,提高网络设定地址范围的动态性和集中控制性。
S21.从机端接收网络上的主机端发送的组网广播指令。
具体地,从机端可在网络监听状态下,及时接收主机端发送的各种广播指令,比如,用于组网并生成真随机地址的组网广播指令。
S22.从机端基于组网广播指令,生成真随机地址,并基于真随机地址,生成随机延时时间。
其中,随机延时时间是从机端生成真随机地址后等待的时间,当满足等待的时间后再将该真随机地址返回主机端,用于主机端区别不同的从机端返回的真随机地址,并基于不同的真随机地址进行地址合法性判定。
具体地,从机端可使用八位的真随机地址对应的数值的倍数,于本实施例可采用两倍作为延时时间,单位:ms。比如:生成的真随机地址为10,则延时时间为20ms。
S23.从机端根据随机延时时间进行延时后,向主机端返回携带真随机地址的从机指令应答数据包。
其中,从机指令应答数据包是从机端基于主机端发送的组网广播指令返回的包括真随机地址的数据包。从机端可借鉴主机端采用的通信数据包格式加载该从机指令应答数据包,此处不做赘述。
具体地,从机端向主机端返回从机指令应答数据包,也说明该从机端还处于无地址状态,需主机端进行确认。所有从机端,以收到主机端的组网广播指令为时间起点,依据各自生成的随机延时时间,延时向主机端发送从机指令应答数据包。从机指令应答数据包中的“源地址”使用八位真随机地址。
S12.主机端接收目标从机端返回的携带真随机地址的从机指令应答数据包,并缓存从机指令应答数据包。
具体地,因从机端为多个,主机端不断地接收目标从机端发送的应答数据包,存入缓冲区,用于后续进行集中处理。
S13.主机端在最长延时等待时限内,基于从机指令应答数据包对应的真随机地址和数据包到达次序,给目标从机端匹配内部组网地址。
其中,最长延时等待时限为主机端每次等待接收从机端返回的从机指令应答数据包的最长时间。该最长延时等待时限是基于最长的随机延时时间设定的,也即最长延时等待时限应大于最长的随机延时时间。比如,若从机端的地址为240,取两倍随机延时时间为480ms,则于本实施例中,可将最长延时等待时限设定为500ms。
具体地,主机端在持续500ms时间结束后,停止接收数据包并提取缓冲区中正确的数据包。并基于每一从机指令应答数据包的接收时间也即接收次序作为到达次序,按序号重新给从机端设定内部组网地址,比如,将第一位到达的原地址为122号的从机端的地址重新设定的内部组网地址为122--》1,也即将122号从机端重新设定的内部组网地址为1号,并且第二位的内部组网地址按1进行递增。
从机端收到主机端的组网指令后,生成的八位随机地址必须是真随机地址。从机端地址数值范围是1~240。各从机端发送组网指令应答数据包的延时时间=2*随机地址,则最大延时时间为480ms。两台生成不同真随机地址的从机端,发送组网应答数据包的最短时间间隔为2ms,最长时间间隔为478ms。通信波特率115200,数据包长度12字节,从机端发送应答数据包需1.042ms。从机端需要实时响应主机组网数据包,响应延迟应在500us以内。
S14.主机端向目标从机端发送携带内部组网地址的修改地址指令,以使目标从机端将其对应的真随机地址替换为内部组网地址。
其中,修改地址指令为主机端通知目标从机端将原真随机地址修改为内部组网地址的指令。
具体地,主机端通过修改从机指令,依次将排好序的从机指令应答数据包所对应的从机的真随机地址修改为内部组网地址。
S24.从机端接收主机端发送的携带内部组网地址的修改地址指令。
S25.从机端将本机对应的真随机地址替换为内部组网地址,并进入从机静默状态。
具体地,从机端在接收到修改地址指令数据包后,更新自身地址,并回复主机端,此从机端对应的内部组网地址分配成功。然后此从机进入从机静默状态,不再响应主机发送的修改地址指令,仅响应主机发送的“全部从机组网指令”和“组网结束指令”。
在组网过程中,已经分配地址的从机端(包括上一次组网分配好地址的从机端),除了主机端发送的“全部从机响应组网”和“组网结束指令”指令外,不响应主机端发来的其他指令,组网结束后,恢复正常。
S15.主机端当***当前时间满足最长延时等待时限时,重复执行向网络发送组网广播指令的步骤,直至未收到任何从机端返回的从机指令应答数据包的连续次数满足最大等待次数,则完成网络自组网。
其中,最大等待次数是收不到任何完整的从机端回复的数据包的连续次数,比如,主机端连续五次均收不到任何完整正确的从机端返回的从机指令应答数据包,主机端便可结束本次的组网轮询,完成本次网络自组网,也即不再给任何从机端分配新的内部组网地址。
具体地,主机端发送完组网指令数据包后,进入接收状态,接收从机端发送的数据包,存入缓冲区,持续500ms后再进行缓冲区数据包的分析,完整正确的数据包即为随机产生了唯一真随机地址的从机端,错误的数据包丢弃。产生了唯一地址的从机,主机即可与之单独进行通信,然后主机端将此从机端重新分配地址,地址取值使用接收到的从机端正确数据包的排序序号。
主机端每次等待500ms后,返回到步骤S11,进行下一轮地址分配。直到主机在广播发送完组网广播指令后,500ms内收不到任何完整正确的从机应答数据包。再返回步骤S11重复执行最大等待次数减一次,比如,连续五次均收不到任何完整正确的从机回复的从机指令应答数据包,则主机端可广播发送“组网结束”指令数据包,完成本次组网。
主机端依据已分配好的从机端对应的内部组网地址,使用读取设备信息指令数据包,依次读取从机端的“唯一识别码”,确立内部组网地址与从机端的真实对应关系。
本实施例提供的基于RS485通信的自组网方法,通过主机端向网络发送组网广播指令,多个从机端可基于地址范围生成真随机地址并发送给主机端,主机端可按序给从机端根据真随机地址匹配内部组网地址,实现从机地址的自动分配,也即实现通信自组网,无需人为设置固定地址,提高RS485组网的智能化和自动可扩展性。
在一具体实施例中,如图3所示,在S11中,即在向网络发送组网广播指令,具体包括如下步骤:
S111.主机端获取组网状态。
S112.若组网状态为全部响应状态,则主机端向网络发送全部从机需响应组网的初始组网广播指令,地址范围包括所有的可用地址。
S113.若组网状态为部分响应状态,则主机端向网络发送部分从机需响应组网的再次组网广播指令,地址范围包括剩余的可用地址。
其中,全部响应状态是主机端在启动新的一轮内部地址分配轮询时第一次发组网广播指令时的状态,此时主机端需等待所有从机端返回的从机指令应答数据包。
部分响应状态是主机端在新的组网轮询第二次及之后次数所处的状态,此时仅需网络中的部分从机端响应第二次以及后续发布的再次组网广播指令,此时主机端仅需等待部分从机端返回的从机指令应答数据包。
剩余的可用地址是经前面轮询已用地址范围内剩余的可用地址。
具体地,主机端广播发送初始组网广播指令,本次组网过程的第一轮使用全部从机端响应的组网指令,第二轮及以后轮使用未分配地址的从机端响应组网指令,然后进入接收从机端的应答数据包状态。
上位机发送的自组网指令数据包需分两种,一种为“全部从机响应组网”,另一种为“未分配地址从机响应组网”。
初始组网广播指令:此指令在主机端软件启动运行时执行,或者主机端软件使用者主动执行,并且组网过程处在第一轮状态,此时所有从机端都要响应组网指令。
再次组网广播指令:此指令在主机端进行第二轮及以后轮组网时执行,或者主机端软件使用者主动执行,此时对于未分配地址的从机端响应组网指令,已分配地址的从机端不响应。对于已经正常组网成功的***,添加新的从机端时,使用此命令可以让新添加的从机端进行局部组网,而不影响已经加入网络的从机端。
本实施例提供的方法,主机端可通过组网状态判定接收从机端返回的从机指令应答数据包的数量,从而灵活设定等待时间,无需每次都等待所有从机端返回的延时时间进行等待。
在一具体实施例中,如图4所示,在S13中,即在基于从机指令应答数据包对应的真随机地址和数据包到达次序,给目标从机端匹配内部组网地址,具体包括如下步骤:
S131.主机端确定真随机地址的合法性。
S132.若真随机地址满足合法性,则主机端提取真随机地址的数据包到达次序,将数据包到达次序作为内部组网地址。
具体地,真随机地址的合法性包括地址的唯一性和正确性。只有两个从机端返回的地址不重复且不存在数据错误,主机端才认为从机端返回有效的真随机地址,才对合法的真随机地址对应的从机端分配内部组网地址。
每个完整的正确的从机指令应答数据包表明从机端在发送此数据包的过程中没有被其他从机端干扰,且在发送数据的延时时间具有唯一性,也表明生成的八位真随机地址具有唯一性。
举例说明,如图5所示,图5为自组网过程中第一轮地址分配时序示意图。主机发送“全部从机响应组网”指令,所有从机收到指令数据包后,生成8位真随机数地址,地址范围(1~240)。
从机使用真随机数8位地址数值的两倍作为延时时间,单位:ms。
所有从机,以收到上位机的自组网指令数据包为时间起点,依据各自生成的随机延时时间,延时向主机发送自组网指令应答数据包。从机应答数据包中的“源地址”使用生成的8位真随机数地址。
从图例中可以看出,从机2、5、8,在发送数据包时并未与其他从机产生冲突,所以主机将收到完整正确的从机2、5、8发送的数据包,本轮地址分配中,从机2、5、8分配成功。
而从机4与从机10,从机1与从机3与从机9,从机6与从机7,在发送数据包时都将产生冲突,所以主机将不能收到完整正确的数据包,本轮地址分配中,从机4,10,1,3,9,6,7分配失败,进入下一轮地址分配。
在一具体实施例中,在S15中,即在当***当前时间满足最长延时等待时限时,重复执行向网络发送组网广播指令的步骤之前,还具体包括如下步骤:
S150.主机端保存最大的内部组网地址,用于将最大的内部组网地址加一作为下轮组网的内部组网地址的起始值。
具体地,主机端依次处理完缓冲区内所有数据包后,保存最后一个数据包的排序地址,下一轮地址分配使用此地址加一作为排序地址的起始值。
在一具体实施例中,如图6所示,在S25中,即在进入从机静默状态之后,还具体包括如下步骤:
S251.从机端接收主机端发送的组网结束广播指令或者初始组网广播指令。
S252.从机端进入网络监听状态。
其中,网络监听状态是从机端接收主机端发送的广播指令的状态。
具体地,从机端接收到主机端广播发送的组网结束的广播指令,或者接收到初始组网广播指令,说明本轮地址分配已结束或者新的一轮地址分配已重新开始。
本实施例提供的基于RS485通信的自组网方法,如图7所示的基于RS485通信的自组网方法中主机端的全流程示例图,其中,图中的FailCnt:未接收到正确数据包状态计数;如图8所示为基于RS485通信的自组网方法中从机端的全流程示例图,其中,DevAddr:本机地址,SetAddrFlag:地址分配状态标志。0:未分配,1:已分配。本实施例提供的基于RS485通信的自组网方法通过主机端向网络发送组网广播指令,多个从机端可基于地址范围生成真随机地址并发送给主机端,主机端可按序给从机端根据真随机地址匹配内部组网地址,实现从机地址的自动分配,也即实现通信自组网,无需人为设置固定地址,提高RS485组网的智能化和自动可扩展性。
在一实施例中,提供一种基于RS485通信的自组网装置,该基于RS485通信的自组网装置与上述实施例中基于RS485通信的自组网方法一一对应。如图9所示,该基于RS485通信的自组网装置中的主机端10包括发送广播组网指令模块11、缓存应答数据包模块12、匹配内部组网地址模块13、发送修改地址指令模块14和完成网络自组网模块15。各功能模块详细说明如下:
发送广播组网指令模块11,用于向网络发送组网广播指令,用于多个从机端基于组网广播指令生成真随机地址。
缓存应答数据包模块12,用于接收目标从机端返回的携带真随机地址的从机指令应答数据包,并缓存从机指令应答数据包。
匹配内部组网地址模块13,用于在最长延时等待时限内,基于从机指令应答数据包对应的真随机地址和数据包到达次序,给目标从机端匹配内部组网地址。
发送修改地址指令模块14,用于向目标从机端发送携带内部组网地址的修改地址指令,以使目标从机端将其对应的真随机地址替换为内部组网地址。
完成网络自组网模块15,用于当***当前时间满足最长延时等待时限时,重复执行向网络发送组网广播指令的步骤,直至未收到任何从机端返回的从机指令应答数据包的连续次数满足最大等待次数,则完成网络自组网。
在一实施例中,提供一种基于RS485通信的自组网装置,该基于RS485通信的自组网装置与上述实施例中基于RS485通信的自组网方法一一对应。该基于RS485通信的自组网装置中的从机端20包括接收广播指令模块21、生成真随机地址模块22、返回应答数据包模块23、接收修改地址指令模块24和进入静默状态模块25。各功能模块详细说明如下:接收广播指令模块21,用于接收网络上的主机端发送的组网广播指令。
生成真随机地址模块22,用于基于组网广播指令,生成真随机地址,并基于真随机地址,生成随机延时时间。
返回应答数据包模块23,用于根据随机延时时间进行延时后,向主机端返回携带真随机地址的从机指令应答数据包。
接收修改地址指令模块24,用于接收主机端发送的携带内部组网地址的修改地址指令。
进入静默状态模块25,用于将本机对应的真随机地址替换为内部组网地址,并进入从机静默状态。
关于基于RS485通信的自组网装置的具体限定可以参见上文中对于基于RS485通信的自组网方法的限定,在此不再赘述。上述基于RS485通信的自组网装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一实施例中,提供一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性介质、内存储器。该非易失性介质存储有操作***、计算机程序和数据库。该内存储器为非易失性介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于RS485通信的自组网方法中需保存的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于RS485通信的自组网方法。
在一实施例中,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例基于RS485通信的自组网方法,例如图2所示S11至步骤S25。或者,处理器执行计算机程序时实现上述实施例中基于RS485通信的自组网装置的各模块/单元的功能,例如图9所示模块11至模块25的功能。为避免重复,此处不再赘述。
在一实施例中,提供一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例基于RS485通信的自组网方法,或者,该计算机程序被处理器执行时实现上述装置实施例中基于RS485通信的自组网装置中各模块/单元的功能。为避免重复,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其他介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于RS485通信的自组网方法,应用于主机端,其特征在于,包括:
向网络发送组网广播指令,用于多个从机端基于所述组网广播指令生成真随机地址;
接收目标从机端返回的携带真随机地址的从机指令应答数据包,并缓存所述从机指令应答数据包;
在最长延时等待时限内,基于所述从机指令应答数据包对应的所述真随机地址和数据包到达次序,给所述目标从机端匹配内部组网地址;
向所述目标从机端发送携带所述内部组网地址的修改地址指令,以使所述目标从机端将其对应的所述真随机地址替换为所述内部组网地址;
当***当前时间满足所述最长延时等待时限时,重复执行所述向网络发送组网广播指令的步骤,直至未收到任何从机端返回的从机指令应答数据包的连续次数满足最大等待次数,则完成网络自组网。
2.如权利要求1所述的基于RS485通信的自组网方法,其特征在于,所述向网络发送组网广播指令,包括:
获取组网状态;
若所述组网状态为全部响应状态,则向网络发送全部从机需响应组网的初始组网广播指令,所述地址范围包括所有的可用地址;
若所述组网状态为部分响应状态,则向网络发送部分从机需响应组网的再次组网广播指令,所述地址范围包括剩余的可用地址。
3.如权利要求1所述的基于RS485通信的自组网方法,其特征在于,所述基于所述从机指令应答数据包对应的所述真随机地址和数据包到达次序,给所述目标从机端匹配内部组网地址,包括:
确定所述真随机地址的合法性;
若所述真随机地址满足所述合法性,则提取所述真随机地址的所述数据包到达次序,将所述数据包到达次序作为所述内部组网地址。
4.如权利要求1所述的基于RS485通信的自组网方法,其特征在于,在所述当***当前时间满足所述最长延时等待时限时,重复执行所述向网络发送组网广播指令的步骤之前,还包括:
保存最大的内部组网地址,用于将所述最大的内部组网地址加一作为下轮组网的内部组网地址的起始值。
5.一种基于RS485通信的自组网方法,应用于从机端,其特征在于,包括:
接收网络上的主机端发送的组网广播指令;
基于所述组网广播指令,生成真随机地址,并基于所述真随机地址,生成随机延时时间;
根据所述随机延时时间进行延时后,向所述主机端返回携带所述真随机地址的从机指令应答数据包;
接收所述主机端发送的携带内部组网地址的修改地址指令;
将本机对应的所述真随机地址替换为所述内部组网地址,并进入从机静默状态。
6.如权利要求5所述的基于RS485通信的自组网方法,其特征在于,在所述进入从机静默状态之后,还包括:
接收所述主机端发送的组网结束广播指令或者初始组网广播指令;
进入网络监听状态。
7.一种基于RS485通信的自组网装置,其特征在于,包括主机端,所述主机端包括:
发送广播组网指令模块,用于向网络发送组网广播指令,用于多个从机端基于所述组网广播指令生成真随机地址;
缓存应答数据包模块,用于接收目标从机端返回的携带真随机地址的从机指令应答数据包,并缓存所述从机指令应答数据包;
匹配内部组网地址模块,用于在最长延时等待时限内,基于所述从机指令应答数据包对应的所述真随机地址和数据包到达次序,给所述目标从机端匹配内部组网地址;
发送修改地址指令模块,用于向所述目标从机端发送携带所述内部组网地址的修改地址指令,以使所述目标从机端将其对应的所述真随机地址替换为所述内部组网地址;
完成网络自组网模块,用于当***当前时间满足所述最长延时等待时限时,重复执行所述向网络发送组网广播指令的步骤,直至未收到任何从机端返回的从机指令应答数据包的连续次数满足最大等待次数,则完成网络自组网。
8.一种基于RS485通信的自组网装置,其特征在于,包括从机端,所述从机端包括:
接收广播指令模块,用于接收网络上的主机端发送的组网广播指令;
生成真随机地址模块,用于基于所述组网广播指令,生成真随机地址,并基于所述真随机地址,生成随机延时时间;
返回应答数据包模块,用于根据所述随机延时时间进行延时后,向所述主机端返回携带所述真随机地址的从机指令应答数据包;
接收修改地址指令模块,用于接收所述主机端发送的携带内部组网地址的修改地址指令;
进入静默状态模块,用于将本机对应的所述真随机地址替换为所述内部组网地址,并进入从机静默状态。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述基于RS485通信的自组网方法,或者,所述处理器执行所述计算机程序时实现如权利要求5至6任一项所述基于RS485通信的自组网方法。
10.一种计算机可读介质,所述计算机可读介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述基于RS485通信的自组网方法,或者,所述计算机程序被处理器执行时实现如权利要求5至6任一项所述基于RS485通信的自组网方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211000068.0A CN115442333A (zh) | 2022-08-19 | 2022-08-19 | 基于rs485通信的自组网方法、装置、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211000068.0A CN115442333A (zh) | 2022-08-19 | 2022-08-19 | 基于rs485通信的自组网方法、装置、计算机设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115442333A true CN115442333A (zh) | 2022-12-06 |
Family
ID=84242476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211000068.0A Pending CN115442333A (zh) | 2022-08-19 | 2022-08-19 | 基于rs485通信的自组网方法、装置、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115442333A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116233073A (zh) * | 2022-12-30 | 2023-06-06 | 北京四方瑞和科技有限公司 | 一种智慧空开***rs485网络地址自动分配方法及*** |
CN116389505A (zh) * | 2023-03-29 | 2023-07-04 | 上海正泰智能科技有限公司 | 基于can总线的组网方法及计算机设备 |
CN116723176A (zh) * | 2023-08-11 | 2023-09-08 | 广东云驰时代技术有限公司 | 连续编址通信方法、***、计算机设备和存储介质 |
CN117255322A (zh) * | 2023-09-15 | 2023-12-19 | 江苏果下科技有限公司 | 基于储能电池的无线自组网方法及*** |
CN118041892A (zh) * | 2024-04-11 | 2024-05-14 | 珠海科创储能科技有限公司 | 用于储能***的地址分配方法、储能***及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003143157A (ja) * | 2001-11-05 | 2003-05-16 | Toshiba Kyaria Kk | 通信システム、マスタ、スレーブ、macアドレスサーバ及び通信方法 |
WO2018113432A1 (zh) * | 2016-12-24 | 2018-06-28 | 华为技术有限公司 | 广播实现方法、装置和设备 |
CN113114793A (zh) * | 2021-03-22 | 2021-07-13 | 珠海格力电器股份有限公司 | 从机节点地址竞争方法、装置及电器*** |
-
2022
- 2022-08-19 CN CN202211000068.0A patent/CN115442333A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003143157A (ja) * | 2001-11-05 | 2003-05-16 | Toshiba Kyaria Kk | 通信システム、マスタ、スレーブ、macアドレスサーバ及び通信方法 |
WO2018113432A1 (zh) * | 2016-12-24 | 2018-06-28 | 华为技术有限公司 | 广播实现方法、装置和设备 |
CN113114793A (zh) * | 2021-03-22 | 2021-07-13 | 珠海格力电器股份有限公司 | 从机节点地址竞争方法、装置及电器*** |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116233073A (zh) * | 2022-12-30 | 2023-06-06 | 北京四方瑞和科技有限公司 | 一种智慧空开***rs485网络地址自动分配方法及*** |
CN116389505A (zh) * | 2023-03-29 | 2023-07-04 | 上海正泰智能科技有限公司 | 基于can总线的组网方法及计算机设备 |
CN116723176A (zh) * | 2023-08-11 | 2023-09-08 | 广东云驰时代技术有限公司 | 连续编址通信方法、***、计算机设备和存储介质 |
CN116723176B (zh) * | 2023-08-11 | 2023-10-20 | 广东云驰时代技术有限公司 | 连续编址通信方法、***、计算机设备和存储介质 |
CN117255322A (zh) * | 2023-09-15 | 2023-12-19 | 江苏果下科技有限公司 | 基于储能电池的无线自组网方法及*** |
CN117255322B (zh) * | 2023-09-15 | 2024-05-31 | 江苏果下科技有限公司 | 基于储能电池的无线自组网方法及*** |
CN118041892A (zh) * | 2024-04-11 | 2024-05-14 | 珠海科创储能科技有限公司 | 用于储能***的地址分配方法、储能***及可读存储介质 |
CN118041892B (zh) * | 2024-04-11 | 2024-06-07 | 珠海科创储能科技有限公司 | 用于储能***的地址分配方法、储能***及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115442333A (zh) | 基于rs485通信的自组网方法、装置、计算机设备及介质 | |
US10204072B2 (en) | Method for automatically allocating addresses to similar bus users | |
US4423414A (en) | System and method for name-lookup in a local area network data communication system | |
US4410889A (en) | System and method for synchronizing variable-length messages in a local area network data communication system | |
EP0074865A2 (en) | Expandable and contractible local area network system | |
CN103856578B (zh) | Modbus RTU从站自动获取站地址方法及从站 | |
CN103716420A (zh) | Modbus ASCII从站自动获取站地址方法及从站 | |
CN112165733B (zh) | 一种私有协议的点对点多信道网络搭建方法及*** | |
CN111587560B (zh) | 主从总线***和用于运行总线***的方法 | |
CN112565349B (zh) | 一种基于中央油烟机的无线通信方法及相关设备 | |
CN110708400B (zh) | 网络地址分配方法、装置、节点设备及存储介质 | |
CN115314470A (zh) | 一种rs-485组网通信地址自动分配方法、主机、从机及*** | |
CN107025131B (zh) | 一种任务调度方法及装置 | |
CN112929249A (zh) | Rs-485总线多机通信地址自动分配方法、装置和*** | |
US7539215B2 (en) | Subscriber device for a high-performance communication system | |
CN113938351A (zh) | 数据采集方法、***及计算机可读存储介质 | |
JP2004280304A (ja) | フィールドバスシステム及び通信方法並びにマスタ及びスレーブ | |
CN107318128B (zh) | 无线通信优化方法、装置、存储介质及其计算机设备 | |
CN114448801B (zh) | 实时通道组创建的方法、网络拓扑、设备及存储介质 | |
CN114868371A (zh) | 数据收集管理装置及数据收集*** | |
CN114124275B (zh) | 一种时间同步方法、装置、设备及存储介质 | |
CN107968718B (zh) | 一种确认主备用状态的方法、装置和设备 | |
CN115334041A (zh) | 一种主从站通讯设备自动分配地址的方法、主站、从站和*** | |
US11528348B2 (en) | Communication system, communication device, communication method, and program for reliably receiving periodic data | |
US20130188636A1 (en) | Communication terminal and communication method |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20221206 |