|
@@ -78,7 +78,7 @@ class SamplingSafty:
|
|
|
if minVol<param.CellUVlmt:
|
|
|
QuitErrCount[10]=0
|
|
|
if not 10 in df_Diag_Ram['code'].values.tolist():#如果故障发生当前故障中没有该故障,则压入该故障
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],0,sn,10,3,'电池电压采样断线,最高电压为{:.2f}V,电池编号为{},最低电压为{:.2f}V,电池编号为{}'.format(maxVol,MaxBatNo,minVol,MinBatNo),'返厂维修']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,10,3,'电池电压采样断线,最高电压为{:.2f}V,电池编号为{},最低电压为{:.2f}V,电池编号为{}'.format(maxVol,MaxBatNo,minVol,MinBatNo),'返厂维修']
|
|
|
ErrorFlg=1
|
|
|
else:#如果故障发生当前故障中有该故障,则不进行操作
|
|
|
pass
|
|
@@ -95,7 +95,7 @@ class SamplingSafty:
|
|
|
else:
|
|
|
pass
|
|
|
if not 50 in df_Diag_Ram['code'].values.tolist():
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],0,sn,50,3,str(InVMaxBatNo)+'号电压大于{:.2f}V,采样无效'.format(param.CellOVlmt),'返厂维修']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,50,3,str(InVMaxBatNo)+'号电压大于{:.2f}V,采样无效'.format(param.CellOVlmt),'返厂维修']
|
|
|
|
|
|
ErrorFlg=1
|
|
|
else:
|
|
@@ -103,7 +103,7 @@ class SamplingSafty:
|
|
|
elif minVol<param.CellUVlmt:
|
|
|
QuitErrCount[50]=0
|
|
|
if not 50 in df_Diag_Ram['code'].values.tolist():
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],0,sn,50,3,str(InVMinBatNo)+'号电压小于{:.2f}V,采样无效'.format(param.CellUVlmt),'返厂维修']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,50,3,str(InVMinBatNo)+'号电压小于{:.2f}V,采样无效'.format(param.CellUVlmt),'返厂维修']
|
|
|
|
|
|
ErrorFlg=1
|
|
|
else:
|
|
@@ -148,7 +148,7 @@ class SamplingSafty:
|
|
|
if len(OutlierVolNo)>0:
|
|
|
QuitErrCount[51]=0
|
|
|
if not 51 in df_Diag_Ram['code'].values.tolist():#如果故障发生当前故障中没有该故障,则压入该故障
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],0,sn,51,2,str(OutlierVolNo)+'号电池电压离群','技术介入诊断']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,51,2,str(OutlierVolNo)+'号电池电压离群','技术介入诊断']
|
|
|
|
|
|
ErrorFlg=1
|
|
|
else:#如果故障发生当前故障中有该故障,则不进行操作
|
|
@@ -168,7 +168,7 @@ class SamplingSafty:
|
|
|
if len(StackVolNo)>0:
|
|
|
QuitErrCount[52]=0
|
|
|
if not 52 in df_Diag_Ram['code'].values.tolist():#如果故障发生当前故障中没有该故障,则压入该故障
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],0,sn,52,2,str(StackVolNo)+'号电池电压卡滞','技术介入诊断']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,52,2,str(StackVolNo)+'号电池电压卡滞','技术介入诊断']
|
|
|
|
|
|
ErrorFlg=1
|
|
|
else:#如果故障发生当前故障中有该故障,则不进行操作
|
|
@@ -223,7 +223,7 @@ class SamplingSafty:
|
|
|
if minCellTemp<param.PackUTlmt:
|
|
|
QuitErrCount[53]=0
|
|
|
if not 53 in df_Diag_Ram['code'].values.tolist():#如果故障发生当前故障中没有该故障,则压入该故障
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],0,sn,53,3,'电池温度采样断线,最高温度为{}℃,电池编号为{},最低温度为{}℃,电池编号为{}'.format(maxCellTemp,MaxBatNo,minCellTemp,MinBatNo),'返厂维修']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,53,3,'电池温度采样断线,最高温度为{}℃,电池编号为{},最低温度为{}℃,电池编号为{}'.format(maxCellTemp,MaxBatNo,minCellTemp,MinBatNo),'返厂维修']
|
|
|
ErrorFlg=1
|
|
|
else:#如果故障发生当前故障中有该故障,则不进行操作
|
|
|
pass
|
|
@@ -241,7 +241,7 @@ class SamplingSafty:
|
|
|
else:
|
|
|
pass
|
|
|
if not 2 in df_Diag_Ram['code'].values.tolist():
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],0,sn,2,3,str(InVMaxBatNo)+'号温度大于{}℃,采样无效'.format(param.PackOTlmt),'返厂维修']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,2,3,str(InVMaxBatNo)+'号温度大于{}℃,采样无效'.format(param.PackOTlmt),'返厂维修']
|
|
|
|
|
|
ErrorFlg=1
|
|
|
else:
|
|
@@ -249,7 +249,7 @@ class SamplingSafty:
|
|
|
elif minCellTemp<param.PackUTlmt:
|
|
|
QuitErrCount[2]=0
|
|
|
if not 2 in df_Diag_Ram['code'].values.tolist():
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],0,sn,2,3,str(InVMinBatNo)+'号温度小于{}℃,采样无效'.format(param.PackUTlmt),'返厂维修']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,2,3,str(InVMinBatNo)+'号温度小于{}℃,采样无效'.format(param.PackUTlmt),'返厂维修']
|
|
|
|
|
|
ErrorFlg=1
|
|
|
else:
|
|
@@ -280,7 +280,7 @@ class SamplingSafty:
|
|
|
if len(OutlierTempNo)>0:
|
|
|
QuitErrCount[8]=0
|
|
|
if not 8 in df_Diag_Ram['code'].values.tolist():#如果故障发生当前故障中没有该故障,则压入该故障
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],0,sn,8,2,str(OutlierTempNo)+'号电池异常温度离群','技术介入诊断']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,8,2,str(OutlierTempNo)+'号电池异常温度离群','技术介入诊断']
|
|
|
|
|
|
ErrorFlg=1
|
|
|
else:#如果故障发生当前故障中有该故障,则不进行操作
|
|
@@ -335,7 +335,7 @@ class SamplingSafty:
|
|
|
if minOtherTemp<param.OtherUTlmt:
|
|
|
QuitErrCount[54]=0
|
|
|
if not 54 in df_Diag_Ram['code'].values.tolist():#如果故障发生当前故障中没有该故障,则压入该故障
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],0,sn,54,3,'其他温度采样断线,最高温度为{}℃,传感器编号为{},最低温度为{}℃,传感器编号为{}'.format(maxOtherTemp,MaxBatNo,minOtherTemp,MinBatNo),'返厂维修']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,54,3,'其他温度采样断线,最高温度为{}℃,传感器编号为{},最低温度为{}℃,传感器编号为{}'.format(maxOtherTemp,MaxBatNo,minOtherTemp,MinBatNo),'返厂维修']
|
|
|
|
|
|
ErrorFlg=1
|
|
|
else:#如果故障发生当前故障中有该故障,则不进行操作
|
|
@@ -354,7 +354,7 @@ class SamplingSafty:
|
|
|
else:
|
|
|
pass
|
|
|
if not 55 in df_Diag_Ram['code'].values.tolist():
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],0,sn,55,3,str(InVMaxBatNo)+'号传感器温度大于{}℃,采样无效'.format(param.OtherOTlmt),'联系用户核实电池情况,并返厂维修']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,55,3,str(InVMaxBatNo)+'号传感器温度大于{}℃,采样无效'.format(param.OtherOTlmt),'联系用户核实电池情况,并返厂维修']
|
|
|
|
|
|
ErrorFlg=1
|
|
|
else:
|
|
@@ -362,7 +362,7 @@ class SamplingSafty:
|
|
|
elif minOtherTemp<param.OtherUTlmt:
|
|
|
QuitErrCount[55]=0
|
|
|
if not 55 in df_Diag_Ram['code'].values.tolist():
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],0,sn,55,3,str(InVMinBatNo)+'号传感器温度小于{}℃,采样无效'.format(param.OtherUTlmt),'返厂维修']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,55,3,str(InVMinBatNo)+'号传感器温度小于{}℃,采样无效'.format(param.OtherUTlmt),'返厂维修']
|
|
|
|
|
|
ErrorFlg=1
|
|
|
else:
|
|
@@ -385,15 +385,15 @@ class SamplingSafty:
|
|
|
BatNo=['其他温度'+str(t+1)]
|
|
|
AvgOtherTempGap=abs((float(bms_infoN[BatNo]))-AvgOtherTemp)
|
|
|
if AvgOtherTempGap>param.AvgOtherTempGap and float(bms_infoN[BatNo])>param.OtherUTlmt and float(bms_infoN[BatNo])<param.OtherOTlmt and not 8 in df_Diag_Ram['code']:
|
|
|
- OutlierTempNo.append(t+1)
|
|
|
+ OutlierOtherTempNo.append(t+1)
|
|
|
else:
|
|
|
AvgOtherTempGap=maxOtherTemp-minOtherTemp
|
|
|
if AvgOtherTempGap>param.AvgOtherTempGap and minOtherTemp>param.OtherUTlmt and maxOtherTemp<param.OtherOTlmt and not 8 in df_Diag_Ram['code']:
|
|
|
- OutlierTempNo=[1,2]
|
|
|
- if len(OutlierTempNo)>0:
|
|
|
+ OutlierOtherTempNo=[1,2]
|
|
|
+ if len(OutlierOtherTempNo)>0:
|
|
|
QuitErrCount[56]=0
|
|
|
if not 56 in df_Diag_Ram['code'].values.tolist():#如果故障发生当前故障中没有该故障,则压入该故障
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],0,sn,56,2,str(OutlierTempNo)+'号传感器温度异常离群','技术介入诊断']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,56,2,str(OutlierOtherTempNo)+'号传感器温度异常离群','技术介入诊断']
|
|
|
|
|
|
ErrorFlg=1
|
|
|
else:#如果故障发生当前故障中有该故障,则不进行操作
|
|
@@ -409,7 +409,7 @@ class SamplingSafty:
|
|
|
if (maxOtherTemp-maxCellTemp)>param.AvgOtherTempGap and maxOtherTemp<param.OtherOTlmt and maxCellTemp<param.PackOTlmt:
|
|
|
QuitErrCount[56]=0
|
|
|
if not 56 in df_Diag_Ram['code'].values.tolist():
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],0,sn,56,2,str(OutlierTempNo)+'号传感器温度异常离群','技术立即介入诊断']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,56,2,str(OutlierOtherTempNo)+'号传感器温度异常离群','技术立即介入诊断']
|
|
|
|
|
|
ErrorFlg=1
|
|
|
else:
|
|
@@ -423,7 +423,7 @@ class SamplingSafty:
|
|
|
if (maxCellTemp-maxOtherTemp)>param.AvgOtherTempGap and maxOtherTemp<param.OtherOTlmt and maxCellTemp<param.PackOTlmt and not 8 in df_Diag_Ram['code']:
|
|
|
QuitErrCount[8]=0
|
|
|
if not 8 in df_Diag_Ram['code'].values.tolist():
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],0,sn,8,2,str(OutlierTempNo)+'号电芯温度异常离群','技术立即介入诊断']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,8,2,str(OutlierTempNo)+'号电芯温度异常离群','技术立即介入诊断']
|
|
|
|
|
|
ErrorFlg=1
|
|
|
else:
|