From c2028968a72482249491afd2c94fdd583e1eff94 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期三, 26 二月 2025 14:26:49 +0800
Subject: [PATCH] 解决控制器报警与状态的bug
---
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java | 37 +++++++++++++++++++++++++++++++------
1 files changed, 31 insertions(+), 6 deletions(-)
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 c5d795e..7c61420 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
@@ -35,6 +35,8 @@
@JSONField(serialize = false)
protected Integer ugMaxRtuSameTime ;//鍚屾椂鍗囩骇RTU鏈�澶т釜鏁�
@JSONField(serialize = false)
+ private Boolean openNoUpgrade ;//闃�寮�锛堟车寮�锛変笉鎵ц鍗囩骇
+ @JSONField(serialize = false)
private Integer lastOpenMaxGoOn ;//闃�寮�锛堟车寮�锛夌姸鎬佽缃互鏉ユ寔缁渶闀挎椂闂达紙绉掗挓锛夛紝瓒呰繃杩欎釜鏃堕棿璁や负鐘舵�佹棤鏁堬紙杩欎釜鏃堕暱鍙栧喅浜庡伐浣滄姤闂撮殧锛�
public String setupDt ;//璁剧疆鏃堕棿(yyyy-mm-dd HH:MM:SS)
@@ -64,7 +66,11 @@
/**
* 鍒濆鍖栭厤缃俊鎭�
*/
- public void initOption(Integer lastOpenMaxGoOn, Integer failTryTimes, Integer ugMaxRtuSameTime) {
+ public void initOption(Boolean openNoUpgrade,
+ Integer lastOpenMaxGoOn,
+ Integer failTryTimes,
+ Integer ugMaxRtuSameTime) {
+ this.openNoUpgrade = openNoUpgrade;
this.lastOpenMaxGoOn = lastOpenMaxGoOn;
this.failTryTimes = failTryTimes;
this.ugMaxRtuSameTime = ugMaxRtuSameTime;
@@ -128,7 +134,7 @@
* @param code
* @param callbackCom
*/
- public void trigger(String rtuAddr, String code, String protocolName, Short protocolVersion, Callback callbackCom){
+ public void trigger(String rtuAddr, String code, String protocolName, Short protocolVersion, Callback callbackCom, Object ...objects){
if(this.upgradeRtus != null && this.upgradeRtus.size() > 0
&& this.taskVo.rtuAddrList != null && this.taskVo.rtuAddrList.size() > 0){
UpgradeRtu ugRtu = this.upgradeRtus.get(rtuAddr) ;
@@ -147,13 +153,32 @@
//褰撳墠RTU宸茬粡鍗囩骇瀹屾垚锛屾棤闇�鍐嶅崌绾�
return;
}else{
+ if(this.openNoUpgrade){
+ //棣栧厛鍒ゆ柇鏄惁鏄榾闂ㄦ墦寮�鐘舵��
+ RtuStatus rtuStatus = RtuStatusDealer.oneStatus(rtuAddr) ;
+ if(rtuStatus != null
+ && rtuStatus.valveOpenTrueCloseFalse != null
+ && rtuStatus.valveOpenTrueCloseFalse.booleanValue() == true
+ && rtuStatus.valveStatusLastTimeStamp != null){
+ //鏈夌姸鎬侊紝骞朵笖鏄榾寮�锛堟车寮�锛�
+ Long now = System.currentTimeMillis() ;
+ Long gap = now - rtuStatus.valveStatusLastTimeStamp ;
+ if(gap < this.lastOpenMaxGoOn){
+ //杩欐椂閲囩撼闃�闂ㄦ墦寮�鐘舵�侊紝杩涜�屼笉鑳藉崌绾�
+ ugRtu.isOver = true ;
+ ugRtu.state = UpgradeRtu.STATE_FAILOPEN ;
+ return;
+ }
+ }
+ }
+
if(UpgradeUnit.confVo.ugMaxRtuAtOnce > 0){
//璁剧疆浜嗗悓鏃跺崌绾х殑RTU鏈�澶ф暟閲忕殑闄愬埗
if(ugRtu.state == UpgradeRtuDev.STATE_OFFLINE){
//鍒濆鎬侊紝璇存槑鍗囩骇浠诲姟璁剧疆浠ユ潵锛岃RTU绗竴娆′笂琛屾暟鎹�
if(this.curUgRunningRtuTotal <= UpgradeUnit.confVo.ugMaxRtuAtOnce){
//褰撳墠姝e湪鍗囩骇鐨凴TU鏁伴噺杩樻湭鍙楅檺
- ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom) ;
+ ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom, objects) ;
}else{
//鍚屾椂鍗囩骇鐨凴TU鏁伴噺鍙楅檺锛岀瓑寰呬笅娆℃満浼�
//浣嗗厛琛ㄦ槑涓�涓嬬姸鎬�
@@ -164,18 +189,18 @@
//鏍规嵁涓婇潰閫昏緫锛� 璇存槑蹇呯劧鍦ㄧ嚎浜�
if(this.curUgRunningRtuTotal <= UpgradeUnit.confVo.ugMaxRtuAtOnce){
//褰撳墠姝e湪鍗囩骇鐨凴TU鏁伴噺杩樻湭鍙楅檺
- ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom) ;
+ ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom, objects) ;
}else{
//鍚屾椂鍗囩骇鐨凴TU鏁伴噺鍙楅檺锛岀瓑寰呬笅娆℃満浼�
return ;
}
}else{
//RTU宸茬粡澶勪簬鍗囩骇杩囩▼涓�
- ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom) ;
+ ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom, objects) ;
}
}else{
//娌℃湁璁剧疆鍚屾椂鍗囩骇鐨凴TU鏈�澶ф暟閲忕殑闄愬埗
- ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom) ;
+ ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom, objects) ;
}
}
}
--
Gitblit v1.8.0