From b397edee2be2dfcc3f28eeac50298b4de26b1afa Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期五, 13 十二月 2024 16:53:45 +0800 Subject: [PATCH] 取水口日取水量表中,出现一些大数,明显不正确,发析系统日志,发现一些阀控器会上报一些累计流量为0的数据,且无规律,推测是其不能从水表读取到累计流量时会上报0值。如果间歇上报0值,间歇上报一些非0值,非0值减去0值,就会出现大数,一天中出现几次那么会大数进行累加,数值将更大。为此变更算法,规避这种情况,但也会丢失一些流量值。 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DriverV202404.java | 40 ++++++++++++++++++++++------------------ 1 files changed, 22 insertions(+), 18 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DriverV202404.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DriverV202404.java index 142836d..c504d5c 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DriverV202404.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DriverV202404.java @@ -1,13 +1,13 @@ package com.dy.common.mw.protocol.p206V202404; import com.dy.common.mw.protocol.*; -import com.dy.common.mw.protocol.p206V1_0_0.ProtocolConstantV206V1_0_0; +import com.dy.common.mw.protocol.p206V1.ProtocolConstantV206V1; +import com.dy.common.mw.protocol.p206V2.ProtocolConstantV206V2; import com.dy.common.util.DateTime; -import java.net.URI; -import java.net.URL; - -@AnnotationDriver(name= ProtocolConstantV206V202404.protocolName) +@AnnotationDriver(enable = true, + name= ProtocolConstantV206V202404.protocolName, + version= ProtocolConstantV206V202404.protocolVer) public class DriverV202404 extends Driver { private static String scanRootPackage = "com.dy.common.mw.protocol.p206V202404" ; @@ -17,7 +17,6 @@ private ParseParamsForDownV202404 downCpParams ; private Boolean reportOrResponse_trueOrFalse = null ; - private String rtuAddrInData = null ; public DriverV202404(){ upCpParams = new ParseParamsForUpV202404() ; @@ -36,7 +35,6 @@ this.downCpParams.clear(); } this.reportOrResponse_trueOrFalse = null ; - this.rtuAddrInData = null ; } /** @@ -44,7 +42,7 @@ */ @Override public void scanAnnotationCode() throws Exception{ - super.doScanAnnotationCode(this, ProtocolConstantV206V1_0_0.protocolName, scanRootPackage) ; + super.doScanAnnotationCode(this, ProtocolConstantV206V1.protocolName, scanRootPackage) ; } /** @@ -63,13 +61,12 @@ String upCode = null ; try{ CommonV202404 cp = new CommonV202404() ; - cp.checkHead(upBuffer) ; + Boolean p202404TrueUgFalse = cp.protocolType_p206TrueUgFalse(upBuffer) ; cp.checkTail(upBuffer) ; - String crcStr = cp.checkCrc_str(upBuffer) ; + String crcStr = cp.checkCrc_str(upBuffer, p202404TrueUgFalse) ; if(crcStr != null){ return new MidResult[]{(new MidResultError(ProtocolConstantV206V202404.protocolName, rtuAddr, "涓ラ噸閿欒锛屼笂琛屾暟鎹瓹RC妫�鏌ュけ璐ワ紝" + crcStr, null))} ; } - rtuAddr = cp.parseRtuAddr(upBuffer) ; upCode = cp.parseCode(upBuffer) ; if(upCode == null){ return new MidResult[]{(new MidResultError(ProtocolConstantV206V202404.protocolName, rtuAddr, "涓ラ噸閿欒锛屾湭鑳戒粠涓婅鏁版嵁涓В鏋愬嚭鍔熻兘鐮侊紒", null))} ; @@ -78,18 +75,20 @@ Data upData = new Data() ; upData.setRtuAddr(rtuAddr) ; upData.setProtocol(ProtocolConstantV206V202404.protocolName); + upData.setProtocolVer(ProtocolConstantV206V202404.protocolVer); upData.setCode(upCode) ; upData.setHex(upHex) ; - DataV202404 dV1_0_1 = new DataV202404() ; - //dV1_0_1.version = cp.parseVersion(upBuffer) ; - dV1_0_1.rtuAddr = rtuAddr ; - dV1_0_1.dt = DateTime.yyyy_MM_dd_HH_mm_ss() ; + DataV202404 dV201 = new DataV202404() ; + //dV201.version = cp.parseVersion(upBuffer) ; + dV201.rtuAddr = rtuAddr ; + dV201.dt = DateTime.yyyy_MM_dd_HH_mm_ss() ; - upData.setSubData(dV1_0_1) ; + upData.setSubData(dV201) ; this.upCpParams.setValue(ProtocolConstantV206V202404.protocolName, + ProtocolConstantV206V202404.protocolVer, rtuAddr, upCode, upHex, @@ -103,7 +102,11 @@ @Override public void callback(Boolean flag) { reportOrResponse_trueOrFalse = flag ; - rtuAddrInData = dV1_0_1.getRtuAddr() ; + //rtuAddrInData = dV201.getRtuAddr() ; + } + @Override + public void notify(NotifyInfo ...infos) { + notify.notify(rtuAddr, ProtocolConstantV206V1.protocolName, ProtocolConstantV206V1.protocolVer, infos); } }); } @@ -138,7 +141,8 @@ this.downCpParams.setValue( RtuResultSendWebUrl, - ProtocolConstantV206V202404.protocolName, + ProtocolConstantV206V202404.protocolName, + command.protocolVersion==null?ProtocolConstantV206V202404.protocolVer:command.protocolVersion, rtuAddr, command.getId(), commandCode, -- Gitblit v1.8.0