admin管理员组

文章数量:1531667

2024年2月16日发(作者:)

26831协议整理

一、传输参数

1起始位,8数据位,1校验位,1停止位;传输时低位在前;主机发送(call)为电压信号,接收(replaying)为电流信号

二、传输格式

有3中数据传输格式,以不同的开始字符区分。

1、单字符格式

只有1个字节0xE5,用于应答(已收到,回复0xE5)。

2、短帧

开始字符10h,C域,A域,校验和(C域+A域),停止字符16h;长度固定

3、长帧

开始字符68h,长度域(L域= user data inputs plus 3 (for C,A,CI))重复发送2次,再次发送开始字符68h,控制域(C域),地址域(A域),控制信息域(CI域),用户数据(0~255Byte),校验和(Check Sum=user data inputs plus 3 (for C,A,CI)),

结束字符16h.

4、控制帧

控制帧格式与长帧格式相同,只是没有用户数据域。

三、域的意义

1、控制域(C域)

Calling模式(主机从机)

Bit 7:保留,默认为0

Bit 6:传输方向。1:由主向从(发送);0:请求

Bit 5:FCB(frame count bit)表示接受成功与否 1:接收成功 0:接收失败,重新发送

Bit 4:FCV (frame count bit valid) 1:FCB使用 0:忽略FCB错误

Bit 3~Bit0:控制码

Reply模式(从机主机)

Bit 7:保留,默认为0

Bit 6:传输方向。1:由主向从(接收);0:请求

Bit 5: ACD bit (access demand) 1:从机准备发送一位

Bit 4: DFC (data flow control)控制数据流 1:不再接收数据 0:继续接收

Bit 3~Bit0:控制码

2、地址域(A Field,Address Field)

1个字节,共0~255地址。其中1~250可分配给从机,254~255为广播地址,地址为255时不需要从机应答,地址为254时所有从机回复各自的地址,当有多个从机相连时会出现地址冲突,故254地址只用于测试;地址为253时表示访问已处于网络层,用于地址扩展到第二地址;地址251/252保留。

3、控制信息域(CI Field (control information field))

3.1 应用重新设置(CI=50h)

CI=50h主机对从机发送一个重新设置的指令,其后允许使用可选参数,其后的第一个字节为子代码,子代码高4位定义了报文类型或报文的应用,低4位定义报文数量,子报文数值为0表示所有数据被请求。

3.2 主机从机数据发送(CI=51h)

可变数据块

字节数量可变

制造商特性数据块

1Byte

可选择的制造商特性数据块

字节数量可变

除固定的报头在这个方向上被忽略外,其余结构部分与由从机到主机方向上的结构完全一致。

3.3 从站选择(CI=52h)

3.4 同步动作(CI=5Ch)

3.5 应用层错误报告(CI=70h)(从站主站)

3.6 报警状态报告(CI=71h)(从站主站)

3.7可变数据应答(CI=72h,78h,7ah)

3.7.1 CI=72h(从站主站)

用户数据的前12个字节有一个固定长度和结构的数据块组成。

设备ID

4 Byte

制造商ID

2 Byte

版本

1Byte

设备类型ID

1 Byte

访问序号

1 Byte

状态

1 Byte

签名

2 Byte

(1)设备类型ID:热量--04h

热量(入口温度)---0Ch

温水(30~90℃)---06h

冷/热量表---0Dh 热水(≥90℃)---15h

(2)状态

(3)签名:留作可选的应用数据加密,用于无线抄表。

3.7.2 CI=7Ah

用户数据的前4个字节有一个固定长度和结构的数据块组成,意义与CI=72h的数据块相同。

访问序号

1 Byte

状态

1 Byte

签名

2 Byte

3.7.3 可变数据块

数据信息域DIF 数据域扩展DIFE 数值信息域VIF 数值信息域扩展VIFE

1 Byte 0-10 (1 Byte each) 1 Byte 0-10 (1 Byte each)

数据信息块 (DIB) 数值信息块 (VIB)

数据记录头 (DRH)

Data

0-N Byte

(1)

数据信息域DIF

编码格式

① 数据域编码

② 功能域编码

(2)数据信息域扩展(DIFE)

(3)数值信息域(VIF)

VIF编码

单位和量纲编码

(4)数值信息域扩展(VIFE)

VIFE编码

3.8波特率切换命令(CI=B8h~BFh)

4、检验和(Check Sum)

C域+A域+CI域+数据域

四、协议实例

1、 进入检定

68

1

04

2

04

3

68

4

53

5

FF

6

50

7

90 32

8 9

16

10

1 帧起始符 68h 1字节

2 数据长度 1字节(C+A+CI+Data)

3 数据长度 1字节(C+A+CI+Data)

4 帧起始符 68h 1字节

5 C域 C=53h: SND_UD发送用户数据到从机

6 A域 A=FFh:广播地址

7 CI域 CI=50h:应用重新设置

8 数据域 Data=90h:测试模式

9 校验位 CS=C+A+CI+Data=32h

10 帧结束符 16h

2、 设置时间

68 0B 0B 68 51 AA 51 0E 6D SSMMHHDDMMYY CS 16

1 2 3 4 5 6 7 8 9 10 11 12

1 帧起始符 68h 1字节

2 数据长度 1字节(C+A+CI+Data)

3 数据长度 1字节(C+A+CI+Data)

4 帧起始符 68h 1字节

5 C域 C=53h: SND_UD发送用户数据到从机

6 A域 A=FFh:广播地址

7 CI域 CI=51h:发送用户数据到从机

8 数据 DIF=0Eh--12位BCD

9 VIF=6D--日期与时间 类型F

10 Data=秒分时日月年 12位BCD 2016-06-01 08:30:00(00 30 08 01 06 16)

11 CS

12 帧结束符 16h

3、 设置地址

(1)设置从站ID

68 0B 0B 68 51 FE 51 0E 7A ID1~4 Man1~2 CS 16

1 2 3 4 5 6 7 8 9 10 11 12

1 帧起始符 68h 1字节

2 数据长度 1字节(C+A+CI+Data)

3 数据长度 1字节(C+A+CI+Data)

4 帧起始符 68h 1字节

5 C域 C=53h: SND_UD发送用户数据到从机

6 A域 A=FEh:广播地址

7 CI域 CI=51h:发送用户数据到从机

8 DIF=0Eh--12位BCD

9 VIF=7A--地址

10 Data= ID1~4 Man1~2: 228912345678(78 56 34 12 89 22)

11 CS

12 帧结束符 16h

(2)完整的识别

68 0D 0D 68 51 FE 51 0E 79 ID1~4 Man1~2 Gen Dev CS 16

1 2 3 4 5 6 7 8 9 10 11 12 13 14

1 帧起始符 68h 1字节

2 数据长度 1字节(C+A+CI+Data)

3 数据长度 1字节(C+A+CI+Data)

4 帧起始符 68h 1字节

5 C域 C=53h: SND_UD发送用户数据到从机

6 A域 A=FEh:广播地址

7 CI域 CI=51h:发送用户数据到从机

8 数据 DIF=0Eh--12位BCD

9 VIF=79h--地址(完整的识别)

10 Data= ID1~4 Man1~2

11 Gen:版本

12 设备Dev=04h---热表

13 CS

14 帧结束符 16h

4、 修改累积热量

(1) 增加数据到原数据中

68 0A 0A 68 53 01 51 0C 86 01 10 00 00 00 CS 16

1 2 3 4 5 6 7 8 9 10 11 12 13

1 帧起始符 68h 1字节

2 数据长度 1字节(C+A+CI+Data)

3 数据长度 1字节(C+A+CI+Data)

4 帧起始符 68h 1字节

5 C域 C=53h: SND_UD发送用户数据到从机,长帧/控制帧

6 A域 A=01h:从机地址

7 CI域 CI=51h:发送用户数据到从机

8 数据 DIF=0Ch--8位BCD

9 VIF=86h--能量(1kWh)带扩展

10 VIFE=01h增加数据到原数据中 一般对象层的行为代码

11 Data= 00000010h,8位BCD码,数值10

12 CS

13 帧结束符 16h

(2) 修改(替换)原数据

68 0A 0A 68 53 01 51 0C 86 00 07 01 00 00

1 2 3 4 5 6 7 8 9 10 11

1 帧起始符 68h 1字节

2 数据长度 1字节(C+A+CI+Data)

3 数据长度 1字节(C+A+CI+Data)

4 帧起始符 68h 1字节

5 C域 C=53h: SND_UD发送用户数据到从机,长帧/控制帧

6 A域 A=01h:从机地址

7 CI域 CI=51h:发送用户数据到从机

8 数据 DIF=0Ch--8位BCD

9 VIF=86h--能量(1kWh)带扩展

10 VIFE=00h写数据(替换)一般对象层的行为代码

11 Data= 00000107h,8位BCD码,数值107kWh

12 CS

13 帧结束符 16h

5、设置短地址

(1) 主机先选择从机

68 0B 0B 68 53 FD 52 78 56 34 12 89 22 01 04 CS 16

1 2 3 4 5 6 7 8 9 10 11 12 13

1 帧起始符 68h 1字节

2 数据长度 1字节(C+A+CI+Data)

3 数据长度 1字节(C+A+CI+Data)

4 帧起始符 68h 1字节

5 C域 C=53h: SND_UD发送用户数据到从机

6 A域 A=FDh:网络层广播地址

7 CI域 CI=52h:从站选择

8 ID1-4:表号12345678

9 Man1-2:厂商代码2289

10 GEN:版本

11 DEV:设备ID 04

12 CS:校验

13 帧结束符 16h

从机应答:E5

(2) 主机发送新地址到从机

CS

12

16

13

68 06 06 68 53 FD 51 01 7A 07 23 16

1 2 3 4 5 6 7 8 9 10 11 12

1 帧起始符 68h 1字节

2 数据长度 1字节(C+A+CI+Data)

3 数据长度 1字节(C+A+CI+Data)

4 帧起始符 68h 1字节

5 C域 C=53h: SND_UD发送用户数据到从机

6 A域 A=FDh:网络层地址

7 CI域 CI=51h:主站到从站数据发送

8 数据信息域DIF=01h:8位整型二进制

9 数值信息域VIF=7Ah:地址

10 DATA:数据新地址07h

11 CS:校验

12 帧结束符 16h

从机应答:E5

6、日常抄表

(1)主机请求数据

10 5B 01 CS

1 2 3 4

1 帧起始符 10h 1字节 短帧

2 C域=5Bh:REQ_UD2,请求用户数据2

3 A域:短地址01h

4 CS

5 帧结束符 16h

(2)从机应答

1

2

3

4

5

6

7

8

字节

4

3

4

2

1

1

1

1

内容 报文字节

报头 68h LL LL 68h

08h A 72h

注解

报头,L最大值=3Fh或者40h 数据长度

可变长度报文,数据低位在前 A是M-BUS主地址(72h从站到主站,可变格式数据跟随12字节数据头)

78h 65h 34h 21h 第二地址

89h 22h “HTI”标识编码

00h 热能表版本

04h 表示热能表

Z 传送次数

S 状态字节 Bit0..4 按照M-BUS标准设置,Bit5..7各是热流量/流量/温差符号

00h 00h 签名

当前0Eh DIF: 12位BCD码,无DIFE,当前值(Current Value)

累积04h VIF: 累积热量单位0.01KWh

热量

00h 78h 56h 34h 累积热量=12345678.00KWh

12h 00h

当前0Eh DIF: 12位BCD码,无DIFE,当前值(Current Value)

累积14h

VIF:累积流量单位 0.01m3

16

5

9 2

10 8

11 8

12 5

13 6

流量 00h 00h 78h 56h

累积流量=1234567800.00 m3

34h 12h

当前0Bh DIF:6位BCD,无DIFE,当前值(Current Value)

瞬时25h VIF:瞬时热量(能量)单位 0.1kW

热量

56h 34h 12h 瞬时热量=1234.56kW

当前0Ch DIF: 8位BCD码,无DIFE,当前值(Current Value)

瞬时3Ch

VIF:瞬时流量单位 0.01m3/h

流量

78h 56h 34h 12h

瞬时流量=123456.78 m3/h

当前0Bh DIF: 6位BCD码,无DIFE,当前值(Current Value)

供水59h VIF:供水温度0.01℃

温度

56h 34h 00h 34.56℃

当前0Bh DIF: 6位BCD码,无DIFE,当前值(Current Value)

回水5Dh VIF:回水温度0.01℃

温度

56h 78h 00h 78.56℃

温差 0Bh DIF: 6位BCD码,无DIFE,当前值(Current Value)

61h VIF:回水温度0.01℃

45h 67h 00h 温差67.45K

累积0Bh DIF: 6位BCD,无DIFE,当前值(Current Value)

工作22h VIF:加电时间,单位 h

时间

00h 00h 10h 加电时间=100000h

当前0Eh DIF: 12位BCD码,无DIFE,当前值(Current Value)

时间

6Ch VIF: 日期与时间 SSMMHHDDMMYY

00h 10h 12h 01h 16年2月1日12:10:00

02h 16h

结尾 CS 校验和

16h 结束符

14 5

15 5

16 5

17 5

18 8

19 1

20 1

7、 测试抄表(流量系数3个,温度系数2个)

(1)主机请求数据

10 5A 07 CS

1 2 3 4

1 帧起始符 10h 1字节 短帧

2 C域=5Ah:REQ_UD1,请求用户数据1

3 A域:短地址01h

4 CS

6 帧结束符 16h

(2)从机应答

1

2

3

4

5

6

字节 内容

4 报头

3

4

2

1

1

16

5

报文字节 注解

68h LL LL 68h 报头,L最大值=3Fh或者40h 数据长度

08h A 72h 可变长度报文,数据低位在前 A是M-BUS主地址(72h从站到主站,可变格式数据跟随12字节数据头)

78h 65h 34h 12h M-BUS第二地址

89h 22h “HTI”标识编码

00h 热能表版本

04h 表示热能表

7

8

1

1

01

S

9 2

10 6 检定热量

11 8 检定流量

12 5 当前瞬时热量

当前瞬时流量

当前供水温度

13 6

访问序号

状态字节 Bit0..4 按照M-BUS标准设置,Bit5..7各是热流量/流量/温差符号

00h 00h 签名

0Ch DIF: 8位BCD码,无DIFE,当前值(Current Value)

02h VIF: 累积热量单位0.1Wh

78h 56h 34h 12h 累积热量=1234567.8Wh

0Ch DIF: 8位BCD码,无DIFE,当前值(Current Value)

11h VIF:累积流量单位 0.001L

78h 56h 34h 12h 累积流量=12345.678L=12.345678m³

0Bh DIF:6位BCD,无DIFE,当前值(Current Value)

25h VIF:瞬时热量(能量)单位 0.1kW

56h 34h 12h 瞬时热量=1234.56kW

0Ch DIF: 8位BCD码,无DIFE,当前值(Current Value)

3Ch

VIF:瞬时流量单位 0.01m3/h

78h 56h 34h 12h

瞬时流量=123456.78 m3/h

DIF: 6位BCD码,无DIFE,当前值(Current Value)

VIF:供水温度0.01℃

34.56℃

DIF: 6位BCD码,无DIFE,当前值(Current Value)

VIF:回水温度0.01℃

78.56℃

DIF: 6位BCD码,无DIFE,当前值(Current Value)

VIF:回水温度0.01℃

温差67.45K

DIF: 6位BCD,无DIFE,当前值(Current Value)

VIF:加电时间,单位 h

加电时间=100000h

14 5

15 5

16 5

17 5

0Bh

59h

56h 34h 00h

当前回水温0Bh

5Dh

56h 78h 00h

温差 0Bh

61h

45h 67h 00h

累积工作时0Bh

22h

00h 00h 10h

当前时间 18 8

19

20

21

22

1

1

流量系数

温度系数

结尾

0Eh DIF: 12位BCD码,无DIFE,当前值(Current Value)

6Ch VIF: 日期与时间 SSMMHHDDMMYY

00h 10h 12h 01h 16年2月1日12:10:00

02h 16h

CS 校验和

16h 结束符

(3)释放短地址

10

1

40

2

FD

3

CS

4

16

5

1

2

3

4

帧起始符 10h 1字节 短帧

C域=40h:初始化从机,释放地址

A域 短地址FDh

CS

5 帧结束符 16h

8、错误报告

68

1

09

2

09

3

68

4

08

5

AA

6

70

7

ERR

8

23

9

16

10

1 帧起始符 68h 1字节

2 数据长度 1字节(C+A+CI+Data)

3 数据长度 1字节(C+A+CI+Data)

4 帧起始符 68h 1字节

5 C域 C=08h: Data Transfer from Slave to Master after Request

6 A域 地址6个字节

7 CI域 CI=70h:报警状态报告

8 ERR:错误代码 1字节

9 CS:校验

10 帧结束符 16h

9、修改波特率

68 08 08 68 53 FF BD 0E 16

1 2 3 4 5 6 7 8 9

1 帧起始符 68h 1字节

2 数据长度 1字节(C+A+CI+Data)

3 数据长度 1字节(C+A+CI+Data)

4 帧起始符 68h 1字节

5 C域 C=53h: 主机向从机发送数据

6 A域=FFh: 广播地址

7 CI域 CI=BDh:波特率9600

8 CS:校验

9 帧结束符 16h

从机回复:E5

使用9600波特率通讯测试

主机从机 10 40 FE 3E 16 40短帧格式,初始化从站

从机主机 E5

10、流量修正

11、温度修正

本文标签: 数据地址字节长度发送