常用传感器协议5:CJ/T-188 水表协议解析2
2015-08-06 00:00
260 查看
本文将以SC水表为例继续说明CJ/T-188水表协议的开关阀协议的解析过程,以下数据未经特殊说明,均指十六进制。
开阀:
数据发送:
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
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17
说明如下:
FE FE FE FE:协议头(1-4组)。
68:帧起始符。
10:仪表类型。
69 05 90 05 15:倒序为1505900569(以BCD码形式看待),表示表号。
33 78:倒序为7833(以BCD码形式看待),表示厂家代码。
84:实际为控制码+80,我们可以简单认为只有84正确,非84均为异常,不进行解析。
05:数据域长度,为十进制22,表示后面有22个有效数据。
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
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17
说明如下:
FE FE FE FE:协议头(1-4组)。
68:帧起始符。
10:仪表类型。
69 05 90 05 15:倒序为1505900569(以BCD码形式看待),表示表号。
33 78:倒序为7833(以BCD码形式看待),表示厂家代码。
84:实际为控制码+80,我们可以简单认为只有84正确,非84均为异常,不进行解析。
05:数据域长度,为十进制22,表示后面有22个有效数据。
A0 17:数据标识(固定)。
01:序列号(固定)。
00 01:状态字,0000
正常开阀,0001正常关阀,0011异常。
7D:累加和,从协议头68至状态字01累加之和。。
16;结束符。
原创性文章,转载请注明出处 http://user.qzone.qq.com/2756567163。
开阀:
数据发送:
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
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17
说明如下:
FE FE FE FE:协议头(1-4组)。
68:帧起始符。
10:仪表类型。
69 05 90 05 15:倒序为1505900569(以BCD码形式看待),表示表号。
33 78:倒序为7833(以BCD码形式看待),表示厂家代码。
84:实际为控制码+80,我们可以简单认为只有84正确,非84均为异常,不进行解析。
05:数据域长度,为十进制22,表示后面有22个有效数据。
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
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17
说明如下:
FE FE FE FE:协议头(1-4组)。
68:帧起始符。
10:仪表类型。
69 05 90 05 15:倒序为1505900569(以BCD码形式看待),表示表号。
33 78:倒序为7833(以BCD码形式看待),表示厂家代码。
84:实际为控制码+80,我们可以简单认为只有84正确,非84均为异常,不进行解析。
05:数据域长度,为十进制22,表示后面有22个有效数据。
A0 17:数据标识(固定)。
01:序列号(固定)。
00 01:状态字,0000
正常开阀,0001正常关阀,0011异常。
7D:累加和,从协议头68至状态字01累加之和。。
16;结束符。
原创性文章,转载请注明出处 http://user.qzone.qq.com/2756567163。
相关文章推荐
- 个人猜想的web安全——理解PHP的sessionID的实现
- windows下的hadoop-eclipse-plugin-2.6.0.jar配置问题
- linux centos6.5 相关服务部署文档
- git 使用心得
- 数据库性能优化方案
- 简单工厂,工厂方法,抽象工厂的区别
- TankGame
- STL的基本函数笔记
- 二叉树的最近公共节点问题
- 多进程异常捕获
- android JNI基础
- android ui
- rmi经典实例---远程调用简单实现方式
- 上海远丰:助力高校电子商务实验室基地建设 从未停止
- 内网发布web项目,使外网可以访问本地环境
- Hibernate<四> Hibernate关联映射
- 常用css
- Git 使用规范流程
- 用Python写一个ftp下载脚本
- 抽象类的作用(转)