modbus TCP 通信测试
读取单个或多个线圈
发送指令:00 00 00 00 00 06 00 01 03 10 00 08
00 00 | 00 00 | 00 06 | 00 | 01 | 03 10 | 00 08 |
事务 处理 标识 | 协议 标识 | 长度 | 单元 标识 | 功能码 | 起始 线圈 地址 | 线圈 个数 |
06:后面的字节长度。
01:读取单个或多个线圈。
03 10:起始地址,M784。
00 08:读取线圈个数,8个。
写入单个或多个线圈
发送指令:00 00 00 00 00 09 00 0f 03 10 00 0f 02 01 03
00 00 | 00 00 | 00 09 | 00 | 0f | 03 10 | 00 0f | 02 | 01 | 03 |
事务 处理 标识 | 协议 标识 | 长度 | 单元 标识 | 功能码 | 起始 线圈 地址 | 线圈个数 | 数据 长度 | 数据1 | 数据2 |
09:后面的字节长度。
0f:写入单个或多个线圈。
03 10:起始地址,M784。
00 0f:写入线圈个数,15个。
02:数据的字节长度。
01:数据1, 0000 0001对应地址M791~M784。
03:数据2, 0000 0011对应地址M799~M792。
测试:
发送:00 00 00 00 00 06 00 01 03 10 00 0f
返回:00 00 00 00 00 05 00 01 02 01 03
05:后面的字节长度。
01:功能码。
02:数据的字节长度。
01:数据1, 0000 0001对应地址M791~M784。各个地址当前状态。
03:数据2, 0000 0011对应地址M799~M792。各个地址当前状态。
发送:00 00 00 00 00 09 00 0f 03 10 00 0f 02 01 03
返回:00 00 00 00 00 06 00 0F 03 10 00 0F
06:后面的字节长度。
0F:功能码。
03 10:起始线圈地址。
00 0F:线圈个数。