4.4 03(0x03)读取保持寄存器值
0x01: 读线圈寄存器
0x02: 读离散输入寄存器
0x03: 读保持寄存器
0x04: 读输入寄存器
0x05: 写单个线圈寄存器
0x06: 写单个保持寄存器
0x0f: 写多个线圈寄存器
0x10: 写多个保持寄存器
保持寄存器:这个寄存器的单位不再是bit而是两个byte,也就是可以存放具体的数据量的,并且是可读写的。一般对应参数 设置,比如我我设置时间年月日,不但可以写也可以读出来现在的时间。写也分为单个写和多个写,所以功能码有对应的三 个:0x03 0x06 0x10
输入寄存器:这个和保持寄存器类似,但是也是只支持读而不能写,一般是读取各种实时数据。一个寄存器也是占据两个byte的空间。类比我我通过读取输入寄存器获取现在的AD采集值。对应的功能码也就一个 0x04
4.4.1 功能说明
4.4.2 查询报文
4.4.3 响应报文
4.5 04(0x04)读取输入寄存器值
4.5.1 功能说明
4.5.2 查询报文
4.5.3 响应报文
4.6 05(0x05)写单个线圈或单个离散输出
4.6.1 功能说明
4.6.2 查询报文
4.6.3 响应报文
4.7 06(0x06)写单个保持寄存器
4.7.1 功能说明
4.7.2 查询报文
4.7.3 响应报文
4.8 08(0x08) 诊断功能
4.8.1 功能说明
4.8.2 查询报文
4.8.3 响应报文
4.8.4 诊断子功能码
4.9 11(0x0B)获取通信事件计数器
4.9.1 功能说明
4.9.2 查询报文
4.9.3 响应报文
4.10 12(0x0C)获取通信事件记录
4.10.1 功能说明
4.10.2 查询报文
4.10.3 响应报文
4.11 15(0x0F)写多个线圈
4.11.1 功能说明
4.11.2 查询报文
4.11.3 响应报文
4.12 16(0x10)写多个保持寄存器
4.12.1 功能说明
4.12.2 查询报文
4.12.3 响应报文
4.13 17(0x11)报告从站ID(仅用于串行电路)
4.13.1 功能说明
4.13.2 查询报文
4.13.3 响应报文
4.14 Modbus异常响应