From 842237345ac469b02e9add8f9fd8bae5d4f7cdac Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期二, 25 二月 2025 14:33:15 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DriverV2.java | 31 +++++++++++++++++++++---------- 1 files changed, 21 insertions(+), 10 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DriverV2.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DriverV2.java index 7f3b0ef..614e5b6 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DriverV2.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DriverV2.java @@ -1,9 +1,12 @@ package com.dy.common.mw.protocol.p206V2; import com.dy.common.mw.protocol.*; +import com.dy.common.mw.protocol.p206V1.ProtocolConstantV206V1; import com.dy.common.util.DateTime; -@AnnotationDriver(enable = true, name= ProtocolConstantV206V2.protocolName) +@AnnotationDriver(enable = true, + name= ProtocolConstantV206V2.protocolName, + version= ProtocolConstantV206V2.protocolVer) public class DriverV2 extends Driver { private static String scanRootPackage = "com.dy.common.mw.protocol.p206V2" ; @@ -57,36 +60,38 @@ this.clear(); boolean isFail = false ; String upCode = null ; + Short protocolVersion = null ; + Object[] codeDataGrp = {null}; try{ CommonV2 cp = new CommonV2() ; - cp.checkHead(upBuffer) ; + Boolean p206TrueUgFalse = cp.protocolType_p206TrueUgFalse(upBuffer) ; + //鍒版澶勪簡锛宲206TrueUgFalse涓嶅彲鑳戒负绌轰簡 cp.checkTail(upBuffer) ; - String crcStr = cp.checkCrc_str(upBuffer) ; + String crcStr = cp.checkCrc_str(upBuffer, p206TrueUgFalse) ; if(crcStr != null){ return new MidResult[]{(new MidResultError(ProtocolConstantV206V2.protocolName, rtuAddr, "涓ラ噸閿欒锛屼笂琛屾暟鎹瓹RC妫�鏌ュけ璐ワ紝" + crcStr, null))} ; } - rtuAddr = cp.parseRtuAddr(upBuffer) ; - upCode = cp.parseCode(upBuffer) ; + protocolVersion = cp.parseVersion(upBuffer) ; + upCode = cp.parseCode(upBuffer, p206TrueUgFalse) ; if(upCode == null){ return new MidResult[]{(new MidResultError(ProtocolConstantV206V2.protocolName, rtuAddr, "涓ラ噸閿欒锛屾湭鑳戒粠涓婅鏁版嵁涓В鏋愬嚭鍔熻兘鐮侊紒", null))} ; } - //Integer dataLen = cp.parseFrameLen(upBuffer) ; Data upData = new Data() ; upData.setRtuAddr(rtuAddr) ; upData.setProtocol(ProtocolConstantV206V2.protocolName); - upData.setProtocolVer(ProtocolConstantV206V2.protocolVer); + upData.setProtocolVer(protocolVersion); upData.setCode(upCode) ; upData.setHex(upHex) ; DataV2 dV2 = new DataV2() ; - //dV2.version = cp.parseVersion(upBuffer) ; dV2.rtuAddr = rtuAddr ; dV2.dt = DateTime.yyyy_MM_dd_HH_mm_ss() ; upData.setSubData(dV2) ; this.upCpParams.setValue(ProtocolConstantV206V2.protocolName, + protocolVersion, rtuAddr, upCode, upHex, @@ -98,9 +103,14 @@ }else{ return codeParse.parse(isLowPower, this.upCpParams, new CodeParseCallback(){ @Override - public void callback(Boolean flag) { + public void callback(Boolean flag, Object codeData) { reportOrResponse_trueOrFalse = flag ; rtuAddrInData = dV2.getRtuAddr() ; + codeDataGrp[0] = codeData ; + } + @Override + public void notify(NotifyInfo ...infos) { + notify.notify(rtuAddr, ProtocolConstantV206V1.protocolName, ProtocolConstantV206V1.protocolVer, infos); } }); } @@ -109,7 +119,7 @@ isFail = true ; return new MidResult[]{(new MidResultError(ProtocolConstantV206V2.protocolName, rtuAddr, "涓ラ噸閿欒锛屽垎鏋怰tu鏁版嵁鍑洪敊锛佹暟鎹负锛�" + upHex + (e.getMessage() == null?"":("锛屽嚭閿欎俊鎭細" + e.getMessage())), e))} ; } finally{ - callback.callback(rtuAddr, upCode, CodeV2.getCodeName(upCode), upHex, reportOrResponse_trueOrFalse, isFail, rtuAddr); + callback.callback(rtuAddr, upCode, CodeV2.getCodeName(upCode), upHex, reportOrResponse_trueOrFalse, isFail, rtuAddr, codeDataGrp[0]); } } @@ -136,6 +146,7 @@ this.downCpParams.setValue( RtuResultSendWebUrl, ProtocolConstantV206V2.protocolName, + command.protocolVersion==null?ProtocolConstantV206V2.protocolVer:command.protocolVersion , rtuAddr, command.getId(), commandCode, -- Gitblit v1.8.0