Lele was written in 2021
MODBUS,RTU协议解析精编
Modbus RTU协议
Big Q
功能码:01 02 03 04 05 06 15 16
功能码:01 读取线圈状态
读取 从站为1 起始地址为0 数量为10
主站发送报文: 01 01 00 00 00 0a bc 0d
01:从站地址 Type:Byte
01:功能码; Type:Byte
00 00 :读取从站的起始地址;Type:Word (主站访问实际起始地址=报文地址+1)
00 0a : 读取总共的线圈个数,10个;Type:Word
bc 0d: CRC校验;Type:Word
从站返回报文: 01 01 02 07 00 bb cc
01:从站地址 Type:Byte
01:功能码 Type:Byte
02:返回字节个数(每读8个BIT线圈为一个字节BYTE) Type:Byte
07 00 :返回线圈状态,读取10个线圈状态,用两个字节存储(00000111,00000000) Type:Byte
bb cc:发送CRC校验码 Type:Word
如下图
功能码:02 读取输入状态
读取 从站为1 起始地址为10 数量为10
主站发送报文: 01 02 00 09 00 0a 28 0f
01:从站地址 Type:Byte
02:功能码; Type:Byte
00 00 :读取从站的起始地址;Type:Word (主站访问实际起始地址=报文地址+1)
00 0a : 读取总共的输入个数,10个;Type:Word
28 0f: CRC校验;Type:Word
从站返回报文: 01 02 02 00 00 b9 b8
01:从站地址 Type:Byte
02:功能码 Type:Byte
02:返回字节个数(每读8个BIT线圈为一个字节BYTE) Type:Byte
00 00 :返回线圈状态,读取10个线圈状态,用两个字节存储(00000000,00000000) Type:Byte
b9 b8:发送CRC校验码 Type:Word
如下图
功能码:03 读取保持型寄存器
读取 从站为1 起始地址为10 数量为10
主站发送报文: 01 03 00 09 00 0a 15 cf
01:从站地址 Type:Byte
03:功能码; Type:Byte
00 09 :读取从站的起始地址;Type:Word (主站访问实际起始地址=报文地址+1)
00 0a : 读取总共的输入个数,10个;Type:Word
15 cf: CRC校验;Type:Word
从站返回报文: 01 03 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a3 67
01:从站地址 Type:Byte
03:功能码 Type:Byte
14:返回字节个数(每读1个寄存器为二个字节BYTE) Type:Byte
00 0
MODBUS,RTU协议解析精编 来自淘豆网www.taodocs.com转载请标明出处.