|
@@ -346,20 +346,17 @@ class BatDiag:
|
|
|
pass
|
|
|
|
|
|
#SOC跳变....................................................................................................................
|
|
|
+ bmssoc_last=float(self.bms_soc[i-1])
|
|
|
+ bmssoc_now=float(self.bms_soc[i])
|
|
|
if not 28 in list(self.df_diag_ram['code']): #当前故障中没有该故障,则判断是否发生该故障
|
|
|
- if step<30:
|
|
|
- bmssoc_last=float(self.bms_soc[i-1])
|
|
|
- bmssoc_now=float(self.bms_soc[i])
|
|
|
- if abs(bmssoc_now-bmssoc_last)>self.param.SocJump: #SOC跳变进入
|
|
|
- time=self.bmstime[i]
|
|
|
- code=28
|
|
|
- faultlv=1
|
|
|
- faultinfo='电池SOC跳变'
|
|
|
- faultadvice='技术介入诊断,检修电池BMS软件'
|
|
|
- self.df_diag_ram.loc[len(self.df_diag_ram)]=[time, end_time, self.sn, code, faultlv, faultinfo, faultadvice]
|
|
|
- else:
|
|
|
- pass
|
|
|
- else:
|
|
|
+ if step<30 and abs(bmssoc_now-bmssoc_last)>self.param.SocJump: #SOC跳变进入
|
|
|
+ time=self.bmstime[i]
|
|
|
+ code=28
|
|
|
+ faultlv=1
|
|
|
+ faultinfo='电池SOC跳变'
|
|
|
+ faultadvice='技术介入诊断,检修电池BMS软件'
|
|
|
+ self.df_diag_ram.loc[len(self.df_diag_ram)]=[time, end_time, self.sn, code, faultlv, faultinfo, faultadvice]
|
|
|
+ else:
|
|
|
pass
|
|
|
else:
|
|
|
if abs(bmssoc_now-bmssoc_st)<self.param.SocJump: #SOC跳变故障退出
|