|
@@ -68,7 +68,7 @@ class SamplingSafty:
|
|
|
if len(InVMinBatNo):
|
|
|
QuitErrCount[10]=0
|
|
|
if not 10 in df_Diag_Ram['code'].values.tolist():#如果故障发生当前故障中没有该故障,则压入该故障
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,10,3,'电池电压采样断线,最高电压为{:.2f}V,电池编号为{},最低电压为{:.2f}V,电池编号为{}'.format(MaxVolt,InVMaxBatNo,MinVolt,InVMinBatNo),'返厂维修']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,10,2,'电池电压采样断线,最高电压为{:.2f}V,电池编号为{},最低电压为{:.2f}V,电池编号为{}'.format(MaxVolt.values,InVMaxBatNo.values,MinVolt.values,InVMinBatNo.values),'返厂维修']
|
|
|
ErrorFlg=1
|
|
|
else:#如果故障发生当前故障中有该故障,则不进行操作
|
|
|
pass
|
|
@@ -86,14 +86,14 @@ class SamplingSafty:
|
|
|
else:
|
|
|
pass
|
|
|
if not 50 in df_Diag_Ram['code'].values.tolist():
|
|
|
- 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),'返厂维修']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,50,2,str(InVMaxBatNo.values)+'号电压大于{:.2f}V,采样无效'.format(param.CellOVlmt),'返厂维修']
|
|
|
ErrorFlg=1
|
|
|
else:
|
|
|
pass
|
|
|
elif len(InVMinBatNo):
|
|
|
QuitErrCount[50]=0
|
|
|
if not 50 in df_Diag_Ram['code'].values.tolist():
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,50,3,str(InVMinBatNo.values)+'号电压小于{:.2f}V,采样无效'.format(param.CellUVlmt),'返厂维修']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,50,2,str(InVMinBatNo.values)+'号电压小于{:.2f}V,采样无效'.format(param.CellUVlmt),'返厂维修']
|
|
|
ErrorFlg=1
|
|
|
else:
|
|
|
pass
|
|
@@ -119,7 +119,7 @@ class SamplingSafty:
|
|
|
if VolCount>10:
|
|
|
VolCount=11
|
|
|
if not 51 in df_Diag_Ram['code'].values.tolist():#如果故障发生当前故障中没有该故障,则压入该故障
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',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.values)+'号电池电压离群','技术介入诊断']
|
|
|
ErrorFlg=1
|
|
|
else:#如果故障发生当前故障中有该故障,则不进行操作
|
|
|
pass
|
|
@@ -177,7 +177,7 @@ class SamplingSafty:
|
|
|
if len(InVMinTempBatNo):
|
|
|
QuitErrCount[53]=0
|
|
|
if not 53 in df_Diag_Ram['code'].values.tolist():#如果故障发生当前故障中没有该故障,则压入该故障
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,53,3,'电池温度采样断线,最高温度为{}℃,电池编号为{},最低温度为{}℃,电池编号为{}'.format(maxCellTemp,InVMaxTempBatNo,minCellTemp,InVMinTempBatNo),'返厂维修']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,53,2,'电池温度采样断线,最高温度为{}℃,电池编号为{},最低温度为{}℃,电池编号为{}'.format(maxCellTemp.values,InVMaxTempBatNo.values,minCellTemp.values,InVMinTempBatNo.values),'返厂维修']
|
|
|
ErrorFlg=1
|
|
|
else:#如果故障发生当前故障中有该故障,则不进行操作
|
|
|
pass
|
|
@@ -195,14 +195,14 @@ class SamplingSafty:
|
|
|
else:
|
|
|
pass
|
|
|
if not 2 in df_Diag_Ram['code'].values.tolist():
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,2,3,str(InVMaxTempBatNo)+'号温度大于{}℃,采样无效'.format(param.PackOTlmt),'联系用户核实电池温度情况,并返厂维修']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,2,2,str(InVMaxTempBatNo.values)+'号温度大于{}℃,采样无效'.format(param.PackOTlmt),'联系用户核实电池温度情况,并返厂维修']
|
|
|
ErrorFlg=1
|
|
|
else:
|
|
|
pass
|
|
|
elif len(InVMinTempBatNo):
|
|
|
QuitErrCount[2]=0
|
|
|
if not 2 in df_Diag_Ram['code'].values.tolist():
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,2,3,str(InVMinTempBatNo)+'号温度小于{}℃,采样无效'.format(param.PackUTlmt),'返厂维修']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,2,2,str(InVMinTempBatNo.values)+'号温度小于{}℃,采样无效'.format(param.PackUTlmt),'返厂维修']
|
|
|
ErrorFlg=1
|
|
|
else:
|
|
|
pass
|
|
@@ -224,7 +224,7 @@ class SamplingSafty:
|
|
|
if len(OutlierTempNo):
|
|
|
QuitErrCount[8]=0
|
|
|
if not 8 in df_Diag_Ram['code'].values.tolist():#如果故障发生当前故障中没有该故障,则压入该故障
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',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.values)+'号电池异常温度离群','技术介入诊断']
|
|
|
ErrorFlg=1
|
|
|
else:#如果故障发生当前故障中有该故障,则不进行操作
|
|
|
pass
|
|
@@ -260,7 +260,7 @@ class SamplingSafty:
|
|
|
if len(InVMinOtherTempBatNo):
|
|
|
QuitErrCount[54]=0
|
|
|
if not 54 in df_Diag_Ram['code'].values.tolist():#如果故障发生当前故障中没有该故障,则压入该故障
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,54,3,'其他温度采样断线,最高温度为{}℃,传感器编号为{},最低温度为{}℃,传感器编号为{}'.format(maxOtherTemp,InVMaxOtherTempBatNo,minOtherTemp,InVMinOtherTempBatNo),'返厂维修']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,54,2,'其他温度采样断线,最高温度为{}℃,传感器编号为{},最低温度为{}℃,传感器编号为{}'.format(maxOtherTemp.values,InVMaxOtherTempBatNo.values,minOtherTemp.values,InVMinOtherTempBatNo.values),'返厂维修']
|
|
|
ErrorFlg=1
|
|
|
else:#如果故障发生当前故障中有该故障,则不进行操作
|
|
|
pass
|
|
@@ -278,14 +278,14 @@ class SamplingSafty:
|
|
|
else:
|
|
|
pass
|
|
|
if not 55 in df_Diag_Ram['code'].values.tolist():
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,55,3,str(InVMaxOtherTempBatNo)+'号传感器温度大于{}℃,采样无效'.format(param.OtherOTlmt),'联系用户核实电池温度情况,并返厂维修']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,55,2,'传感器温度大于{}℃,采样无效'.format(param.OtherOTlmt),'联系用户核实电池温度情况,并返厂维修']
|
|
|
ErrorFlg=1
|
|
|
else:
|
|
|
pass
|
|
|
elif len(InVMinTempBatNo):
|
|
|
QuitErrCount[55]=0
|
|
|
if not 55 in df_Diag_Ram['code'].values.tolist():
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,55,3,str(InVMinOtherTempBatNo)+'号传感器温度小于{}℃,采样无效'.format(param.OtherUTlmt),'返厂维修']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,55,2,'传感器温度小于{}℃,采样无效'.format(param.OtherUTlmt),'返厂维修']
|
|
|
ErrorFlg=1
|
|
|
else:
|
|
|
pass
|
|
@@ -307,7 +307,7 @@ class SamplingSafty:
|
|
|
if len(OutlierOtherTempNo):
|
|
|
QuitErrCount[56]=0
|
|
|
if not 56 in df_Diag_Ram['code'].values.tolist():#如果故障发生当前故障中没有该故障,则压入该故障
|
|
|
- df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,56,2,str(OutlierOtherTempNo)+'号传感器温度异常离群','技术介入诊断']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,56,2,'传感器温度异常离群','技术介入诊断']
|
|
|
ErrorFlg=1
|
|
|
else:#如果故障发生当前故障中有该故障,则不进行操作
|
|
|
pass
|
|
@@ -327,7 +327,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['时间戳'],'0000-00-00 00:00:00',sn,56,2,str(OutlierOtherTempNo)+'号传感器温度异常离群','技术立即介入诊断']
|
|
|
+ df_Diag_Ram.loc[len(df_Diag_Ram)]=[bms_infoN['时间戳'],'0000-00-00 00:00:00',sn,56,2,'传感器温度异常离群','技术立即介入诊断']
|
|
|
ErrorFlg=1
|
|
|
else:
|
|
|
if 56 in df_Diag_Ram['code'].values.tolist():
|
|
@@ -341,7 +341,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['时间戳'],'0000-00-00 00:00:00',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.values)+'号电芯温度异常离群','技术立即介入诊断']
|
|
|
|
|
|
ErrorFlg=1
|
|
|
else:
|
|
@@ -351,5 +351,6 @@ class SamplingSafty:
|
|
|
QuitErrCount[8]=4
|
|
|
end_time=datetime.datetime.now()
|
|
|
end_time=end_time.strftime('%Y-%m-%d %H:%M:%S')
|
|
|
- df_Diag_Ram.loc[df_Diag_Ram[df_Diag_Ram['code']==8].index,['end_time']]=end_time
|
|
|
+ df_Diag_Ram.loc[df_Diag_Ram[df_Diag_Ram['code']==8].index,['end_time']]=end_time
|
|
|
+
|
|
|
return df_Diag_Ram
|