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

2.3 读保持寄存器 03H

1) 说明

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

2) 查询

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

表2.3.1 读保持寄存器-查询

 

Hex

从机地址

11

功能码

03

寄存器地址高字节

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


  • 7
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
Modbus 主站测试软件 这是一个小巧的Modbus Master测试工具,综合了Modbus TCP、Modbus UDP、Modbus RTU、Modbus ASCII 四种工作模式.是现场通讯测试的最佳助手。适合运行在任何Windows平台下。无需任何运行库。软件不需要安装,解压后可直接运行。 #### 功能简介 1. 选定连接方式为 以太网TCP、以太网UDP、串口RTU、串口ASCII 2. 如果是串口RTU、ASCII:设定串口客户端串口及参数,点击打开,可选择不同的寄存器进行写操作。 如果是TCP、UDP:设定客户端IP和端口(默认502),点击连接,连接成功后,可选择不同的寄存器进行写操作。 3. 该软件作为Modbus 主站(即Mdobus 客户端)使用,可以读取线圈寄存器(Output Coil)、离散输入寄存器(Input Relay)、保持寄存器(Holding Register)、输入寄存器(Input Register)的数据,同时可以写入线圈寄存器(Output Coil)、保持寄存器(Holding Register)数据;数据可以按格式格式进行显示,为测试工作带来便利。 #### 最后更新 v.5.1.12.46(Build 2020/12/11) - 双击快速修改线圈寄存器(Output Coil) - 线圈寄存器(Output Coil)添加HEX,BIN格式输入 v.5.0.0.42(Build 2020/12/03) - 新增收发时间显示,及时间格式 - 新增收发数据显示不同颜色 - 新增数据保存功能 - 修订线圈寄存器、离散输入寄存器数据显示 - 新增0FH功能码功能 - 完善各功能码反馈提示信息及异常信息 - 新增本地端口参数 - 完善各种数据换位格式,可选择以下显示方式 - 1: Signed (2 Byte)有符号整数(AB)* - 2: Signed (2 Byte)有符号整数(BA) - 3: UnSigned(2 Byte)无符号整数(AB)* - 4: UnSigned(2 Byte)无符号整数(BA) - 5: LongWord (4 Byte)无符号整数(AB CD)* - 6: LongWord (4 Byte)无符号整数(CD AB) - 7: LongWord (4 Byte)无符号整数(BA DC) - 8: LongWord (4 Byte)无符号整数(DC BA) - 9: LongInt (4 Byte)有符号整数(AB CD)* - 10: LongInt (4 Byte)有符号整数(CD AB) - 11: LongInt (4 Byte)有符号整数(BA DC) - 12: LongInt (4 Byte)有符号整数(DC BA) - 13: Float(4 Byte)单精度浮点(AB CD)* - 14: Float(4 Byte)单精度浮点(CD AB) - 15: Float(4 Byte)单精度浮点(BA DC) - 16: Float(4 Byte)单精度浮点(DC BA) - 17: Double(8 byte)双精度浮点(AB CD EF GH)* - 18: Double(8 byte)双精度浮点(GH EF CD AB) - 19: Double(8 byte)双精度浮点(BA DC FE HG) - 20: Double(8 byte)双精度浮点(HG FE DC BA) - 21: String 字符(AB) 包含以下功能码: - 01H--读取线圈寄存器(Output Coil),位操作,可单个或者多个 - 02H--读取离散输入寄存器(Input Relay),位操作,可单个或多个 - 03H--保持寄存器(Holding Register),字节指令操作,可单个或者多个 - 04H--读取输入寄存器(Input Register),字节指令操作,可单个或者多个 - 05H-写单个线圈寄存器(Output Coil),位操作,只能写一个 - 06H--写单个保持寄存器(Holding Register),字节指令操作,只能写一个 - 0FH--写多个线圈寄存器(Output Coil),字节指令操作,可写多个 - 10H--写多个保持寄存器(Holding Register),字节指令操作,可写多个

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值