电工学习网

 找回密码
 立即注册

modbus功能码及格式

2013-9-3 17:11| 编辑:电工学习网| 查看: 20232| 评论: 0

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
 
例子:
4.支持的MODBUS功能码
   功能码02H: 读取开关量输入(读实遥信和虚遥信)。

  功能码03H:读取保持寄存器(读事件记录等)

  功能码04H:读取输入寄存器(读远动遥测)

  功能码05H:强制单点继电器输出(远方复归、单步的遥控跳闸、遥控合闸)。

  功能码06H:向保持寄存器写单个字(遥控跳闸、遥控合闸的选择和执行操作)

功能码10H: 向保持寄存器(内存区)写多个16位的字(通讯对时)。

看过《modbus功能码及格式》的人还看了以下文章:

发表评论

最新评论

||电工学习网 ( )

GMT+8, 2021-6-21 10:15

Powered by © 2011-2021 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

返回顶部