1. SL651-2014协议基础认知
第一次接触SL651-2014协议时,面对密密麻麻的HEX报文确实让人头大。这个协议本质上就是水文监测领域的"普通话",规定了水文数据采集终端和中心站之间的通信规则。简单来说,它就像快递单号,把水位、雨量这些水文数据打包成固定格式的"包裹",通过GPRS、北斗等信道传输。
协议报文最明显的特征就是以7E7E开头的HEX字符串。就像我们拆快递要先看面单一样,解码报文也要先识别关键字段。举个例子,下面这段链路维持报文:
7E7E 010012345678 1234 2F 0008 020003 591011155111 03 6BCA
拆解后对应关系如下:
- 7E7E:起始符(类似快递单上的"快递单号"字样)
- 01:中心站编号(谁寄的快递)
- 0012345678:遥测站地址(收件人地址)
- 1234:通信密码(取件码)
- 2F:功能码(包裹类型,2F表示链路维持)
- 0008:数据长度(包裹重量)
- 02:数据起始符(内件清单开始标记)
- 0003:流水号(订单编号)
- 591011155111:时间戳(寄件时间,格式yyMMddHHmmss)
- 03:结束符(包裹封口标记)
- 6BCA:CRC校验(防伪标签)
2. 报文结构深度解析
2.1 固定头部结构
所有SL651报文都遵循相同的"包装规范"。头部就像快递面单,包含8个固定字段:
- 起始符(2字节):固定为0x7E7E,相当于快递单上的"××快递"logo
- 中心站地址(1字节):01表示省级中心站,02表示市级分中心
- 遥测站地址(5字节):用BCD码表示的12位十进制站号
- 通信密码(2字节):类似API调用的access key
- 功能码(1字节):最重要的字段,相当于快递包裹类型:
- 0x2F:链路维持报(心跳包)
- 0x30:定时报(整点数据)
- 0x33:加报(突发数据)
- 0x37:查询实时数据
2.2 变长数据体解析
数据体部分就像快递包裹里的实际物品,不同功能码对应不同结构。以定时报(功能码0x30)为例:
7E7E010012345678123430002B020003

&spm=1001.2101.3001.5002&articleId=162118501&d=1&t=3&u=6588556c262c4c61b206240466fe90e3)
1万+

被折叠的 条评论
为什么被折叠?



