CN114500461B - 通讯方法、装置、存储介质、上位机、下位机和通讯系统 - Google Patents
通讯方法、装置、存储介质、上位机、下位机和通讯系统 Download PDFInfo
- Publication number
- CN114500461B CN114500461B CN202111609864.XA CN202111609864A CN114500461B CN 114500461 B CN114500461 B CN 114500461B CN 202111609864 A CN202111609864 A CN 202111609864A CN 114500461 B CN114500461 B CN 114500461B
- Authority
- CN
- China
- Prior art keywords
- lower computer
- frame
- computer
- address
- data frame
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明涉及通讯技术领域,特别地涉及本发明提供的一种通讯方法、装置、存储介质、上位机、下位机和通讯系统,通过向RS485总线上的下位机发送查询帧;获取下位机针对查询帧回复的应答帧,将回复应答帧的下位机的地址作为有效地址,形成有效地址链表;发送包含第一目标地址的一帧点名帧,以使第一目标地址对应的第一下位机响应点名帧而开始发送数据帧,且有效地址链表所对应的各第二下位机进行数据帧的循环发送及应答;能够由多个下位机组成循环的有效地址链表,上位机仅需发一帧点名帧,下位机即可进行循环答复,无需上位机依次点名,减少了上位机的点名次数,提高了通讯效率。
Description
技术领域
本发明涉及通讯技术领域,特别地涉及一种通讯方法、装置、存储介质、上位机和下位机及空调。
背景技术
RS485总线因其组网简单、成本低廉、性能优良,在很多行业包括电能表中得到普遍应用和推广,特别是随着风靡全球的智能电网及集中抄表的普及,RS485已成为智能电表必备的通讯方式。然而,传统的RS485通讯线路通讯效率较低。
由此可见,本领域亟需一种方案来提升通讯效率。
发明内容
本发明提供一种通讯方法、装置、存储介质、上位机和下位机,解决了现有技术中通讯效率较低的技术问题。
第一方面,本发明提供了一种通讯方法,应用于上位机,包括:
向RS485总线上的下位机发送查询帧;
获取下位机针对查询帧回复的应答帧,将回复应答帧的下位机的地址作为有效地址,形成有效地址链表;
发送包含第一目标地址的一帧点名帧,以使第一目标地址对应的第一下位机响应点名帧而开始发送数据帧,且有效地址链表所对应的各第二下位机进行数据帧的循环发送及应答。
在一些实施例中,获取下位机针对查询帧回复的应答帧,将回复应答帧的下位机的地址作为有效地址,形成有效地址链表,包括:
按照初始地址链表向RS485总线上的下位机发送查询帧,其中,初始地址链表包括RS485总线上的多个下位机地址,查询帧包括初始地址链表中任一地址对应的下位机地址;
获取到任一下位机针对查询帧回复的应答帧,确定该下位机的地址为有效地址;
基于所有有效地址形成有效地址链表。
在一些实施例中,还包括:
若在超时阈值后第一下位机未响应点名帧而开始发送数据帧,则确定该第一下位机通讯异常,将第一下位机的相邻下位机作为第一下位机,重新发送一帧点名帧。
在一些实施例中,在重新发送一帧点名帧之后,还包括:
若连续预设次数确定同一第一下位机通讯异常,则再次向RS485总线上的下位机发送查询帧,以更新有效地址链表。
在一些实施例中,还包括:
若检测到控制指令发生改变,则连续检测RS485总线的状态,并在空闲阈值之内发送包含第一目标地址的一帧点名帧,以使第一目标地址对应的第一下位机响应点名帧而开始发送数据帧,且有效地址链表所对应的各第二下位机进行数据帧的循环发送及应答。
第二方面,本发明提供了一种通讯方法,应用于下位机,包括:
获取上位机发送的查询帧;
针对查询帧向上位机回复应答帧;
记录相邻下位机的地址;
基于上位机发送的点名帧或相邻下位机发送的数据帧进行应答,并向相邻下位机发送数据帧,以进行数据帧的循环发送及应答;
其中,相邻下位机包括上一下位机和/或下一下位机,数据帧包含起始地址与相邻下位机的第二目标地址。
在一些实施例中,基于相邻下位机发送的数据帧进行应答,并向相邻下位机发送数据帧,包括:
判断数据帧中的第二目标地址与自身地址是否匹配;
若数据帧中的第二目标地址与自身地址匹配,则在空闲阈值之后且在超时阈值之内发送数据帧至相邻下位机。
在一些实施例中,还包括:
在数据帧的循环发送过程中,若当前下位机为有效地址链表中的最后一个下位机,则当前下位机发送的数据帧中的第二目标地址为第一下位机的地址,以使第一下位机在接到数据帧后,开启下一轮数据帧的循环发送。
第三方面,本发明提供了一种通讯装置,应用于上位机,包括:
发送模块,用于向RS485总线上的下位机发送查询帧;
接收模块,用于获取下位机针对查询帧回复的应答帧,将回复应答帧的下位机的地址作为有效地址,形成有效地址链表;
其中,发送模块,还用于发送包含第一目标地址的一帧点名帧,以使第一目标地址对应的第一下位机响应点名帧而开始发送数据帧,且有效地址链表所对应的各第二下位机进行数据帧的循环发送及应答。
第四方面,本发明提供了一种通讯装置,应用于下位机,包括:
接收模块,用于获取上位机发送的查询帧;
发送模块,用于针对查询帧向上位机回复应答帧;
记录模块,用于记录相邻下位机的地址;
其中,发送模块,还用于基于上位机发送的点名帧或相邻下位机发送的数据帧进行应答,并向相邻下位机发送数据帧,以进行数据帧的循环发送及应答;
其中,相邻下位机包括上一下位机和/或下一下位机,数据帧包含起始地址与相邻下位机的第二目标地址。
第五方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一方面的方法,或者实现第二方面的方法。
第六方面,本发明提供了一种上位机,包括处理器和存储器,存储器上存储有计算机程序,处理器执行计算机程序时实现第一方面的方法。
第七方面,本发明提供了一种下位机,包括处理器和存储器,存储器上存储有计算机程序,处理器执行计算机程序时实现第二方面的方法。
第八方面,本发明提供了一种通讯系统,包括第六方面的上位机和第七方面的下位机。
本发明提供的一种通讯方法、装置、存储介质、上位机和下位机,通过向RS485总线上的下位机发送查询帧;获取下位机针对查询帧回复的应答帧,将回复应答帧的下位机的地址作为有效地址,形成有效地址链表;发送包含第一目标地址的一帧点名帧,以使第一目标地址对应的第一下位机响应点名帧而开始发送数据帧,且有效地址链表所对应的各第二下位机进行数据帧的循环发送及应答;能够由多个下位机组成循环的有效地址链表,上位机仅需发一帧点名帧,下位机即可进行循环答复,无需上位机依次点名,减少了上位机的点名次数,提高了基于RS485总线的通讯效率。
附图说明
在下文中将基于实施例并参考附图来对本发明进行更详细的描述:
图1为本发明实施例的一种通讯方法流程图;
图2为本发明实施例的另一通讯方法流程图;
图3为本发明实施例的一种点名帧发送示意图;
图4为本发明实施例的另一点名帧发送示意图。
在附图中,相同的部件使用相同的附图标记,附图并未按照实际的比例绘制。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,并对本发明如何应用技术手段来解决技术问题,并达到相应技术效果的实现过程能充分理解并据以实施,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。本发明实施例以及实施例中的各个特征,在不相冲突前提下可以相互结合,所形成的技术方案均在本发明的保护范围之内。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
RS485总线因其组网简单、成本低廉、性能优良,在很多行业包括电能表中得到普遍应用和推广,特别是随着风靡全球的智能电网及集中抄表的普及,RS485已成为智能电表必备的通讯方式。然而,传统的RS485通讯线路通讯效率较低。
在一些文献中,公开了一种RS485总线通信时序控制方法,但是,这种方法采用从机延时等待的处理方式,当从机的报文长度不同时容易出现数据叠加,导致通讯故障,降低了通讯效率。
在一些文献中,公开了一种多从机双向通讯方法,但是,这种方法需要主机发送从机使能位,当从机发送完成后需要主机再次发送报文开启下一次应答回复,当主机通讯故障时总线数据会缺失,降低了通讯效率。
由此可见,本领域亟需一种方案来提升基于RS485总线的通讯效率。
在说明本发明的多个实施例之前,先定义本发明的如下术语。
上位机,存储有初始地址链表、以及基于初始地址链表得到的有效地址链表,其中,初始地址链表与有效地址链表包含有各个下位机的地址以及各个下位机的有效状态/异常状态。
下位机,与上位机之间通过RS485总线连接,下位机包括第一下位机、第二下位机、第三下位机……可以理解的是,下位机的数量不做限定。
各数据帧的格式如下:
查询帧——仅包含帧头、起始地址(上位机地址)、目标地址、帧尾;
应答帧——仅包含帧头、起始地址(下位机地址)、帧尾;
点名帧——帧头、起始地址、目标地址、数据内容、帧尾,其中,起始地址表示上位机的地址,目标地址表示个下位机的地址;
数据帧——帧头、起始地址、目标地址、数据内容、帧尾,其中,起始地址表示发送该数据帧的本下位机的地址,目标地址表示本下位机的下一个下位机的地址;
其中,点名帧与数据帧格式相同,但数据内容不同。
以下,对本发明的多个实施例进行说明。
实施例一
图1为本发明实施例的一种通讯方法流程图。如图1所示,一种通讯方法,应用于上位机,包括步骤S101至步骤S103:
步骤S101,向RS485总线上的下位机发送查询帧;
步骤S102,获取下位机针对查询帧回复的应答帧,将回复应答帧的下位机的地址作为有效地址,形成有效地址链表;
步骤S103,发送包含第一目标地址的一帧点名帧,以使第一目标地址对应的第一下位机响应点名帧而开始发送数据帧,且有效地址链表所对应的各第二下位机进行数据帧的循环发送及应答。
本实施例发明提供的通讯方法,通过向RS485总线上的下位机发送查询帧;获取下位机针对查询帧回复的应答帧,将回复应答帧的下位机的地址作为有效地址,形成有效地址链表;发送包含第一目标地址的一帧点名帧,以使第一目标地址对应的第一下位机响应点名帧而开始发送数据帧,且有效地址链表所对应的各第二下位机进行数据帧的循环发送及应答;能够由多个下位机组成循环的有效地址链表,上位机仅需发一帧点名帧,下位机即可进行循环答复,无需上位机依次点名,减少了上位机的点名次数,提高了通讯效率。
实施例二
在上述实施例的基础上,步骤S102,获取下位机针对查询帧回复的应答帧,将回复应答帧的下位机的地址作为有效地址,形成有效地址链表,包括步骤S1021至步骤S1023:
步骤S1021,按照初始地址链表向RS485总线上的下位机发送查询帧,其中,初始地址链表包括RS485总线上的多个下位机地址,查询帧包括初始地址链表中任一地址对应的下位机地址;
步骤S1022,获取到任一下位机针对查询帧回复的应答帧,确定该下位机的地址为有效地址;
步骤S1023,基于所有有效地址形成有效地址链表。
本实施例提供的方法,基于初始地址链表依次发送多帧查询帧,并等待与查询帧对应的应答帧,根据应答帧确定下位机是否正常工作,从而形成有效地址链表,能够确保有效地址链表中的下位机基本正常工作,从而减少下位机不工作的概率,减少点名帧的重复发送次数。
在一些实施方式中,上位机上电后开始发送查询帧,按初始地址链表依次查询各个地址的下位机,下位机收到查询帧后回复应答帧,并记录RS485总线上相邻下位机(前一下位机和后一下位机)的地址,上位机轮询三次查询后结束发送查询帧,并记录所有应答的下位机地址,形成有效地址链表,当上位机停止发送查询帧时,下位机同步停止对RS485总线上相邻下位机地址的记录。
实施例三
在上述实施例的基础上,方法还包括:步骤S104,若在超时阈值后第一下位机未响应点名帧而开始发送数据帧,则确定该第一下位机通讯异常,将第一下位机的相邻下位机作为第一下位机,重新发送一帧点名帧。
图3为本发明实施例的一种点名帧发送示意图。如图3所示,若上位机检测到总线空闲时间超过超时阈值(例如40ms),则判断当前目标地址的下位机通讯异常,上位机再次发送一帧点名帧,点名帧的目标地址为上位机记录的异常下位机的后一个下位机的地址。
在一些实现方式中,方法还包括:步骤S105,若连续预设次数(例如可以是3次)确定同一第一下位机通讯异常,则再次向RS485总线上的下位机发送查询帧,以更新有效地址链表。
具体来说,当下位机完成一轮数据帧发送后,末尾发送数据帧的下位机的目标地址设定为首位发送的下位机地址,首位下位机继续发送数据帧,开启下一轮应答。当连续三轮检测到某一个下位机通讯异常时,上位机再次发送查询帧,重新记录下位机地址,更新有效地址链表。
本实施例在超时阈值后重新发送一帧点名帧,从而使得数据帧的循环发送能够继续进行;通过在连续预设次数确定同一第一下位机通讯异常时再次向RS485总线上的下位机发送查询帧,以更新有效地址链表,能够及时剔除非正常工作的下位机,从而提升通讯效率。
实施例四
在上述实施例的基础上,方法还包括:步骤S106,若检测到控制指令发生改变,则连续检测RS485总线的状态,并在空闲阈值之内发送包含第一目标地址的一帧点名帧,以使第一目标地址对应的第一下位机响应点名帧而开始发送数据帧,且有效地址链表所对应的各第二下位机进行数据帧的循环发送及应答。
本实施例在检测到控制指令发生改变时连续检测RS485总线的状态,并在空闲阈值之内发送包含第一目标地址的一帧点名帧,能够使得上位机及时响应控制指令进行点名,提高了上位机对总线的控制能力。
图4为本发明实施例的另一点名帧发送示意图。如图4所示,当上位机检测到控制指令(例如开关机、负载启停)发生改变时,上位机连续检测总线的状态,在总线空闲6~10ms之间抢占总线,之后发送一帧点名帧,目标地址为后一个下位机的地址,下位机接收到点名帧后开始发送数据帧,并更新下位机的控制指令,通过下位机的循环发送机制,来减少上位机的点名次数,缩短下位机等待时间,提高总线的通讯效率。
实施例五
图2为本发明实施例的另一通讯方法流程图。如图2所示,在上述实施例的基础上,一种通讯方法,应用于下位机,包括步骤S201至步骤S204:
步骤S201,获取上位机发送的查询帧;
步骤S202,针对查询帧向上位机回复应答帧;
步骤S203,记录相邻下位机的地址;
步骤S204,基于上位机发送的点名帧或相邻下位机发送的数据帧进行应答,并向相邻下位机发送数据帧,以进行数据帧的循环发送及应答;
其中,相邻下位机包括上一下位机和/或下一下位机,数据帧包含起始地址与相邻下位机的第二目标地址。
本实施例通过获取上位机发送的查询帧,针对查询帧向上位机回复应答帧,记录相邻下位机的地址,基于上位机发送的点名帧或相邻下位机发送的数据帧进行应答,并向相邻下位机发送数据帧,以进行数据帧的循环发送及应答,能够由多个下位机组成循环的有效地址链表,上位机仅需发一帧点名帧,下位机即可进行循环答复,无需上位机依次点名,减少了上位机的点名次数,提高了通讯效率。
在实际应用中,上位机点名时,下位机接收总线数据,该下位机会不断刷新记录本机应答前的上一个下位机应答时的地址信息,直到点名本机时确定并记录前一个下位机地址;本机记录首位应答的下位机地址为后一个下位机地址,在本机应答后第一次接收到其它下位机应答后确认并记录为后一个下位机地址;至此可以获得相邻应答下位机地址。例如,RS485总线上的上位机包括第一下位机、第二下位机、第三下位机,且第一下位机为接收点名帧的下位机,上位机发送第一下位机查询帧,第一下位机回复应答帧,第二、三下位机将相邻前一位机地址、后一下位机地址均临时记录为第一下位机的地址;上位机发送第二下位机查询帧,第二下位机回复应答帧,第一下位机记录第二下位机地址为相邻的后一下位机的地址,第三下位机更新第二下位机地址为相邻的前一个下位机的地址;上位机发送第三下位机查询帧,第三下位机回复应答帧,第二下位机记录第三下位机地址为相邻的后一个下位机的地址,第一下位机更新第三下位机地址为相邻的前一个下位机的地址。至此,上位机发送了与下位机数量对应的查询帧,使每一下位机都获得了相邻下位机的地址。
实施例六
在上述实施例的基础上,在步骤S204中,基于相邻下位机发送的数据帧进行应答,并向相邻下位机发送数据帧,包括步骤S2041和步骤S2042:
步骤S2041,判断数据帧中的第二目标地址与自身地址是否匹配;
步骤S2042,若数据帧中的第二目标地址与自身地址匹配,则在空闲阈值之后且在超时阈值之内发送数据帧至相邻下位机。
在一些实现方式,方法还包括步骤S205:在数据帧的循环发送过程中,若当前下位机为有效地址链表中的最后一个下位机,则当前下位机发送的数据帧中的第二目标地址为第一下位机的地址,以使第一下位机在接到数据帧后,开启下一轮数据帧的循环发送。
本实施例中,若数据帧中的第二目标地址与自身地址匹配,则在空闲阈值之后且在超时阈值之内发送数据帧至相邻下位机,从而实现了下位机的循环发送和应答,而无需上位机依次点名,减少了上位机的点名次数,提高了通讯效率。
实施例七
在上述实施例的基础上,本实施例提供一种通讯装置,应用于上位机,包括:
发送模块,用于向RS485总线上的下位机发送查询帧;
接收模块,用于获取下位机针对查询帧回复的应答帧,将回复应答帧的下位机的地址作为有效地址,形成有效地址链表;
其中,发送模块,还用于发送包含第一目标地址的一帧点名帧,以使第一目标地址对应的第一下位机响应点名帧而开始发送数据帧,且有效地址链表所对应的各第二下位机进行数据帧的循环发送及应答。
在一些实现方式中,还提供一种通讯装置,应用于下位机,包括:
接收模块,用于获取上位机发送的查询帧;
发送模块,用于针对查询帧向上位机回复应答帧;
记录模块,用于记录相邻下位机的地址;
其中,发送模块,还用于基于上位机发送的点名帧或相邻下位机发送的数据帧进行应答,并向相邻下位机发送数据帧,以进行数据帧的循环发送及应答;
其中,相邻下位机包括上一下位机和/或下一下位机,数据帧包含起始地址与相邻下位机的第二目标地址。
在本实施例中,由于采用了基于循环的地址链表的应答,上位机仅需发一帧点名帧,减少了上位机重复发送数据的记录。由于减少了上位机重复发送数据的记录,本方案相对于常规的RS485总线的一问一答的通讯策略,缩短了50%左右的通讯时间,从而提高了数据交换速率。
实施例八
在上述实施例的基础上,本实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例的方法。
上述存储介质可以是闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等。
本实施例中,上位机发送查询帧,下位机按地址依次应答并记录相邻下位机的地址;上位机发送一帧点名帧,对应地址的下位机接收到点名帧后开始发送数据帧,数据帧包含起始地址与目标地址,对应目标地址的下位机接收到数据帧后,发送该下位机的数据帧,下位机循环执行应答,若上位机检测到总线空闲时间超时,再次发送点名帧,目标地址跳过未答复的下位机地址,当完成一轮发送后,末尾的下位机的目标地址为首位下位机的地址;从而实现了由上位机起始并由下位机依次循环答复的数据交互方式,当上位机指令改变时检测总线状态,在总线空闲时发送一帧点名帧,减少上位机点名次数,提高了上下位机数据交互速度。
实施例九
在上述实施例的基础上,本实施例提供一种上位机,包括处理器和存储器,存储器上存储有计算机程序,处理器执行计算机程序时实现上述实施例的方法。
在上述实施例的基础上,本实施例还提供一种下位机,包括处理器和存储器,存储器上存储有计算机程序,处理器执行计算机程序时实现上述实施例的方法。
进一步地,本实施例还提供一种通讯系统,包括上述上位机和下位机。
处理器可以是专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable LogicDevice,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例中的方法。
存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
在一个实例中,上位机仅发送一帧点名帧即可将控制指令等数据内容发送至所有下位机,过程如下:
首先,由上位机发送一帧点名帧,点名帧包含起始地址与目标地址,其中,起始地址为上位机地址,目标地址为接收点名帧的下位机的地址,本实施例中为第一下位机的地址。
其次,第一下位机接收到点名帧后,在超时阈值内发送第一下位机的数据帧,第一下位机的数据帧包含起始地址(第一下位机地址)与目标地址(第一下位机记录的后一个下位机地址,本实施例中为第二下位机的地址)。
再次,第二下位机接收第一下位机的数据帧后,比较第一下位机的数据帧内的目标地址与第二下位机的地址是否匹配:
若匹配,则在空闲阈值(例如可以是10ms)后且在超时阈值(例如可以是40ms)内发送第二下位机的数据帧,其余下位机接收到第二下位机的数据帧后比较目标地址再发送其余数据帧,直至最后一个下位机;
若不匹配,则不回复数据帧,若所有下位机都未回复数据帧,且由上位机检测到超时后再次发起点名。
最后,在最后一个下位机(例如第三下位机)发送的数据帧中,目标地址为第一下位机的地址,以实现循环。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,上述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
需要说明的是,在本发明中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然本发明所揭露的实施方式如上,但上述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (14)
1.一种通讯方法,其特征在于,应用于上位机,包括:
向RS485总线上的下位机发送查询帧;
获取下位机针对所述查询帧回复的应答帧,将回复应答帧的下位机的地址作为有效地址,形成有效地址链表;
发送包含第一目标地址的一帧点名帧,以使所述第一目标地址对应的第一下位机响应所述点名帧而开始向有效地址链表上第一下位机对应的相邻下位机发送数据帧,所述相邻下位机包括上一下位机和下一下位机,所述相邻下位机响应于所述数据帧进行应答,并向有效地址链表上所述相邻下位机的相邻下位机发送数据帧,以进行数据帧的循环发送及应答。
2.根据权利要求1所述的方法,其特征在于,所述获取下位机针对所述查询帧回复的应答帧,将回复应答帧的下位机的地址作为有效地址,形成有效地址链表,包括:
按照初始地址链表向RS485总线上的下位机发送查询帧,其中,所述初始地址链表包括RS485总线上的多个下位机地址,所述查询帧包括初始地址链表中任一地址对应的下位机地址;
获取到任一下位机针对所述查询帧回复的应答帧,确定该下位机的地址为有效地址;
基于所有有效地址形成有效地址链表。
3.根据权利要求1所述的方法,其特征在于,还包括:
若在超时阈值后所述第一下位机未响应所述点名帧而开始发送数据帧,则确定该第一下位机通讯异常,将所述第一下位机的相邻下位机作为第一下位机,重新发送一帧点名帧。
4.根据权利要求3所述的方法,其特征在于,在重新发送一帧点名帧之后,还包括:
若连续预设次数确定同一第一下位机通讯异常,则再次向RS485总线上的下位机发送查询帧,以更新有效地址链表。
5.根据权利要求1所述的方法,其特征在于,还包括:
若检测到控制指令发生改变,则连续检测RS485总线的状态,并在空闲阈值之内发送包含第一目标地址的一帧点名帧,以使所述第一目标地址对应的第一下位机响应所述点名帧而开始向有效地址链表上第一下位机对应的相邻下位机发送数据帧,所述相邻下位机包括上一下位机和下一下位机,所述相邻下位机响应于所述数据帧进行应答,并向有效地址链表上所述相邻下位机的相邻下位机发送数据帧,以进行数据帧的循环发送及应答。
6.一种通讯方法,其特征在于,应用于下位机,包括:
获取上位机发送的查询帧;
针对所述查询帧向上位机回复应答帧;
记录相邻下位机的地址;
基于上位机发送的点名帧或相邻下位机发送的数据帧进行应答,并向相邻下位机发送数据帧,以进行数据帧的循环发送及应答;
其中,所述相邻下位机包括上一下位机和下一下位机,所述数据帧包含起始地址与相邻下位机的第二目标地址。
7.根据权利要求6所述的方法,其特征在于,基于相邻下位机发送的数据帧进行应答,并向相邻下位机发送数据帧,包括:
判断所述数据帧中的第二目标地址与自身地址是否匹配;
若所述数据帧中的第二目标地址与自身地址匹配,则在空闲阈值之后且在超时阈值之内发送数据帧至相邻下位机。
8.根据权利要求6所述的方法,其特征在于,还包括:
在数据帧的循环发送过程中,若当前下位机为上位机形成的有效地址链表中的最后一个下位机,则当前下位机发送的数据帧中的第二目标地址为第一下位机的地址,以使所述第一下位机在接到数据帧后,开启下一轮数据帧的循环发送。
9.一种通讯装置,其特征在于,应用于上位机,包括:
发送模块,用于向RS485总线上的下位机发送查询帧;
接收模块,用于获取下位机针对所述查询帧回复的应答帧,将回复应答帧的下位机的地址作为有效地址,形成有效地址链表;
其中,发送模块,还用于发送包含第一目标地址的一帧点名帧,以使所述第一目标地址对应的第一下位机响应所述点名帧而开始向有效地址链表上第一下位机对应的相邻下位机发送数据帧,所述相邻下位机包括上一下位机和下一下位机,所述相邻下位机响应于所述数据帧进行应答,并向有效地址链表上所述相邻下位机的相邻下位机发送数据帧,以进行数据帧的循环发送及应答。
10.一种通讯装置,其特征在于,应用于下位机,包括:
接收模块,用于获取上位机发送的查询帧;
发送模块,用于针对所述查询帧向上位机回复应答帧;
记录模块,用于记录相邻下位机的地址;
其中,发送模块,还用于基于上位机发送的点名帧或相邻下位机发送的数据帧进行应答,并向相邻下位机发送数据帧,以进行数据帧的循环发送及应答;
其中,所述相邻下位机包括上一下位机和下一下位机,所述数据帧包含起始地址与相邻下位机的第二目标地址。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法,或者实现权利要求6至8中任一项所述的方法。
12.一种上位机,其特征在于,包括处理器和存储器,其特征在于,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法。
13.一种下位机,其特征在于,包括处理器和存储器,其特征在于,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求6至8中任一项所述的方法。
14.一种通讯系统,其特征在于,包括:
权利要求12所述的上位机;和
权利要求13所述的下位机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111609864.XA CN114500461B (zh) | 2021-12-24 | 2021-12-24 | 通讯方法、装置、存储介质、上位机、下位机和通讯系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111609864.XA CN114500461B (zh) | 2021-12-24 | 2021-12-24 | 通讯方法、装置、存储介质、上位机、下位机和通讯系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114500461A CN114500461A (zh) | 2022-05-13 |
CN114500461B true CN114500461B (zh) | 2023-05-16 |
Family
ID=81495403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111609864.XA Active CN114500461B (zh) | 2021-12-24 | 2021-12-24 | 通讯方法、装置、存储介质、上位机、下位机和通讯系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114500461B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004094864A (ja) * | 2002-09-04 | 2004-03-25 | Matsushita Electric Ind Co Ltd | バス制御装置、バスマスタ、バススレーブ |
CN103454996A (zh) * | 2013-08-23 | 2013-12-18 | 广州视睿电子科技有限公司 | 主从机系统及其控制方法 |
CN107396445A (zh) * | 2017-06-15 | 2017-11-24 | 深圳市泰和安科技有限公司 | 一种信息上报调度方法、系统、主机设备及从机设备 |
CN108931035A (zh) * | 2018-07-30 | 2018-12-04 | 宁波奥克斯电气股份有限公司 | 一种空调实时性通讯的控制方法及装置 |
CN110851392A (zh) * | 2019-11-13 | 2020-02-28 | 中广核研究院有限公司北京分公司 | 基于Modbus RTU协议的通讯方法及通讯系统 |
CN112178881A (zh) * | 2020-09-30 | 2021-01-05 | 珠海格力电器股份有限公司 | Rs485网络的自检方法、设备 |
CN113094321A (zh) * | 2021-04-30 | 2021-07-09 | 中煤科工集团重庆研究院有限公司 | 一种基于群呼和时隙分配的rs485总线通信方法 |
-
2021
- 2021-12-24 CN CN202111609864.XA patent/CN114500461B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004094864A (ja) * | 2002-09-04 | 2004-03-25 | Matsushita Electric Ind Co Ltd | バス制御装置、バスマスタ、バススレーブ |
CN103454996A (zh) * | 2013-08-23 | 2013-12-18 | 广州视睿电子科技有限公司 | 主从机系统及其控制方法 |
CN107396445A (zh) * | 2017-06-15 | 2017-11-24 | 深圳市泰和安科技有限公司 | 一种信息上报调度方法、系统、主机设备及从机设备 |
CN108931035A (zh) * | 2018-07-30 | 2018-12-04 | 宁波奥克斯电气股份有限公司 | 一种空调实时性通讯的控制方法及装置 |
CN110851392A (zh) * | 2019-11-13 | 2020-02-28 | 中广核研究院有限公司北京分公司 | 基于Modbus RTU协议的通讯方法及通讯系统 |
CN112178881A (zh) * | 2020-09-30 | 2021-01-05 | 珠海格力电器股份有限公司 | Rs485网络的自检方法、设备 |
CN113094321A (zh) * | 2021-04-30 | 2021-07-09 | 中煤科工集团重庆研究院有限公司 | 一种基于群呼和时隙分配的rs485总线通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114500461A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4896261A (en) | System for scheduling serial message transmission on a bus which is adoptable for rescheduling prioritized messages using a doubly-linked list | |
US5644754A (en) | Bus controller and electronic device in a system in which several electronic devices are networked | |
CN104410557A (zh) | 一种基于rs-485的动态组网方法及通讯方法 | |
CN109450922A (zh) | 一种通信数据解析方法、装置及相关设备 | |
CN112532704A (zh) | 数据传输方法、装置、电子设备及存储介质 | |
CN114500461B (zh) | 通讯方法、装置、存储介质、上位机、下位机和通讯系统 | |
CN101808132A (zh) | 一种can总线系统中的应用层通讯方法 | |
CN103581846B (zh) | 一种用户名片更新方法和系统 | |
CN106664720A (zh) | 一种随机接入响应消息的传输方法和基站以及用户设备 | |
CN107666430B (zh) | 一种电子邮件发送方法、装置及终端 | |
CN111405534B (zh) | 信息传输方法、第一终端及计算机存储介质 | |
CN103248547A (zh) | Modbus RTU从站快速捕获数据的方法及从站 | |
CN113645008B (zh) | 一种基于链表的报文协议超时重发方法及系统 | |
CN102957598B (zh) | 电力系统的数据自动采集方法 | |
CN101699420B (zh) | 通过改进设备轮询方式提高通信效率的方法 | |
CN111930675B (zh) | 一种数据传输管理方法、系统及装置 | |
CN112261512B (zh) | 非平衡轮询协议的主站遥控方法、装置、存储介质和设备 | |
CN112422618B (zh) | 位置感应数据上报方法、装置及系统 | |
CN110430548B (zh) | 数据补发方法、装置、采集器及存储介质 | |
CN113949658A (zh) | 表项处理方法、系统、装置、电子设备及存储介质 | |
US10484138B2 (en) | Method for transmitting data packets on a data transmission path between two communication subscribers, automation system and computer program | |
CN111475439A (zh) | 基于异步传输协议的通讯控制方法及装置、电子设备 | |
CN111371922B (zh) | 一种网络内无主从网络节点地址的自动设定算法 | |
CN113362196B (zh) | 电网监控系统前置调度服务的低时延寻址方法 | |
Hui et al. | Improved RFID anti-collision algorithm based on quad-tree |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |