一种基于ModbusRTU通信协议的从站入网方法

文档序号:9814044阅读:343来源:国知局
一种基于Modbus RTU通信协议的从站入网方法
【技术领域】
[0001 ]本发明属于工业通信控制的技术领域,尤其涉及一种基于Modbus RTU通信协议的从站入网方法,其能够使从站自动加入到总线节点。
【背景技术】
[0002]Modbus协议是应用于电子控制器上的一种通用语言,它已经成为一个通用的工业标准。有了它,不同厂商生产的控制设备可以轻松的连成工业网络,进行集中的监控。Modbus RTU通信协议是典型的主从通信方式,一个系统中只能够存在一个主站,分站可以是多个。通信均由主站发起,从站被动应答。
[0003]但是目前的所有相关广品中,Modbus RTU主站向从站发送彳目息时,都是在预先已知从站地址的情况下发送信息的。如果此时增加了一个或多个新的从站,由于主站对于新的从站地址是未知,所以新从站是无法收到主站发给自己的消息,那么新的从站也将永远无法加入到主网节点中去。

【发明内容】

[0004]本发明要解决的技术问题是克服现有技术的缺陷,提供一种基于ModbusRTU通信协议的从站入网方法,其能够使从站自动加入到总线节点,从而解决新的从站或者主站未知地址的从站自动入网的问题。
[0005]解决上述问题的技术方案是:这种基于ModbusRTU通信协议的从站入网方法,其包括:
[0006](I)Modbus RTU主站以指定的时间间隔和波特率遍历向属于本系统中的从站发送查询报文,查询报文采用RTU帧格式;
[0007](2)Modbus RTU从站接收到主站的查询报文后,产生一个回应报文给主站,加入到总线节点中。
[0008]本发明采用主站的遍历查询方式,从站收到查询后进行回应,自动加入到总线节点中,从而解决新的从站或者主站未知地址的从站自动入网的问题。
【附图说明】
[0009]图1是根据本发明的一个主站-从站的查询示意图。
【具体实施方式】
[0010]如图1所示,这种基于ModbusRTU通信协议的从站入网方法,其包括:
[0011](I)Modbus RTU主站以指定的时间间隔和波特率遍历向属于本系统中的从站发送查询报文,查询报文采用RTU帧格式;
[0012](2)Modbus RTU从站接收到主站的查询报文后,产生一个回应报文给主站,加入到总线节点中。
[0013]本发明采用主站的遍历查询方式,从站收到查询后进行回应,自动加入到总线节点中,从而解决新的从站或者主站未知地址的从站自动入网的问题。
[0014]另外,所述RTU帧格式的数据包括设备地址信息、功能代码、数据段以及CRC的校验。
[0015]另外,所述步骤(I)中查询报文中的功能代码将告之被选的从站要执行何种功能,数据段包含了从站要执行功能的附加信息,错误检测域配置来为从站验证报文内容是否正确;所述步骤(2)中在回应报文中的功能代码是在查询报文中的功能代码的回应,回应报文中的数据段包括从站收集的数据,如果有错误发生,回应报文中的功能代码被修改以用于指出回应报文是错误的,同时回应报文中的数据段包含描述此错误的代码,错误检测域配置来为主站确认报文内容是否可用。
[0016]另外,通过判断从站向主站发送的回应报文中的地址信息,确定哪些从站脱网。
[0017]另外,ModbusRTU主站自动遍历发送查询报文,扫描从站的回应报文,实现数据的相互交换。
[0018]另外,所述RTU帧格式的数据具有I个起始位、8个数据位、I个奇偶校验位、I个停止位以及错误检测域,所述波特率设置为57600bps。
[0019]通过上述方式,实现了从站的自动入网,解决了原来相关产品中由于主站未知从站地址,从站永远无法加入到主网节点的问题。并且主站还可以依据从站的回应报文,将多从站的信息按照地址映射在对应的内存中,我们只需要查看该内存中的数据,就可获知多个从站的具体信息。
[0020]本发明ModbusRTU从站自动入网的方法【具体实施方式】如下:
[0021]主站发送查询报文
[0022]报文采用RTU帧格式,I个起始位,8个数据位,I个奇偶校验位,I个停止位以及错误检测域,波特率设置为57600bps;主站发送报文采用定时发送方式,当间隔时间一到,主站就会自动逐个向本系统的从站发送查询信息。该查询信息里包含从站的地址信息,当从站收到报文后会进行相应的报文解析。由于Modbus协议的规定,从站不断侦测网络总线,包括停顿间隔时间。当第一个报文接收到时,每个从站都进行解码以判断是否是发往自己的。在最后一个传输字符之后,一个至少3.5个字符时间的停顿标志了消息的结束。一个新的消息可在此停顿后开始。
[0023]从站回应报文
[0024]设计一个报文解析函数,对标准ModbusRTU协议的报文进行解析,解析函数放在主函数的循环程序中,利用主程序空闲时间进行解析;每个正常报文解析之后,根据主站报文中的地址信息,对应地址的从站会发送相应的响应报文。每个响应的报文要进行CRC错误检测,方便主站以此作为判断接收报文正确的依据。
[0025]以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制。本领域的普通技术人员应该理解,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。
【主权项】
1.一种基于Modbus RTU通信协议的从站入网方法,其特征在于:其包括: (I )Modbus RTU主站以指定的时间间隔和波特率遍历向属于本系统中的从站发送查询报文,查询报文采用RTU帧格式; (2)Modbus RTU从站接收到主站的查询报文后,产生一个回应报文给主站,加入到总线节点中。2.根据权利要求1所述的基于ModbusRTU通信协议的从站入网方法,其特征在于:所述RTU帧格式的数据包括设备地址信息、功能代码、数据段以及CRC的校验。3.根据权利要求2所述的基于ModbusRTU通信协议的从站入网方法,其特征在于:所述步骤(I)中查询报文中的功能代码将告之被选的从站要执行何种功能,数据段包含了从站要执行功能的附加信息,错误检测域配置来为从站验证报文内容是否正确;所述步骤(2)中在回应报文中的功能代码是在查询报文中的功能代码的回应,回应报文中的数据段包括从站收集的数据,如果有错误发生,回应报文中的功能代码被修改以用于指出回应报文是错误的,同时回应报文中的数据段包含描述此错误的代码,错误检测域配置来为主站确认报文内容是否可用。4.根据权利要求1-3任一项所述的基于ModbusRTU通信协议的从站入网方法,其特征在于:通过判断从站向主站发送的回应报文中的地址信息,确定哪些从站脱网。5.根据权利要求4所述的基于ModbusRTU通信协议的从站入网方法,其特征在于:Modbus RTU主站自动遍历发送查询报文,扫描从站的回应报文,实现数据的相互交换。6.根据权利要求3所述的基于ModbusRTU通信协议的从站入网方法,其特征在于:所述RTU帧格式的数据具有I个起始位、8个数据位、I个奇偶校验位、I个停止位以及错误检测域,所述波特率设置为57600bps。
【专利摘要】本申请公开了一种基于Modbus?RTU通信协议的从站入网方法,其能够使从站自动加入到总线节点,从而解决新的从站或者主站未知地址的从站自动入网的问题。其包括:(1)Modbus?RTU主站以指定的时间间隔和波特率遍历向属于本系统中的从站发送查询报文,查询报文采用RTU帧格式;(2)Modbus?RTU从站接收到主站的查询报文后,产生一个回应报文给主站,加入到总线节点中。
【IPC分类】H04L12/26, H04L12/403, H04L12/911
【公开号】CN105577483
【申请号】CN201610081317
【发明人】俞凌, 卢铭, 卓明, 李永成, 王保华
【申请人】北京安控科技股份有限公司
【公开日】2016年5月11日
【申请日】2016年2月4日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1