日期:2014-05-16 浏览次数:20590 次
仪表可以采用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