本文以实例说明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;结束符。

附:单位代号

/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

经常使用传感器协议1:CJ/T-188 水表协议解析1的更多相关文章

  1. 【Win10应用开发】协议-下篇:自定义多个协议

    前面介绍了如何为应用程序自定义协议,于是有朋友会问,我希望为我的应用注册多个协议,不同的协议处理不同的事情,能吗?答案是能的. 方法主要在配置清单文件上,这里我给出一个例子,示例应用将注册两个协议,分 ...

  2. RTSP RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议

    RTSP 编辑 RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学.网景和RealNetwo ...

  3. TCP/IP 中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议

    原文地址:http://hi.baidu.com/albyuyrgqgbbhoq/item/65006d2d002ab33195f62ba1 TCP/IP(Transmission Control P ...

  4. 各种非标232,485协议,自定义协议转modbus协议模块定制开发,各种流量计协议转modbus,

    工业现场经常会碰到通过485或者232采集各类仪表数据,但是很多早期的仪表和设备不支持标准modbus协议,而是采用自定义的协议,这些协议数据由plc或者dcs系统来实现采集,不仅费时麻烦,而且不方便 ...

  5. 串口屏Modbus协议,串口屏的modbus协议资料,串口屏modbus通讯协议开发,串口屏之modbus协议使用技巧

    串口屏Modbus协议,串口屏的modbus协议资料,串口屏modbus通讯协议开发,串口屏之modbus协议使用技巧 本例程中用51单片机作为Modbus从机,从机的设备地址为2,从机有4个寄存器, ...

  6. HTTP协议扫盲(一)HTTP协议的基本概念和通讯原理

    一.HTTP协议的概念 1.引子  - 从url开始 URL(Uniform Resource Locator) 地址用于描述一个网络上的资源, 基本格式如下 schema://host[:port# ...

  7. 流媒体协议(一):HLS 协议

    一.HLS 概述 HLS 全称是 HTTP Live Streaming,是一个由 Apple 公司提出的基于 HTTP 的媒体流传输协议,用于实时音视频流的传输.目前HLS协议被广泛的应用于视频点播 ...

  8. 406 UDP协议是面向非连接的协议

    HTTP The Definitive Guide   Table 3-1. Common HTTP methods   Method Description Message body?   GET ...

  9. HTTP协议属于应用层,而SOCKS协议属于传输层

    HTTP协议属于应用层,而SOCKS协议属于传输层 SOCKS代理 SOCKS代理能在任何端口,任何协议下运行. SOCKS V4只支持 TCP连接,而SOCKS V5在其基础上增加了安全认证以及对U ...

随机推荐

  1. 11g,12c Oracle Rac安装

    安装 Oracle 12cR1 RAC on Linux 7 本文介绍如何在Oracle Linux 7上安装2节点Oracle 12cR1 Real Application Cluster(RAC) ...

  2. tp 在Nginx上各种404

    对于ThinkPHP的URL访问路劲如:http://域名/index.php/Index/BlogTest/read,原先的Nginx的是不支持的pathinfo路劲的,导致你在thinkPHP5上 ...

  3. Git学习总结(8)——Git和SVN之间的基本区别

    GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征.所以,这篇文章的主要目的就是 ...

  4. synchronized的实现原理及锁优化

    记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized.对于当时的我们来说,synchronized是如此的神奇且强大.我们赋予它一个名字“同步”,也成为我们解决多线程情况的良药 ...

  5. HDU 4089

    很容易列出方程 设dp[i][j]为排在第i位置,总共有j个人排队到达目标状态的概率 i=1 dp[i][j]=p4+p1*dp[i][j]+p2*dp[j][j] 2<=i<=k dp[ ...

  6. 解题报告 之 HDU5317 RGCDQ

    解题报告 之 HDU5317 RGCDQ Description Mr. Hdu is interested in Greatest Common Divisor (GCD). He wants to ...

  7. Swift 3.0 (二)

    一:函数 1.1无参数无返回值的简单函数 func sendMessage(){ let message = "Hey, Guys!" print(message) } sendM ...

  8. OpenGL ES 3.0 Graphics Pipeline

    一:OpenGL ES 3.0 Graphics Pipeline  渲染管道如下图 1.Vertex Buffer/Arrays Objects的数据由应用程序传进来 2.由上图可以看到Textur ...

  9. caffe环境配置

    参考:http://blog.csdn.net/enjoyyl/article/details/47397505 http://blog.csdn.net/baobei0112/article/det ...

  10. 通过setInterval函数在地图上每隔1s打一次点

    <?php echo <<<_END <!doctype html> <html> <head> <meta charset=&quo ...