MODBUS协议整理——读线圈寄存器01H、读离散输入寄存器02H

2.MODBUS指令说明

2.1 读线圈寄存器01H

 

1) 描述:

读MODBUS从机线圈寄存器当前状态。

2) 查询:

例如从机地址为11H,线圈寄存器的起始地址为0013H,结束地址为0037H。该次查询总共访问37个线圈寄存器。

表2.1.1 读线圈寄存器-查询

 

Hex

从机地址

11

功能码

01

寄存器起始地址高字节

00

寄存器起始地址低字节

13

寄存器数量高字节

00

寄存器数量低字节

25

CRC校验高字节

0E

CRC校验低字节

84

 

 

 

 

3) 响应

响应负载中的各线圈状态与数据内容每位相对应。1代表ON,0代表OFF。若返回的线圈数不为8的倍数,则在最后数据字节未尾使用0代替。

表2.1.2 读线圈寄存器-响应

 

Hex

从机地址

11

功能码

01

返回字节数

05

数据1(线圈0013H-线圈001AH)

CD

数据2(线圈001BH-线圈0022H)

6B

数据3(线圈0023H-线圈002AH)

B2

数据4(线圈0032H-线圈002BH)

0E

数据5(线圈0037H-线圈0033H)

1B

CRC校验高字节

45

CRC校验低字节

E6

线圈0013H到线圈001AH的状态为CDH,二进制值为11001101,该字节的最高字节为线圈001AH,最低字节为线圈0013H。线圈001AH到线圈0013H的状态分别为ON-ON-OFF-OFF-ON-ON-OFF-ON。

表2.1.3 线圈0013H到001A状态

001AH

0019H

0018H

0017H

0016H

0015H

0014H

0013H

ON

ON

OFF

OFF

ON

ON

OFF

ON

最后一个数据字节中,线圈0033H到线圈0037状态为1BH(二进制00011011),线圈0037H是左数第4位,线圈0033H为该字节的最低字节,线圈0037H至线圈0033H的状态分别为ON-ON-OFF-ON-ON,剩余3位使用0填充。

表2.1.4 线圈0033H到线圈0037状态

003AH

0039H

0038H

0037H

0036H

0035H

0034H

0033H

填充

填充

填充

ON

ON

OFF

ON

ON

 

2.2 读离散输入寄存器 02H

 

1) 说明

读离散输入寄存器状态。

2) 查询

从机地址为11H。离散输入寄存器的起始地址为00C4H,结束寄存器地址为00D9H。总共访问32个离散输入寄存器。

表 2.2.1 读离散输入寄存器——查询

 

Hex

从机地址

11

功能码

02

寄存器地址高字节

00

寄存器地址低字节

C4

寄存器数量高字节

00

寄存器数量低字节

16

CRC校验高字节

BA

CRC校验低字节

A9

 

 

 

3) 响应

响应各离散输入寄存器状态,分别对应数据区中的每位值,1 代表ON;0 代表OFF。第一个数据字节的LSB(最低字节)为查询的寻址地址,其他输入口按顺序在该字节中由低字节向高字节排列,直到填充满8位。下一个字节中的8个输入位也是从低字节到高字节排列。若返回的输入位数不是8的倍数,则在最后的数据字节中的剩余位至该字节的最高位使用0填充。

表2.2.1 读输入寄存器-响应

 

 

Hex

从机地址

11

功能码

02

返回字节数

03

数据1(00C4H-00CBH)

AC

数据2(00CCH-00D3H)

DB

数据3(00D4H-00D9H)

35

CRC校验高字节

20

CRC校验低字节

18

离散输入寄存器00D4H到00D9H的状态为35H (二进制00110101)。输入寄存器00D9H为左数第3位,输入寄存器00D4为最低位,输入寄存器00D9H到00D4H的状态分别为ON-ON-OFF-ON-OFF-ON。00DBH寄存器和00DAH寄存器被0填充。

表2.2.2 离散输入寄存器00C4H到00DBH状态

00CBH

00CAH

00C9H

00C8H

00C7H

00C6H

00C5H

00C4H

0

0

1

1

0

1

0

1

00D3H

00D2H

00D1H

00D0H

00CFH

00CEH

00CDH

00CCH

1

1

1

0

1

0

1

1

00DBH

00DAH

00D9H

00D8H

00D7H

00D6H

00D5H

00D4H

填充

填充

1

1

0

1

0

1

 

  • 8
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值