Browse Source

已返厂电池也进行低电量报警监控

Eric412V 3 years ago
parent
commit
19b6f0932a
1 changed files with 25 additions and 25 deletions
  1. 25 25
      LIB/MIDDLE/SaftyCenter/Low_Soc_Alarm/low_soc_alarm.py

+ 25 - 25
LIB/MIDDLE/SaftyCenter/Low_Soc_Alarm/low_soc_alarm.py

@@ -7,29 +7,29 @@ import datetime,time
 
 class Low_soc_alarm():
     def low_soc_alarm(param,df_bms,low_soc_bat_list,sn,df_OprtnSta):
-        if len(df_bms) and df_OprtnSta.loc[0,'status'] !=3:#0禁用 1正常 2故障 3返修 4 损毁 5丢失已赔偿,6丢失未赔偿:
-            VoltageNum=['单体电压'+str(i) for i in range(1,param.CellVoltNums+1)]
-            df_bms[VoltageNum]=df_bms[VoltageNum]/1000
-            CellVol=df_bms[VoltageNum]
-            PackCrnt=df_bms['总电流[A]']
-            ZeroCrntCount=len(df_bms[abs(df_bms['总电流[A]'])<=1])
-            CrntCount=len(PackCrnt)-ZeroCrntCount
-            if CrntCount>0:
-                ZeroCrntRate=(ZeroCrntCount/len(PackCrnt))*100
-            else:
-                ZeroCrntRate=100
-            if ZeroCrntRate>99.85:#静置比大于99.85%
-                ZeroSoc_Volt=np.interp(0,param.LookTab_SOC,param.LookTab_OCV)
-                FiveSoc_Volt=np.interp(10,param.LookTab_SOC,param.LookTab_OCV)
-                CellVolMean=DataFrame()
-                CellVolMean=CellVol.mean()
-                CellVolMin_Index=CellVolMean.idxmin()
-                print(ZeroSoc_Volt)
-                CellLowVolZERO=df_bms[df_bms[CellVolMin_Index] < ZeroSoc_Volt]
-                CellLowVolFive=df_bms[df_bms[CellVolMin_Index] > FiveSoc_Volt]
-                CellLowVolZeroCrnt=CellLowVolZERO[abs(CellLowVolZERO['总电流[A]'])<1]
-                CellLowVolFiveCrnt=CellLowVolFive[abs(CellLowVolFive['总电流[A]'])<1]
-                if len(CellLowVolZeroCrnt)>3 and len(CellLowVolFiveCrnt)<3:
-                    CellLowVolZeroCrnt=CellLowVolZeroCrnt.reset_index(drop=True)
-                    low_soc_bat_list.loc[len(low_soc_bat_list)]=[sn,CellLowVolZeroCrnt.loc[len(CellLowVolZeroCrnt)-1,'时间戳'],3]
+        #if len(df_bms) and df_OprtnSta.loc[0,'status'] !=3:#0禁用 1正常 2故障 3返修 4 损毁 5丢失已赔偿,6丢失未赔偿:
+        VoltageNum=['单体电压'+str(i) for i in range(1,param.CellVoltNums+1)]
+        df_bms[VoltageNum]=df_bms[VoltageNum]/1000
+        CellVol=df_bms[VoltageNum]
+        PackCrnt=df_bms['总电流[A]']
+        ZeroCrntCount=len(df_bms[abs(df_bms['总电流[A]'])<=1])
+        CrntCount=len(PackCrnt)-ZeroCrntCount
+        if CrntCount>0:
+            ZeroCrntRate=(ZeroCrntCount/len(PackCrnt))*100
+        else:
+            ZeroCrntRate=100
+        if ZeroCrntRate>99.85:#静置比大于99.85%
+            ZeroSoc_Volt=np.interp(0,param.LookTab_SOC,param.LookTab_OCV)
+            FiveSoc_Volt=np.interp(10,param.LookTab_SOC,param.LookTab_OCV)
+            CellVolMean=DataFrame()
+            CellVolMean=CellVol.mean()
+            CellVolMin_Index=CellVolMean.idxmin()
+            print(ZeroSoc_Volt)
+            CellLowVolZERO=df_bms[df_bms[CellVolMin_Index] < ZeroSoc_Volt]
+            CellLowVolFive=df_bms[df_bms[CellVolMin_Index] > FiveSoc_Volt]
+            CellLowVolZeroCrnt=CellLowVolZERO[abs(CellLowVolZERO['总电流[A]'])<1]
+            CellLowVolFiveCrnt=CellLowVolFive[abs(CellLowVolFive['总电流[A]'])<1]
+            if len(CellLowVolZeroCrnt)>3 and len(CellLowVolFiveCrnt)<3:
+                CellLowVolZeroCrnt=CellLowVolZeroCrnt.reset_index(drop=True)
+                low_soc_bat_list.loc[len(low_soc_bat_list)]=[sn,CellLowVolZeroCrnt.loc[len(CellLowVolZeroCrnt)-1,'时间戳'],3]
         return low_soc_bat_list