modbus-poll和modbus-slave工具的学习使用——modbus协议功能码04的解析——04读输入寄存器
功能码4的功能是读输入寄存器,下面是modbus poll的communication中截取的一段发送、响应的数据,
Tx:020-01 04 00 00 00 01 31 CA
Rx:021-01 04 02 00 02 38 F1
分析如下:
poll端:
connection选项就不细讲了,rtu模式,8N1的通信方式。
setup选项,选择如下:
点击ok,就可以通信了。
slave端:
connection选项就不细讲了,rtu模式,8N1的通信方式。
setup选项,选择如下:
点击ok,就可以通信了。
两段都设定好了,就可以正常通信了。这里我使用了虚拟串口的,如果是实际情况,需要根据实际情况来选择串口号码。
通信情况如下:
通信码分析:
Tx:020-01(从机地址) 04(功能码4) 00(寄存器起始地址高位) 00(寄存器起始地址高位) 00(寄存器个数高位) 01 (寄存器个数高位)31(CRC 低位) CA (CRC 高位)
说明是从寄存器1开始,读取1个寄存器的数值
Rx:021-01(从机地址) 04(功能码4) 02(字节数) 00(数据高位(地址 30000)) 02(数据低位(地址 30000)) 38(CRC 低位) F1 (CRC 高位)
可以见得,RX回复的数据是16bit的数据,两个字节。