From f5658e38d9aaec4fc002f22938646343a7e86c81 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期三, 26 六月 2024 21:40:27 +0800 Subject: [PATCH] 1、靳总协议功能码调整与增加; 2、实现只有靳总协议中有的整上报数据处理逻辑及数据库设计。 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_C0_Up.java | 45 +++++++++++++++++++++++++++++---------------- 1 files changed, 29 insertions(+), 16 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_C0_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_C0_Up.java index 67f3520..98d19eb 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_C0_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/parse/Cd_C0_Up.java @@ -3,6 +3,7 @@ import com.dy.common.mw.protocol.*; import com.dy.common.mw.protocol.p206V1_0_0.*; import com.dy.common.mw.protocol.p206V1_0_0.parse.global.GlParse; +import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCdC0Vo; import com.dy.common.util.ByteUtil; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -84,24 +85,26 @@ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; DataCdC0Vo cdData = new DataCdC0Vo() ; - dV1.dataCdC0Vo = cdData ; + dV1.subData = cdData ; - boolean hasWaterAmount = false ;//鏄惁鏈夋祦閲忔暟鎹� - boolean hasWaterPress = false ;//鏄惁鏈夋按鍘嬫暟鎹� - boolean hasEleVolt = false ;//鏄惁鏈夌數鍘嬫暟鎹� - boolean hasSignal = false ;//鏄惁鏈変俊鍙峰己搴︽暟鎹� - boolean hasAlarmStatus = false ;//鏄惁鏈夋暟鎹� + boolean hasWaterAmount = true ;//鏄惁鏈夋祦閲忔暟鎹� + boolean hasWaterPress = true ;//鏄惁鏈夋按鍘嬫暟鎹� + boolean hasEleVolt = true ;//鏄惁鏈夌數鍘嬫暟鎹� + boolean hasSignal = true ;//鏄惁鏈変俊鍙峰己搴︽暟鎹� + boolean hasAlarmStatus = true ;//鏄惁鏈夋暟鎹� short index = ProtocolConstantV206V1_0_0.dataIndex ; byte tmpBt1 = bs[index] ; index++ ; + /* RTU瀹炵幇涓�瀹氭湁娴侀噺鏁版嵁 if(((tmpBt1 & 4) >> 2) == 1){ hasWaterAmount = true ; } - + */ byte tmpBt2 = bs[index] ; index++ ; + /*RTU瀹炵幇涓�瀹氭湁涓嬮潰鍚勯」鏁版嵁 if(((tmpBt2 & 0x10) >> 4) == 1){ hasAlarmStatus = true ; } @@ -114,7 +117,7 @@ if(((tmpBt2 & 0x80) >> 7) == 1){ hasSignal = true ; } - + */ if(hasWaterAmount){ //鐬椂娴侀噺锛�5瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0~9999999.999锛屽崟浣嶄负m3/h銆� cdData.instantAmount = 0.0D ; @@ -187,7 +190,7 @@ cdData.waterPress += tpInt * 10000.0 ; } if(hasEleVolt){ - //鐢垫睜鐢靛帇锛�4瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0~99.99锛屽崟浣嶄负V銆� + //鐢垫睜鐢靛帇锛�2瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0~99.99锛屽崟浣嶄负V銆� cdData.batteryVolt = 0.0D ;//钃勭數姹犵數鍘� cdData.sunVolt = 0.0D ;//澶槼鑳界數鍘� int tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; @@ -196,13 +199,13 @@ tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; index++ ; cdData.batteryVolt += tpInt; - //澶槼鑳界數鍘嬶細4瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0~99.99锛屽崟浣嶄负V銆� - tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; - index++ ; - cdData.sunVolt += tpInt/100.0 ; - tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; - index++ ; - cdData.sunVolt += tpInt; +// //澶槼鑳界數鍘嬶細4瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0~99.99锛屽崟浣嶄负V銆� +// tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; +// index++ ; +// cdData.sunVolt += tpInt/100.0 ; +// tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; +// index++ ; +// cdData.sunVolt += tpInt; } if(hasSignal){ //淇″彿寮哄害锛�1瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0~99銆� @@ -219,6 +222,16 @@ cdData.stateVo = GlParse.parseState(bs, index) ; index += 2 ; } + + //姘翠环锛�2瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0~99.99锛屽崟浣嶄负鍏冦�� + cdData.waterPrice = 0.0D ;//姘翠环 + int tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; + index++ ; + cdData.waterPrice += tpInt/100.0 ; + tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; + index++ ; + cdData.waterPrice += tpInt; + cdData.rtuDt = GlParse.parseTp(bs, index) ; } -- Gitblit v1.8.0