本文以实例说明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字节由厂家自己定义。

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

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;结束符。

附:单位代号

/V111a7Bl0251Ar/igUEE7COKOnIi*iRUj70FkGtcYQYXDQHwtK8ow5Ixyc!/o/dCwAAAAAAAAA&ek=1&kp=1&pt=0&bo=DQMvAQ0DLwEDACU!&su=168630961&sce=0-12-12&rf=2-9" style="margin:0px; padding:0px; border-width:0px; border-style:none; vertical-align:top; width:781px; height:303px; float:none">

    

     

原创性文章,转载请注明出处 http://user.qzone.qq.com/2756567163
05-26 02:55