|
发送指令:01 03 00 78 00 08 C4 15
其中
01为模块地址,
03为读取保持型寄存器的功能码(计数值属于保持型寄存器)
00 78为计数通道0的寄存器地址
00 08为需要读取的寄存器数量。每一个通道占用两个寄存器地址,4个通道一共8个寄存器地址。
C4 15为crc检验码
模块返回:01 03 10 00 01 13 69 00 00 00 0F 00 00 00 00 00 00 00 00 EA 13
其中
01为模块地址
03为功能码
10为返回数据的字节数量,一个计数通道占用两个寄存器地址,一个寄存器为一个字(两个字节),所以一个寄存器需要4个字节数据,4个通道一共16个(10为十六进制数)。
00 01 13 69 00 00 00 0F 00 00 00 00 00 00 00 00为4个通道的计数值,其中00 01 13 69为计数通道0的计数值,00 00 00 00为计数通道1的计数值,以此类推。00 01 13 69转换为十进制的计数值的方法是:
1、把00 01 13 69转换为十进制为:00 01 19 105
2、计数值 = ((00*256+01)*256+19)*256+105 = 70505
EA 13为CRC检验码
发送指令:01 03 00 78 00 02 44 12
其中
01为模块地址
03为读取保持型寄存器的功能码
00 78为计数通道0的寄存器地址,注意一个计数通道占用2个地址,所以计数通道1的寄存器为00 7a,通道2为00 7c,通道3为00 7e
00 02为读取的寄存器数量,这里02表示读取一个通道。
44 12为CRC检验码
模块返回:01 03 04 00 01 13 69 66 ED
其中
01为模块地址
03为功能码
04为返回的字节数量
00 01 13 69为对应通道的计数值,计数值00 01 13 69转换为十进制的计数值的方法是:
1、把00 01 13 69转换为十进制为:00 01 19 105
2、计数值 = ((00*256+01)*256+19)*256+105 = 70505
66 ed为CRC检验码
发送指令:01 10 00 78 00 08 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B3 BF
其中
01为模块地址
10为写入多个保持型寄存器的功能码
00 78为写入的起始地址,这里为计数通道0的寄存器地址
00 08要写入的寄存器的数量,00 08表示写入8个寄存器,即所有4个通道
10为要写入的字节数量。
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00全部写入0,清零所有通道。
B3 BF为CRC检验码
模块返回:01 10 00 78 00 08 41 D6
模块返回的前6个字节数据和写入的前6个字节数据相同表示清零成功。
41 d6为crc检验码。
发送指令:01 10 00 78 00 02 04 00 00 00 00 F5 2D
其中
01为模块地址
10为为写入多个保持型寄存器的功能码
00 78为计数通道0的寄存器地址,如果要清零其他通道则把地址改为该通道地址
00 02要写入的寄存器的数量,00 02表示写入一个通道
00 00 00 00写入0,清零该通道计数值
F5 2D为crc检验码
模块返回:01 10 00 78 00 02 C1 D1
模块返回的前6个字节数据和写入的前6个字节数据相同表示清零成功。