Modbus Tcp

固定协议格式
事务标识(2byte):00 00,可变(递增)
协议标识(2byte):00 00,固定
长度(2byte):00 06,可变
单位标识(1byte):01,固定
功能码(1byte):01,可变
数据(nbyte):可变
功能码:01 读取输出线圈
单个读取 从00100开始,读取1个bool
发送:00 00 00 00 00 06 01 01 00 63 00 01 (01:功能码(1byte);00 63:起始地址(2byte);00 01:读取长度(2byte))
返回:00 00 00 00 00 04 01 01 01 01 (01:功能码(1byte);01:字节长度(1byte);01;数据:01)-- 00100: 开
返回:00 00 00 00 00 04 01 01 01 00 -- 00100: 关
批量读取 从00100开始,批量读取10个bool(如果批次读取500,需要分批次(一次F4,244)发送和接收,再合并字节)
发送:00 01 00 00 00 06 01 01 00 63 00 0A (十六进制转二进制,再倒序存储)
返回:00 01 00 00 00 05 01 01 02 00 00 (全关) 0000 0000
返回:00 01 00 00 00 05 01 01 02 01 00 (100) 0000 0001
返回:00 01 00 00 00 05 01 01 02 03 00 (100,101开) 0000 0011
功能码:03,读取保持寄存器
单个读取从40100开始,读取short(值为11)
发送:00 01 00 00 00 06 01 03 00 63 00 01
返回:00 01 00 00 00 05 01 03 02 00 0B
批量读取从40100开始,10个word(40100为11,40101为22)
发送:00 01 00 00 00 06 01 03 00 63 00 0A
返回:00 01 00 00 00 17 01 03 14 00 0B 00 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (2个字节合为1个word)