参照 JC/ T188 改编水表接口协议(V1. 0 )
总线制直读水表 通讯协议和通讯规约
参照 JC/ T188 改编水表接口协议(V1. 0 )
第 1 章 概述
x规范是专线集中抄表系统下行接口通讯协议(除少部分自定义部分外,均参照 CJ/T 188-2004 中华人民共和国城镇建设行业标准)。协议内容分为两层:控制帧、文件传输协议。网络拓扑图如下:
本通讯协议适用范围
集团公司内网
或Internet
SCDMA
内部局域网
收费票据打印
工作站
前端管理机
现场采集器
WEB 方式数据管理系统
数据服务器
集团公司服务器
x协议为主-从模式的半双工通讯方式。采集器为主叫方,水表为被叫方。每个水表均有各自的地址编码。通讯链路的建立与解除均由采集器来完成。
字节格式符合 CJ/T188-2004 标准字节格式,即每字节含 8 位二进制码,传输时加上 1
位起始位(0)、一个偶校验位、一个停止位(1),共 11 位。
通讯xx率为 2400bps。校验码(CS)符合 CJ/T188-2004,即从起始符(0x68)开始到校验码之前的所有字节和的模 256。
第 2 章 控制帧
由主叫发往被叫的控制帧以 SND_为前缀,由被叫发往主叫的控制帧以 RSP_为前缀。采集器与表计之间的通讯包含以下几个命令帧,如下:
1、读表计数据: SND_SU
2、读表计地址: SND_UD_RAD
3、设置表计地址: SND_UD_AD
4、读表计状态: SND_UD_CK
第 3 章 表计地址及数据编码格式
1、表计地址编码格式(采用 BCD 码): A0—生产流水号最低字节; A1—生产流水号次高字节; A2—生产流水号最高字节;
A3—表计生产月份; A4—表计生产年份;
A5—生产厂商代码低字节; A6—生产厂商代码高字节;
2、表计数据编码格式(采用 BCD 码):
如表计数据是 123456.78,则数据编码如下: D0—0x78;
D1—0x56; D2—0x34; D3—0x12;
3、表类型代码说明:水表为: 10
热水表: 20
燃气表为:30
热量表: 40 (注:热水表、燃气表为、热量表代码预留为以后系统扩展应用)
4、传输要求:
采集器在发送命令帧之前先发送 2 字节 0xfe;在采集器发出命令帧到表计应答时间<1
秒,其它符合 CJ/T188-2004。
第 4 章 数据传输协议
1、读表计数据
1.1 采集器——>表计
控制码(CTR_0):01h;数据长度: L = 03h;
数据标识(DI0 DI1):901F h;
序列号:SER;
帧数据:
字节 | Code | 描述 |
0 | 68h | 帧开始标志 |
1 | T | 表计类型代码 |
2-8 | A0-A6 | 表计地址 |
9 | 01h | CTR_0 |
10 | 03h | 数据域长度 L |
11-12 | 901Fh | 数据标识 DI0-DI1 |
13 | SER | 序列号(00h) |
14 | CS | 校验和 |
15 | 16h | 帧结束 |
例:读表计数据: 68 10 01 00 00 05 08 00 00 01 03 90 1f 00 39 16 (针对水表)
顺 序 | 0 | 1 | 2--8 | 9 | 10 | 11-12 | 13 | 14 | 15 |
说 明 | 68h | T | ADDR | 01H | 03 | 901Fh | 00 | CS | 16h |
实 例 | 68 | 10 | 01 00 00 05 08 00 00 | 01 | 03 | 90 1F | 00 | 39 | 16 |
1.2 表计——>采集器
控制码(CTR_1):81h;数据长度: L = 9h;
数据标识(DI0 DI1):901F h;
序列号:SER;
帧数据:
字节 | Code | 描述 |
0 | 68h | 帧开始标志 |
1 | T | 表计类型代码 |
2-8 | A0-A6 | 表计地址 |
9 | 81h | CTR_1 |
10 | L | 数据域长度 |
11-12 | 901Fh | 数据标识 DI0-DI1 |
13 | SER | 序号(00h) |
14-17 | CURDATA | 当前累积流量(D0-D3) |
18 | S0 | 状态 0 |
19 | S1 | 状态 1(保留字节,置为 ff) |
20 | CS | 校验和 |
21 | 16h | 帧结束 |
采集器根据收到的内容,应答正确,或没有应答。
例:表计应答:68 10 01 00 00 05 08 00 00 81 09 90 1F 00 00 23 01 00 00 FF E2 16 (针对
水表)
说明:表计地址为 00 00 08 05 00 00 01 的水表回复当前累积量 00 23 01 00(000123.00
为真实数据)
顺 序 | 0 | 1 | 2--8 | 9 | 10 | 11-12 | 13 | 14-17 | 18 | 19 | 20 | 21 |
说 明 | 68h | T | ADDR | 81H | L | 901Fh | SER | CURDATA | S0 | S1 | CS | 16h |
实 例 | 68 | 10 | 01 00 00 05 08 00 00 | 81 | 09 | 90 1F | 00 | 00 23 01 00 | 00 | FF | E2 | 16 |
2、读表计地址
2.1 采集器——>表计
控制码(CTR_0):03h;数据长度: L = 03h;
数据标识(DI0 DI1):810Ah;
序列号:SER;
帧数据:
字节 | Code | 描述 |
0 | 68h | 帧开始标志 |
1 | T | 表计类型代码(AAh) |
2-8 | A0-A6 | 表计地址为 AA AA AA AA AA AA AAh |
9 | 03h | CTR_0 |
10 | 03h | 数据域长度 L |
11-12 | 810Ah | 数据标识 DI0-DI1 |
13 | SER | 序列号(00h) |
14 | CS | 校验和 |
15 | 16h | 帧结束 |
例:读表计地址:68 aa aa aa aa aa aa aa aa 03 03 81 0a 00 49 16
顺 序 | 0 | 1 | 2--8 | 9 | 10 | 11-12 | 13 | 14 | 15 |
说 明 | 68h | T | A0-A6 | 03H | L | 810Ah | SER | CS | 16h |
实 例 | 68 | aa | aa aa aa aa aa aa aa | 03 | 03 | 81 0A | 00 | 49 | 16 |
2.2 表计——>采集器
控制码(CTR_1):83h;数据长度: L = 03h;
数据标识(DI0 DI1):810Ah;
序列号:SER;
帧数据:
字节 | Code | 描述 |
0 | 68h | 帧开始标志 |
1 | T | 表计类型代码 |
2-8 | A0-A6 | 表计地址 |
9 | 83h | CTR_1 |
10 | L | 数据域长度 |
11-12 | 810Ah | 数据标识 DI0-DI1 |
13 | SER | 序号(00h) |
14 | CS | 校验码 |
15 | 16h | 帧结束 |
采集器根据收到的内容,应答正确,或没有应答。
例:表计应答:68 10 01 00 00 05 08 00 00 83 03 81 0A 00 97 16 (针对水表)
顺 序 | 0 | 1 | 2--8 | 9 | 10 | 11-12 | 13 | 14 | 15 |
说 明 | 68h | T | A0-A6 | 83H | L | 810Ah | SER | CS | 16h |
实 例 | 68 | 10 | 01 00 00 05 08 00 00 | 83 | 03 | 81 0A | 00 | 97 | 16 |
3、设置表计地址
3.1 采集器——>表计
控制码(CTR_3):15h;数据长度: L = 0Ah;
数据标识(DI0 DI1):A018h;
序列号:SER;
帧数据:
字节 | Code | 描述 |
0 | 68h | 长帧开始标志 |
1 | T | 表计类型代码(原类型或 AAh) |
2-8 | A0-A6 | 表计地址(原地址或全 AAh) |
9 | 15h | CTR_3 |
10 | L | 数据域长度 L = 0Ah |
11-12 | A018h | 数据标识 DI0-DI1 |
13 | SER | 序号(00h) |
14-20 | A0-A6 | 欲设新地址 |
21 | CS | 校验和 |
22 | 16h | 帧结束 |
例 1:设置表计地址 68 aa aa aa aa aa aa aa aa 15 0a a0 18 00 01 00 00 05 08 00 00 9d 16
说明:把表计地址设为 01 00 00 05 08 00 00 (实际地址为 000805000001)
顺 序 | 0 | 1 | 2--8 | 9 | 10 | 11-12 | 13 | 14-20 | 21 | 22 |
说 明 | 68h | T | ADDR | 15H | L | A018h | SER | A0-A6 | CS | 16h |
实 例 | 68 | aa | aa aa aa aa aa aa aa | 15 | 0A | A0 18 | 00 | 01 00 00 05 08 00 00 | 9D | 16 |
例 2:设置表计地址 68 10 02 00 00 05 08 00 00 15 0a a0 18 00 01 00 00 05 08 00 00 6C 16
说明:把电表原地址为 05 00 00 05 08 00 00 设为 01 00 00 05 08 00 00 01 现在新地址
为 00000805000001
顺 序 | 0 | 1 | 2--8 | 9 | 10 | 11-12 | 13 | 14-20 | 21 | 22 |
说 明 | 68h | T | ADDR | 15H | L | A018h | SER | A0-A6 | CS | 16h |
实 例 | 68 | 10 | 02 00 00 05 08 00 00 | 15 | 0A | A0 18 | 00 | 01 00 00 05 08 00 00 | 6C | 16 |
3.2 表计——>采集器
控制码(CTR_4):95h;数据长度: L = 03h;
数据标识(DI0 DI1):A018h;
序列号:SER;
帧数据:
字节 | Code | 描述 |
0 | 68h | 长帧开始标志 |
1 | T | 表计类型代码 |
2-8 | A0-A6 | 表计地址(新设置的地址) |
9 | 95h | CTR_4 |
10 | 03h | 数据域长度 |
11-12 | A018h | 数据标识 DI0-DI1 |
13 | SER | 序号(00h) |
14 | CS | 校验和 |
15 | 16h | 帧结束 |
采集器根据收到的内容,应答正确,或没有应答。
例:表计应答:68 10 01 00 00 05 08 00 00 95 03 A0 18 00 D6 16 (针对水表)
顺 序 | 0 | 1 | 2--8 | 9 | 10 | 11-12 | 13 | 14 | 15 |
说 明 | 68h | T | A0-A6 | 95H | L | 810Ah | SER | CS | 16h |
实 例 | 68 | 10 | 01 00 00 05 08 00 00 | 95 | 03 | A0 81 | 00 | D6 | 16 |