Modbus 功能字 01H 02H 03H 05H 06H 0FH 10H 解析 及其 格式

匿名 (未验证) 提交于 2019-12-03 00:22:01

Modbus 协议规约

功能码及其示例格式

功能码01H:读输出开关量。位操作,可以读单个也可以多个。

发送指令

从机

地址

功能码

起始地址高8位(位)

起始地址低8位(位)

寄存器数量高8位(位)

寄存器数量低8位(位)

CRCH

CRCL

0X01

0X01

0X00

0X08

0X00

0X0C

0XBD

0XCD

响应

从机

地址

功能码

返回字节数

Data1

Data2

CRCH

CRCL

0X01

0X01

0X02

0X66

0X88

0X9A

0X93

Data1:0X66

BIT7

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0

0

1

1

0

0

1

1

0

Data2:0X08 不够8位,字节高位填充0

BIT7

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0

0

0

0

0

1

0

0

0

功能码02H:读输入开关量。位操作,可以读单个也可以多个。与01H 功能码相似,此处略

功能码03H:读保持寄存器。字节操作,可以读单个也可以多个。

发送指令

从机

地址

功能码

起始地址H

起始地址L

数据数量H

数据数量L

CRCH

CRCL

0X01

0X03

0X00

0X06

0X00

0X02

0X24

0X0A

响应

从机

地址

功能码

返回字节数

Data1H

Data1L

Data2H

Data2L

CRCH

CRCL

0X01

0X03

0X04

0X66

0X88

0X99

0XFF

0X4E

0X81

数据存储顺序

0X0009

0X0008

0X0007

0X0006

0X99

0XFF

0X66

0X88

功能码05H

发送指令

从机

地址

功能码

起始地址H(位)

起始地址L(位)

DATA H

DATA L

CRCH

CRCL

0X01

0X05

0X00

0X06

0XFF

0X00

0X6C

0X3B

响应

同发送指令

功能码06H:写单个保持寄存器。字节操作,只能写一个

发送指令

从机

地址

功能码

起始地址高8位(位)

起始地址低8位(位)

DataH

DataL

CRCH

CRCL

0X01

0X06

0X00

0X05

0X66

0X88

0XB2

0X0D

响应

功能码0FH:写多个输出开关量。位操作,可以写单个也可以多个。起始地址只能是8的整数倍。(待改)。若数据区的某一个位为1,则对应的线圈状态为ON,

若数据区的某一个位为0,则对应的线圈状态为OFF

发送指令

从机

地址

功能码

起始地址高8位(位)

起始地址低8位(位)

寄存器数量高8位(位)

寄存器数量低8位(位)

字节数

Data1

Data2

CRCH

CRCL

0X01

0X0F

0X00

0X08

0X00

0X0C

0X02

0X66

0X88

0XCE

0X9E

Data1:0X66

BIT7

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0

0

1

1

0

0

1

1

0

Data2:0X08 不够八位,字节高位填充为0

BIT7

BIT6

BIT5

BIT4

BIT3

BIT2

BIT1

BIT0

0

0

0

0

1

0

0

0

响应

从机

地址

功能码

起始地址高8位(位)

起始地址低8位(位)

寄存器数量高8位(位)

寄存器数量低8位(位)

字节数

CRCH

CRCL

0X01

0X01

0X00

0X05

0X00

0X20

0X20

0X00

0X00

功能码10H:写多个保持寄存器。字节操作,可以写单个也可以多个数据。

发送指令

从机

地址

功能码

起始地址H

起始地址L

数据数量H

数据数量L

Data1H

Data1L

Data2H

Data2L

CRCH

CRCL

0X01

0X10

0X00

0X06

0X00

0X02

0X66

0X88

0X99

0XFF

0X47

0X70

响应

从机

地址

功能码

起始地址H

起始地址L

数据数量H

数据数量L

CRCH

CRCL

0X01

0X10

0X00

0X06

0X00

0X02

0XA1

0XC9


上述协议格式均是本人查阅资料,自己理解的Modbus协议。如有和标准协议不同之处,请不吝赐教。duo_lin0119@163.com


谢谢各位的阅读。


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!