当前位置:文档之家› 流量计MODBUS协议说明文档

流量计MODBUS协议说明文档

研发中心流量计通讯协议

版本:V1.0.0

海森电子股份

2014年10月

文档说明

文档属性容文档名称Modbus协议

文档编号HS-CK0001-20141030-1

文档状态正式稿

完成日期10月14日

部门研发中心

作者

版本修正日期修正人描述

1.0.0

目录

文档说明 (2)

一、协议简介 (4)

二、帧格式 (4)

1. 写单一寄存器 (4)

2. 写多个寄存器 (4)

2.1写多个寄存器正常回复 (5)

2.2写多个寄存器错误回复 (5)

3. 读多个寄存器 (5)

3.1读多个寄存器正常回复 (5)

3.2读多个寄存器错误回复 (5)

三、具体协议 (6)

1.读数据 (6)

1.1读累计流量和瞬时流量 (6)

1.2读公式系数 (6)

2.写数据 (7)

2.1 写流量计版本号 (10)

2.2写从设备地址.............................. 错误!未定义书签。

2.3写公式系数................................ 错误!未定义书签。

3.控制器寄存器地址表 (13)

一、协议简介

网关控制器通讯协议为Modbus协议的MODBUS-RTU格式。控制器暂支持Modbus的03(读多个寄存器)、06(写单一寄存器)以及10(写多个寄存器)三种功能码。

二、帧格式

1.写单一寄存器

从设备地址功能码寄存器地址寄存器值CRC校验1字节1字节,06 2字节2字节2字节

1.1 写单一寄存器正常回复

从设备地址功能码寄存器地址寄存器值CRC校验1字节1字节 06 2字节2字节2字节

1.2 写单一寄存器错误回复

从设备地址错误码错误类型CRC校验

1字节,01 1字节 86 1字节 01 2字节

2.写多个寄存器

从设备地址功能码寄存器起始

地址

寄存器数

量N

字节数

2N

寄存器

CRC校验

1字节1字节,

10

2字节2字节1字节2N字节2字节

2.1写多个寄存器正常回复

从设备地址功能码寄存器起始地址寄存器数量N CRC校验1字节1字节 10H 2字节2字节2字节2.2写多个寄存器错误回复

从设备地址错误码错误类型CRC校验1字节1字节 90H 1字节 01 2字节3.读多个寄存器

从设备地址功能码寄存器地址寄存器数量N CRC校验1字节1字节,03 2字节2字节2字节3.1读多个寄存器正常回复

从设备地址功能码数据字节数2N 数据CRC校验1字节1字节,03 1字节2N字节2字节3.2读多个寄存器错误回复

从设备地址错误码错误类型CRC校验1字节1字节,83 1字节 01 2字节

三、具体协议

1.读数据

1.1读累计流量和瞬时流量

a)控制器发送数据:

默认01 03 00 09 00 04CRC 从设备地址功能码起始寄存器地址寄存器数目

b)流量计回复数据

默认01 03 8 数据CRC校验

从设备地址功能码1字节,数据字节数8字节2字节数据:

累计流量瞬时流

4字节double 4字节double

流量计回复错误:

默认01 83 01 CRC校验从设备地址错误码错误类型2字节例如:控制器发送:01 03 00 09 00 04 94 0B

流量计回复:01 03 08 00 00 B4 41 4E 8A 88 40 E3 5E

错误回复:01 83 01 80 F0

00 00 B4 41 代表累计流量(低位在前高位在后)22.5

4E 8A 88 40 代表瞬时流量(低位在前高位在后)4.266883

1.2读公式K系数

a)控制器发送:

默认01 03 00 25 00 02CRC 从设备地址功能码起始寄存器地址寄存器数目

b)流量计回复:

默认01 03 04 数据CRC校验

从设备地址功能码1字节,数据字节数4字节2字节数据:

K

4字节

double

控制器回复错误:

默认01 83 01 CRC校验

从设备地址错误码错误类型2字节

例如:控制器发送:01 03 00 25 00 02 d5 c0

流量计回复:01 03 04 40 C0 00 00 EF CF

错误回复:01 83 01 80 f0

40 C0 00 00 代表K=6.0

1.3读公式K1,K2,K3,K4,K5系数

a)控制器发送:

默认01 03 00 27 00 0A CRC 从设备地址功能码起始寄存器地址寄存器数目

b)流量计回复:

默认01 03 14 数据CRC校验

从设备地址功能码1字节,数据字节数20字节2字节

数据:

K1 K2K3K4K5

4字节double 4字节

double

4字节

double

4字节

double

4字节

double

控制器回复错误:

默认01 83 01 CRC校验

从设备地址错误码错误类型2字节

例如:控制器发送:01 03 00 27 00 0A 75 c6

流量计回复:01 03 14 B3 1D ED 00 36 FF FC FF BA 14 8C 01 3C 9F 47 FF BE 8E 38 FF C3 84

B3 1D ED 00 代表K1 = -3.676996E-08

36 FF FC FF 代表K2 =7.629045E-06

BA 14 8C 01 代表K3 =-0.0005666614

3C 9F 47 FF 代表K4 =0.01944351

BE 8E 38 FF 代表K5 =-0.2777786

错误回复:01 83 01 80 f0

1.4读版本号

a)控制器发送:

默认01 03 00 07 00 02CRC 从设备地址功能码起始寄存器地址寄存器数目

b)流量计回复:

默认01 03 04 数据CRC校验

从设备地址功能码1字节,数据字节数4字节2字节数据:

56 46 30 31

4字节流量计版本

VF01

例如:控制器发送:01 03 00 06 00 02 24 0A

流量计回复:01 03 04 56 46 30 31 DF BA

错误回复:01 83 01 80 f0

2.写数据

2.1写从设备地址

a)控制器发送:

b)流量计正常回复:

不固定06 00 09 xxxx CRC 从设备地址功能码寄存器地址从设备地址

c)控制器回复错误:

01 86 01 CRC

控制器地址错误码错误类型

例如:控制器发送:01 06 00 08 00 02 89 c9 00 02 为从设备地址

流量计回复:02 06 00 08 00 02 89 FA

错误回复:01 86 01 83 A0

2.2写K公式系数

a)控制器发送:

默认01 10 00 25 00 02 04 XXXX CRC

从设备地

址功能码

起始寄存器

地址

2字节

寄存器数目

1字节

字节数

寄存器值

默认01 06 00 09 xxxx CRC 从设备地址功能码寄存器地址从设备地址

b)流量计正常回复

默认01 10 00 25 00 02 CRC 从设备地址功能码起始寄存器地址寄存器数目2字节控制器回复错误:

默认01 90 01 CRC

从设备地址错误码错误类型

例如:控制器发送:01 10 00 25 00 02 04 40 C0 00 00 24 74

40 C0 00 00 写入的K系数值=6.0

流量计回复:01 10 00 25 00 02 01 c3

错误回复:01 90 01 8D C0

2.2写K1~K5公式系数

a)控制器发送:

默认01 10 00 27 00 0a 20 XXXX CRC

从设备地

址功能码

起始寄存器

地址

2字节

寄存器数目

1字节

字节数

寄存器值

b)流量计正常回复

默认01 10 00 27 00 0a CRC 从设备地址功能码起始寄存器地址寄存器数目2字节控制器回复错误:

默认01 90 01 CRC

从设备地址错误码错误类型

例如:控制器发送:01 10 00 27 00 0a 14 B3 1D ED 00 36 FF FC FF BA 14 8C 01 3C 9F 47 FF BE 8E 38 FF 1f 5c

B3 1D ED 00 代表K1 = -3.676996E-08

36 FF FC FF 代表K2 =7.629045E-06

BA 14 8C 01 代表K3 =-0.0005666614

3C 9F 47 FF 代表K4 =0.01944351

BE 8E 38 FF 代表K5 =-0.2777786

流量计回复:01 10 00 27 00 0a f0 05

错误回复:01 90 01 8D C0

3.控制器寄存器地址表

控制器存储地

址寄存器地

寄存器个

变量名称

数据

类型

说明

0000H—000BH 001—006 6 备用HEX 备用000CH—000FH 007—008 2 流量计版本HEX

0010H—0011H 009 1 从设备地址BCD 2字节0012H—0015H 010—011 2 累计流量DOUBLE 4字节0016H—0019H 012—013 2 瞬时流量DOUBLE 4字节001AH—0035H 014--024 10 备用HEX 备用0036H—0039H 025—026 2 K HEX 4字节003aH—003dH 027—028 2 K1 HEX 4字节003eH—0041H 029—030 2 K2 HEX 4字节0042H—0045H 031—032 2 K3 HEX 4字节0046H—0049H 033—034 2 K4 HEX 4字节004aH—004dH 035—036 2 K5 HEX 4字节注:单片机中寄存器编号从0开始,表中的寄存器编号从1开始,所以协议在发送时,寄存器编号位对应表中的编号应该减1。如想访问表中的101编号寄存器,则发送的寄存器编号为100.

相关主题