From e407fcf19e50ed0972e7262d99da4b3a83d08706 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期五, 11 十月 2024 17:08:23 +0800 Subject: [PATCH] 1、修改协议驱动RTU上行数据解析出错时,RTU上下行数据日志中的RTU地址不正确的bug; 2、83功能码上行数据测试main方法实现。 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java | 28 ++++++++++------------------ 1 files changed, 10 insertions(+), 18 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java index edb5e5c..a515e88 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_84_Up.java @@ -4,7 +4,6 @@ import com.dy.common.mw.protocol.*; import com.dy.common.mw.protocol.p206V202404.*; import com.dy.common.mw.protocol.p206V202404.parse.global.GlParse; -import com.dy.common.mw.protocol.p206V202404.upVos.DataCd83Vo; import com.dy.common.mw.protocol.p206V202404.upVos.DataCd84Vo; import com.dy.common.util.ByteUtil; import org.apache.logging.log4j.LogManager; @@ -85,7 +84,7 @@ */ protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { DataV202404 dV1 = (DataV202404)data.getSubData() ; - DataCd84Vo cdData = new DataCd84Vo() ; + DataCd84Vo cdData = new DataCd84Vo(CodeV202404.getCodeName(dataCode)) ; dV1.subData = cdData ; int index = ProtocolConstantV206V202404.dataIndex ; cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ; @@ -100,36 +99,29 @@ index++ ; cdData.icCardAddr = ByteUtil.bytes2Hex(bs, false, index, 4) ; - index += 8 ; + index += 4 ; cdData.icCardNo = GlParse.parseIcCardNo(bs, index, 6, 2) ; index += 8 ; cdData.orderNo = ByteUtil.BCD2String_BE(bs, index, index + 7) ; - index ++ ; - String mm = ByteUtil.BCD2String_LE(bs, index, index) ; - index ++ ; - String HH = ByteUtil.BCD2String_LE(bs, index, index) ; - index ++ ; - String dd = ByteUtil.BCD2String_LE(bs, index, index) ; - index ++ ; - String MM = ByteUtil.BCD2String_LE(bs, index, index) ; - cdData.opDt = MM + "鏈�" + dd + "鏃�" + HH + "鏃�" + mm + "鍒�" ; + index += 8 ; + cdData.openDt = GlParse.parseRtuDt(bs, index) ; - index ++ ; - cdData.waterTotalAmount = ByteUtil.BCD2Int_BE(bs, index, index + 4)/100.0D ; + index += 6 ; + cdData.waterTotalAmount = ByteUtil.BCD2Long_LE(bs, index, index + 4)/100.0D ; index += 5 ; - cdData.eleTotalAmount = ByteUtil.BCD2Int_BE(bs, index, index + 4)/100.0D ; + cdData.eleTotalAmount = ByteUtil.BCD2Long_LE(bs, index, index + 4)/100.0D ; index += 5 ; - cdData.moneyRemainUser = ByteUtil.BCD2Int_BE(bs, index, index + 4)/100.0D ; + cdData.moneyRemainUser = ByteUtil.BCD2Long_LE(bs, index, index + 4)/100.0D ; index += 5 ; - cdData.waterRemainUser = ByteUtil.BCD2Int_BE(bs, index, index + 4)/100.0D ; + cdData.waterRemainUser = ByteUtil.BCD2Long_LE(bs, index, index + 4)/100.0D ; index += 5 ; - GlParse.parseAlarmAndState(bs, index, cdData) ; + GlParse.parseAlarmAndState(bs, index, cdData) ;//鍥涗釜瀛楄妭 } -- Gitblit v1.8.0