本文以实例说明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. 2015级C++第2周实践项目

    [项目1 - 宣告"主权"] 你已经是CSDN博客主了,用IT人特有的方式,编一段程序.在屏幕上输出你想说的话.按要求公布博文,作为我们的开山之作. [项目2 - 胖子不想说体重] ...

  2. 实战c++中的vector系列--再谈vector的insert()方法(都是make_move_iterator惹的祸)

    之前说过了关于vector的insert()方法,把vector B的元素插入到vector A中.vector A中的结果我们可想而知,可是vector B中的元素还会怎样? 看看之前写过的程序: ...

  3. Linux网络编程(附1)——封装read、write

    原打算实践简单的模型的时候,主要专注于基本的模型,先用UNIX I/O糊弄下,可是未封装的read和write用起来实在心累,还是直接用前辈们已经实现好的高级版本号read.write. UNIX I ...

  4. hdu1276(士兵队列训练问题) java集合水过

    点击打开链接 有人说这题属于栈或者队列,个人认为说集合应该比較准确点. Problem Description 某部队进行新兵队列训练,将新兵从一開始按顺序依次编号.并排成一行横队,训练的规则例如以下 ...

  5. php设计模式适配器模式

    php设计模式适配器模式 简介 适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的.一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起. 其实就是通过一个转换类,这个转 ...

  6. vim 按照字段排序文件

    假设有如下数据,以空格为数据列分割: 1  何维川   124.63     172  0.72 2  张子寅   99.67      172  0.58 3  周广滨   93.34      1 ...

  7. 时间处理工具类TimeUtil

    转自:https://cnblogs.com/ityouknow/p/5662753.html 功能 Date与String之间的互相转换,以及一些特殊格式的时间字符串处理 代码 /** * 类名:T ...

  8. NVMe到底是什么?

    转:http://www.expreview.com/42142.html 有关注SSD的朋友应该今年听到NVMe这个词的频率应该不低,随着高端SSD的战场已经抛弃SATA向PCI-E转移,老旧的AH ...

  9. jqGrid多级表格的实现

    原博主链接:http://blog.csdn.net/dreamstar613/article/details/54616503 jqGrid多级表格(可N级) 主要用的方法: subGridRowE ...

  10. JavaScript语法高亮库highlight.js使用

    highlight.js是一款基于JavaScript的语法高亮库,目前支持125种编程语言,有63种可供选择的样式,而且能够做到语言自动识别,和目前主流的JS框架都能兼容,可以混合使用. 这款高亮库 ...