MODBUS读取多个寄存器(功能码04)

20170222==(MODBUS读取多个寄存器)-LMLPHP

20170222==(MODBUS读取多个寄存器)-LMLPHP

20170222==(MODBUS读取多个寄存器)-LMLPHP

20170222==(MODBUS读取多个寄存器)-LMLPHP

为了简单我这里只用4个寄存器,当让你也可以用125个寄存器,但是最多也只能用125个寄存器的。每个寄存器有上面的表知道为一个字的大小即2个字节或者叫16比特位。

1、根据流程主机我们发送:01 04 00 00 00 04 F1 C9

20170222==(MODBUS读取多个寄存器)-LMLPHP

2、响应数据随意数据例如为:01 04 08 10 00 7F FF A6 65 00 FF 48 0D

20170222==(MODBUS读取多个寄存器)-LMLPHP

模块地址

功能码

数据个数

数据

校验

01

04

08

10 00 7F FF A6 65 00 FF

48 0D

4个寄存器的数据(4*2=8)

例如00FF为一个字节,一共四个字

通信成功。

测试软件这三个:

20170222==(MODBUS读取多个寄存器)-LMLPHP

设置:

20170222==(MODBUS读取多个寄存器)-LMLPHP

2、

20170222==(MODBUS读取多个寄存器)-LMLPHP

3、

20170222==(MODBUS读取多个寄存器)-LMLPHP

4、如果失败是这样的

20170222==(MODBUS读取多个寄存器)-LMLPHP

初学,可能好多理解错误,希望大神给指点下,谢谢。

05-11 13:03