MODBUS协议整理——写多个线圈寄存器0FH,写多个保持寄存器10H

来源:互联网 发布:m18无后坐力炮数据 编辑:程序博客网 时间:2024/06/05 18:12

2.7 写多个线圈寄存器 0FH

1) 说明

写多个线圈寄存器。若数据区的某位值为“1”表示被请求的相应线圈状态为ON,若某位值为“0”,则为状态为OFF。

2) 查询

从机地址为11H,线圈寄存器的起始地址为0013H,线圈寄存器的结束地址为001CH。总共访问10个寄存器。寄存器内容如下表所示。

表2.7.1 线圈寄存器0013H到001CH

001AH

0019H

0018H

0017H

0016H

0015H

0014H

0013H

1

1

0

0

1

1

0

1

0022H

0021H

0020H

001FH

001EH

001DH

001CH

001BH

0

0

0

0

0

0

0

1

传输的第一个字节 CDH 对应线圈为0013H到001AH,LSB(最低位)对应线圈0013H,传输第二个字节为 01H,对应的线圈为001BH到001CH,LSB 对应线圈001CH,其余未使用位使用0 填充。

表2.7.1 写多个线圈寄存器——查询

 

Hex

从机地址

11

功能码

0F

寄存器地址高字节

00

寄存器地址低字节

13

寄存器数量高字节

00

寄存器数量低字节

0A

字节数

02

数据1(0013H-001AH)

CD

数据2(001BH-001CH)

01

CRC校验高字节

BF

CRC校验低字节

0B

 


 

3) 响应

表2.7.1 写多个线圈寄存器——响应

 

Hex

从机地址

11

功能码

0F

寄存器地址高字节

00

寄存器地址低字节

13

寄存器数量高字节

00

寄存器数量低字节

0A

字节数

02

CRC校验高字节

99

CRC校验低字节

1B

 


 

2.8 写多个保持寄存器10H

1) 说明

写多个保持寄存器。

2) 查询

从机地址为11H。保持寄存器的其实地址为0001H,寄存器的结束地址为0002H。总共访问2个寄存器。保持寄存器0001H的内容为000AH,保持寄存器0002H的内容为0102H。

表2.8.1 写多个保持寄存器——请求

 

Hex

从机地址

11

功能码

10

寄存器起始地址高字节

00

寄存器起始地址低字节

01

寄存器数量高字节

00

寄存器数量低字节

02

字节数

04

数据1高字节

00

数据1低字节

0A

数据2高字节

01

数据2低字节

02

CRC校验高字节

C6

CRC校验低字节

F0

表2.8.2 保持寄存器0001H到0002H内容

地址

0001H高字节

0001H低字节

0002H高字节

0003H低字节

数值

00

0A

01

12


 

3) 响应

表2.8.3 写多个保持寄存器——响应

 

Hex

从机地址

11

功能码

10

寄存器起始地址高字节

00

寄存器起始地址低字节

01

寄存器数量高字节

00

寄存器数量低字节

02

CRC校验高字节

12

CRC校验低字节

98

原创粉丝点击