网站首页 关于我们
仪器仪表
仪表维保
公司动态
合作客户
售后服务
人才招聘
联系我们

公司动态

当前位置:首页>公司动态

罐旁指示器MODBUS RTU通信协议河北光科 

发布时间:2019/09/07

河北光科测控设备有限公司罐旁显示仪,配伺服液位计多点平均温度计本通信协议采用标准ModBus协议,采用RTU(十六进制数)传输模式。ModBus协议是一种主---从式协议。任何时刻只有一个设备能够在线路上进行发送。由主站管理信息交换,且只有主站能发起。主站会依次对从站进行轮流查询。只有当从站地址与轮询地址相匹配,从站才能回复消息。从站之间不能进行直接通信。协议帧中不包含任何消息报头及消息结束符,消息的开始和结束依靠间隔时间来识别,当间隔时间长于或等于3.5个字符时,即作为检测到帧结束。如果网络内没有与查询地址相一致的从站或从站接收时CRC校验出错,主站将不会接收到返回帧,这时主站根据超时设定判断是否超时,如超时,做出重发或弹出异常错误窗口动作。

协议帧定义

从站地址

功能代码

数据区

CRC16  

 

从站地址:地址必须在1---247之间。在同个主站网络中每个从站地址必须。

本机从站地址默认为1可设置范围(1~99)

功能代码:包含读、写多个寄存器。

本机只支持03H(读多个寄存器)。

数据:    以二进制代码传输。寄存器数据在传输过程中用十六进制数表示,先传高字节,再传低字节,如液位为3028,先传0BH,再传D4H。

CRC16:  循环冗余校验,校验从从站地址到数据区后一个字节。计算多项式码为A001(hex)。

通讯口设置

通讯方式   异步串行通讯接口,如RS-485等,波特率    9600

字节数据格式 HEX

. 一位起始位

. 八位数据位

. 一位停止位

. 无校验

 

1

*

*

*

*

*

*

*

*

1

 

起始位               数据位(从低到高)                   停止位

 

消息帧格式  (功能是从主站角度定义的)

读寄存器帧

从站地址

功能代码

首寄存器地址

寄存器数N

CRC16

1字节

1字节

2字节

2字节

2字节

1--247

    03H

AddrH, AddrL

NH, NL (1---24)

CrcL, CrcH

 

读寄存器返回桢

从站地址

功能代码

字节数

寄存器数据

CRC16

1字节

1字节

1字节

N*2字节

2字节

1--247

03H

N*2

DataH, DataL

CrcL, CrcH

 

错误返回桢

从站地址

功能代码

错误代码

CRC16

1字节

1字节

1字节

2字节

1---247

查询功能代码+80H

见表2

CrcL, CrcH

 

功能代码表:1

功能代码

ModBus名

功能名

广播

一次连续的N的值

03H

Read Holding Registers

读N个寄存器值

No

30

 

错误代码表:2

错误代码

说明

1

寄存器长度超限

2

寄存器地址超限

4

读或写不允许                

 

寄存器地址表(只读寄存器):3

编号

参数名

地址

数值范围

备注

1

液位

0

0~量程

单位为mm

2

平均温度

1

-550~850

末位为一位小数位。单位:℃

3

温度点1位置

2

0~量程内固定值

单位为mm

4

温度点1温度

3

-550~850

末位为一位小数位。单位:℃

5

温度点2位置

4

0~量程内固定值

单位为mm

6

温度点2温度

5

-550~850

末位为一位小数位。单位:℃

7

温度点3位置

6

0~量程内固定值

单位为mm

8

温度点3温度

7

-550~850

末位为一位小数位。单位:℃

9

温度点4位置

8

0~量程内固定值

单位为mm

10

温度点4温度

9

-550~850

末位为一位小数位。单位:℃

11

温度点5位置

10

0~量程内固定值

单位为mm

12

温度点5温度

11

-550~850

末位为一位小数位。单位:℃

13

温度点6位置

12

0~量程内固定值

单位为mm

14

温度点6温度

13

-550~850

末位为一位小数位。单位:℃

15

温度点7位置

14

0~量程内固定值

单位为mm

16

温度点7温度

15

-550~850

末位为一位小数位。单位:℃

17

温度点8位置

16

0~量程内固定值

单位为mm

18

温度点8温度

17

-550~850

末位为一位小数位。单位:℃

19

温度点9位置

18

0~量程内固定值

单位为mm

20

温度点9温度

19

-550~850

末位为一位小数位。单位:℃

21

温度点10位置

20

0~量程内固定值

单位为mm

22

温度点10温度

21

-550~850

末位为一位小数位。单位:℃

23

温度点11位置

22

0~量程内固定值

单位为mm

24

温度点11温度

23

-550~850

末位为一位小数位。单位:℃

25

温度点12位置

24

0~量程内固定值

单位为mm

26

温度点12温度

25

-550~850

末位为一位小数位。单位:℃

27

温度点13位置

26

0~量程内固定值

单位为mm

28

温度点13温度

27

-550~850

末位为一位小数位。单位:℃

29

温度点14位置

28

0~量程内固定值

单位为mm

30

温度点14温度

29

-550~850

末位为一位小数位。单位:℃

 

寄存器地址表说明:

1、所有数据类型为有符号整型(两字节)。

2、通信传输中带小数点的数据全部用整数代替如:温度为19.5代替为195。(即忽略小数点)

3、全部寄存器数据在传输过程中用十六进制数表示,先传高字节,再传低字节,如传送279,先传01H,再传23H。

例如:

发送(HEX):01 ,03 ,00 ,00 ,00 ,06, C5, C8

返回(HEX):01,03 ,0C, 0B,D4 ,00 ,AC, 27 ,10 ,00 ,AD ,03 ,E8 ,00 ,AB, 58, 77

从站地址

功能代码

首寄存器地址

寄存器数N

CRC16

1字节

1字节

2字节

2字节

2字节

01H

    03H

0H,00H

0H, 06H

C5H, C8H

读寄存器返回桢

从站地址

功能代码

字节数

寄存器数据

CRC16

1字节

1字节

1字节

N*2字节

2字节

01H

03H

0CH

0B,D4 ,00 ,AC, 27 ,10 ,00 ,AD ,03 ,E8 ,00 ,AB

58H, 77H

代表读1#设备0寄存器开始的连续6个寄存器 。返回值:地址0寄存器0B,D4代表液位值为3028毫米,地址1寄存器00AC代表平均温度为17.2℃,地址2,3寄存器2710H,00ADH代表温度传感器1的安装位置为10000毫米,温度为17.3℃,地址4,6寄存器03E8H,00ABH代表温度传感器2的安装位置为1000毫米,温度为17.1