SL651-2014-《水文监测数据通信规约》
1、要素解析说明
39 23 00 00 03 45
0x39查标识符得知为:39H Z 瞬时河道水位、潮位,我们定义为水位
0x23 按照要素标识符的规定,高5bit,低3bit,00100 011 对应的转换为10进制为4与3,也就是水位数据占用4字节,小数点为3位,解析00 00 03 45结果为00000345,3个小数点,也就是0.345,
后面的要素一样的解析方式,第一个字节为字段标识符引导符,第二个字节告诉这个字段数据长度以及小数点位数。
2、解析监测要素代码部分
public function getBodyElement($bodyElementFrame) {$elementMap = [];for ($i = 0; $i < count($bodyElementFrame);) {$j = 0;// 每组数据,前两字节为标识符,其中第一个字节为标识引导符,第二个字节定义数据信息$typeCode = dechex(ord($bodyElementFrame[$i])); // 引导标识符号,如果是FF则为用户自定义if (strtolower($typeCode) === 'ff') {// 自定义,FFXXH, xx为自定义编码字段$j = 1;$typeCodeCustom = dechex(ord($bodyElementFrame[$i + 1]));if (strlen($typeC