本文将以SC水表为例继续说明CJ/T-188水表协议的开关阀协议的解析过程,以下数据未经特殊说明,均指十六进制。


查表数据发送:
        FE FE FE FE 68 10 44 33 22 11 00 33 78 01 03 1F 90 00 80 16
        说明如下:
            FE FE FE FE:协议头(1-4组)。
            68:帧起始符。
            10:仪表类型,此实例指冷水水表,还可定义为:
                10:冷水水表
                11:生活热水水表
                12:直饮水水表
                13:中水水表
                20:热量表(记热量)
                21:热量表(记冷量)
                30:燃气表
                40:电度表 
            44 33 22 11 00:倒序为0011223344(以BCD码形式看待),表示表号。
            33 78:倒序为7833(以BCD码形式看待),表示厂家代码。
            01:控制码表示读表计数据,后面跟固定数据域长度、数据标识和序列号。
            03:数据域长度(固定)。 
            1F 90:数据标识(固定)。
            00:序列号(固定)。
            80:累加和,68+10+44+33+22+11+00+33+78+01+03+1F+90+00=80。
            16;结束符。

回复数据
        FE FE FE FE 68 10 44 33 22 11 00 33 78 81 16 1F 90 00 00 77 66 55 2C 00 77 66 55 2C 31 01 22 11 05 15 20 21 84 08 16
        说明如下:
            FE FE FE FE:协议头(1-4组)。
            68:帧起始符。
            10:仪表类型。
            44 33 22 11 00:倒序为0011223344(以BCD码形式看待),表示表号。
            33 78:倒序为7833(以BCD码形式看待),表示厂家代码。
            81:实际为控制码+80,我们可以简单认为只有81正确,非81均为异常,不进行解析。
            16:数据域长度,为十进制22,表示后面有22个有效数据。
            1F 90:数据标识(固定)。
            00:序列号(固定)。
            00 77 66 55:倒序为556677.00(以BCD码形式看待),表示累计用量。
            2C:立方米,其它单位见附1。
            00 77 66 55:倒序为556677.00(以BCD码形式看待),表示本月用量。
            2C:立方米,其它单位见附1。  
            31 01 22 11 05 15 20:2015-05-11 22:01:31,表示实时时间。
            21 84:状态,两字节,第1字节定义如下,第2字节由厂家自定义。
            08:累加和,68+10+44+33+22+11+00+33+78+81+16+1F+90+00+00+77+66+55+2C+00+77+66+55 2C+31+01+22+11+05+15+20+21+84=08。
            16;结束符。
 

开阀:
    数据发送:
        FE FE FE FE 68 10 69 05 90 05 15 33 78 04 04 A0 17 01 55 50 16
        说明如下:
            FE FE FE FE:协议头(1-4组)。
            68:帧起始符。
            10:仪表类型,此实例指冷水水表,还可定义为:               
            69 05 90 05 15:倒序为1505900569(以BCD码形式看待),表示表号。
            33 78:倒序为7833(以BCD码形式看待),表示厂家代码。
            04:控制码,后面跟固定数据域长度、数据标识和序列号。
            04:数据域长度(固定)。 
            A0 17:数据标识(固定)。
            01:序列号(固定)。
            55:功能码,表示开阀。
            50:累加和,从协议头68至功能码55累加之和。。
            16;结束符。 


回复数据:
        FE FE FE FE 68 10 69 05 90 05 15 33 78 84 05 A0 17 01 00 00 7C 16
        说明如下:
            FE FE FE FE:协议头(1-4组)。
            68:帧起始符。
            10:仪表类型。
            69 05 90 05 15:倒序为1505900569(以BCD码形式看待),表示表号。
            33 78:倒序为7833(以BCD码形式看待),表示厂家代码。
            84:实际为控制码+80,我们可以简单认为只有84正确,非84均为异常,不进行解析。
            05:数据域长度,为十进制05,表示后面有05个有效数据。
            A0 17:数据标识(固定)。
            01:序列号(固定)。
            00 00:状态字,0000 正常开阀,0001正常关阀,0011异常。
            7C:累加和,从协议头68至状态字00累加之和。。
            16;结束符。

关阀:
    数据发送:
        FE FE FE FE 68 10 69 05 90 05 15 33 78 04 04 A0 17 01 99 94 16
        说明如下:
            FE FE FE FE:协议头(1-4组)。
            68:帧起始符。
            10:仪表类型,此实例指冷水水表,还可定义为:                
            69 05 90 05 15:倒序为1505900569(以BCD码形式看待),表示表号。
            33 78:倒序为7833(以BCD码形式看待),表示厂家代码。
            04:控制码,后面跟固定数据域长度、数据标识和序列号。
            04:数据域长度(固定)。 
            A0 17:数据标识(固定)。
            01:序列号(固定)。
            99:功能码,表示关阀。
            94:累加和,从协议头68至功能码55累加之和。。
            16;结束符。 
    回复数据:
        FE FE FE FE 68 10 69 05 90 05 15 33 78 84 05 A0 17 01 00 01 7C 16 
        说明如下:
            FE FE FE FE:协议头(1-4组)。
            68:帧起始符。
            10:仪表类型。
            69 05 90 05 15:倒序为1505900569(以BCD码形式看待),表示表号。
            33 78:倒序为7833(以BCD码形式看待),表示厂家代码。
            84:实际为控制码+80,我们可以简单认为只有84正确,非84均为异常,不进行解析。
            05:数据域长度,为十进制05,表示后面有05个有效数据。
            A0 17:数据标识(固定)。
            01:序列号(固定)。
            00 01:状态字,0000 正常开阀,0001正常关阀,0011异常。
            7D:累加和,从协议头68至状态字01累加之和。。
            16;结束符。 

附件1 单位代码