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#超级通信调试工具[v1.0][全新发布]

你可能感兴趣的:(通信编程)