从报文角度看modbus功能码01,02,03,04的区别
01 02功能码属于位操作指令,读取的是1 bit的数据,03 04功能码属于字操作指令,读取的寄存器的数据。
以读报文为例:
01,02:
发包:01 01 00 00 00 08 XX XX
回包:01 01 01 00 XX XX
此处00 08代表读8位,即一个字节,因此回包的数据长度为01。
03,04:
发包:01 03 00 00 00 08 XX XX
回包:01 03 10 00(16个00) XX XX
此处00 08代表读8个寄存器,即16个字节。因此回报的数据长度为10