水文监测数据通信规约(SL651-2014)数据解析说明(水测家)
水测家遥测终端机SCJ-RTU01默认采用水文监测数据通信规约,简称水文规约SL651-2014协议,采用HEX编码格式,默认只发送加报报,可以1-240分钟间隔发送,可以上传水雨情数据,流量数据,气象数据,水质数据,以及其他各种传感器,水文规约SL651-2014扩展能力很强,其中我们自定义了累计流量字段,同时对一些默认字段的小数点进行了调整,比如瞬时流量小数点扩展到6位,满足各种环境下的流量传输精度要求。
水文规约SL651-2014 协议比较完善,比水资源规约,水雨情相关的规约完善度较高,扩展能力较强,因此越来越受到欢迎,后面就是对我们的遥测终端机的报文进行简单解析。
1.报文格式
1.1帧格式(RTU上传数据的格式)
1.2.加报报一般格式(定时报格式跟这个类似,只有功能码区别)
1.3.要素标识符的规定
1.4.功能码定义(部分)
1.5.要素标识符定义(部分)
2.报文解析(示例)
一条HEX编码格式的报文,加报报
7e 7e 01 12 34 56 78 90 00 02 33 00 8e 02 00 01 23 03 08 11 15 01 f1 f1 12 34 56 78 90 48 f0 f0 23 03 08 11 14 39 23 00 00 03 45 3a 23 00 00 03 05 03 11 02 54 28 36 00 00 00 41 95 20 29 36 00 00 00 36 60 00 27 36 00 00 00 78 55 20 36 1b 00 03 04 37 1b 00 06 00 3c 1b 00 03 45 3d 1b 00 03 05 c1 55 00 00 00 00 00 00 01 16 51 34 c2 55 00 00 00 00 00 00 01 01 65 20 49 19 00 09 69 47 11 00 79 4a 19 00 09 68 45 20 00 00 00 01 38 12 12 04 c9 11 00 51 7a 08 00 ca 10 01 00 03 2c 63
2.1进行分段标识
7e 7e 帧起始符
01 中心站地址
12 34 56 78 90 遥测站地址,测站编码为:1234567890
00 02 密码
33 功能码
00 8e 报文上下行标识及长度
02 报文起始符
//下面是加报报的正文,解析见2.2加报报正文解析
00 01 23 03 08 11 15 01 f1 f1 12 34 56 78 90 48 f0 f0 23 03 08 11 14 39 23 00 00 03 45 3a 23 00 00 03 05 03 11 02 54 28 36 00 00 00 41 95 20 29 36 00 00 00 36 60 00 27 36 00 00 00 78 55 20 36 1b 00 03 04 37 1b 00 06 00 3c 1b 00 03 45 3d 1b 00 03 05 c1 55 00 00 00 00 00 00 01 16 51 34 c2 55 00 00 00 00 00 00 01 01 65 20 49 19 00 09 69 47 11 00 79 4a 19 00 09 68 45 20 00 00 00 01 38 12 12 04 c9 11 00 51 7a 08 00 ca 10 01 00
03 报文结束符
2c 63 报文CRC16校验
2.2加报报正文解析
00 01 23 03 08 11 15 01 f1 f1 12 34 56 78 90 48 f0 f0 23 03 08 11 14 39 23 00 00 03 45 3a 23 00 00 03 05 03 11 02 54 28 36 00 00 00 41 95 20 29 36 00 00 00 36 60 00 27 36 00 00 00 78 55 20 36 1b 00 03 04 37 1b 00 06 00 3c 1b 00 03 45 3d 1b 00 03 05 c1 55 00 00 00 00 00 00 01 16 51 34 c2 55 00 00 00 00 00 00 01 01 65 20 49 19 00 09 69 47 11 00 79 4a 19 00 09 68 45 20 00 00 00 01 38 12 12 04 c9 11 00 51 7a 08 00 ca 10 01 00
分段解析
注意:有些要素进行了自定义修改,没有按照协议默认小数点位数,但是格式还是符合规约,比如瞬时流量默认3位小数,水测家遥测终端机修改为6位小数(提高上传数据的精度),浊度默认没有小数,扩展为1位小数,也扩展了一些自定义字段,比如累计流量,设备温度,电量,但是所有的改动都是符合规约中的要素格式,只要按照规约中的格式解析,都能正确解析数据。
00 01 流水号
23 03 08 11 15 01 发报时间 2023-03-08 11:15:01
f1 f1 12 34 56 78 90 F1F1开头的遥测站地址1234567890
48 遥测站类型
f0 f0 23 03 08 11 14 F0F0开头的数据采集时间,解析结果为2023-03-08 11:14
39 23 00 00 03 45 0x39查标识符得知为:39H Z 瞬时河道水位、潮位,我们定义为水位1,0x23 按照要素标识符的规定,高5bit,低3bit,00100 011 对应的转换为10进制为4与3,也就是水位1数据占用4字节,小数点为3位,解析00 00 03 45结果为00000345,3个小数点,也就是0.345,后面的要素一样的解析方式,第一个字节为字段标识符引导符,第二个字节告诉这个字段数据长度以及小数点位数。
3a 23 00 00 03 05 解析结果为ZB 库(闸、站)下水位,0.305
03 11 02 54 瞬时水温,25.4℃
28 36 00 00 00 41 95 20 Q1,取(排)水口流量 1,也就是对应瞬时流量1,此处将小数点位数扩大到6位,0.419520m3/s
29 36 00 00 00 36 60 00 Q2,取(排)水口流量 2,也就是对应瞬时流量2,此处将小数点位数扩大到6位,0.366000m3/s
27 36 00 00 00 78 55 20 Q 瞬时流量、抽水流量,我们定义为Q=Q1+Q2,也就是两个流量计总的瞬时流量,此处将小数点位数扩大到6位,0.785520m3/s
36 1b 00 03 04 VA 断面平均流速,也就是对应的流速1,0.304m/s
37 1b 00 06 00 VJ 当前瞬时流速,也就是对应的流速2,0.600m/s
3c 1b 00 03 45 Z1 取(排)水口水位 1,对应流量计1水深,0.345m
3d 1b 00 03 05 Z2 取(排)水口水位2,对应流量计2水深,0.305m
c1 55 00 00 00 00 00 00 01 16 51 34 自定义字段,CQ1 取(排)水口1累计流量 立方米N(8,5),也就是累计流量1,5位小数:11.65134m3
c2 55 00 00 00 00 00 00 01 01 65 20 自定义字段,CQ2 取(排)水口2累计流量 立方米N(8,5),也就是累计流量2,5位小数:10.16520m3
49 19 00 09 69 浊度,保留了1位小数,96.9
47 11 00 79 溶解氧,7.9mg/L
4a 19 00 09 68 高猛酸盐指数,也就是COD,96.8mg/L
45 20 00 00 00 01 遥测站状态
38 12 12 04 供电电压12.04V
c9 11 00 51 设备温度,自定义要素,5.1℃
7a 08 00 扩展要素,信号强度0-99,此处由于使用以太网,信号为0
ca 10 01 00 电池电量,百分比0-100 N(3,0),自定义要素,电量100%