algo.py 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. from pywebio.input import *
  2. from pywebio.output import *
  3. from pywebio.session import *
  4. import pywebio.pin as pin
  5. from . import image
  6. def basic_info_sta():
  7. header = ['数据包内电池包数', '数据起始时间', '数据结束时间', '数据时长(天)', '电池包最高活跃度', '电池包平均活跃度',
  8. '总数据量', '日最大数据量']
  9. values = [1, "2023/3/28 17:14:00", "2023/3/28 19:32:00", 1, 100, 100, 835, 835]
  10. return put_table([values],header=header)
  11. def bat_info_sta():
  12. header = ['SN', '电池类型', '电池包电芯串联数', '温度采样个数']
  13. values = ["001PB047000001B230100075", "三元电池", 112, 12]
  14. return put_table([values],header=header)
  15. def safety_diag():
  16. header = ['诊断指标', '数值', '诊断结果', '推荐数值']
  17. values = ['最高电压', 3.68, '⬆', 3.65]
  18. return put_table([
  19. ["3.1 诊断指标", put_table([values],header=header)],
  20. ["3.2 诊断结论", put_text(
  21. '''
  22. xxxxxxxx电池于xxxx年xx月xx日发生电芯过压故障 ,故障电芯为xx号电芯,故障发生时最高电芯电压为xxV
  23. xxxxxxxx电池于xxxx年xx月xx日发生绝缘离群故障 ,故障发生时绝缘值为xxxxx
  24. 电池是否存在热失控特征
  25. 电池是否存在析锂特征
  26. 电池是否存在内短路特征''')],
  27. ])
  28. def performance_diag():
  29. header = ['SOC一致性', '内阻一致性', 'SOH一致性', '温度一致性']
  30. values = ["0.9", 0.9, 0.9, 0.9]
  31. return put_table([
  32. ["4.1 SOH衰减信息", put_text('''***''')],
  33. ["4.2 一致性信息", put_table([values],header=header)],
  34. ["4.3 一致性绘图", put_html(image.plot_example().render_notebook())]
  35. ])
  36. def bat_portrait():
  37. header = ['日均充电次数', '累计充电安时量', '累计充电次数']
  38. values = [1, 50, 3]
  39. header2 = ['日均放电次数', '累计放电安时量', '累计放电次数']
  40. values2 = [3, 30, 10]
  41. header3 = ['存储soc均值', '存储温度均值', '最大存储时长']
  42. values3 = [60, 23, 8]
  43. return put_table([
  44. ["5.1 电池充电习惯", put_table([values],header=header)],
  45. ["5.2 电池放电习惯", put_table([values2],header=header2)],
  46. ["5.3 电池存储习惯", put_table([values3],header=header3),]
  47. ])