Browse Source

Merge remote-tracking branch 'origin/dev' into pro

lmstack 3 năm trước cách đây
mục cha
commit
a56a9d17c7

+ 2 - 3
LIB/BACKEND/DBManager.py

@@ -174,9 +174,9 @@ class DBManager():
             if data['info']['subType'] == 1:
                 data_block = np.array([data['info']['obdTime'],data['ffGps']['locationType'], data['ffGps']['satellites'],
                                        data['ffGps']['latitude'],data['ffGps']['longitude'],data['ffGps']['speed'], 
-                                       data['ffGps']['altitude'], data['ffGps']['direction']]).reshape(1,8)
+                                       data['ffGps']['altitude'], data['ffGps']['direction'], data['ffGps']['mileage']]).reshape(1,9)
                 df = pd.DataFrame(
-                    columns=['时间戳','定位类型', '卫星数','纬度','经度','速度[km/h]','海拔','航向'],data=data_block)
+                    columns=['时间戳','定位类型', '卫星数','纬度','经度','速度[km/h]','海拔','航向', '里程/m'],data=data_block)
             elif data['info']['subType'] == 2:
                 df = pd.DataFrame(
                     columns=['时间戳','定位类型', '卫星数','纬度','经度','速度[km/h]','海拔','航向'])
@@ -251,7 +251,6 @@ class DBManager():
                 temp = len(line['ffBatteryStatus'].get('otherTempList', []))
                 if (temp > OtherTNum):
                     OtherTNum = temp
-            
             data_blocks = pd.DataFrame()
             for line in data:
                 et = time.time()

+ 49 - 49
LIB/MIDDLE/CellStateEstimation/Common/V1_0_1/BatParam.py

@@ -67,7 +67,7 @@ class BatParam:
             self.PackDisOc=200
 
             self.LeakCurrentLv1=-10
-            self.LeakCurrentLv2=-20
+            self.LeakCurrentLv2=-15
             self.LeakCurrentLv3=-50
             self.CellTempHighLv1=45
             self.CellTempHighLv2=50
@@ -104,7 +104,7 @@ class BatParam:
             self.PackDisOc=200
 
             self.LeakCurrentLv1=-10
-            self.LeakCurrentLv2=-20
+            self.LeakCurrentLv2=-15
             self.LeakCurrentLv3=-50
             self.CellTempHighLv1=45
             self.CellTempHighLv2=50
@@ -141,7 +141,7 @@ class BatParam:
             self.PackDisOc=200
 
             self.LeakCurrentLv1=-10
-            self.LeakCurrentLv2=-20
+            self.LeakCurrentLv2=-15
             self.LeakCurrentLv3=-50
             self.CellTempHighLv1=45
             self.CellTempHighLv2=50
@@ -179,7 +179,7 @@ class BatParam:
             self.PackDisOc=200
 
             self.LeakCurrentLv1=-10
-            self.LeakCurrentLv2=-20
+            self.LeakCurrentLv2=-15
             self.LeakCurrentLv3=-50
             self.CellTempHighLv1=45
             self.CellTempHighLv2=50
@@ -200,7 +200,7 @@ class BatParam:
             self.SocInflexion2=60
             self.SocInflexion3=70
             self.CellVoltNums=20
-            self.CellTempNums=4
+            self.CellTempNums=3
             self.OtherTempNums=5
             self.FullChrgSoc=98
             self.PeakSoc=59
@@ -223,11 +223,11 @@ class BatParam:
             self.PackVoltUvLv1=self.CellUvLv1*self.CellVoltNums
             self.PackVoltUvLv2=self.CellUvLv2*self.CellVoltNums
 
-            self.PackChgOc=-600
-            self.PackDisOc=600
+            self.PackChgOc=-60
+            self.PackDisOc=200
 
             self.LeakCurrentLv1=-20
-            self.LeakCurrentLv2=-50
+            self.LeakCurrentLv2=-30
             self.LeakCurrentLv3=-100
             self.CellTempHighLv1=45
             self.CellTempHighLv2=50
@@ -236,49 +236,49 @@ class BatParam:
             self.CellTempDiffLv1=10
             self.CellTempDiffLv2=15                       
         elif celltype==100:
-                self.Capacity = 228*2
-                self.PackFullChrgVolt=3.65*192
-                self.CellFullChrgVolt=3.5
-                self.OcvInflexionBelow=3.285
-                self.OcvInflexion2=3.296
-                self.OcvInflexion3=3.328
-                self.OcvInflexionAbove=3.4
-                self.CellVoltNums=384
-                self.CellTempNums=64
-                self.FullChrgSoc=98
-                self.PeakSoc=59
-                self.PeakVoltLowLmt=3.35
-                self.PeakVoltUpLmt=3.4
-                self.PeakCellVolt=[3.362,3.363,3.365,3.366,3.367]
-                self.PackCrntDec=1
-                self.BalCurrent=0.015
-                self.LookTab_SOC = [0.00, 	2.40, 	6.38, 	10.37, 	14.35, 	18.33, 	22.32, 	26.30, 	30.28, 	35.26, 	40.24, 	45.22, 	50.20, 	54.19, 	58.17, 	60.16, 	65.14, 	70.12, 	75.10, 	80.08, 	84.06, 	88.05, 	92.03, 	96.02, 	100.00]
-                self.LookTab_OCV = [2.7151,	3.0298,	3.1935,	3.2009,	3.2167,	3.2393,	3.2561,	3.2703,	3.2843,	3.2871,	3.2874,	3.2868,	3.2896,	3.2917,	3.2967,	3.3128,	3.3283,	3.3286,	3.3287,	3.3288,	3.3289,	3.3296,	3.3302,	3.3314,	3.3429]
-                
-                self.CellOvLv1=3.75
-                self.CellOvLv2=3.8
-                
-                self.CellUvLv1=2.3
-                self.CellUvLv2=2.2
-                self.CellVoltDiffLv1=0.6
-                self.CellVoltDiffLv2=1
-                self.PackVoltOvLv1=self.CellOvLv1*self.CellVoltNums/2
-                self.PackVoltOvLv2=self.CellOvLv2*self.CellVoltNums/2
-                self.PackVoltUvLv1=self.CellUvLv1*self.CellVoltNums/2
-                self.PackVoltUvLv2=self.CellUvLv2*self.CellVoltNums/2
+            self.Capacity = 228*2
+            self.PackFullChrgVolt=3.65*192
+            self.CellFullChrgVolt=3.5
+            self.OcvInflexionBelow=3.285
+            self.OcvInflexion2=3.296
+            self.OcvInflexion3=3.328
+            self.OcvInflexionAbove=3.4
+            self.CellVoltNums=384
+            self.CellTempNums=64
+            self.FullChrgSoc=98
+            self.PeakSoc=59
+            self.PeakVoltLowLmt=3.35
+            self.PeakVoltUpLmt=3.4
+            self.PeakCellVolt=[3.362,3.363,3.365,3.366,3.367]
+            self.PackCrntDec=1
+            self.BalCurrent=0.015
+            self.LookTab_SOC = [0.00, 	2.40, 	6.38, 	10.37, 	14.35, 	18.33, 	22.32, 	26.30, 	30.28, 	35.26, 	40.24, 	45.22, 	50.20, 	54.19, 	58.17, 	60.16, 	65.14, 	70.12, 	75.10, 	80.08, 	84.06, 	88.05, 	92.03, 	96.02, 	100.00]
+            self.LookTab_OCV = [2.7151,	3.0298,	3.1935,	3.2009,	3.2167,	3.2393,	3.2561,	3.2703,	3.2843,	3.2871,	3.2874,	3.2868,	3.2896,	3.2917,	3.2967,	3.3128,	3.3283,	3.3286,	3.3287,	3.3288,	3.3289,	3.3296,	3.3302,	3.3314,	3.3429]
+            
+            self.CellOvLv1=3.75
+            self.CellOvLv2=3.8
+            
+            self.CellUvLv1=2.3
+            self.CellUvLv2=2.2
+            self.CellVoltDiffLv1=0.6
+            self.CellVoltDiffLv2=1
+            self.PackVoltOvLv1=self.CellOvLv1*self.CellVoltNums/2
+            self.PackVoltOvLv2=self.CellOvLv2*self.CellVoltNums/2
+            self.PackVoltUvLv1=self.CellUvLv1*self.CellVoltNums/2
+            self.PackVoltUvLv2=self.CellUvLv2*self.CellVoltNums/2
 
-                self.PackChgOc=-800
-                self.PackDisOc=800
+            self.PackChgOc=-800
+            self.PackDisOc=800
 
-                self.LeakCurrentLv1=-20
-                self.LeakCurrentLv2=-50
-                self.LeakCurrentLv3=-100
-                self.CellTempHighLv1=65
-                self.CellTempHighLv2=67
-                self.CellTempLowLv1=-30
-                self.CellTempLowLv2=-35
-                self.CellTempDiffLv1=28
-                self.CellTempDiffLv2=32                            
+            self.LeakCurrentLv1=-20
+            self.LeakCurrentLv2=-50
+            self.LeakCurrentLv3=-100
+            self.CellTempHighLv1=65
+            self.CellTempHighLv2=67
+            self.CellTempLowLv1=-30
+            self.CellTempLowLv2=-35
+            self.CellTempDiffLv1=28
+            self.CellTempDiffLv2=32                            
             
         else:
             print('未找到对应电池编号!!!')

+ 1 - 1
LIB/MIDDLE/CellStateEstimation/Common/V1_0_1/log.py

@@ -17,7 +17,7 @@ class Mylog:
                 Level=logging.WARNING
             else:
                 Level=logging.ERROR
-        logging.basicConfig(filename=r'D:\ZLWORK\code\data_analyze_platform\USER\eric\\'+self.name, level=Level,format='%(asctime)s - %(levelname)s - %(message)s')
+        logging.basicConfig(filename=r'D:\Platform\platform_python\data_analyze_platform\USER\spf\101log\\'+self.name, level=Level,format='%(asctime)s - %(levelname)s - %(message)s')
 
 
     def logopt(self,*info):

+ 17 - 0
LIB/MIDDLE/SaftyCenter/Offline/offline_alarm.py

@@ -0,0 +1,17 @@
+import numpy as np
+import pandas as pd
+import datetime,time
+from sqlalchemy import create_engine
+from sqlalchemy.orm import sessionmaker
+from urllib import parse
+
+def offline_alarm(db_iotp_engine, db_qxcas_engine):
+
+    sql = "select t2.sn, t2.status_time as last_time, t2.offline_time_hour from " + \
+        "(SELECT t.*,t1.devcode,t1.update_time,t1.status_time,TIMESTAMPDIFF(hour, status_time, now()) as offline_time_hour from operation_sn t LEFT JOIN " + \
+        "ff_battery_status t1 ON(t.sn = t1.devcode)) t2 where t2.offline_time_hour > 72 order by t2.offline_time_hour"
+    df_alarm_lastday = pd.read_sql(sql, db_iotp_engine)
+    df_alarm_lastday = df_alarm_lastday[['sn', 'last_time']]
+    df_alarm_lastday['level'] = 1
+    df_alarm_lastday['add_time'] = datetime.datetime.now()
+    df_alarm_lastday.to_sql("offline_info", db_qxcas_engine,if_exists="append", index=False)