本文具体阐述JY公司冷热量表(记热量)传输协议,并以此说明CJ/T-188协议在厂家具体应用时,并不一致。本文及后续文章将对这些不同点予以总结(文中所述协议与日志“CJ/T-188
冷热量表协议解析1”http://user.qzone.qq.com/2756567163/blog/1437462157的不同之处,将用红色予以标识)。以下数据未经特殊说明,均指十六进制。
数据发送:
FE FE FE FE 68 20 32 41 31 40 00 00 00 01 03 90 1F 01 20 16
说明如下:
FE FE FE FE:协议头(1-4组)。
68:帧起始符。
20:仪表类型,此实例指热量表(记热量)。
32 41 31 40 00:倒序为0040314132(以BCD码形式看待),表示表号。
00 00:倒序为0000(以BCD码形式看待),表示厂家代码。
01:控制码表示读表计数据,后面跟固定数据域长度、数据标识和序列号。
03:数据域长度(固定)。
90 1F 01:数据标识和序列号(固定)。
20:累加和,从协议头68至序列号01累加之和。
16;结束符。
回复数据:
FE FE FE FE 68 20 32 41 31 40 00 00 00 81 2E 90 1F 01
00 01 02 03 04 05 06 07 08 09 10 11 12 13
08 02 00 00 00
14 15 16 17 18
08 02 00 00 00
19 20 21 22 23
17 00 00 00 00
24 25 26 27 28
35 00 00 00 00
29 30 31 32
33 2C 34 10 00 00
34 35 36 37
38
35 25 00
39 40
41
66 25 00
42 43
44
00 00 00
45 46 47
53 00 12 10 07 15 20
48 49 50 51 52 53 54 00 00 31 16
55 56 57 58
说明如下:
FE FE FE FE:协议头(1-4组)。
68:帧起始符。
20:仪表类型。
32 41 31 40 00:倒序为0040314132(以BCD码形式看待),表示表号。
00 00:倒序为0000(以BCD码形式看待),表示厂家代码。
81:实际为控制码+80,我们可以简单认为只有81正确,非81均为异常,不进行解析。
2E:数据域长度,为十进制46,表示后面有46个有效数据。
1F 90 01:数据标识和序列号(固定)。
80 02 00 00 00:结算日热量(0.02-mwh),英文:settlement,序号:14-17。
80 02 00 00 00:当前热量(0.02-mwh),英文:nowheat,序号:19-22。
17 00 00 00 00:热功率(0.00-kw),英文:thermal,序号:24-27。
35 00 00 00 00:瞬时热量(0.00-mmm/h)英文:transient,序号:29-32。
2c 34 10 00 00:当前累计流量(10.34-mmm),英文:accumulate,序号:34-37。
35 25 00:供水温度(25.35-0C),英文:supply,序号:39-41。 (注1)
66 25 00:回水温度(25.66-0C),英文:return,序号:42-44。 (注1)
00 00 00:仪表累计工作时间(000000-h),英文:atime,序号:45-47。
53 00 12 10 07 15 20:实时时间,2015-07-10 12:00:53,英文:mtime,序号:48-54。
00 00:状态,两个字节,00 00表示正常,01 00表示欠压,英文:st,序号55-56。
31:累加和,从协议头68至状态字00累加之和。
16:结束符。
注1:此处为摄氏度符号,为了防止混淆,本文所有数值和单位之间加“-”,予以分隔。
注2:单位符号可查看日志:http://user.qzone.qq.com/2756567163/blog/1436472675。
注3:为程序开发便捷,提供英文注解和序号标注。
注4:与日志“CJ/T-188 冷热量表协议解析1”http://user.qzone.qq.com/2756567163/blog/1437462157的不同之处,用红色予以标识。
原创性文章,转载请注明出处 http://user.qzone.qq.com/2756567163。
版权声明:本文为博主原创文章,未经博主允许不得转载。