modbus 功能码
来源:互联网 发布:pdg for mac 编辑:程序博客网 时间:2024/06/01 09:48
1、“01”读取线圈状态
发送:
功能代码1字节0x01起始地址2字节0x0000~0xFFFF线圈数量2字节1~2000(0x7D0)接收:
功能代码1字节0x01字节数1字节N线圈状态n字节n = N/N+1N=读取线圈个数 / 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+1N=读取输入点个数 / 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位的字(通讯对时)。
发送:
功能代码1字节0x01起始地址2字节0x0000~0xFFFF线圈数量2字节1~2000(0x7D0)接收:
功能代码1字节0x01字节数1字节N线圈状态n字节n = N/N+1N=读取线圈个数 / 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+1N=读取输入点个数 / 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字节
出错时的返回:
功能代码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字节
接收:
功能代码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字节
接收:
功能代码1字节0x10起始地址2字节0x0000~0xFFFF写入寄存器个数2字节0x0001或0x007B出错时的返回:
功能代码1字节0x90错误代码1字节01/02/03/04
例子:
4.支持的MODBUS功能码
功能码02H: 读取开关量输入(读实遥信和虚遥信)。
功能码03H:读取保持寄存器(读事件记录等)
功能码04H:读取输入寄存器(读远动遥测)
功能码05H:强制单点继电器输出(远方复归、单步的遥控跳闸、遥控合闸)。
功能码06H:向保持寄存器写单个字(遥控跳闸、遥控合闸的选择和执行操作)
功能码10H: 向保持寄存器(内存区)写多个16位的字(通讯对时)。
0 0
- ModBus常用功能码
- modbus功能码简述
- modbus 功能码
- Modbus功能码
- Modbus 功能码解析
- ModBus常用功能码
- Modbus功能码一览
- Modbus功能码与数据类型
- Modbus支持的功能码
- Modbus支持的功能码
- modbus功能码及格式
- Modbus功能码与数据类型
- modbus协议功能码和常见问题
- Modbus通讯 功能码及实例
- 贰:Modbus常用功能码协议详解
- modbus协议功能码和常见问题
- ModBus协议-功能码第0节
- ModBus协议-功能码-0x01
- 如何高效设计游戏——游戏伤害公式的量身定做
- 继承的使用--笔记
- SSHJ:Spring整合Struts2、Hibernate、JBPM4
- hdu 2242 考研路茫茫——空调教室 点强连通+树形dp
- 学习 PipedInputStream PipedOutputStream
- modbus 功能码
- Grunt教程-前端自动化
- 基于OpenLayers的地图封装Javascript类定义
- Spring:IOC释义(Bean容器、注解、依赖注入)
- oracle行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行)
- 树链剖分 POJ3237
- 文件文档的MIME 参考手册(转自W3C)
- PE总结5---PE文件结构NT头之文件头--IMAGE_FILE_HEADER
- Java锁--synchronized(转载zi http://zhh9106.iteye.com/blog/2151791)