主机发送:01 01 00 01 00 08 6C 0C
从机回复: 01 01 01 2F 10 54
主机解析:01 地址(设备ID);
01 功能码;
00 01 代表查询的起始线圈地址,即从0001线圈开始查询。
00 08 查询线圈数量。
6C 0C 循环冗余校验。
从机解析:01 地址(设备ID);
01 功能码;
01 代表后面数据的字节数。
2F 读取以0001线圈开始的8个线圈的状态。0x2F二进制为00101111,对应状态为1111 0100
10 54 循环冗余校验。
功能:读离散输入寄存器,位操作,可读单个或多个,类似功能码0X01
主机发送:01 03 00 01 00 01 D5 CA
从机回复: 01 03 02 00 01 79 84
主机解析:01 地址(设备ID);
03 功能码;
00 01 代表查询的起始寄存器地址,即从0001寄存器开始查询。
00 01 查询寄存器数量。
D5 CA 循环冗余校验。
从机解析:01 地址(设备ID);
03 功能码;
02 代表后面数据的字节数。
00 01 查询0001寄存器的值。
79 84 循环冗余校验。
功能:读输入寄存器,字节操作,可读单个或多个,类似功能码0X03
功能:对单个线圈进行写操作,位操作,只能写一个。写入0xFF00表示将线圈置为ON,写入0x0000表示将线圈置为OFF,其它值无效;
主机发送数据:从站地址+功能码+寄存器起始地址+数据值+校验码
从站应答数据:从站地址+功能码+寄存器地址+写入值+校验码
主机发送:01 06 00 02 00 01 E9 CA
从机回复: 01 06 00 02 00 01 E9 CA
主机解析:01 地址(设备ID);
06 功能码;
00 02 代表待写入的起始寄存器地址,即从0002寄存器开始写数据。
00 01 写入的寄存器的值。即给0002寄存器写入0001
E9 CA 循环冗余校验。
从机解析:01 地址(设备ID);
06 功能码;
02 代表后面数据的字节数。
00 01 查询0001寄存器的值。
E9 CA 循环冗余校验。
主机发送:01 0F 00 01 00 07 01 6B B2 B9
从机回复: 01 0F 00 01 00 07 45 C9
主机解析:01 地址(设备ID);
0F 功能码;
00 01 代表待写入的起始线圈地址,即从0001线圈开始写数据。
00 07 待写入的线圈的数量。
01 后面写入数据的字节数。
6B写入寄存器的值,即11010110。二进制01101011
B2 B9 循环冗余校验。
从机解析:01 地址(设备ID);
0F 功能码;
00 01 代表待写入的起始线圈地址,即从0001线圈开始写数据。
00 07 待写入的线圈的数量。
45 C9 循环冗余校验。
主机发送:01 10 00 04 00 03 06 00 01 00 00 00 01 5B 55
从机回复: 01 10 00 04 00 03 C1 C9
主机解析:01 地址(设备ID);
10 功能码;
00 04 代表待写入的起始寄存器地址,即从0004寄存器开始写数据。
00 03 待写入的寄存器的数量。
06 后面写入数据的字节数。
0001,0000,0001写入寄存器的值。即给0004,0005,0006寄存器分别写入0001,0000,0001
5B 55 循环冗余校验。
从机解析:01 地址(设备ID);
10 功能码;
00 04 代表待写入的起始寄存器地址,即从0004寄存器开始写数据。
00 03 待写入的的寄存器的值。即给0004,0005,0006寄存器分别写入0001,0000,0001
C1 C9 循环冗余校验。