| | |
| | | |
| | | /** |
| | | * 分析状态与报警 |
| | | * @param bs |
| | | * @param index |
| | | * @param bs 上报数据的字节数组 |
| | | * @param index 当前解析数组下标位置 |
| | | * @return |
| | | */ |
| | | public static void parseAlarmAndState(byte[] bs, int index, AlarmVo vo){ |
| | | byte b = bs[index] ; |
| | | vo.statePump = (byte)(b & 0x1) ; |
| | | vo.alarmWaterRemain = (byte)(b >> 1 & 1) ; |
| | | vo.alarm0WaterRemain = (byte)(b >> 2 & 1) ; |
| | | vo.alarmExceedYear = (byte)(b >> 3 & 1) ; |
| | | vo.alarmWaterMeterFault = (byte)(b >> 4 & 1) ; |
| | | vo.alarmSteal = (byte)(b >> 5 & 1) ; |
| | | vo.alarmWaterMeterBreak = (byte)(b >> 6 & 1) ; |
| | | vo.alarmEleMeterFault = (byte)(b >> 7 & 1) ; |
| | | vo.alarmWaterRemain = (byte)((b >> 1) & 1) ; |
| | | vo.alarm0WaterRemain = (byte)((b >> 2) & 1) ; |
| | | vo.alarmExceedYear = (byte)((b >> 3) & 1) ; |
| | | vo.alarmWaterMeterFault = (byte)((b >> 4) & 1) ; |
| | | vo.alarmSteal = (byte)((b >> 5) & 1) ; |
| | | vo.alarmWaterMeterBreak = (byte)((b >> 6) & 1) ; |
| | | vo.alarmEleMeterFault = (byte)((b >> 7) & 1) ; |
| | | |
| | | b = bs[index + 1] ; |
| | | vo.alarm0MoneyRemain = (byte)(b & 0x1) ; |
| | | vo.alarmInnerDoor = (byte)(b >> 1 & 1) ; |
| | | vo.alarmOuterDoor = (byte)(b >> 2 & 1) ; |
| | | vo.alarmEleMiss = (byte)(b >> 3 & 1) ; |
| | | vo.alarmEleExceed = (byte)(b >> 4 & 1) ; |
| | | vo.alarmEleLowVolt = (byte)(b >> 5 & 1) ; |
| | | vo.stateIcEnable = (byte)(b >> 6 & 1) ; |
| | | vo.alarmDoor = (byte)((b >> 1) & 1) ; |
| | | vo.alarmBatteryVolt = (byte)((b >> 2) & 1) ; |
| | | vo.alarmEleMiss = (byte)((b >> 3) & 1) ; |
| | | vo.alarmEleExceed = (byte)((b >> 4) & 1) ; |
| | | vo.alarmEleLowVolt = (byte)((b >> 5) & 1) ; |
| | | vo.stateIcEnable = (byte)((b >> 6) & 1) ; |
| | | vo.stateOpClValve = (byte)((b >> 7) & 1) ; |
| | | |
| | | b = bs[index + 2] ; |
| | | vo.alarmBlockValve = (byte)(b & 0x1) ; |
| | | } |
| | | |
| | | public static String parseTp(byte[] bs, short index){ |
| | |
| | | index += 8 ; |
| | | cdData.startDt = GlParse.parseRtuDt(bs, index) ; |
| | | |
| | | if(cdData.opResult == (byte)0x81){ |
| | | //失败了,下面就没有数据了 |
| | | return ; |
| | | } |
| | | |
| | | index += 6 ; |
| | | cdData.endDt = GlParse.parseRtuDt(bs, index) ; |
| | | |