ModBus TCP 分布式远程IO数据采集模块系统耦合器BL200 Modbus 功能码0x0F写多个线圈

2022-10-28 17:39:18 钡铼技术

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

功能码0x0F写多个线圈

工业物联网关

工业物联网关

此功能码用于把连续的多个线圈设置为断开或闭合。请求的开/关状态由请求数据字段的内容指定。逻辑“1”请求闭合相应的输出,逻辑上的“0”请求其断开。正常响应返回功能码、起始地址和执行的线圈数量。


1. 请求


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

字段名称

字节数

示例

说明

事务标识符

2 Byte

0x00 01

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

协议标识符

2 Byte

0x00 00

0x00 00 Modbus协议

报文长度

2 Byte

0x00 08

后面数据的字节数

设备地址

1 Byte

0x01

从站的地址识别

功能码

1 Byte

0x0F

写多个线圈,用功能码0x0F

起始地址

2 Byte

0x03 E8

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

线圈数量

2 Byte

0x00 08


数据字节数

1 Byte

0x01


数据

1 Byte

0xFF



2. 响应

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

字段名称

字节(Byte

示例

说明

事务标识符

2 Byte

0x00 00

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

协议标识符

2 Byte

0x00 00

0x00 00 Modbus协议

报文长度

2 Byte

0x00 06

后面数据的字节数

设备地址

1 Byte

0x01

从站的地址识别

功能码

1 Byte

0x0F

写多个线圈,用功能码0x0F

起始地址

2 Byte

0x03 E8


线圈数量

2 Byte

0x00 08



3. 异常


3:功能码0x0f-异常

字段名称

字节(Byte

示例

说明




功能码

1 Byte

0x8F

Modbus功能码 + 0x80

异常编码

1 Byte


0x01 0x02



4. 示例


从地址1000开始,将8个线圈全部闭合,即将8个线圈的值写为0xFF。


请求


0x00 01 00 00 00 08 01 0F 03 E8 00 08 01 FF


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


Byte

1

2

3

4

5

6

7

8

9

10

11

12

13

14

Data

00 01

00 00

00 08

01

0F

03 E8

00 08

01

FF

说明

事务标识符

协议标识符

报文长度

设备地址

功能码

起始地址

线圈数量

字节数

数据


响应


0x00 01 00 00 00 06 01 0F 03 E8 00 08


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

Byte

1

2

3

4

5

6

7

8

9

10

11

12

Data

00 01

00 00

00 06

01

0F

03 E8

00 08

说明

事务标识符

协议标识符

报文长度

设备地址

功能码

起始地址

线圈数量


微信公众号

首页
产品
案例
联系钡铼