← 返回目录

第 7 章实施步骤、任务拆分与检查

项 内容
日期 2026-10-13
方案 analysis/reports/BATTERY_MODEL_DISCHARGE_BOUNDARY.md
脚本 current-distribution-analyzer/analyze_battery_boundary.py
输出 current-distribution-analyzer/output_v3/battery/

不覆盖 output_v3 根目录已有的 v3 总表。不改分析服务版本,不回写数据库。

步骤

  1. 扫描 data/oss_cache 全部 .txt,不使用过期的 history CSV 当全集。
  2. 航时 20–120 分钟,头上最高速 ≥ 25 km/h,再走 v3 连续航段(continuity.evaluate_continuity)。
  3. 连续段内按 batterySn 前 6 位分组。巡航点:速度落入 15–60 的各段,电调电流 ≥ 5 A,电压 ≥ 38 V。不用遥控电量 batteryElectricity 过滤。
  4. 电调侧用 electricCurrent 与 I × V。电池侧只用点上存在的 batteryCurrent 绝对值,缺键不填 0,也不用电调电流代替。
  5. 直方图一次扫描累加,分位数从直方图取。25–35 km/h 均值 × 1.5 的点从巡航电流正态剔除,另进高负荷。
  6. 写出覆盖率、电调分布、高负荷、起飞、各型号 Top 15、电池侧分布,以及 index.html。
  7. 用下面的检查表读结果。某一项不成立时,HTML 里写明,不把该数字当成发布规格。

任务

ID 任务 完成标准
T1 流式扫描并分组 进程扫完缓存,打印入选航次和剔除原因
T2 电调分布表 esc.csv 含 210AAA / 210AAB / 210ABB / 210AAC × 五个速度段
T3 高负荷、起飞、Top 15 三个 CSV 都按前缀分列,Top 15 每型号最多 15 行
T4 电池侧 pack.csv 只含有 batteryCurrent 的点;航次不足 30 时 HTML 不把该表当发布边界
T5 HTML output_v3/battery/index.html 含样本漏斗、覆盖率、四档边界、分型号分布、检查结论
T6 结果检查 下表逐项有结论

检查

ID 检查 通过条件
C1 扫全 扫描文件数接近缓存文件数(约 3.0 万)
C2 入选规模 入选航次明显少于扫描数(连续航段会丢掉大部分),且不为 0
C3 三款样本 210AAA、210AAB、210AAC 入选航次各自是否 ≥ 100。不足则标题标样本不足
C4 BP1700 合并 210AAB 与 210ABB 在 25–30 km/h 巡航 P95 相对差 ≤ 15%,且航次数不是差一个数量级,才合并阅读
C5 电流量级 各型号电调最大电流落在几十到几百安,出现 ≥ 800 A 视为异常档,不写入边界
C6 电池侧覆盖 有电池电流的入选航次 ≥ 30 且有效点 ≥ 1 万才发布电池侧边界;否则只发布电调侧
C7 不覆盖旧表 output_v3 根目录原有 CSV / HTML 的修改时间不被这次改写

2026-10-13 跑数结果

扫描 30012 个文件,入选 2055 场。报告:current-distribution-analyzer/output_v3/battery/index.html(左侧目录锚点,先结论,再字段含义、样本漏斗和分型号边界)。

检查 结论
C1 通过。30012 与缓存文件数一致
C2 通过。入选 2055,远小于扫描数且不为 0
C3 部分通过。BP2400 入选 1817;210AAB 入选 126;BP1300 入选 100,贴着观察线;210ABB 缓存 0 场
C4 不合并。没有 210ABB,高性能只报 210AAB
C5 通过。Top1 最大 180.2 A
C6 只发布 BP2400 电池侧(135 场、180473 点)。AAB 23 场、AAC 26 场,低于 30 场,电池侧标样本不足
C7 通过。只写了 output_v3/battery/

20–30 km/h 连续放电电调电流 P95:BP2400 75 A,210AAB 73 A,BP1300 80 A。BP2400 电池侧同一段 P95 为 65 A。高负荷 P95:117 / 106 / 115 A。峰值 Top1:180.2 / 160.9 / 165.0 A。日志里没有循环次数,寿命次数空着。