|
@@ -124,20 +124,25 @@ class DBManager():
|
|
|
for i in range(OtherT_Num):
|
|
|
CellU.append(data['ffBatteryStatus']['otherTempList'][i])
|
|
|
if mode == 0:
|
|
|
- data_len = 15
|
|
|
+ data_len = 16
|
|
|
|
|
|
- data_block = np.array([data['info']['obdTime'],data['ffBatteryStatus']['rssi'],data['ffBatteryStatus']['errorLevel'],data['ffBatteryStatus']['errorCode']
|
|
|
- ,data['ffBatteryStatus']['current'],data['ffBatteryStatus']['voltageInner'],data['ffBatteryStatus']['voltageOutter'],
|
|
|
- data['ffBatteryStatus']['totalOutputState'],data['ffBatteryStatus']['lockedState'],
|
|
|
- data['ffBatteryStatus']['chargeState'],data['ffBatteryStatus']['heatState'],data['ffBatteryStatus']['cellVoltageDiff']
|
|
|
- ,data['ffBatteryStatus']['soc'],data['ffBatteryStatus']['soh'],data['ffBatteryStatus']['cellVolBalance']]).reshape(1,data_len)
|
|
|
+ # data_block = np.array([data['info']['obdTime'],data['ffBatteryStatus']['rssi'],data['ffBatteryStatus']['errorLevel'],data['ffBatteryStatus']['errorCode']
|
|
|
+ # ,data['ffBatteryStatus']['current'],data['ffBatteryStatus']['voltageInner'],data['ffBatteryStatus']['voltageOutter'],
|
|
|
+ # data['ffBatteryStatus']['totalOutputState'],data['ffBatteryStatus']['lockedState'],
|
|
|
+ # data['ffBatteryStatus']['chargeState'],data['ffBatteryStatus']['heatState'],data['ffBatteryStatus']['cellVoltageDiff']
|
|
|
+ # ,data['ffBatteryStatus']['soc'],data['ffBatteryStatus']['soh'],data['ffBatteryStatus']['cellVolBalance']]).reshape(1,data_len)
|
|
|
+ data_block = np.array([data['info']['obdTime'],data['ffBatteryStatus'].get('rssi',None),data['ffBatteryStatus'].get('errorLevel', None),data['ffBatteryStatus'].get('errorCode', None),
|
|
|
+ data['ffBatteryStatus'].get('current',None),data['ffBatteryStatus'].get('voltageInner', None),data['ffBatteryStatus'].get('voltageOutter', None),
|
|
|
+ data['ffBatteryStatus'].get('totalOutputState', None),data['ffBatteryStatus'].get('lockedState', None),
|
|
|
+ data['ffBatteryStatus'].get('chargeState', None),data['ffBatteryStatus'].get('heatState', None),data['ffBatteryStatus'].get('cellVoltageDiff', None)
|
|
|
+ ,data['ffBatteryStatus'].get('soc', None),data['ffBatteryStatus'].get('soh', None),data['ffBatteryStatus'].get('cellVolBalance', None),data['ffBatteryStatus'].get('insResis', None)]).reshape(1,data_len)
|
|
|
elif mode == 1:
|
|
|
- data_len = 11
|
|
|
+ data_len = 12
|
|
|
|
|
|
- data_block = np.array([data['info']['obdTime'],data['ffBatteryStatus']['rssi']
|
|
|
- ,data['ffBatteryStatus'].get('errorLevel'),data['ffBatteryStatus'].get('errorCode'),data['ffBatteryStatus']['switchState']
|
|
|
- ,data['ffBatteryStatus']['current'],data['ffBatteryStatus']['voltageInner'],data['ffBatteryStatus']['chargeState'],
|
|
|
- data['ffBatteryStatus']['cellVoltageDiff'],data['ffBatteryStatus']['soc'],data['ffBatteryStatus']['soh']]).reshape(1,data_len)
|
|
|
+ data_block = np.array([data['info']['obdTime'],data['ffBatteryStatus'].get('rssi',None)
|
|
|
+ ,data['ffBatteryStatus'].get('errorLevel', None),data['ffBatteryStatus'].get('errorCode', None),data['ffBatteryStatus'].get('switchState', None)
|
|
|
+ ,data['ffBatteryStatus'].get('current',None),data['ffBatteryStatus'].get('voltageInner', None),data['ffBatteryStatus'].get('chargeState', None),
|
|
|
+ data['ffBatteryStatus'].get('cellVoltageDiff', None),data['ffBatteryStatus'].get('soc', None),data['ffBatteryStatus'].get('soh', None),data['ffBatteryStatus'].get('insResis', None)]).reshape(1,data_len)
|
|
|
data_block = np.append(data_block,CellU)
|
|
|
data_block = np.append(data_block,CellT)
|
|
|
data_block = np.append(data_block,OtherT)
|
|
@@ -168,10 +173,10 @@ class DBManager():
|
|
|
def _convert_to_dataframe_system(data, mode=0):
|
|
|
if mode == 0:
|
|
|
|
|
|
- data_block = np.array([data['info']['obdTime'],data['ffSystemInfo']['heatTargetTemp'], data['ffSystemInfo']['heatTimeout'],
|
|
|
- time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(int(data['ffSystemInfo']['rentalStartTime'])/1000)),
|
|
|
- data['ffSystemInfo']['rentalPeriodDays'],data['ffSystemInfo']['bmsInterval'],
|
|
|
- data['ffSystemInfo']['gpsInterval']]).reshape(1,7)
|
|
|
+ data_block = np.array([data['info'].get('obdTime', None),data['ffSystemInfo'].get('heatTargetTemp', None), data['ffSystemInfo'].get('heatTimeout',None),
|
|
|
+ time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(int(data['ffSystemInfo'].get('rentalStartTime'))/1000)),
|
|
|
+ data['ffSystemInfo'].get('rentalPeriodDays',None),data['ffSystemInfo'].get('bmsInterval',None),
|
|
|
+ data['ffSystemInfo'].get('gpsInterval', None)]).reshape(1,7)
|
|
|
df = pd.DataFrame(
|
|
|
columns=['时间戳','加热目标温度', '加热超时','租赁开始时间','租赁天数','bms上传周期','gps上传周期'],data=data_block)
|
|
|
if mode == 1:
|
|
@@ -183,18 +188,18 @@ class DBManager():
|
|
|
def _convert_to_dataframe_accum(data, mode=0):
|
|
|
if mode == 0:
|
|
|
|
|
|
- data_block = np.array([data['info']['obdTime'],data['ffBatteryAccum']['SOH_AlgUnexTime'], data['ffBatteryAccum']['CHG_AHaccum'],
|
|
|
- data['ffBatteryAccum']['CHG_PHaccum'], data['ffBatteryAccum']['DSG_AHaccum'],
|
|
|
- data['ffBatteryAccum']['DSG_PHaccum'],data['ffBatteryAccum']['OverTemp_CHG_AHaccum'],
|
|
|
- data['ffBatteryAccum']['OverTemp_CHG_PHaccum']]).reshape(1,8)
|
|
|
+ data_block = np.array([data['info'].get('obdTime',None),data['ffBatteryAccum'].get('SOH_AlgUnexTime',None), data['ffBatteryAccum'].get('CHG_AHaccum',None),
|
|
|
+ data['ffBatteryAccum'].get('CHG_PHaccum',None), data['ffBatteryAccum'].get('DSG_AHaccum',None),
|
|
|
+ data['ffBatteryAccum'].get('DSG_PHaccum',None),data['ffBatteryAccum'].get('OverTemp_CHG_AHaccum',None),
|
|
|
+ data['ffBatteryAccum'].get('OverTemp_CHG_PHaccum',None)]).reshape(1,8)
|
|
|
df = pd.DataFrame(
|
|
|
columns=['时间戳','SOH未标定时间', '累计充电电量','累计充电能量','累计放电电量','累计放电能量',
|
|
|
'累计高温充电电量', '累计高温充电能量'],data=data_block)
|
|
|
|
|
|
if mode == 1:
|
|
|
- data_block = np.array([data['info']['obdTime'], data['ffBatteryAccum']['CHG_AHaccum'],
|
|
|
- data['ffBatteryAccum']['CHG_PHaccum'], data['ffBatteryAccum']['DSG_AHaccum'],
|
|
|
- data['ffBatteryAccum']['DSG_PHaccum'],data['ffBatteryAccum']['totalMileage']]).reshape(1,6)
|
|
|
+ data_block = np.array([data['info'].get('obdTime',None), data['ffBatteryAccum'].get('CHG_AHaccum',None),
|
|
|
+ data['ffBatteryAccum'].get('CHG_PHaccum',None), data['ffBatteryAccum'].get('DSG_AHaccum',None),
|
|
|
+ data['ffBatteryAccum'].get('DSG_PHaccum',None),data['ffBatteryAccum'].get('totalMileage',None)]).reshape(1,6)
|
|
|
df = pd.DataFrame(
|
|
|
columns=['时间戳','累计充电电量','累计充电能量','累计放电电量','累计放电能量', '累积里程'],data=data_block)
|
|
|
return df
|
|
@@ -205,9 +210,9 @@ class DBManager():
|
|
|
if type_name == 'bms':
|
|
|
if mode == 0:
|
|
|
name_const = ['时间戳','GSM信号','故障等级','故障代码','总电流[A]','总电压[V]', '外电压', '总输出状态', '上锁状态', '充电状态','加热状态',
|
|
|
- '单体压差', 'SOC[%]','SOH[%]','单体均衡状态']
|
|
|
+ '单体压差', 'SOC[%]','SOH[%]','单体均衡状态', '绝缘电阻']
|
|
|
elif mode == 1:
|
|
|
- name_const = ['时间戳','GSM信号','故障等级', '故障代码','开关状态', '总电流[A]','总电压[V]','充电状态', '单体压差', 'SOC[%]','SOH[%]']
|
|
|
+ name_const = ['时间戳','GSM信号','故障等级', '故障代码','开关状态', '总电流[A]','总电压[V]','充电状态', '单体压差', 'SOC[%]','SOH[%]', '绝缘电阻']
|
|
|
i=0
|
|
|
CellUNum = 0
|
|
|
CellTNum = 0
|
|
@@ -221,11 +226,13 @@ class DBManager():
|
|
|
data_blocks,CellUNum,CellTNum,OtherTNumm = DBManager._convert_to_dataframe_bms(line, mode)
|
|
|
i+=1
|
|
|
continue
|
|
|
- except:
|
|
|
+ except Exception as e:
|
|
|
+ print(str(e))
|
|
|
i = 0
|
|
|
try:
|
|
|
data_block,CellUNum,CellTNum,OtherTNumm = DBManager._convert_to_dataframe_bms(line, mode)
|
|
|
- except:
|
|
|
+ except Exception as e:
|
|
|
+ print(str(e))
|
|
|
continue
|
|
|
try:
|
|
|
data_blocks = np.concatenate((data_blocks,data_block),axis=0)
|