一种基于RS485的通信方法、装置以及通信系统与流程

文档序号:12363608阅读:421来源:国知局
一种基于RS485的通信方法、装置以及通信系统与流程

本发明涉及通信领域,尤其涉及一种基于RS485的通信方法以及通信系统。对于基于RS485的通信方法,可以通过建立功能模块,组合成功能模块构架,由存储在计算机可读存储介质中的计算机程序来实施。



背景技术:

在企业现场,RS485通讯网络是一种常用的通讯网络,用于实现设备之间数据的采集。现有技术中,该通讯网络要求至少有一个上位机即主设备和若干个从设备与上位机相连接,实现主从通讯。从设备的通讯地址全部保存在主设备内,主设备按照一定的条件对从设备发起数据请求,从设备收到主设备的数据请求后被动应答(发送应答数据)。主设备收到从设备的返回数据后或者主设备经过一段时间还没收到从设备的数据后即超时,才向下一个从设备发起数据请求。该方法谁让实现了主设备对从设备数据的采集,但从设备无法获取主设备的相关数据,也就是说,连接至总线的大部分设备之间无法直接进行信息交互,这给RS485总线的应用带来极大的限制。



技术实现要素:

本发明的目的是提供一种大幅降低RS485网络的使用限制的通信方法。

为实现上述发明目的,本发明提供一种基于RS485的通信方法,其包括:在一个切换周期内,至少切换一次工作状态,从而部分时间工作于主设备状态,另一部分时间工作于从设备状态;当工作于主设备状态时,读取目标设备的地址后向其发起数据请求,并接收目标设备的应答,当工作于从设备状态时,则仅在接收到数据请求后被动应答。

其中,监听到总线存在数据时,判断这些数据是否指向本设备,如果不是,则建立防冲突标志位;准备发送数据时,判断防冲突标志位是否有效,如果有效,则暂停数据发送。

其中,所述防冲突标志位在以下情形中被解除:监听到总线上的数据指向本设备、总线处于空闲状态或者防冲突标志位维持时长达到阈值。

其中,处于主设备状态时,在发出的数据请求获得应答后,切换至从设备状态,并维持从设备状态至本切换周期结束。

基于该通信方法建立通信系统,其包括总线、至少两台分别独立与总线连接的设备,每台设备均记录有总线中其他设备的通讯地址,所述设备运行上述基于RS485的通信方法。

有益效果:由于系统中每台设备都能够部分时间工作于主设备状态,另一部分时间工作于从设备状态,因此这些设备能够凭借工作于主设备状态时的权限来获取其他设备的数据,也能够在工作于从设备状态时应答其他设备,因此RS485总线上所有设备均能互相共享数据,相比于现有技术,本技术大幅降低RS485网络的使用限制。

附图说明

利用附图对本发明作进一步说明,但附图中的实施例不构成对本发明的任何限制,对于本领域的普通技术人员,在不付出创造性劳动的前提下,还可以根据以下附图获得其它的附图。

图1是本发明实施例中通信系统的结构示意图。

图2是从设备应答数据的流程框图。

图3是主设备发送数据的流程框图。

具体实施方式

结合以下实施例对本发明作进一步描述。

如图1所示,有A、B、C、D、E五台设备,各台设备分别连接总线,总线周期为T,后文中,T1即为第一个总线周期,T2即为第二个总线周期,以此类推。每五个总线周期构成一个切换周期,以A设备为例,其在本实施例中的第一个切换周期是T1至T5。T1时,A设备作为主设备,其余设备作为从设备,A设备向C设备发出数据请求,如图2所示,其他设备接收到该数据请求(即一个数据包)后,B、D、E设备判断该数据请求不指向自己,则建立防冲突标志位,C设备检测到该数据请求指向自己,则处理该数据包,准备应答。T2时,A设备由于还没有收到应答,因此仍然作为为主设备,B设备根据预设的切换周期切换为主设备,其余设备仍然为从设备,该总线周期中,A设备等待C设备的应答,C设备则向A设备发送应答数据,由于总线上的数据指向A设备,所以C设备此时也会建立防冲突标志位,B、D、E设备的防冲突标志位继续维持,如图3所示,B设备虽然是主设备,但由于存在放冲突标志位,因此即使存在发送数据请求的需要,其也无法发送数据,这样就避免了在该总线周期中B数据发送数据请求导致与C设备发送的应答数据造成冲突,有效的达到防冲突效果。T3时,设备A已经完成应答数据的接收,其从主设备切换为从设备,并在该切换周期的余下时间中均维持从设备的状态。T2则检测到总线空闲,因此消除其防冲突标志位,并发出其数据请求。

此外,由于主设备发出的数据请求并不一定会获得应答,如果无法得到应答,则会长时间的占据总线,导致总线资源的浪费。而且,对于某些设备,如果长时间的存在防冲突标志位,则其数据请求可能会长时间得不到应答,这也会导致系统总线资源分配不均匀。因此,在本实施例中,当某一设备的防冲突标志位的维持时长大于某一个阈值时,则自动解除该防冲突标志位,使该设备有机会发送数据请求。通常,前述阈值要大于切换周期。

基于该通信方法建立通信系统,其包括总线、至少两台分别独立与总线连接的设备,每台设备均记录有总线中其他设备的通讯地址,所述设备运行上述基于RS485的通信方法,从而大幅降低RS485网络的使用限制。

对于基于RS485的通信方法,可以通过建立功能模块,组合成功能模块构架,由存储在计算机可读存储介质中的计算机程序来实施。

最后应当说明的是,以上实施例仅用以说明本发明的技术方案,而非对本发明保护范围的限制,尽管参照较佳实施例对本发明作了详细地说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1