03 读取 多个保持寄存器
寄存器读取与线圈的区别,响应数据,寄存器数据每两个字节表示1位,一次请求不能超过127个地址
示例报文:
请求:00 01 00 00 00 06 01 03 00 05 00 02
第1,2位 00 01 交互标识
第3,4位 00 00 协议标识
第5,6位 00 06 后面报文长度 有6位
第7位 01 设备地址,发送什么,响应什么
第8位 03 功能码
第9,10位00 05起始地址
第11,12位 00 02查询寄存器长度,查询2个寄存器
响应:00 01 00 00 00 07 01 03 04 00 22 00 00
前四位(00 01 00 00)和7,8位(01 03)同请求发送的报文
第5,6位 00 07 是后面报文长度
第9位 04 是后面数据位的长度
第10-13位 数据位(00 22 00 00)
04 读取 多个输入寄存器
同03
06(06H) 写入 单个寄存器
请求:00 05 00 00 00 06 FF 06 00 05 00 23
向地址为5的寄存器写入35。
第9,10位 00 05写入的起始地址
第11,12位 00 23写入寄存器的值
响应:00 05 00 00 00 06 FF 06 00 05 00 23
16(10H)写入多个寄存器
请求:00 06 00 00 00 0B FF 10 00 02 00 02 04 00 21 00 2A
从地址2开始写入两个寄存器,2寄存器写入33,3寄存器写入42
第9,10位 00 02写入的起始地址
第11,12位 00 02写入寄存器的数量
第13位 04 后面数据的字节
第14-17位 数据
响应:00 06 00 00 00 06 FF 10 00 02 00 02
从地址2开始写入两个寄存器,2寄存器写入33,3寄存器写入42
第9,10位 00 02写入的起始地址
第11,12位 00 02写入寄存器的数量
第13位 04 后面数据的字节
第14-17位 数据
响应:00 06 00 00 0 0 06 FF 10 00 02 00 02