From 0cbe3bf67b051b6e66861ea97da2aea08e1fb2ad Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期四, 05 十二月 2024 17:40:37 +0800 Subject: [PATCH] 实现RTU阀开状态不长级功能设置与实现 --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java | 3 + pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml | 6 +++ pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java | 3 + pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(sp沙盘).xml | 4 ++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(test测试).xml | 4 ++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnitConfigVo.java | 4 ++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(ym元谋).xml | 4 ++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java | 16 +++++++- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java | 33 ++++++++++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeResSv.java | 8 +++ pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeRtu.java | 10 ++++ 11 files changed, 90 insertions(+), 5 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeRtu.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeRtu.java index ef50911..41b06f6 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeRtu.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeRtu.java @@ -14,6 +14,8 @@ public class UpgradeRtu { @JSONField(serialize = false) + public static final int STATE_OPEN = -2 ;//-1-闃�寮�锛堟车寮�锛変笉鑳藉崌绾� + @JSONField(serialize = false) public static final int STATE_OFFLINE = -1 ;//-1-绂荤嚎 @JSONField(serialize = false) public static final int STATE_UNSTART = 0 ;//0-鏈紑濮� @@ -28,10 +30,12 @@ @JSONField(serialize = false) public static final int STATE_FAILOFFLINE = 5 ;//4-鍗囩骇澶辫触锛堢绾匡級 @JSONField(serialize = false) + public static final int STATE_FAILOPEN = 6 ;//4-鍗囩骇澶辫触锛堥榾寮�锛� + @JSONField(serialize = false) public static final int RAMADDRADD = 0x200 ;//绋嬪簭瀛樺偍鍐呭瓨鍦ㄥ潃澧為噺 public String rtuAddr ; - public int state ;// -1-绂荤嚎锛�0-鏈紑濮嬶紝1-鍗囩骇涓紝2-鍗囩骇鎴愬姛锛�3-鍗囩骇澶辫触锛�1鍖呮锛夛紝4-鍗囩骇澶辫触锛堥潪1鍖呮锛夛紝5-鍗囩骇澶辫触锛堢绾匡級 + public int state ;// -1-绂荤嚎锛�0-鏈紑濮嬶紝1-鍗囩骇涓紝2-鍗囩骇鎴愬姛锛�3-鍗囩骇澶辫触锛�1鍖呮锛夛紝4-鍗囩骇澶辫触锛堥潪1鍖呮锛夛紝5-鍗囩骇澶辫触锛堢绾匡級锛�6-鍗囩骇澶辫触锛堥榾寮�锛� public int totalPackage ;// 鎬诲寘鏁� public int currentPackage ;// 褰撳墠涓嬪彂鍗囩骇鍖呮暟 public int currentRamAddr ;// 褰撳墠涓嬪彂鍗囩骇鍖匯TU瀛樺偍鍦板潃 @@ -55,6 +59,8 @@ public static String getStateName(int state){ switch (state) { + case STATE_OPEN: + return "闃�寮�"; case STATE_OFFLINE: return "绂荤嚎"; case STATE_UNSTART: @@ -69,6 +75,8 @@ return "澶氬寘姝�"; case STATE_FAILOFFLINE: return "绂荤嚎澶辫触"; + case STATE_FAILOPEN: + return "闃�寮�澶辫触"; default: return "鏈煡"; } diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java index 9c98e77..eaefce6 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeState.java @@ -20,6 +20,7 @@ public int dieOneTotal;//鎵�鏈変竴鍖呮 public int dieMultiTotal;//鎵�鏈夊鍖呮 public int failOffTotal ;//鎵�鏈夌绾垮け璐� + public int failOpenTotal ;//鎵�鏈夐榾寮�澶辫触 public Boolean allOver ;//鎵�鏈夐兘缁撴潫锛坱rue:鏄紝false:鍚︼級 @@ -38,6 +39,7 @@ this.dieOneTotal = 0; this.dieMultiTotal = 0; this.failOffTotal = 0; + this.failOpenTotal = 0; this.allOver = false ; } @@ -54,6 +56,7 @@ sb.append(" \n涓�鍖呮澶辫触鎬绘暟锛�" + dieOneTotal) ; sb.append(" \n澶氬寘姝诲け璐ユ�绘暟锛�" + dieMultiTotal) ; sb.append(" \n绂荤嚎澶辫触鎬绘暟锛�" + failOffTotal) ; + sb.append(" \n闃�寮�澶辫触鎬绘暟锛�" + failOpenTotal) ; sb.append(" \n鍏ㄧ粨鏉燂細" + allOver) ; return sb.toString() ; } diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java index 816c25a..09521d0 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java @@ -336,6 +336,9 @@ //RTU杩滅▼鍗囩骇妯″潡 UpgradeUnitConfigVo ugVo = new UpgradeUnitConfigVo(); ugVo.enable = conf.getSetAttrBoolean(doc, "config.upgrade", "enable", null, null) ; + ugVo.openNoUpgrade = conf.getSetAttrBoolean(doc, "config.upgrade", "openNoUpgrade", null, null) ; + ugVo.lastOpenMaxGoOn = conf.getSetAttrPlusInt(doc, "config.upgrade", "lastOpenMaxGoOn", null, 5, 360000, null); + ugVo.lastOpenMaxGoOn = ugVo.lastOpenMaxGoOn * 1000 ;//鍙樻垚姣 ugVo.noOneRtuUpgradeMaxDuration = conf.getSetAttrPlusInt(doc, "config.upgrade", "noOneRtuUpgradeMaxDuration", null, 5, 360000, null); ugVo.noOneRtuUpgradeMaxDuration = ugVo.noOneRtuUpgradeMaxDuration * 1000 ;//鍙樻垚姣 ugVo.runningAndIdleDuration = conf.getSetAttrPlusInt(doc, "config.upgrade", "runningAndIdleDuration", null, 5, 360000, null); diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java index bd52b71..39943c2 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeManager.java @@ -25,13 +25,15 @@ private static final UpgradeManager INSTANCE = new UpgradeManager(); + private Boolean openNoUpgrade ;//闃�寮�锛堟车寮�锛変笉鎵ц鍗囩骇 + private Integer lastOpenMaxGoOn ;//闃�寮�锛堟车寮�锛夌姸鎬佽缃互鏉ユ寔缁渶闀挎椂闂达紙绉掗挓锛夛紝瓒呰繃杩欎釜鏃堕棿璁や负鐘舵�佹棤鏁堬紙杩欎釜鏃堕暱鍙栧喅浜庡伐浣滄姤闂撮殧锛� private Integer failTryTimes ;//鍗囩骇澶辫触鍚庯紝閲嶆柊鍋胯瘯鍗囩骇娆℃暟锛�0琛ㄧず涓嶉噸鏂板伩璇曞崌绾� private Integer ugMaxRtuSameTime ;//鍚屾椂鍗囩骇RTU鏈�澶т釜鏁� private Integer notifyTimesAfterOver; //鍗囩骇缁撴潫鍚庯紝鍐嶅悜web鏈嶅姟绯荤粺閫氱煡鐘舵�佺殑娆℃暟 private int nowNotifyTimesAfterOver; //鍗囩骇缁撴潫鍚庯紝鍐嶅悜web鏈嶅姟绯荤粺閫氱煡鐘舵�佺殑娆℃暟 private UpgradeTask task ;//鍗囩骇浠诲姟 - private boolean monitorFirst = true ;//鏄惁鏄涓�娆$洃瑙� + private boolean monitorFirst ;//鏄惁鏄涓�娆$洃瑙� private UpgradeManager(){ monitorFirst = true ; @@ -45,6 +47,8 @@ * 鍒濆鍖栭厤缃俊鎭� */ public void initOption(UpgradeUnitConfigVo configVo) { + this.openNoUpgrade = configVo.openNoUpgrade; + this.lastOpenMaxGoOn = configVo.lastOpenMaxGoOn; this.failTryTimes = configVo.failTryTimes; this.ugMaxRtuSameTime = configVo.ugMaxRtuAtOnce; this.notifyTimesAfterOver = configVo.notifyTimesAfterOver; @@ -65,9 +69,10 @@ this.task.forceOver(); } this.task = new UpgradeTask(); - this.task.initOption(this.failTryTimes, this.ugMaxRtuSameTime); + this.task.initOption(this.lastOpenMaxGoOn, this.failTryTimes, this.ugMaxRtuSameTime); this.task.setTask(vo); this.nowNotifyTimesAfterOver = 0 ; + this.monitorFirst = true ; log.info("======================================================") ; log.info("= =") ; log.info("=璁剧疆浜嗗崌绾т换鍔★紝娑夊強RTU" + vo.rtuAddrList.size() + "鍙� =") ; @@ -195,6 +200,12 @@ this.stop() ; }else{ if(!this.task.taskIsOver){ + if(this.openNoUpgrade != null + && this.openNoUpgrade.booleanValue() + && this.monitorFirst){ + //绗竴娆¤繘鍏ワ紝杩涜闃�寮�涓嶅崌绾у鐞� + this.task.openNoUpgrade() ; + } this.nowNotifyTimesAfterOver = 0 ; //鍗囩骇浠诲姟鏈畬鎴� //宸ヤ綔1锛氬垽鏂槸鍚︽棤浠讳綍涓�涓猂TU杩涜杩囧崌绾э紝骞朵笖杈惧埌鏃堕檺锛屽垯璁や负褰撳墠鍗囩骇浠诲姟瀹屾垚 @@ -309,6 +320,7 @@ return true ; } + /** * 鍗囩骇鐘舵�侀�氱煡 */ diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java index 81fa856..c5d795e 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java @@ -1,12 +1,14 @@ package com.dy.rtuMw.server.upgrade; import com.alibaba.fastjson2.annotation.JSONField; +import com.dy.common.mw.protocol.rtuState.RtuStatus; import com.dy.common.softUpgrade.parse.HexFileParse; import com.dy.common.softUpgrade.state.UpgradeRtu; import com.dy.common.softUpgrade.state.UpgradeState; import com.dy.common.softUpgrade.state.UpgradeTaskVo; import com.dy.common.util.Callback; import com.dy.common.util.DateTime; +import com.dy.rtuMw.server.forTcp.RtuStatusDealer; import lombok.Data; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -32,6 +34,8 @@ protected Integer failTryTimes ;//鍗囩骇澶辫触鍚庯紝閲嶆柊鍋胯瘯鍗囩骇娆℃暟锛�0琛ㄧず涓嶉噸鏂板伩璇曞崌绾� @JSONField(serialize = false) protected Integer ugMaxRtuSameTime ;//鍚屾椂鍗囩骇RTU鏈�澶т釜鏁� + @JSONField(serialize = false) + private Integer lastOpenMaxGoOn ;//闃�寮�锛堟车寮�锛夌姸鎬佽缃互鏉ユ寔缁渶闀挎椂闂达紙绉掗挓锛夛紝瓒呰繃杩欎釜鏃堕棿璁や负鐘舵�佹棤鏁堬紙杩欎釜鏃堕暱鍙栧喅浜庡伐浣滄姤闂撮殧锛� public String setupDt ;//璁剧疆鏃堕棿(yyyy-mm-dd HH:MM:SS) @JSONField(serialize = false) @@ -60,7 +64,8 @@ /** * 鍒濆鍖栭厤缃俊鎭� */ - public void initOption(Integer failTryTimes, Integer ugMaxRtuSameTime) { + public void initOption(Integer lastOpenMaxGoOn, Integer failTryTimes, Integer ugMaxRtuSameTime) { + this.lastOpenMaxGoOn = lastOpenMaxGoOn; this.failTryTimes = failTryTimes; this.ugMaxRtuSameTime = ugMaxRtuSameTime; } @@ -222,6 +227,9 @@ }else if(info.state == UpgradeRtu.STATE_FAILOFFLINE) { state.failTotal++; state.failOffTotal++; + }else if(info.state == UpgradeRtu.STATE_FAILOPEN) { + state.failTotal++; + state.failOpenTotal++; } if(info.isOver){ state.overTotal++; @@ -282,6 +290,29 @@ /////////////////////////////////////////////////////////// /** + * 闃�寮�锛堟车寮�锛変笉鍗囩骇澶勭悊 + */ + protected void openNoUpgrade(){ + if(this.upgradeRtus != null && this.upgradeRtus.size() > 0){ + Map<String, RtuStatus> rsAllMap = RtuStatusDealer.allStatus() ; + Long now = System.currentTimeMillis() ; + this.upgradeRtus.values().stream().forEach(a -> { + RtuStatus rs = rsAllMap.get(a.rtuAddr) ; + if(rs != null + && rs.valveOpenTrueCloseFalse != null && rs.valveOpenTrueCloseFalse.booleanValue() == true + && rs.valveStatusLastTimeStamp != null){ + //鏈夌姸鎬侊紝骞朵笖鏄榾寮�锛堟车寮�锛� + Long gap = now - rs.valveStatusLastTimeStamp ; + if(gap < this.lastOpenMaxGoOn){ + //杩欐椂閲囩撼闃�闂ㄦ墦寮�鐘舵�佷笉鑳藉崌绾� + a.isOver = true ; + a.state = UpgradeRtu.STATE_FAILOPEN ; + } + } + }); + } + } + /** * 鍒ゆ柇鏄惁娌$敤浠讳綍涓�涓猂TU杩涜杩囧崌绾э紝鑰屼笖瓒呰繃浜嗘椂闄� * @return -1:鏃犱竴RTU鍗囩骇涓旇秴鏃讹紝0锛氭棤RTU鍗囩骇浣嗘湭瓒呮椂绛夊緟锛�1鏈塕TU鍗囩骇姝e父鎵ц */ diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnitConfigVo.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnitConfigVo.java index dcd84f7..6adbf52 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnitConfigVo.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeUnitConfigVo.java @@ -9,6 +9,8 @@ public Boolean showStartInfo ; public Boolean enable ;//妯″潡鏄惁鍚姩 + public Boolean openNoUpgrade ;//闃�寮�锛堟车寮�锛変笉鎵ц鍗囩骇 + public Integer lastOpenMaxGoOn; //闃�寮�锛堟车寮�锛夌姸鎬佽缃互鏉ユ寔缁渶闀挎椂闂达紙绉掗挓锛夛紝瓒呰繃杩欎釜鏃堕棿璁や负鐘舵�佹棤鏁堬紙杩欎釜鏃堕暱鍙栧喅浜庡伐浣滄姤闂撮殧锛� public Integer noOneRtuUpgradeMaxDuration ;//鍗囩骇浠诲姟璁剧疆鍚庯紝娌℃湁璁惧鍗囩骇鏈�澶ф椂闀匡紙姣锛夛紝瓒呰繃杩欎釜鏃堕暱锛岃涓哄崌绾т换鍔″畬鎴愶紝鍙栧�艰寖鍥存槸5鍒嗛挓~60鍒嗛挓 public Integer runningAndIdleDuration ;//rtu鍗囩骇鍚姩鍚庤繘鍏ュ崌绾т腑鐘舵�侊紝浣嗘煇绉嶆儏鍐典笅RTU涓嶅啀閫氫俊浜嗭紝涓�鐩村浜庣瓑寰呯姸鎬侊紝绛夊緟杈惧埌涓�瀹氭椂闀匡紙绉掞級璁や负鍗囩骇澶辫触锛堜竴鍖呮鎴栧鍖呮锛夛紝鍙栧�艰寖鍥存槸5鍒嗛挓~60鍒嗛挓 public Integer failTryTimes ;//鍗囩骇澶辫触鍚庯紙閽堝鐨勬槸鍦ㄧ嚎杩涜浜嗗崌绾т笅鍙戝懡浠わ級锛岄噸鏂板伩璇曞崌绾ф鏁帮紝0琛ㄧず涓嶉噸鏂板伩璇曞崌绾� @@ -19,6 +21,8 @@ public UpgradeUnitConfigVo(){ this.enable = false ; + this.openNoUpgrade = true ; + this.lastOpenMaxGoOn = 30 * 60 * 1000 ; this.noOneRtuUpgradeMaxDuration = 10 * 60 * 1000 ; this.runningAndIdleDuration = 10 * 60 * 1000 ; this.failTryTimes = 0 ; diff --git "a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050sp\346\262\231\347\233\230\051.xml" "b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050sp\346\262\231\347\233\230\051.xml" index 0dc339e..9a6b456 100644 --- "a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050sp\346\262\231\347\233\230\051.xml" +++ "b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050sp\346\262\231\347\233\230\051.xml" @@ -56,6 +56,8 @@ <!-- RTU 杞欢鍗囩骇 enable: 妯″潡鏄惁鍚姩 + openNoUpgrade: 闃�寮�锛堟车寮�锛変笉鎵ц鍗囩骇 + lastOpenMaxGoOn: 闃�寮�锛堟车寮�锛夌姸鎬佽缃互鏉ユ寔缁渶闀挎椂闂达紙绉掗挓锛夛紝瓒呰繃杩欎釜鏃堕棿璁や负鐘舵�佹棤鏁堬紙杩欎釜鏃堕暱鍙栧喅浜庡伐浣滄姤闂撮殧锛� noOneRtuUpgradeMaxDuration锛氬崌绾т换鍔¤缃悗锛屾棤涓�璁惧鍗囩骇鏈�澶ф椂闀匡紙绉掞級锛岃秴杩囪繖涓椂闀匡紝璁や负鍗囩骇浠诲姟瀹屾垚锛屽彇鍊艰寖鍥存槸5鍒嗛挓~60鍒嗛挓 runningAndIdleDuration锛歳tu鍗囩骇鍚姩鍚庤繘鍏ュ崌绾т腑鐘舵�侊紝浣嗘煇绉嶆儏鍐典笅RTU涓嶅啀閫氫俊浜嗭紝涓�鐩村浜庣瓑寰呯姸鎬侊紝绛夊緟杈惧埌涓�瀹氭椂闀匡紙绉掞紝涓�鑸笌noOneRtuUpgradeMaxDuration鐩哥瓑锛夎涓哄崌绾уけ璐ワ紙涓�鍖呮鎴栧鍖呮锛夛紝鍙栧�艰寖鍥存槸5鍒嗛挓~60鍒嗛挓 failTryTimes锛氬崌绾уけ璐ュ悗锛堥拡瀵圭殑鏄湪绾胯繘琛屼簡鍗囩骇涓嬪彂鍛戒护锛夛紝閲嶆柊鍋胯瘯鍗囩骇娆℃暟锛屽綋璁剧疆涓�0鏃惰〃绀轰笉閲嶆柊鍋胯瘯鍗囩骇 @@ -65,6 +67,8 @@ notifyTimesAfterOver: 鍗囩骇缁撴潫鍚庯紝鍐嶅悜web鏈嶅姟绯荤粺閫氱煡鐘舵�佺殑娆℃暟 --> <upgrade enable="true" + openNoUpgrade="true" + lastOpenMaxGoOn="1800" noOneRtuUpgradeMaxDuration="1200" runningAndIdleDuration="1200" failTryTimes="2" diff --git "a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050test\346\265\213\350\257\225\051.xml" "b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050test\346\265\213\350\257\225\051.xml" index e51b322..f399cc7 100644 --- "a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050test\346\265\213\350\257\225\051.xml" +++ "b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050test\346\265\213\350\257\225\051.xml" @@ -56,6 +56,8 @@ <!-- RTU 杞欢鍗囩骇 enable: 妯″潡鏄惁鍚姩 + openNoUpgrade: 闃�寮�锛堟车寮�锛変笉鎵ц鍗囩骇 + lastOpenMaxGoOn: 闃�寮�锛堟车寮�锛夌姸鎬佽缃互鏉ユ寔缁渶闀挎椂闂达紙绉掗挓锛夛紝瓒呰繃杩欎釜鏃堕棿璁や负鐘舵�佹棤鏁堬紙杩欎釜鏃堕暱鍙栧喅浜庡伐浣滄姤闂撮殧锛� noOneRtuUpgradeMaxDuration锛氬崌绾т换鍔¤缃悗锛屾棤涓�璁惧鍗囩骇鏈�澶ф椂闀匡紙绉掞級锛岃秴杩囪繖涓椂闀匡紝璁や负鍗囩骇浠诲姟瀹屾垚锛屽彇鍊艰寖鍥存槸5鍒嗛挓~60鍒嗛挓 runningAndIdleDuration锛歳tu鍗囩骇鍚姩鍚庤繘鍏ュ崌绾т腑鐘舵�侊紝浣嗘煇绉嶆儏鍐典笅RTU涓嶅啀閫氫俊浜嗭紝涓�鐩村浜庣瓑寰呯姸鎬侊紝绛夊緟杈惧埌涓�瀹氭椂闀匡紙绉掞紝涓�鑸笌noOneRtuUpgradeMaxDuration鐩哥瓑锛夎涓哄崌绾уけ璐ワ紙涓�鍖呮鎴栧鍖呮锛夛紝鍙栧�艰寖鍥存槸5鍒嗛挓~60鍒嗛挓 failTryTimes锛氬崌绾уけ璐ュ悗锛堥拡瀵圭殑鏄湪绾胯繘琛屼簡鍗囩骇涓嬪彂鍛戒护锛夛紝閲嶆柊鍋胯瘯鍗囩骇娆℃暟锛屽綋璁剧疆涓�0鏃惰〃绀轰笉閲嶆柊鍋胯瘯鍗囩骇 @@ -65,6 +67,8 @@ notifyTimesAfterOver: 鍗囩骇缁撴潫鍚庯紝鍐嶅悜web鏈嶅姟绯荤粺閫氱煡鐘舵�佺殑娆℃暟 --> <upgrade enable="true" + openNoUpgrade="true" + lastOpenMaxGoOn="1800" noOneRtuUpgradeMaxDuration="1200" runningAndIdleDuration="1200" failTryTimes="2" diff --git "a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050ym\345\205\203\350\260\213\051.xml" "b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050ym\345\205\203\350\260\213\051.xml" index 289bac9..dcd78cc 100644 --- "a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050ym\345\205\203\350\260\213\051.xml" +++ "b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config\050ym\345\205\203\350\260\213\051.xml" @@ -56,6 +56,8 @@ <!-- RTU 杞欢鍗囩骇 enable: 妯″潡鏄惁鍚姩 + openNoUpgrade: 闃�寮�锛堟车寮�锛変笉鎵ц鍗囩骇 + lastOpenMaxGoOn: 闃�寮�锛堟车寮�锛夌姸鎬佽缃互鏉ユ寔缁渶闀挎椂闂达紙绉掗挓锛夛紝瓒呰繃杩欎釜鏃堕棿璁や负鐘舵�佹棤鏁堬紙杩欎釜鏃堕暱鍙栧喅浜庡伐浣滄姤闂撮殧锛� noOneRtuUpgradeMaxDuration锛氬崌绾т换鍔¤缃悗锛屾棤涓�璁惧鍗囩骇鏈�澶ф椂闀匡紙绉掞級锛岃秴杩囪繖涓椂闀匡紝璁や负鍗囩骇浠诲姟瀹屾垚锛屽彇鍊艰寖鍥存槸5鍒嗛挓~60鍒嗛挓 runningAndIdleDuration锛歳tu鍗囩骇鍚姩鍚庤繘鍏ュ崌绾т腑鐘舵�侊紝浣嗘煇绉嶆儏鍐典笅RTU涓嶅啀閫氫俊浜嗭紝涓�鐩村浜庣瓑寰呯姸鎬侊紝绛夊緟杈惧埌涓�瀹氭椂闀匡紙绉掞紝涓�鑸笌noOneRtuUpgradeMaxDuration鐩哥瓑锛夎涓哄崌绾уけ璐ワ紙涓�鍖呮鎴栧鍖呮锛夛紝鍙栧�艰寖鍥存槸5鍒嗛挓~60鍒嗛挓 failTryTimes锛氬崌绾уけ璐ュ悗锛堥拡瀵圭殑鏄湪绾胯繘琛屼簡鍗囩骇涓嬪彂鍛戒护锛夛紝閲嶆柊鍋胯瘯鍗囩骇娆℃暟锛屽綋璁剧疆涓�0鏃惰〃绀轰笉閲嶆柊鍋胯瘯鍗囩骇 @@ -65,6 +67,8 @@ notifyTimesAfterOver: 鍗囩骇缁撴潫鍚庯紝鍐嶅悜web鏈嶅姟绯荤粺閫氱煡鐘舵�佺殑娆℃暟 --> <upgrade enable="true" + openNoUpgrade="true" + lastOpenMaxGoOn="1800" noOneRtuUpgradeMaxDuration="1200" runningAndIdleDuration="1200" failTryTimes="2" diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml index 181dafb..dcd78cc 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml @@ -56,6 +56,8 @@ <!-- RTU 杞欢鍗囩骇 enable: 妯″潡鏄惁鍚姩 + openNoUpgrade: 闃�寮�锛堟车寮�锛変笉鎵ц鍗囩骇 + lastOpenMaxGoOn: 闃�寮�锛堟车寮�锛夌姸鎬佽缃互鏉ユ寔缁渶闀挎椂闂达紙绉掗挓锛夛紝瓒呰繃杩欎釜鏃堕棿璁や负鐘舵�佹棤鏁堬紙杩欎釜鏃堕暱鍙栧喅浜庡伐浣滄姤闂撮殧锛� noOneRtuUpgradeMaxDuration锛氬崌绾т换鍔¤缃悗锛屾棤涓�璁惧鍗囩骇鏈�澶ф椂闀匡紙绉掞級锛岃秴杩囪繖涓椂闀匡紝璁や负鍗囩骇浠诲姟瀹屾垚锛屽彇鍊艰寖鍥存槸5鍒嗛挓~60鍒嗛挓 runningAndIdleDuration锛歳tu鍗囩骇鍚姩鍚庤繘鍏ュ崌绾т腑鐘舵�侊紝浣嗘煇绉嶆儏鍐典笅RTU涓嶅啀閫氫俊浜嗭紝涓�鐩村浜庣瓑寰呯姸鎬侊紝绛夊緟杈惧埌涓�瀹氭椂闀匡紙绉掞紝涓�鑸笌noOneRtuUpgradeMaxDuration鐩哥瓑锛夎涓哄崌绾уけ璐ワ紙涓�鍖呮鎴栧鍖呮锛夛紝鍙栧�艰寖鍥存槸5鍒嗛挓~60鍒嗛挓 failTryTimes锛氬崌绾уけ璐ュ悗锛堥拡瀵圭殑鏄湪绾胯繘琛屼簡鍗囩骇涓嬪彂鍛戒护锛夛紝閲嶆柊鍋胯瘯鍗囩骇娆℃暟锛屽綋璁剧疆涓�0鏃惰〃绀轰笉閲嶆柊鍋胯瘯鍗囩骇 @@ -65,6 +67,8 @@ notifyTimesAfterOver: 鍗囩骇缁撴潫鍚庯紝鍐嶅悜web鏈嶅姟绯荤粺閫氱煡鐘舵�佺殑娆℃暟 --> <upgrade enable="true" + openNoUpgrade="true" + lastOpenMaxGoOn="1800" noOneRtuUpgradeMaxDuration="1200" runningAndIdleDuration="1200" failTryTimes="2" @@ -73,6 +77,8 @@ notifyStateInterval="2" notifyTimesAfterOver="1" /> + + <!-- 鏀寔妯″潡 鐭伐浣滄椂闀跨嚎绋嬫睜锛岀嚎绋嬭礋璐g敤鏃惰緝鐭殑宸ヤ綔浠诲姟 diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeResSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeResSv.java index 03c204d..9e7d9cc 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeResSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeResSv.java @@ -87,7 +87,8 @@ ok = rtu.state == UpgradeRtu.STATE_OFFLINE || rtu.state == UpgradeRtu.STATE_FAILONE || rtu.state == UpgradeRtu.STATE_FAIL - || rtu.state == UpgradeRtu.STATE_FAILOFFLINE; + || rtu.state == UpgradeRtu.STATE_FAILOFFLINE + || rtu.state == UpgradeRtu.STATE_FAILOPEN; } } if(qvoRtuAddr != null && !qvoRtuAddr.trim().equals("")){ @@ -117,6 +118,11 @@ vo.rtuAddr = rtu.rtuAddr ; vo.result = "绂荤嚎" ; list.add(vo); + }else if(rtu.state == UpgradeRtu.STATE_FAILOPEN){ + VoUgRtuResult vo = new VoUgRtuResult() ; + vo.rtuAddr = rtu.rtuAddr ; + vo.result = "闃�寮�" ; + list.add(vo); }else if(rtu.state == UpgradeRtu.STATE_FAILONE){ VoUgRtuResult vo = new VoUgRtuResult() ; vo.rtuAddr = rtu.rtuAddr ; -- Gitblit v1.8.0