ModBus TCP 分布式远程IO数据采集模块系统耦合器BL200功能码0x02数字输入

2022-11-02 10:04:08 钡铼技术

ModBus TCP 分布式远程IO数据采集模块系统耦合器BL200 Modbus

功能码0x02数字输入

此功能码用于读取单个或多个数字输入连续状态。

1. 请求

该请求指定了起始地址和要读取的数量。

表1:功能码0x02-请求报文

字段名称

字节数

示例

说明

事务标识符

2 Byte

0x00 01

Modbus请求/响应事务处理的识别

协议标识符

2 Byte

0x00 00

0x00 00 Modbus协议

报文长度

2 Byte

0x00 06

后面数据的字节数

设备地址

1 Byte

0x01

从站的地址识别

功能码

1 Byte

0x02

读数字输入,用功能码0x02

起始地址

2 Byte

0x07 D0

地址详见Modbus 寄存器映射”章节

输入数量

2 Byte

0x08

8 个数字输入

工业物联网关

2. 响应

数据字段表明了输入状态的值。二进制1对应开启状态,0对应关闭状态。第一个数据字节的最低有效位(LSB)包含请求的第一位,其他的则按升序排列。如果响应数据不是8的倍数,则最后一个数据字节的余位将填充零(朝向字节的高位)。

表2:功能码0x02-响应报文

字段名称

字节(Byte

示例

说明

事务标识符

2 Byte

0x00 01

Modbus请求/响应事务处理的识别

协议标识符

2 Byte

0x00 00

0x00 00 Modbus协议

报文长度

2 Byte

0x00 04

后面数据的字节数

设备地址

1 Byte

0x01

从站的地址识别

功能码

1 Byte

0x02

读数字输入,用功能码0x02

数据字节数

1 Byte

0x01

数据字节

数据

1 Byte

0x89

响应的数据


3. 异常


表3:功能码0x02-响应异常

字段名称

字节(Byte

示例

说明




功能码

1 Byte

0x82

Modbus功能码 + 0x80

异常编码

1 Byte

0x01

0x01 0x02


4. 示例

从地址2000到2007读8个数字输入的值。


请求

0x00 01 00 00 00 06 01 02 07 D0 00 08


表 4:功能码0x02-请求报文-示例

Byte

1

2

3

4

5

6

7

8

9

10

11

12

Data

00 01

00 00

00 06

01

01

07 D0

00 08

说明

事务标识符

协议标识符

报文长度

设备地址

功能码

起始地址

线圈数量


响应

0x00 01 00 00 00 04 01 02 01 89


表 5:功能码0x02-响应报文-示例

Byte

1

2

3

4

5

6

7

8

9

10

Data

00 01

00 00

00 04

01

01

01

89

说明

事务标识符

协议标识符

报文长度

设备地址

功能码

数据字节数

数据


从2007到2000的状态显示为字节值0x89或二进制1000 1001。地址2007是该字节最高有效位MSB,2000是最低有效位LSB,从高位到低位的分布如下:


表6:数字输入数据

Bit

7

6

5

4

3

2

1

0

地址

2007

2006

2005

2004

2003

2002

2001

2000

状态

1

0

0

0

1

0

0

1

说明

闭合

断开

断开

断开

闭合

断开

断开

闭合


标签: 远程IO
微信公众号

首页
产品
案例
联系钡铼