一种Modbus帧格式自描述方法技术

技术编号:14822777 阅读:148 留言:0更新日期:2017-03-15 20:55
本发明专利技术公开了一种Modbus帧格式自描述方法,包括寄存器数据类型可自描述;寄存器地址低字节在前还是高字节在前可自描述;寄存器数据低字节在前还是高字节在前可自描述;寄存器、继电器、开入量读写支持的功能码可自描述;寄存器、继电器、开入量起始地址定义可自描述;寄存器、继电器、开入量数量可自描述;CRC校验低字节在前还是高字节在前可自描述。下位机增加Modbus帧格式自描述信息,上位机通过指令召唤下位机自描述信息,根据下位机的自描述信息去召唤数据和解析数据,即可轻松实现通信匹配和数据解析匹配。这样大大提高了通讯设备间的可互连性,增加了上位机软件的通用性和灵活性,减少了上位机软件更改的工作量。

【技术实现步骤摘要】

本专利技术针对工业控制器之间或控制器与计算机之间使用基于Modbus协议进行通信的场合;特别是多个下位机Modbus协议帧格式不一致,上位机必须修改程序或配置才能正常通信的应用场合。
技术介绍
Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一种通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一个控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通信标准。使用基于Modbus协议的设备各式各样,但并不是所有基于Modbus协议的设备都严格按照相同的帧格式进行通信。常见的差异主要包括如下几类:1、寄存器数据类型;2、寄存器地址低字节在前还是高字节在前;3、寄存器数据低字节在前还是高字节在前;4、寄存器、继电器读写支持的功能码;5、寄存器、继电器、开入量起始地址定义;6、寄存器、继电器、开入量数量;7、CRC校验低字节在前还是高字节在前。这些差异都给设备间通讯带来了不便,与其通信的上位机必须按照其协议进行修改,才能正常通信和解析数据。
技术实现思路
针对现使用基于Modbus协议设备的不足,为了解决通信设备协议不一致的问题,以及上位机针对不同协议必须修改,降低集成效率和增加成本的弊端,本专利技术提出了如下一种新的技术方案。本专利技术采用的技术方案为:一种Modbus帧格式自描述方法,通过对现有基于Modbus协议设备帧格式差异的归纳分析,对差异部分增加自描述信息。原有通信设备只需增加对自描述信息交互的支持,就可以轻松实现上位机与下位机通信互连的自适应。下位机对上述不一致的地方增加自描述信息;上位机通过指令召唤下位机自描述信息,然后根据下位机的自描述信息再去召唤数据和解析数据,即可轻松实现通信匹配和数据解析匹配。这样大大提高了通讯设备间的互连性,减少了上位机软件更改的工作量。上述的Modbus帧格式自描述技术方案,其进一步特征在于:寄存器数据类型可自描述;寄存器地址低字节在前还是高字节在前可自描述;寄存器数据低字节在前还是高字节在前可自描述;寄存器、继电器、开入量读写支持的功能码可自描述;寄存器、继电器、开入量地址定义可自描述;寄存器、继电器、开入量数量可自描述;CRC校验低字节在前还是高字节在前可自描述。本专利技术创造的有益效果:本专利技术以一种简单实用的方法对现基于Modbus的设备增加自描述信息,上位机和下位机只需增加对自描述信息交互的支持就可以轻松实现互连;解决上位机和下位机因协议不一致无法正常通信,上位机需修改程序或配置的弊端。附图说明图1是本专利技术实施例的自描述信息交互流程图。具体实施方式以下通过具体实施例对本专利技术的技术方案做进一步的说明。定义自描述信息帧格式如下:上位机请求ADU:设备地址1个字节功能码1个字节0x71校验码1个字节0x5A累加和校验1个字节下位机响应ADU:其中寄存器数据类型定义如下:寄存器数据类型含义0无效116位有符号二进制数216位无符号二进制数34位BCD码432位有符号二进制数532位无符号二进制数68位BCD码732位浮点数8ASCII码字符串单个地址表的格式定义如下(m=6):注:序号从1开始编号。其中支持的功能码占2个字节,低字节在前,高字节在后;对应位置1表示支持此功能码,每位定义如下:现有一下位机支持基于Modbus协议的通信,设备地址为1,寄存器数据类型为16位有符号二进制数,寄存器地址高字节在前,寄存器数据低字节在前,CRC校验码高字节在前,Modbus地址表和支持的功能码如下:起始地址数量支持的功能码继电器0x00000x080x01、0x05、0x0F离散开入量0x20000xA80x02输入寄存器0x30000x2F0x03、0x04输出寄存器0x50000x200x03、0x06、0x10特殊寄存器0x80000x050x03、0x06、0x16上位机和下位机基于Modbus协议通信自动互连流程如下:1、上位机按照图1所示流程进行召唤自描述信息,上位机发送报文如下:0x010x710x5A0xCC//设备地址、功能码、校验码、累加和校验2、下位机收到上位机报文,判断地址和累加和校验均正确后,响应报文如下:0x010x710x5A//设备地址、功能码、校验码0x01//寄存器数据类型为16位有符号二进制数0x21//寄存器地址高字节在前0x12//寄存器数据低字节在前0x21//CRC高字节在前0x05//5个地址表0x1E//地址表字节数0x010x000x000x080x000x51//地址表10x020x200x000xA80x000x02//地址表20x030x300x000x2F0x000x0C//地址表30x040x500x000x200x000xA4//地址表40x050x800x000x050x010x24//地址表50x9F//累加和校验3、上位机收到自描述信息报文,判断地址、校验码和累加和校验均正确后,根据自描述信息中提供的字节排序、地址表和支持的功能码进行召唤下位机数据,根据寄存器类型和字节排序解析数据。本专利技术已以较佳实施例公开如上,但它们并不是用来限定本专利技术,任何熟习此技艺者,在不脱离本专利技术之精神和范围内,自当可作各种变化或润饰,因此本专利技术的保护范围应当以本申请的权利要求保护范围所界定的为准。本文档来自技高网...
一种Modbus帧格式自描述方法

【技术保护点】
一种Modbus帧格式自描述方法,其特征在于:下位机增加Modbus帧格式自描述信息,上位机通过指令召唤下位机自描述信息,根据下位机的自描述信息去召唤数据和解析数据,实现通信匹配和数据解析匹配。

【技术特征摘要】
1.一种Modbus帧格式自描述方法,其特征在于:下位机增加Modbus帧格式自描述信息,上位机通过指令召唤下位机自描述信息,根据下位机的自描述信息去召唤数据和解析数据,实现通信匹配和数据解析匹配。2.根据权利要求1所述的Modbus帧格式自描述方法,其特征在于:它包括寄存器数据类型可自描述;寄存器地址低字节在前还是高字节在前可自描述;寄存器数据低字节在前还是高字节在前可自描述;寄存器、继电器、开入量读写支持的功能码可自描述;寄存器、继电器、开入量起始地址定义可自描述;寄存器、继电器、开入量数量可自描述;CRC校验低字节在前还是高字节在前可自描述。3.根据权利要求1所述的Modbus帧格式自描述方法,其特征在于:上位机下发的召唤自描述信息...

【专利技术属性】
技术研发人员:张杭高建虎丁洁
申请(专利权)人:南京因泰莱电器股份有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1