From c66ed1dcf64032a45ba053cd9ae71317d29d1fe3 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期二, 21 一月 2025 14:18:11 +0800 Subject: [PATCH] 针对远程RTU升级,增加快速命令类型,为此增加相关配置,增加相关处理逻辑 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DriverV1.java | 20 ++++++++++++-------- 1 files changed, 12 insertions(+), 8 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DriverV1.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DriverV1.java index fc13a7c..54279c3 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DriverV1.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DriverV1.java @@ -3,7 +3,9 @@ import com.dy.common.mw.protocol.*; import com.dy.common.util.DateTime; -@AnnotationDriver(enable = true, name= ProtocolConstantV206V1.protocolName) +@AnnotationDriver(enable = true, + name= ProtocolConstantV206V1.protocolName, + version= ProtocolConstantV206V1.protocolVer) public class DriverV1 extends Driver { private static String scanRootPackage = "com.dy.common.mw.protocol.p206V1" ; @@ -59,18 +61,17 @@ String upCode = null ; try{ CommonV1 cp = new CommonV1() ; - 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(ProtocolConstantV206V1.protocolName, rtuAddr, "涓ラ噸閿欒锛屼笂琛屾暟鎹瓹RC妫�鏌ュけ璐ワ紝" + crcStr, null))} ; } - rtuAddr = cp.parseRtuAddr(upBuffer) ; - upCode = cp.parseCode(upBuffer) ; + upCode = cp.parseCode(upBuffer, p206TrueUgFalse) ; if(upCode == null){ return new MidResult[]{(new MidResultError(ProtocolConstantV206V1.protocolName, rtuAddr, "涓ラ噸閿欒锛屾湭鑳戒粠涓婅鏁版嵁涓В鏋愬嚭鍔熻兘鐮侊紒", null))} ; } - //Integer dataLen = cp.parseFrameLen(upBuffer) ; Data upData = new Data() ; upData.setRtuAddr(rtuAddr) ; upData.setProtocol(ProtocolConstantV206V1.protocolName); @@ -105,15 +106,18 @@ } @Override public void notify(NotifyInfo ...infos) { + notify.notify(rtuAddr, ProtocolConstantV206V1.protocolName, ProtocolConstantV206V1.protocolVer, infos); } }); } - } catch (Exception e) { isFail = true ; return new MidResult[]{(new MidResultError(ProtocolConstantV206V1.protocolName, rtuAddr, "涓ラ噸閿欒锛屽垎鏋怰tu鏁版嵁鍑洪敊锛佹暟鎹负锛�" + upHex + (e.getMessage() == null?"":("锛屽嚭閿欎俊鎭細" + e.getMessage())), e))} ; } finally{ - callback.callback(rtuAddr, upCode, CodeV1.getCodeName(upCode), upHex, reportOrResponse_trueOrFalse, isFail, rtuAddr); + if(upCode != null){ + //CRC楠岃瘉澶辫触鏃讹紝upCode涓簄ull锛屾鏃朵笉杩涜鍥炶皟 + callback.callback(rtuAddr, upCode, CodeV1.getCodeName(upCode), upHex, reportOrResponse_trueOrFalse, isFail, rtuAddr); + } } } -- Gitblit v1.8.0