From 70aeac289c132085e91d59dc82bc1facd41889fa Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期一, 24 二月 2025 15:33:53 +0800 Subject: [PATCH] 有关表阀一体机(王江海制定)通信协议: 1、根据新版本协议,解析部分更新; 2、根据测试一体阀协议数据处理需求与逻辑,进行表阀一体机数据处理。 --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeRtuDev.java | 35 ++++++++++++++++++++++++++++++++--- 1 files changed, 32 insertions(+), 3 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeRtuDev.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeRtuDev.java index 8e02203..d9dda58 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeRtuDev.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeRtuDev.java @@ -3,6 +3,9 @@ import com.alibaba.fastjson2.annotation.JSONField; import com.dy.common.mw.protocol.Command; import com.dy.common.mw.protocol.CommandType; +import com.dy.common.mw.protocol.MidResult; +import com.dy.common.mw.protocol.MidResultFromRtu; +import com.dy.common.mw.protocol.p206V1.upVos.DataCd960XVo; import com.dy.common.softUpgrade.Com1601Vo; import com.dy.common.softUpgrade.state.UpgradeRtu; import com.dy.common.softUpgrade.state.UpgradeTaskVo; @@ -39,6 +42,7 @@ this.currentPackage = 0 ; this.currentRamAddr = 0 ; this.lastDownDt = "" ; + this.lastDownDtAt = 0L ; this.reTryTimes = 0 ; this.isOver = false ; } @@ -53,6 +57,7 @@ this.currentPackage = 0 ; this.currentRamAddr = 0 ; this.lastDownDt = "" ; + this.lastDownDtAt = 0L ; this.reTryTimes = 0 ; this.isOver = false ; } @@ -62,9 +67,10 @@ * @param code * @param softData * @param callbackCom + * @param objects */ @Override - public void trigger(String code, String protocolName, Short protocolVersion, byte[][] softData, Callback callbackCom){ + public void trigger(String code, String protocolName, Short protocolVersion, byte[][] softData, Callback callbackCom, Object ...objects){ if(!this.isOver){ //鍗囩骇鏈畬鎴� if(this.state == STATE_OFFLINE || this.state == STATE_UNSTART){ @@ -76,6 +82,7 @@ if(code.equals(UpgradeCode.cd_9601)){ //涓嬪彂閰嶇疆杩斿洖 this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; + this.lastDownDtAt = System.currentTimeMillis() ; callbackCom.call(createCommand1602(protocolName, protocolVersion, currentPackage, currentRamAddr, softData));//涓嬪彂鏁版嵁鍖呮寚浠� }else if(code.equals(UpgradeCode.cd_9602)){ //涓嬪彂鏁版嵁鍖呰繑鍥� @@ -83,14 +90,16 @@ currentRamAddr += RAMADDRADD ; if(currentPackage < totalPackage){ this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; + this.lastDownDtAt = System.currentTimeMillis() ; callbackCom.call(createCommand1602(protocolName, protocolVersion, currentPackage, currentRamAddr, softData)); }else{ this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; + this.lastDownDtAt = System.currentTimeMillis() ; callbackCom.call(createCommand1603(protocolName, protocolVersion));//涓嬪彂鏍¢獙鎸囦护 } }else if(code.equals(UpgradeCode.cd_9603)){ //涓嬪彂鏍¢獙杩斿洖 - this.setStateAtReceiveRes9603Time() ; + this.setStateAtReceiveRes9603Time(objects) ; callbackCom.call(createCommand1600(protocolName, protocolVersion));//涓嬪彂澶嶄綅鎸囦护锛屾鎸囦护鏃犲簲绛� }else{ //褰撳墠鏄崌绾т腑鐘舵�侊紝骞朵笖鍗囩骇鏈畬鎴愶紝鏀跺埌浜嗛潪960X绯诲垪鍔熻兘鐮侊紝鍒欏崌绾уけ璐� @@ -141,15 +150,35 @@ this.currentRamAddr = 0 ; this.isOver = false ; this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; + this.lastDownDtAt = System.currentTimeMillis() ; } /** * 璁剧疆1603鎸囦护杩斿洖鏃跺埢鐨勭姸鎬� */ - private void setStateAtReceiveRes9603Time(){ + private void setStateAtReceiveRes9603Time(Object ...objects){ this.isOver = true ;//鍗囩骇瀹屾垚 this.state = STATE_SUCCESS ; + if(objects != null && objects.length > 0){ + if(objects[0] instanceof com.dy.common.mw.protocol.p206V1.upVos.DataCd960XVo){ + com.dy.common.mw.protocol.p206V1.upVos.DataCd960XVo vo = (com.dy.common.mw.protocol.p206V1.upVos.DataCd960XVo)objects[0] ; + if(vo != null && !vo.success){ + this.state = STATE_FAILRTU ; + } + } else if(objects[0] instanceof com.dy.common.mw.protocol.p206V2.upVos.DataCd960XVo){ + com.dy.common.mw.protocol.p206V2.upVos.DataCd960XVo vo = (com.dy.common.mw.protocol.p206V2.upVos.DataCd960XVo)objects[0] ; + if(vo != null && !vo.success){ + this.state = STATE_FAILRTU ; + } + } else if(objects[0] instanceof com.dy.common.mw.protocol.p206V202404.upVos.DataCd960XVo){ + com.dy.common.mw.protocol.p206V202404.upVos.DataCd960XVo vo = (com.dy.common.mw.protocol.p206V202404.upVos.DataCd960XVo)objects[0] ; + if(vo != null && !vo.success){ + this.state = STATE_FAILRTU ; + } + } + } this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; + this.lastDownDtAt = System.currentTimeMillis() ; } @Override -- Gitblit v1.8.0