欢迎来到天天文库
浏览记录
ID:57013731
大小:254.65 KB
页数:5页
时间:2020-07-30
《modbus协议功能码及格式.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、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例子:返送:010100000019FDC0即:读取25个线圈的状态返回:0101040F038001A8C5FCBNN1N2N3N4CRC,N1为前8位的状态以此内推。2、“02”读取输入状态发送:功能代码1字节0x02起始地址2字节0x
2、0000~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例子:发送:010200000019B9C0读25个输入线圈的状态返回:01020400000000FBE2FCBNN1N2N3N4CRC3、“03”保持型寄存器读取发送:功能代码1字节0x03起始地址2字节0x0000~0xFFFF寄存器数量2字节1~125(0x7D)接收:功能代码1字节0x03字节
3、数1字节2*N寄存器值N*2字节N=寄存器数量出错时的返回:功能代码1字节0x83错误代码1字节01/02/03/04例子:发送:01030000000305CB读3个寄存器里面的值返回:010306012C012C012C711A返回3个寄存器的值,每个寄存器的值有2个BYTE组成4、“05”写单一线圈发送:功能代码1字节0x05线圈地址2字节0x0000~0xFFFF写入值2字节0x0000或0xFF00接收:功能代码1字节0x05线圈地址2字节0x0000~0xFFFF写入值2字节0x0000或0xFF00出错时的返回:功能代码1字节0x85错误代码
4、1字节01/02/03/04例子:发送:01050000FF008C3A写单个线圈的值,把地址为0的线圈置一。返回:01050000FF008C3A返回线圈的状态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例子:发送:01060000000A09CD往地址为0的寄存器写入10。返回:01060
5、000000A09CD返回寄存器的值。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例子:发送:010F0000000A0201012568FCADDRCBNN1N2CRC写10个线圈状态返回:010F
6、0000000AD5CCFCADDRCCRC7、“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例子:发送:011000000002040001000223AEFCADDRCBCN1N2CRC返回:0110000000024
7、1C8FCADDRCCRC
此文档下载收益归作者所有