Browse Source

Merge remote-tracking branch 'origin/master'

malijun 1 year ago
parent
commit
dbba32e86d

+ 18 - 1
state/cause/README.md

@@ -1,4 +1,21 @@
-## cause 分析原因,故障损失,计划检修损失,受累损失,限电损失,性能损失等
+### cause 分析原因,故障损失,计划检修损失,受累损失,限电损失,性能损失等
+
+状态为:
+    并网--是否限电--风速小于11并且桨叶角度大于2;风速大于11并且有功功率小于满发功率减100
+    待机--
+        是否限停--
+            有故障--故障
+            无故障--有功设定小于出线功率;有功设定小于应发的85% 并且 出线功率大于有功设定94%;有功设定小于应发的70% 并且 出线功率大于有功设定80% 并且 当前场站限电台数大于等于3--限停
+        待机
+    维护--
+        有故障--故障
+        无故障--计划检修
+    故障--小于?(3)分钟故障忽略
+        是否受累--全站故障或者离线
+        故障
+    离线--
+        是否受累--全站故障或者离线
+        故障
 
 
 

+ 5 - 6
state/cause/src/main/java/com/gyee/gaia/cause/service/CalculateService.java

@@ -70,7 +70,6 @@ public class CalculateService {
                 if(advanceState==4){
                     //计算限电
                     calcElectricityRation(stateCauseList,thingId,advanceTime,ts,doubleValue);
-                //TODO 判断限停
                 }else if(advanceState==2){
                     if(judgmentStop(stateCauseList,thingId,advanceTime,ts)){
                         StateCause cause = new StateCause(thingId2StationId(thingId),thingId, stateMap.get(8.0),
@@ -95,7 +94,7 @@ public class CalculateService {
                     }
                 }else if(advanceState==5){
                     if(ts-advanceTime<appConfig.getFaulttime()* 60000L) continue;
-                    //计算受累、故障、计划检修
+                    //计算受累、故障
                     calcBurdened(stateCauseList,thingId,advanceTime, ts,5,doubleValue);
                 }else if(advanceState==7){
                     //计算受累、故障、计划检修
@@ -276,17 +275,17 @@ public class CalculateService {
             StateCause cause = new StateCause(stationId,thingId,stateMap.get(10.0),new Date(start),new Date(end),
                     stateMap.get(starteventstate),stateMap.get(endeventstate),end - start);
             stateCauseList.add(cause);
-        }else if(isHasFaultEvent(thingId,start,end)){
+        }else {//if(starteventstate==5 || isHasFaultEvent(thingId,start,end)){
             //故障
             StateCause cause = new StateCause(stationId,thingId,stateMap.get(5.0),new Date(start),new Date(end),
                     stateMap.get(starteventstate),stateMap.get(endeventstate),end - start);
             stateCauseList.add(cause);
-        }else {
+        }/*else {
             //计划检修
             StateCause cause = new StateCause(stationId,thingId,stateMap.get(9.0),new Date(start),new Date(end),
                     stateMap.get(starteventstate),stateMap.get(endeventstate),end - start);
             stateCauseList.add(cause);
-        }
+        }*/
     }
 
     /**
@@ -313,7 +312,7 @@ public class CalculateService {
             double speedPd = speedList.get(i).getDoubleValue();
             //当前时间戳的桨叶角度
             if(bladeAngleList==null||bladeAngleList.size()<speedList.size()||bladeAngleList.get(i)==null){
-                System.out.println();
+                System.out.println(CacheContext.pointMapMap.get("blade-angle").get(equipment).getCode());
             }
             double bladeAnglePd = bladeAngleList.get(i).getDoubleValue();
             //当前时间戳的有功功率