modbus RTU消息帧与TCP消息帧对比
1. RTC消息帧格式
2. TCP消息帧格式
3. 实例对比
读取序号为20,起始地址为0,连续10个的线圈状态。
3.1 RTU消息帧
查询报文:[14][01][00][00][00][0A][BE][C8]
响应报文:<14><01><02><05><00><B7><6F>
查询报文:
从设备地址 |
功能码 |
起始地址(高位) |
起始地址(地位) |
寄存器数(高位) |
寄存器数(地位) |
CRC校验 |
14 |
01 |
00 |
00 |
00 |
0A |
BEC8 |
响应报文:
从设备地址 |
功能码 |
数据域字节数 |
数据1 |
数据2 |
|
|
CRC校验 |
14 |
01 |
02 |
05 |
00 |
|
|
B76F |
3.2 TCP消息帧
查询报文:[00][05][00][00][00][06][14][01][00][00][00][0A]
响应报文:<00><05><00><00><00><05><14><01><02><05><00>
查询报文:
MBAP报头 |
|||
字节0,字节1(传输标识) |
字节2,字节3(协议标识) |
字节4,字节5(字节长度) |
字节6(单元标识符) |
0005 |
0000 |
0006 |
14 |
功能码 |
起始地址 |
寄存器数 |
|
01 |
0000 |
000A |
|
响应报文:
MBAP报头 |
|||
字节0,字节1(传输标识) |
字节2,字节3(协议标识) |
字节4,字节5(字节长度) |
字节6(单元标识符) |
0005 |
0000 |
0005 |
14 |
功能码 |
数据域字节数 |
数据1 |
数据2 |
01 |
02 |
05 |
00 |