modbus功能码及格式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、“01”读取线圈状态

发送:

功能代码1字节0x01

起始地址2字节0x0000~0xFFFF 线圈数量2字节1~2000(0x7D0)接收:

功能代码1字节0x01

字节数1字节N

线圈状态n字节n = N/N+1

N=读取线圈个数 / 8 ,如果余数不为0则N=N+1

出错时的返回:

功能代码1字节0x81

错误代码1字节01/02/03/04

例子:

2、“02”读取输入状态

发送:

功能代码1字节0x02

起始地址2字节0x0000~0xFFFF

输入点数量2字节1~2000(0x7D0)接收:

功能代码1字节0x02

字节数1字节N

输入点状态n字节n = N/N+1

N=读取输入点个数 / 8 ,如果余数不为0则N=N+1

出错时的返回:

功能代码1字节0x82

错误代码1字节01/02/03/04

例子:

3、“03”保持型寄存器读取

发送:

功能代码1字节0x03

起始地址2字节0x0000~0xFFFF 寄存器数量2字节1~125(0x7D)接收:

功能代码1字节0x03

字节数1字节2*N

寄存器值N*2字节

N=寄存器数量

出错时的返回:

功能代码1字节0x83

错误代码1字节01/02/03/04

例子:

4、“05”写单一线圈

发送:

功能代码1字节0x05

线圈地址2字节0x0000~0xFFFF 写入值2字节0x0000或0xFF00接收:

功能代码1字节0x05

线圈地址2字节0x0000~0xFFFF 写入值2字节0x0000或0xFF00出错时的返回:

功能代码1字节0x85

错误代码1字节01/02/03/04

例子:

5、“06”写单一寄存器

发送:

功能代码1字节0x06

寄存器地址2字节0x0000~0xFFFF 写入值2字节0x0000~0xFFFF 接收:

功能代码1字节0x06

寄存器地址2字节0x0000~0xFFFF 写入值2字节0x0000~0xFFFF 出错时的返回:

功能代码1字节0x86

错误代码1字节01/02/03/04例子:

6、“15(0x0F)”写多线圈

发送:

功能代码1字节0x0F

起始地址2字节0x0000~0xFFFF 写入线圈个数2字节0x0001~0x07B0写入字节数1字节N

写入值N字节

N=写入线圈个数 / 8 ,如果余数不为0则N=N+1

接收:

功能代码1字节0x0F

起始地址2字节0x0000~0xFFFF 写入线圈个数2字节0x0001或0x07B0出错时的返回:

功能代码1字节0x8F

错误代码1字节01/02/03/04

例子:

7、“16(0x10)”写多寄存器

发送:

功能代码1字节0x10

起始地址2字节0x0000~0xFFFF

写入寄存器个数2字节0x0001~0x007B

写入字节数1字节2*N

写入值N*2字节

N=写入寄存器个数

接收:

功能代码1字节0x10

起始地址2字节0x0000~0xFFFF

写入寄存器个数2字节0x0001或0x007B

出错时的返回:

功能代码1字节0x90

错误代码1字节01/02/03/04

例子:

(学习的目的是增长知识,提高能力,相信一分耕耘一分收获,努力就一定可以获得应有的回报)

相关文档
最新文档