CN111756610A - 一种rs485总线通信时序控制方法 - Google Patents
一种rs485总线通信时序控制方法 Download PDFInfo
- Publication number
- CN111756610A CN111756610A CN202010479284.2A CN202010479284A CN111756610A CN 111756610 A CN111756610 A CN 111756610A CN 202010479284 A CN202010479284 A CN 202010479284A CN 111756610 A CN111756610 A CN 111756610A
- Authority
- CN
- China
- Prior art keywords
- slave
- message
- time
- query
- tsend
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
- H04L12/4035—Bus networks with centralised control, e.g. polling in which slots of a TDMA packet structure are assigned based on a contention resolution carried out at a master unit
Abstract
本发明涉及一种RS485总线通信时序控制方法,其特征在于:包括,S1,主机发起查询报文,将所需查询的n个从机按序号seq排列组合成一帧报文通过总线发送给从机;S2,从机接收查询报文;S3,从机根据seq序号设定延时发送时间tsend;S4,从机判断等待时间是否大于延时发送时间tsend,且当等待时间大于延时发送时间tsend时发送应答报文;S5,主机接收从机应答报文;S6,主机判断本次操作时间t是否超过设定值twait,若是,则查询结束,若否,则返回执行S5。该方法能够实现主机与从机间一问多答的查询方式,大大提高了通信效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种RS485总线通信时序控制方法。
背景技术
RS485总线是由RS232发展而来的接口标准,适用于点对点、一主对多从的通信,弥补了RS232接口标准的互联问题,并以其接口简单、成本低廉、通信距离长、可靠性高等优势广泛应用于交通、航空、航天、自动控制等领域。
工业领域中RS485总线通常采用半双工通信方式,总线上挂载一个主机和多个从机,且不允许从机主动发起数据传输,通常工作模式为主机对挂载在总线上的从机进行一问一答式论询以读取数据,且每个设备在读写切换时还需要延时,进而导致当同一总线上挂接的硬件模块较多时单周期内的数据更新较慢,影响通信效率。
发明内容
鉴于上述问题,本发明的目的在于提供一种RS485总线通信时序控制方法,该方法能够实现一应多答,从而提高通信效率。
为了实现上述目的,本发明的技术方案为:一种RS485总线通信时序控制方法,其特征在于:包括,
S1,主机发起查询报文,将所需查询的n个从机按序号seq排列组合成一帧报文通过总线发送给从机;
S2,从机接收查询报文;
S3,从机根据seq序号设定延时发送时间tsend;
S4,从机判断等待时间是否大于延时发送时间tsend,且当等待时间大于延时发送时间tsend时发送应答报文;
S5,主机接收从机的应答报文;
S6,主机判断本次操作时间t是否超过设定值twait时,若是,则查询结束,若否,则返回执行S5。
进一步的,所述S2中从机接收查询报文后,还包括检查查询报文中是否包含本机地址的步骤,若是,则执行S3,若否,则继续等待接收查询报文。
进一步的,所述S3中tsend=n*t3,其中t3为单个从机未应答的最长等待时间。
进一步的,所述S3与S4之间还包括,从机检查是否接收应答报文,若是,则设置延时发送时间tsend=tsend-t3并执行S4,若否,则直接执行S4。
进一步的,所述S4中twait=n*t3,其中t3为单个从机未应答的最长等待时间。
进一步的,所述S5中主机接收从机应答报文具体为,主机判断是否接收到报文,若是,则设置等待超时时间twait=twait-t3并继续执行S6,若否,则直接执行S6。
进一步的,所述S1中主机发起查询报文之前还包括主机启动的步骤。
进一步的,所述S2中从机接收报文之前还包括从机启动的步骤。
进一步的,所述t3的值为t3=8*(8/baudrate)*lenth,baudrate为总线传输速率即波特率,lenth为一帧数据最大字节数。
进一步的,所述S6之前还包括判断报文是否接收完毕,若是则查询结束,若否,则执行S6。
与现有技术相比,本发明的优点在于:
本申请的方法通过主机和从机之间一应多答的方式,使得RS485总线通信效率大大提高,特别是在从机数量较多的情况下,相对于现有技术中一应一答的轮询方式,其通信效率可以提高将近一倍,即使在从机工作异常的情况下,该方法的通信效率相较现有技术也有较大提高。
附图说明
图1为本申请的方法中主机的工作流程图。
图2为本申请的方法中从机的工作流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
如图1至2所示分别为本申请的方法中主机和从机的工作流程图,如图所示,该种RS485通信时序控制方法,包括,
S1,主机发起查询报文,将所需查询的n个从机按序号seq排列组合成一帧报文通过总线发送;
S2,从机接收查询报文;
S3,从机根据seq序号设定延时发送时间tsend;
S4,从机判断等待时间是否大于延时发送时间tsend,且当等待时间大于延时发送时间tsend时发送应答报文;
S5,主机接收从机应答报文;
S6,主机判断本次操作时间t是否超过设定值twait时,若是,则查询结束,若否,则返回执行S5。
具体而言,主机的工作流程如下,
1、主机启动;
2、主机发起查询报文,将所需查询的n个从机按序号seq排列组合成一帧报文通过总线发送给从机;
3、设置主机最长等待时间twait=n*t3,其中t3为单个从机未应答的最长等待时间为t;
4、等待从机按seq顺序应答,且主机每接收到一帧有效应答则等待时间twait=twait-t3,返回回到步骤3继续等待;
5、当本次操作时间超过twait,则表示等待超时,查询结束;或者应答全部接收完成,则本次查询结束。
从机的工作流程如下,
1、从机启动;
2、等待接收查询报文;
3、收到查询报文,检查报文中是否包含本机地址,如果不包含则返回步骤2继续等待接收查询报文,如果包含则根据分配的序号seq设置延时发送时间tsend=seq*t3,其中t3为单个从机未应答的最长等待时间为t;
4、检查是否接受应答报文,如果是则延时发送时间tsend=tsend-t3;
5、检查是否超时tsend,如果是,则发送应答报文,否则回到步骤4继续等待接收应答报文;
6、发送完成,本机应答结束。
在现有技术中,当RS485总线上挂载一个主机和多个从机,主机是通过一问一答的轮询方式查询从机数据的。主机发送查询报文,设置超时时间,等待接收报文或超时,则结束本次查询任务,准备下一次查询任务。假定主机或从机发送一帧报文所需时间为t1,为了稳定性考虑总线上两帧报文间最短间隔时间为t2,单个从机未应答的最长等待时间为t3,其中针对t3取值,具体为假定总线传输速率即波特率为baudrate,则发送一位所需时间为1/baudrate,则发送一个字节所需时间为(8/baudrate),若忽略一帧数据的开始位、停止位及校验位,并设定一帧数据最大字节数为lenth,则发送一帧数据所需时间为(8/baudrate)*lenth,最长等待时间通常考虑一帧数据发送时间和从机准备数据耗时,约为5~10倍发送一帧数据所需时间,通常取中间值8,则t3=8*(8/baudrate)*lenth。例如,假设一帧数据长度为100,当波特率为9600时t3≈667ms,当波特率为115200时t3≈56ms。通信耗时如下表所示:
则理想模式下查询n个从机所需时间t总=n*2*(t1+t2),若连接出现问题或者从机无法正常工作则最长所需时间为t总=n*(t1+t3)。
而本申请的方案中,通信耗时如下表所示:
则理想模式下查询n个从机所需时间t总=t1+t2+n*(t1+t2),若连接出现问题或者从机无法正常工作则最长所需时间为t总=t1+n*t3。
现将现有技术中主机查询n个从机所需时间与本申请方案中主机查询n个从机所需时间进行对比:
当从机工作正常时,将现有技术与本申请中查询n个从机所需时间相除可以得到
P=(n*2*(t1+t2))/(t1+t2+n*(t1+t2))=2n/(n+1);
由该式可知,当n大于1时,2n大于n+1,也即当从机个数多余一个时,本申请的技术方案的通信效率会大于现有技术的通信效率,而RS485通常挂载多个从机,所以本申请的技术方案通信效率会优于现有技术,而且当n较大时P接近2,本发明约提高一倍的通信速率。
当从机工作异常时,将现有技术与本申请中查询n个从机所需时间相除可以得到
P=(n*(t1+t3))/(t1+n*t3)
由该式可知,当n大于1时,n*(t1+t3)大于t1+n*t3,也即当从机个数多余一个时,从机工作异常时,本申请的技术方案的通信效率会大于现有技术的通信效率,而RS485通常挂载多个从机,所以即使从机工作异常时,本申请的技术方案通信效率也会优于现有技术。
尽管已经示出和描述了本发明的实施例,本领域技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变形,本发明的范围由权利要求及其等同物限定。
Claims (10)
1.一种RS485总线通信时序控制方法,其特征在于:包括,
S1,主机发起查询报文,将所需查询的n个从机按序号seq排列组合成一帧报文通过总线发送给从机;
S2,从机接收查询报文;
S3,从机根据seq序号设定延时发送时间tsend;
S4,从机判断等待时间是否大于延时发送时间tsend,且当等待时间大于延时发送时间tsend时发送应答报文;
S5,主机接收从机的应答报文;
S6,主机判断本次操作时间t是否超过设定值twait,若是,则查询结束,若否,则返回执行S5。
2.根据权利要求1所述的方法,其特征在于:
所述S2中从机接收查询报文后,还包括检查查询报文中是否包含本机地址的步骤,若是,则执行S3,若否,则继续等待接收查询报文。
3.根据权利要求2所述的方法,其特征在于:
所述S3中tsend=n*t3,其中t3为单个从机未应答的最长等待时间。
4.根据权利要求3所述的方法,其特征在于:
所述S3与S4之间还包括,从机检查是否接收应答报文,若是,则设置延时发送时间tsend=tsend-t3并执行S4,若否,则直接执行S4。
5.根据权利要求3所述的方法,其特征在于:
所述S4中twait=n*t3,其中t3为单个从机未应答的最长等待时间。
6.根据权利要求5所述的方法,其特征在于:
所述S5中主机接收从机应答报文具体为,主机判断是否接收到报文,若是,则设置等待超时时间twait=twait-t3并继续执行S6,若否,则直接执行S6。
7.根据权利要求1所述的方法,其特征在于:
所述S1中主机发起查询报文之前还包括主机启动的步骤。
8.根据权利要求1所述的方法,其特征在于:
所述S2中从机接收报文之前还包括从机启动的步骤。
9.根据权利要求5所述的方法,其特征在于:
所述t3的值为t3=8*(8/baudrate)*lenth,baudrate为总线传输速率即波特率,lenth为一帧数据最大字节数。
10.根据权利要求1所述的方法,其特征在于:
所述S6之前还包括判断报文是否接收完毕,若是则查询结束,若否,则执行S6。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010479284.2A CN111756610A (zh) | 2020-05-29 | 2020-05-29 | 一种rs485总线通信时序控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010479284.2A CN111756610A (zh) | 2020-05-29 | 2020-05-29 | 一种rs485总线通信时序控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111756610A true CN111756610A (zh) | 2020-10-09 |
Family
ID=72674536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010479284.2A Pending CN111756610A (zh) | 2020-05-29 | 2020-05-29 | 一种rs485总线通信时序控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111756610A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114097588A (zh) * | 2021-10-29 | 2022-03-01 | 瀚云科技有限公司 | 一种灌溉装置的组网方法及装置 |
CN114448943A (zh) * | 2021-12-28 | 2022-05-06 | 汉威科技集团股份有限公司 | 一种基于通用地址总线的设备物理地址快速检索方法 |
CN115643289A (zh) * | 2022-10-17 | 2023-01-24 | 北京天融信网络安全技术有限公司 | 数据传输方法、装置、设备及介质 |
CN116723176A (zh) * | 2023-08-11 | 2023-09-08 | 广东云驰时代技术有限公司 | 连续编址通信方法、系统、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012041753A1 (de) * | 2010-09-30 | 2012-04-05 | Robert Bosch Gmbh | Verfahren zur automatischen adressvergabe an gleichartige busteilnehmer |
CN104410557A (zh) * | 2014-12-25 | 2015-03-11 | 深圳中科讯联科技有限公司 | 一种基于rs-485的动态组网方法及通讯方法 |
CN108243017A (zh) * | 2016-12-24 | 2018-07-03 | 华为技术有限公司 | 广播实现方法、装置和设备 |
CN110851392A (zh) * | 2019-11-13 | 2020-02-28 | 中广核研究院有限公司北京分公司 | 基于Modbus RTU协议的通讯方法及通讯系统 |
CN111200844A (zh) * | 2019-12-31 | 2020-05-26 | 苏州卓彩智能科技有限公司 | 一种多从机双向通讯方法 |
-
2020
- 2020-05-29 CN CN202010479284.2A patent/CN111756610A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012041753A1 (de) * | 2010-09-30 | 2012-04-05 | Robert Bosch Gmbh | Verfahren zur automatischen adressvergabe an gleichartige busteilnehmer |
CN104410557A (zh) * | 2014-12-25 | 2015-03-11 | 深圳中科讯联科技有限公司 | 一种基于rs-485的动态组网方法及通讯方法 |
CN108243017A (zh) * | 2016-12-24 | 2018-07-03 | 华为技术有限公司 | 广播实现方法、装置和设备 |
CN110851392A (zh) * | 2019-11-13 | 2020-02-28 | 中广核研究院有限公司北京分公司 | 基于Modbus RTU协议的通讯方法及通讯系统 |
CN111200844A (zh) * | 2019-12-31 | 2020-05-26 | 苏州卓彩智能科技有限公司 | 一种多从机双向通讯方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114097588A (zh) * | 2021-10-29 | 2022-03-01 | 瀚云科技有限公司 | 一种灌溉装置的组网方法及装置 |
CN114097588B (zh) * | 2021-10-29 | 2023-10-31 | 瀚云科技有限公司 | 一种灌溉装置的组网方法及装置 |
CN114448943A (zh) * | 2021-12-28 | 2022-05-06 | 汉威科技集团股份有限公司 | 一种基于通用地址总线的设备物理地址快速检索方法 |
CN114448943B (zh) * | 2021-12-28 | 2024-01-19 | 汉威科技集团股份有限公司 | 一种基于通用地址总线的设备物理地址快速检索方法 |
CN115643289A (zh) * | 2022-10-17 | 2023-01-24 | 北京天融信网络安全技术有限公司 | 数据传输方法、装置、设备及介质 |
CN115643289B (zh) * | 2022-10-17 | 2023-08-25 | 北京天融信网络安全技术有限公司 | 数据传输方法、装置、设备及介质 |
CN116723176A (zh) * | 2023-08-11 | 2023-09-08 | 广东云驰时代技术有限公司 | 连续编址通信方法、系统、计算机设备和存储介质 |
CN116723176B (zh) * | 2023-08-11 | 2023-10-20 | 广东云驰时代技术有限公司 | 连续编址通信方法、系统、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111756610A (zh) | 一种rs485总线通信时序控制方法 | |
CN106603367A (zh) | 一种用于时间同步的can总线通信方法 | |
CN106959935B (zh) | 一种兼容i2c通信与ipmb通信的方法 | |
CN111277478B (zh) | 一种基于不同波特率从设备的rs485总线复用控制方法 | |
US9019959B2 (en) | Node, switch, and system | |
CN103746889B (zh) | 半竞争式rs-485总线多主通讯系统及其工作方法 | |
CN1636357A (zh) | 具有同步分组传输的无线通信方案 | |
US20170279481A1 (en) | Radio base station and system having said radio base station | |
CN104753749A (zh) | 一种多主机通信方法及通信系统 | |
CN114826812B (zh) | 一种rs485通信多主站的实现方法及系统 | |
CN107659456A (zh) | 一种基于rs485通信的数据冲突传输方法 | |
CN101815041A (zh) | 多网合一型网关 | |
JP2017520052A (ja) | ユニバーサルシリアルバス(usb)通信システムおよび方法 | |
WO2016197693A1 (zh) | 操作指令处理方法及装置 | |
EP0589509B1 (en) | Polling-type digital communications system having pseudo-balanced mode | |
US20090168806A1 (en) | Tuning of industrial automation system performance based on device operating characteristics | |
WO2019119740A1 (zh) | 家用电器的通信系统、通信方法以及家用电器 | |
CN112565038B (zh) | 一种基于rs485总线的低负载的通讯方法 | |
CN201348735Y (zh) | 燃气热水器多机通信系统 | |
CN101626311A (zh) | 旁路控制模块与网络管理装置和方法 | |
CN110855540B (zh) | 一种基于单环网的485多主通信方法和系统 | |
CN112069103A (zh) | 一种多模块与主机通信的方法及系统 | |
CN112491620A (zh) | 一种基于srio的多通道数据传输控制器及调整方法 | |
CN111258937A (zh) | 一种环式链表dma的传输方法及系统 | |
CN109286548B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201009 |