From 5fcdef2e8eec55221bb65a7a2cf91a4be7cc89ac Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期一, 02 十二月 2024 16:41:11 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeRtuDev.java | 121 ++++++++++++++++++++++----------------- 1 files changed, 68 insertions(+), 53 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 4490827..8e02203 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 @@ -31,7 +31,6 @@ public UpgradeRtuDev(UpgradeTaskVo taskVo, Integer failTryTimes , String rtuAddr, int totalPackage) { super(); - //this.task = task ; this.taskVo = taskVo ; this.failTryTimes = failTryTimes ; this.rtuAddr = rtuAddr ; @@ -46,7 +45,6 @@ public UpgradeRtuDev(UpgradeTaskVo taskVo, Integer failTryTimes, String rtuAddr, int totalPackage, int state) { super(); - //this.task = task ; this.taskVo = taskVo ; this.failTryTimes = failTryTimes ; this.rtuAddr = rtuAddr ; @@ -67,76 +65,93 @@ */ @Override public void trigger(String code, String protocolName, Short protocolVersion, byte[][] softData, Callback callbackCom){ - if(this.state == STATE_OFFLINE || this.state == STATE_UNSTART){ - //褰撳墠鏈紑濮嬪崌绾ц繃绋嬶紝涓嬪彂鍗囩骇閰嶇疆鎸囦护 - this.setStateAtCom1601Time(); - callbackCom.call(createCommand1601(protocolName, protocolVersion)); - }else if(this.state == STATE_RUNNING){ - //褰撳墠鍗囩骇杩囩▼涓� - if(code.equals(UpgradeCode.cd_9601)){ - //涓嬪彂閰嶇疆杩斿洖 - this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; - callbackCom.call(createCommand1602(protocolName, protocolVersion, currentPackage, currentRamAddr, softData));//涓嬪彂鏁版嵁鍖呮寚浠� - }else if(code.equals(UpgradeCode.cd_9602)){ - //涓嬪彂鏁版嵁鍖呰繑鍥� - currentPackage++ ; - currentRamAddr += RAMADDRADD ; - if(currentPackage < totalPackage){ + if(!this.isOver){ + //鍗囩骇鏈畬鎴� + if(this.state == STATE_OFFLINE || this.state == STATE_UNSTART){ + //褰撳墠鏈紑濮嬪崌绾ц繃绋嬶紝涓嬪彂鍗囩骇閰嶇疆鎸囦护 + this.setStateAtSendCom1601Time(); + callbackCom.call(createCommand1601(protocolName, protocolVersion)); + }else if(this.state == STATE_RUNNING){ + //褰撳墠鍗囩骇杩囩▼涓� + if(code.equals(UpgradeCode.cd_9601)){ + //涓嬪彂閰嶇疆杩斿洖 this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; - callbackCom.call(createCommand1602(protocolName, protocolVersion, currentPackage, currentRamAddr, softData)); - }else{ - this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; - callbackCom.call(createCommand1603(protocolName, protocolVersion));//涓嬪彂鏍¢獙鎸囦护 - } - }else if(code.equals(UpgradeCode.cd_9603)){ - //涓嬪彂鏍¢獙杩斿洖 - this.isOver = true ;//鍗囩骇瀹屾垚 - this.state = STATE_SUCCESS ; - this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; - callbackCom.call(createCommand1600(protocolName, protocolVersion));//涓嬪彂澶嶄綅鎸囦护锛屾鎸囦护鏃犲簲绛� - }else{ - if(!this.isOver){ - //鍗囩骇鏈畬鎴� - if(this.state == STATE_FAILONE || this.state == STATE_FAIL){ - //宸茬粡鏄崌绾уけ璐ユ�� - if(this.reTryTimes < this.failTryTimes){ - //閲嶈瘯娆℃暟鏈揪鍒颁笂闄愶紝缁х画閲嶈瘯 - this.reTryTimes += 1 ; - this.setStateAtCom1601Time(); - callbackCom.call(createCommand1601(protocolName, protocolVersion));//涓嬪彂閰嶇疆鎸囦护 - }else{ - this.isOver = true ;//鍗囩骇瀹屾垚 - } + callbackCom.call(createCommand1602(protocolName, protocolVersion, currentPackage, currentRamAddr, softData));//涓嬪彂鏁版嵁鍖呮寚浠� + }else if(code.equals(UpgradeCode.cd_9602)){ + //涓嬪彂鏁版嵁鍖呰繑鍥� + currentPackage++ ; + currentRamAddr += RAMADDRADD ; + if(currentPackage < totalPackage){ + this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; + callbackCom.call(createCommand1602(protocolName, protocolVersion, currentPackage, currentRamAddr, softData)); }else{ - //闈炲崌绾у姛鑳界爜锛屽鏋滃湪鍗囩骇杩囩▼涓敹鍒拌繖涓姛鑳界爜鐨勪笂琛屾暟鎹紝璇存槑鍗囩骇澶辫触浜� - if(currentPackage == 0 || currentPackage == 1){ - //1鍖呮锛屽崌绾уけ璐� - this.state = STATE_FAILONE ; - }else{ - //闈�1鍖呮锛屽崌绾уけ璐� - this.state = STATE_FAIL ; - } + this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; + callbackCom.call(createCommand1603(protocolName, protocolVersion));//涓嬪彂鏍¢獙鎸囦护 } + }else if(code.equals(UpgradeCode.cd_9603)){ + //涓嬪彂鏍¢獙杩斿洖 + this.setStateAtReceiveRes9603Time() ; + callbackCom.call(createCommand1600(protocolName, protocolVersion));//涓嬪彂澶嶄綅鎸囦护锛屾鎸囦护鏃犲簲绛� }else{ - //鍗囩骇瀹屾垚锛屾棤涓氬姟閫昏緫 + //褰撳墠鏄崌绾т腑鐘舵�侊紝骞朵笖鍗囩骇鏈畬鎴愶紝鏀跺埌浜嗛潪960X绯诲垪鍔熻兘鐮侊紝鍒欏崌绾уけ璐� + if(currentPackage == 0 || currentPackage == 1){ + //1鍖呮锛屽崌绾уけ璐� + this.state = STATE_FAILONE ; + }else{ + //闈�1鍖呮锛屽崌绾уけ璐� + this.state = STATE_FAIL ; + } } + }else if(this.state == STATE_FAILONE || this.state == STATE_FAIL){ + //涓婃璁剧疆浜嗗け璐ョ姸鎬侊紝骞朵笖鍗囩骇鏈畬鎴愶紝鏀跺埌浜嗛潪960X绯诲垪鍔熻兘鐮侊紝鍒欏崌绾уけ璐� + if(this.reTryTimes < this.failTryTimes){ + //閲嶈瘯娆℃暟鏈揪鍒颁笂闄愶紝缁х画閲嶈瘯 + this.reTryTimes += 1 ; + this.setStateAtSendCom1601Time(); + callbackCom.call(createCommand1601(protocolName, protocolVersion));//涓嬪彂閰嶇疆鎸囦护 + }else{ + //鍗囩骇澶辫触锛屽苟涓旈噸璇曟鏁拌揪鍒颁笂闄愶紝寮哄埗璁剧疆鍗囩骇瀹屾垚 + this.isOver = true ; + } + }else if(this.state == STATE_SUCCESS){ + //鍗囩骇鎴愬姛鎬侊紝涓嶄細鍑虹幇姝ゆ儏鍐碉紝鍥犱负璁剧疆涓烘垚鍔熸�佹椂锛屽崌绾х粨鏉熷睘鎬sOver璁剧疆涓簍rue浜� + //涓哄畨鍏ㄨ锛岃繖閲屽啀璁剧疆涓虹粨鏉熸�� + this.isOver = true ; + }else if(this.state == STATE_FAILOFFLINE){ + //宸茬粡琚叾浠栭�昏緫妯″潡寮哄埗璁剧疆鎴愮绾垮け璐ユ�佷簡锛屼笉浼氬嚭鐜版鎯呭喌锛屽洜涓鸿缃负绂荤嚎澶辫触鎬佹椂锛屽崌绾х粨鏉熷睘鎬sOver璁剧疆涓簍rue浜� + //杩欓噷涓嶅啀鏈変綔涓� + //涓哄畨鍏ㄨ锛岃繖閲屽啀璁剧疆涓虹粨鏉熸�� + this.isOver = true ; + }else{ + //鍏朵粬鐘舵�侊紙娌℃湁鍏朵粬鎬佷簡锛岄櫎闈炲啀璁捐寮�鍙戞椂澧炲姞浜嗙姸鎬侊級 + //涓哄畨鍏ㄨ锛岃繖閲屽啀璁剧疆涓虹粨鏉熸�� + this.isOver = true ; } }else{ - //鍦ㄥ叾浠栫姸鎬佷笅锛屼笉瑙﹀彂浠诲姟宸ヤ綔 + //鍗囩骇瀹屾垚锛屾棤涓氬姟閫昏緫 } } /** * 璁剧疆鍙戦�侀厤缃懡浠ゆ椂鍒荤殑鐘舵�� */ - private void setStateAtCom1601Time(){ - this.state = STATE_RUNNING; + private void setStateAtSendCom1601Time(){ + this.state = STATE_RUNNING;//鍗囩骇杩涜涓� this.currentPackage = 0 ; this.currentRamAddr = 0 ; this.isOver = false ; this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; } + /** + * 璁剧疆1603鎸囦护杩斿洖鏃跺埢鐨勭姸鎬� + */ + private void setStateAtReceiveRes9603Time(){ + this.isOver = true ;//鍗囩骇瀹屾垚 + this.state = STATE_SUCCESS ; + this.lastDownDt = DateTime.yyyy_MM_dd_HH_mm_ss() ; + } + @Override public Command createCommand1601(String protocolName, Short protocolVersion){ Command com = new Command() ; -- Gitblit v1.8.0