基于ModbusRTU通信协议的从智能模块入网的方法

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

【发明内容】

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