MODBUS协议整理——读保持寄存器03H、读输入寄存器04H

2.3 读保持寄存器 03H

1) 说明spa

读保持寄存器。可读取单个或多个保持寄存器。ci

2) 查询table

从机地址为11H。保持寄存器的起始地址为006BH,结束地址为006DH。该次查询总共访问3个保持寄存器。数据

表2.3.1 读保持寄存器-查询查询

Hextop

从机地址tab

11di

功能码background

03ab

寄存器地址高字节

00

寄存器地址低字节

6B

寄存器数量高字节

00

寄存器数量低字节

03

CRC高字节

76

CRC低字节

87


3) 响应

保持寄存器的长度为2个字节。对于单个保持寄存器而言,寄存器高字节数据先被传输,低字节数据后被传输。保持寄存器之间,低地址寄存器先被传输,高地址寄存器后被传输。

表2.3.2 读保持寄存器-响应

Hex

从机地址

11

功能码

03

字节数

06

数据1高字节(006BH)

00

数据1低字节(006BH)

6B

数据2高字节(006CH)

00

数据2 低字节(006CH)

13

数据3高字节(006DH)

00

数据3低字节(006DH)

00

CRC高字节

38

CRC低字节

B9

表2.3.3 保持寄存器006BH到006DH结果

006BH

高字节

006BH

低字节

006CH

高字节

006CH

低字节

006DH

高字节

006DH

低字节

00

6B

00

13

00

00


2.4 读输入寄存器 04H

1) 说明

读输入寄存器命令。该命令支持单个寄存器访问也支持多个寄存器访问。

2) 查询

从机地址为11H。输入寄存器的起始地址为0008H,寄存器的结束地址为0009H。本次访问访问2个输入寄存器。

表2.4.1 读输入寄存器-查询

Hex格式

从机地址

11

功能码

04

寄存器起始地址高字节

00

寄存器起始地址低字节

08

寄存器个数高字节

00

寄存器个数低字节

02

CRC高字节

F2

CRC低字节

99


3) 响应

输入寄存器长度为2个字节。对于单个输入寄存器而言,寄存器高字节数据先被传输,低字节数据后被传输。输入寄存器之间,低地址寄存器先被传输,高地址寄存器后被传输。

表2.4.2 读寄存器-响应

Hex格式

从机地址

11

功能码

04

字节数

04

数据1高字节(0008H)

00

数据1低字节(0008H)

0A

数据2高字节(0009H)

00

数据2低字节(0009H)

0B

CRC高字节

8B

CRC低字节

80

表2.4.3 输入寄存器0008H到0009H结果

006BH

高字节

006BH

低字节

006CH

高字节

006CH

低字节

00

0A

00

0B