经常使用传感器协议1:CJ/T-188 水表协议解析1


      本文以实例说明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字节由厂家自己定义。
图片
            68:累加和,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;结束符。


 
附:单位代号

图片 
    
     

原创性文章,转载请注明出处 http://user.qzone.qq.com/2756567163
posted @ 2017-06-14 20:16  yangykaifa  阅读(2222)  评论(0编辑  收藏  举报