简介
modbus由MODICON公司于1979年开发,是一种工业现场总线协议标准。1996年施耐德公司推出基于以太网TCP/IP的modbus协议:modbusTCP。
Modbus协议是一项应用层报文传输协议,包括ASCII、RTU、TCP三种报文类型。
标准的Modbus协议物理层接口有RS232、RS422、RS485和以太网接口,采用master/slave方式通信。
注意:此处报文进制全部为16进制
修改数据解析报文
报文
4C 00 00 00 09 00 10 00 00 00 01 02 02 2B
含义
将SLaveID为0的地址为0的寄存器设置为 02 2B (555)
拆分
首先拆分为两部分:头 体
头
4C 00 00 00 09 00
4C :事务标识(一般为递增值)
00 00 :协议标识(一般固定为 00 00 )
00 09 :后面字节个数
00 :SLaveID(单元标识 类似于单元楼)
体
10 00 00 00 01 02 02 2B
10 :功能标识码
00 00 :单元中标识地址(类似于单元楼中的住户门号)
01 :修改个数
02 :后面字节个数
02 2B :数据(555)
查询数据解析报文
报文
5E 00 00 00 06 00 03 00 00 00 0A
含义
查询SLaveID为0的地址从0开始 查询 0A(10)个寄存器的数据
拆分
首先拆分为两部分:头 体
头
5E 00 00 00 09 00
5E :事务标识(一般为递增值)
00 00 :协议标识(一般固定为 00 00 )
00 06 :后面字节个数
00 :SLaveID(单元标识 类似于单元楼)
体
03 00 00 00 0A
03 :功能标识码
00 00 :单元中标识地址(类似于单元楼中的住户门号 从此处开始查询 开始寄存器点位)
00 0A :查询寄存器个数 (10)
查询返回数据解析报文
报文
5E 00 00 00 17 00 03 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00
含义
查询SLaveID为0的地址从0开始 查询 0A(10)个寄存器的数据
拆分
首先拆分为两部分:头 体
头
5E 00 00 00 17 00
5E :事务标识(一般为递增值)
00 00 :协议标识(一般固定为 00 00 )
00 17 :后面字节个数
00 :SLaveID(单元标识 类似于单元楼)
体
03 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00
03 :功能标识码
14 :后面字节个数(20)
00 00 00 …… :此处为查询出来的10个数据 其中 两个字节代表一个数据