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