188协议也叫CJT188协议,是国标水表常用的标准通讯协议,具体内如如下。
本协议采用主-从结构的半双工通讯方式。字节格式为每字节含8位二进制码,传输时加上一个起始位(0)、一个偶校验位(E)和一个停止位(1),共11位。其字节传输序列如图4.1 。D0是字节的最低位,D7是字节的最高位。先传低位,后传高位。
传送方向:
图4.1
帧格式应符合下表的规定。
帧格式:
地址域(A0~A6)由七个字节组成,每个字节为2位BCD码格式。地址长度为14位十进制数,低地址在前,高地址在后。其中A5、A6为厂商代码。
当地址为AA AA AA AA AA AA AA时为广播地址。广播地址只能应用于点对点的通讯中。
仪表类型
10 H--19 H:水表
10 H 冷水水表
11 H 生活热水水表
12 H 直饮水水表
13 H 中水水表
20 H-29 H热量表
20 H 热量表(计热量)
21 H 热量表(计冷量)
30 H一39 H:燃气表
30 H 燃气表
40 H-49 H:其他仪表
40 H 如:电度表
控制码的格式
D7 :
0 — 由主站发出的控制帧;1— 由 从 站 发 出 的应答帧。
D6 :
0 — 通讯正常;1— 通 讯 异 常 。
D5 - DO :0 00000:保留;
000 00 1 :读 数 据 ;
000 10 0 :写 数 据 ;
001 00 1: 读 密 钥 版本 号 ;
000 01 1 :读 地 址 (表 号 ) ;
01 01 01 :写 地 址 ( 表 号 );
010 11 0 :写 机 电 同 步 数 (置 表 底 数 );
lx xx xx :厂 商 自 定 义 。
说明:
数据长度(L)为数据域的字节数,用十六进制表示。读数据时L小于或等于64 H,写数据时L小于或等于32 H,L等于零表示无数据域。
数据域(DATA)包括数据标识、序列号和数据,其结构随控制码的功能改变。
校验码(CS)为一个字节,从帧起始符开始到校验码之前的所有各字节进行二进制算术累加,不计超过FFH的溢出值。
传输要求
1 前导字节:在发送帧信息之前,应先发送2-4个字节FEH,
2 传输次序:所有多字节数据域均先传送低位字节,后传送高位字节。
3 传输响应:每次通讯先由主站发出命令帧,被选择的从站根据命令帧的要求做出响应。
读操作
主站发送的序号SER。
主站请求帧:
控制码:CTR_0
数据长度:L = 03H
数据标识:DI0 , DI1
序列号:SER
从站正常应答帧:
控制码:CTR_1
数据域长度:L = 03H + m(数据长度)
数据标识:DI0 , DI1
序列号:SER
从站异常不应答。
读数据时ST0、ST1保留使用,状态不解析
主站请求读编码格式应符合下表的规定:
主站请求读数据的报文格式及从站正常应答报文格式应符合下表的规定:
数据表达格式应符合下表的规定:
5.2 阀门控制
主站请求帧:
控制码:CTR_0=0x04;开阀Ctr=0x55 、 关阀Ctr=0x99
数据长度:L = 04H
数据标识:DI0=0x17 , DI1=0xA0
序列号:SER
返回帧:
控制码:CTR_0=0x84;
数据长度:L = 05H
数据标识:DI0=0x17 , DI1=0xA0
序列号:SER
开关阀门状态解析:
举例:
读数命令
潍微水表(没有厂商代码)
表号:161014104
发送:FE FE FE FE 68 10 04 41 01 61 01 00 00 01 03 90 1F 00 D3 16
接收:FE FE FE 68 10 04 41 01 61 01 00 00 81 16 90 1F 00 60 00 00 00 2C 60 00 00 00 2C 00 00 00 00 00 00 00 00 00 7E 16
远传水表(有厂商代码:78,33)
表号:2016080454
发送:FE FE FE FE 68 10 54 04 08 16 20 33 78 01 03 90 1F 00 6C 16
接收:FE FE FE FE 68 10 54 04 08 16 20 33 78 81 16 90 1F 00 00 01 00 00 2C 00 00 00 00 2C 00 00 00 00 00 00 00 00 00 58 16
控制命令(关阀)
发送:FE FE FE FE 68 10 54 04 08 16 20 33 78 04 04 17 A0 0A 99 1B 16
接收:FE FE FE FE 68 10 54 04 08 16 20 33 78 84 06 17 A0 0A 99 01 00 9E 16
控制命令(开阀)
发送:FE FE FE FE 68 10 54 04 08 16 20 33 78 04 04 17 A0 0A 55 D7 16
接收:FE FE FE FE 68 10 54 04 08 16 20 33 78 84 06 17 A0 0A 55 00 00 59 16