Modbus 通讯命令说明
仪表可以采用Modbus-RTU模式进行上位机通讯,协议格式为:8个数据位、1个停止位、无校验位,发送接收数据都是以十六进制格式进行。
1、发送数据格式
发送字节
1
2
3
4
5
6
7
含义
地址
读/写
A1
A2
A3
A4
CRC
仪表地址
03H,04H,06H
校验码
说明:
1)参数的通讯地址用一个字节表示时,对应A2位置,A1默认为00H。
2)03、04指令均为读命令,其中04对应的数据不可写入,03与06地址对应参数地址,一个读取、一个写入。
3)A1、A2与A3、A4组成两个双字节的数据,CRC校验码是一个双字节数据,所有的数据都是高位在前,低位在后。
4)03、04指令读取数据时,A1、A2为开始读取的地址,A3、A4为连续读取数据的个数。
5)06指令中,A1、A2需要写入数据的地址,A3、A4表示要写入的数据。
2、返回数据格式
1)06指令写入数据时,发送与返回的数据一致。
2)03、04指令返回时局格式
返回字节
1
2
3
4
5
……
含义
地址
03/06
读/写
返回数据有效字节数
高字节
低字节
……
高字节
低字节
高字节
低字节
第一数据
……
第N数据
CRC
说明:返回数据字节数为:N*2
3、上位机连续下写数据位10指令,支持此指令的仪表有XM708、XM808、XM908、XM707P、XM808P、XM908P、XMH、XMA、XMS、XMT、XMJM。
10指令发送数据格式举例为:
发送数据
01
10
0000
0002
04
0000
0000
CRC
含义
地址
指令
连续下写的首地址
连续下写数据个数
总字节数据个数*2
下写的数据
校验码
附:
C# XOR CRC16 校验码计算类
C# 带多项式参数的 CRC16计算
C#串口调试工具 v2.0