一种基于Modbus通讯协议的扩展型通讯方法

文档序号:7778592阅读:277来源:国知局
一种基于Modbus通讯协议的扩展型通讯方法
【专利摘要】本发明公开了一种基于Modbus通讯协议的扩展型通讯方法,将Modbus通讯协议中未使用的功能码定义为变化数据查询功能码,主站和子站设备通过Modbus?RTU格式和Modbus?Tcp格式进行配置,物理层通讯方式采用串口RS485或以太网;根据接收到的主站设备发送来的功能码,子站设备将当前发生变化的寄存器地址及寄存器码值打包发送给主站。本通讯方法提高了主站的数据处理效率,避免了大量相同数据的重复传输及重复处理,特别适用于设备数量多且单个设备变化数据量较少的情况;子站设备完成数据查询后依协议数据格式进行答复,在回复的报文中附加寄存器的地址,使得主站容易判断所接收到的数据是否为所需要数据,提高了主站子站间通信的容错性。
【专利说明】一种基于Modbus通讯协议的扩展型通讯方法
【技术领域】
[0001]本发明涉及一种基于Modbus通讯协议的扩展型通讯方法。
【背景技术】
[0002]Modbus由Modicon公司在1979年发明,是全球第一个真正用于工业现场的总线协议。Modbus以其协议简单、实施容易、性价比高、可靠性高等优点而获得了越来越广泛的应用,经过多年的发展Modbus已被广泛应用在各种行业和领域中,同时Modbus可在串行总线和以太网上实现,在串行链路上应用时,可采用RS485构成总线形网络拓扑,具有易于安装和节省电缆等优点。
[0003]目前标准Modbus协议中定义的主站和子站的通讯规约中,主站与子站间的通讯方式为一问一答式的简单通讯形式,对于查询的寄存器地址信息仅体现在主站的查询命令中,而子站的返回报文则不体现寄存器地址信息。在部分现场应用中,子站所监视的设备并不是频繁变化,而主站和子站间却进行大量相同数据的频繁交换,降低了数据交换的效率。

【发明内容】

[0004]发明目的:本发明的目的是针对现有技术的不足而提供一种基于Modbus通讯协议的扩展型通讯方法,能够降低主站和子站设备间的大量相同数据的频繁交换,从而提高数据交换的效率。
[0005]技术方案:为了实现发明的目的,本发明公开了一种基于Modbus通讯协议的扩展型通讯方法,将Modbus通讯协议中未使用的功能码定义为变化数据查询功能码,主站和子站设备通过Modbus RTU格式和Modbus Tcp格式进行配置,物理层通讯方式采用串口 RS485或以太网;根据接收到的主站设备发送来的功能码,子站设备将当前发生变化的寄存器地址及寄存器码值打包发送给主站。
[0006]作为优选,本通信方法包括以下步骤:
[0007](I)对主站和子站设备进行格式配置;主站设备完成初始化后进行全部数据的查询;
[0008](2)主站设备根据现场应用来确定子站的寄存器分布,根据需要确定子站设备的变化数据寄存器范围,并确定功能码,写入发送报文所配置的寄存器;
[0009](3)子站设备根据主站设备发送报文中的功能码解析是否查询变化数据寄存器;
[0010](4)若步骤(3)中的功能码为查询变化数据,则子站设备对指定的寄存器进行监视,当指定范围内的寄存器数据发生变位,子站设备将当前发生变化的寄存器地址及寄存器码值打包发送给主站设备;
[0011](5)主站设备接收来自子站设备的变化数据报文,解析该信息中包含的寄存器码值及地址,并做出相应处理。
[0012]作为优选,为了能够使得通讯方法更为灵活,步骤(2)中主站设备对子站设备的变化数据查询方式为分时对指定寄存器或全部寄存器进行查询;或者步骤(2)中主站设备对子站设备的变化数据查询方式为周期发送变化数据查询报文
[0013]作为优选,为了进一步提升通讯方法的效率以及保证通讯方法的准确性及安全性,步骤(3)中子站设备根据命令格式检测发送报文中子站设备地址是否与自身匹配,若匹配则执行响应命令;否则不响应命令。
[0014]作为优选,为了给本通讯方法提供一种纠错机制且能快速响应该纠错机制,子站设备收到主站设备发送来的全部数据查询命令,子站设备立即做出全部数据回复响应。
[0015]作为优选,为了在不可靠的物理连接上进行可靠的数据传输,步骤(4)中子站设备通过物理链路发送当前发生变化的寄存器地址及寄存器码值的报文。
[0016]作为优选,为了更近一步提升本通讯方法的效率,步骤(5)中主站设备在接收到子站设备的变化数据报文后,会判断变化数据报文是否为所需报文,若为所需报文则主站设备进行相应处理;否则丢弃报文。
[0017]有益效果:本发明与现有技术相比:提高了主站的数据处理效率,避免了大量相同数据的重复传输及重复处理,特别适用于设备数量多且单个设备变化数据量较少的情况;子站设备完成数据查询后依协议数据格式进行答复,在回复的报文中附加寄存器的地址,使得主站容易判断所接收到的数据是否为所需要数据,提高了主站子站间通信的容错性;本通讯方法主要在通讯数据格式上进行扩展,新增变化数据查询功能码,可实现与标准Modbus协议的完全兼容,使得本发明具有更好的扩展性和兼容性。
【专利附图】

【附图说明】
[0018]图1为本发明通过Modbus RTU配置的主站和子站设备报文格式;
[0019]图2为本发明通过Modbus TCP配置的主站和子站设备报文格式;
[0020]图3为本发明基于Modbus通讯协议的扩展型通讯方法的流程图。
【具体实施方式】
[0021]下面结合附图对本发明作更进一步的说明。
[0022]如图1所示,若通过Modbus RTU格式配置主站和子站设备发送报文时,其中主站设备的报文为8byte,依次为:子站地址lbyte、功能码lbyte、寄存器地址2byte、寄存器数量2byte以及CRC校验2byte ;而子站设备的回复报文依次为:子站地址lbyte、功能码lbyte、后续报文字节数2byte、寄存器地址及值N byte以及CRC校验2byte,寄存器地址及值N byte中前2byte为变化寄存器的数量。
[0023]如图2所示,若通过Modbus TCP格式配置主站和子站设备发送报文时,其中主站设备的报文为12byte,依次为:传输标志2byte、协议标志2byte、报文长度2byte、子站地址lbyte、功能码lbyte、寄存器地址2byte以及寄存器数量2byte ;而子站设备的回复报文依次为:传输标志2byte、协议标志2byte、报文长度2byte、子站地址lbyte、功能码lbyte、后续报文字节数2byte以及寄存器地址及值N byte,寄存器地址及值N byte中前2byte为变化寄存器的数量。
[0024]上述格式配置中,对原Modbus协议中的功能码进行扩展,即利用其保留的功能码22H-64H来定义变化数据查询功能码。这样的设计使得本通讯方法主要为通讯数据格式上进行扩展,新增变化数据查询功能码,可实现与标准Modbus协议的完全兼容,使得本发明具有更好的扩展性和兼容性。
[0025]如图3所示,其处理流程为:完成初始化;首先进行全局数据的查询,然后根据子站寄存器的分布确定对子站的变化数据查询,主站通过配置查询命令的功能码对子站下发变化数据查询命令;子站根据主站的查询命令要求来确定是进行全部数据查询或者变化数据查询,若主站进行全局数据查询,子站与主站正常通讯,否则解析到主站的命令类型为查询变化数据命令,则子站进入变化数据查询状态;进入变化数据查询状态,若子站查询范围内的寄存器码值不变,则子站不进行数据打包,在如图1及2的回复报文中“寄存器地址及值”字段用0x0000000填充,而若子站查询范围内的寄存器码值发生变化,则子站对变化的寄存器进行记录,并对变化数据进行打包发送给主站,包括记录的变化寄存器数量以及各个变化寄存器的地址和码值;主站接收到来自子站的回复信息,解析该信息中包含的寄存器码值,并做出相应处理。
[0026]以上描述的通讯方法提高了主站的数据处理效率,避免了大量相同数据的重复传输及重复处理,特别适用于设备数量多且单个设备变化数据量较少的情况;子站设备完成数据查询后依协议数据格式进行答复,在回复的报文中附加寄存器的地址,使得主站容易判断所接收到的数据是否为所需要数据,提高了主站子站间通信的容错性。
【权利要求】
1.一种基于Modbus通讯协议的扩展型通讯方法,其特征在于,将Modbus通讯协议中未使用的功能码定义为变化数据查询功能码,主站和子站设备通过Modbus RTU格式和ModbusTcp格式进行配置,物理层通讯方式采用串口 RS485或以太网; 根据接收到的主站设备发送来的功能码,子站设备将当前发生变化的寄存器地址及寄存器码值打包发送给主站。
2.如权利要求1所述的一种基于Modbus通讯协议的扩展型通讯方法,其特征在于,包括以下步骤: (1)对主站和子站设备进行格式配置;主站设备完成初始化后进行全部数据的查询; (2)主站设备根据现场应用来确定子站的寄存器分布,根据需要确定子站设备的变化数据寄存器范围,并确定功能码,写入发送报文所配置的寄存器; (3)子站设备根据主站设备发送报文中的功能码解析是否查询变化数据寄存器; (4)若步骤(3)中的功能码为查询变化数据,则子站设备对指定的寄存器进行监视,当指定范围内的寄存器数据发生变位,子站设备将当前发生变化的寄存器地址及寄存器码值打包发送给主站设备; (5)主站设备接收来自子站设备的变化数据报文,解析该信息中包含的寄存器码值及地址,并做出相应处理。
3.如权利要求2所述的一种基于Modbus通讯协议的扩展型通讯方法,其特征在于,步骤(2)中主站设备对子站设备的变化数据查询方式为分时对指定寄存器或全部寄存器进行查询;或者步骤(2)中主站设备对子站设备的变化数据查询方式为周期发送变化数据查询报文。
4.如权利要求2所述的一种基于Modbus通讯协议的扩展型通讯方法,其特征在于,步骤(3)中子站设备根据命令格式检测发送报文中子站设备地址是否与自身匹配,若匹配则执行响应命令;否则不响应命令。
5.如权利要求2所述的一种基于Modbus通讯协议的扩展型通讯方法,其特征在于,子站设备收到主站设备发送来的全部数据查询命令,子站设备立即做出全部数据回复响应。
6.如权利要求2所述的一种基于Modbus通讯协议的扩展型通讯方法,其特征在于,步骤(4)中子站设备通过物理链路发送当前发生变化的寄存器地址及寄存器码值的报文。
7.如权利要求2所述的一种基于Modbus通讯协议的扩展型通讯方法,其特征在于,步骤(5)中主站设备在接收到子站设备的变化数据报文后,会判断变化数据报文是否为所需报文,若为所需报文则主站设备进行相应处理;否则丢弃报文。
【文档编号】H04L1/16GK103746783SQ201310633067
【公开日】2014年4月23日 申请日期:2013年11月29日 优先权日:2013年11月29日
【发明者】傅强, 张巍, 陈侃, 王侠, 唐哲 申请人:国电南瑞科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1