Files
CCU621M/app/flowctrl/flowctrl模块说明.md

3.4 KiB
Raw Permalink Blame History

flowctrl 模块说明

路径:app/flowctrl/
返回主说明:README

1. 模块职责

  • 实现充电流程控制主逻辑与状态机;
  • 提供流程对外数据接口与控制接口;
  • 处理流程关键保护与异常停机条件。

2. 关键文件

  • flowctrl_task.c/h
  • flow_interface.c/h
  • insulation_ctrl.c/h
  • mdu_swh_ctrl.c/h

3. 功能说明

  • 管理充电开始、运行、停止、故障等流程状态切换;
  • 对接故障模块、BMS、计量模块及外部控制命令;
  • 对外提供流程运行数据和控制入口,供 UI/TCP 等模块调用。

4. 调度与对外接口

该模块由 FreeRTOS 任务 FlowCtrl 周期运行(单位:ms),周期来自 app/app_init/app_init.c

  • FlowCtrl20ms(任务入口:v_flowctrl_task(void *arg)

对外接口(来自 flowctrl_task.h):

  • void v_flowctrl_task_init(void):初始化流程状态机/内部缓存
  • void v_flowctrl_task(void *arg):流程控制任务入口
  • U8_T u8_flowctrl_get_gun_num(void):返回枪数量(供上层界面/通信使用)

5. 维护建议

  • 流程状态跳转新增分支时需同步检查故障与恢复路径;
  • 对外接口字段建议统一经 flow_interface 暴露,减少模块耦合。

6. 绝缘检查步骤(详细)

绝缘检查主流程由 flowctrl_task.c 状态机调度,核心计算在 insulation_ctrl.c

  • 状态入口:E_FLOW_INSUL_BEFOREv_flow_ctrl_insul_before

    • 条件:模块进入工作态,且绝缘电压到位(或欧标 15s 跳过电压到位检查);
    • 动作:切到 E_FLOW_INSUL_RUNING,调用 v_flow_gun_insulation_data_ctrl(gun,0) 开始绝缘检测资源控制;
    • 典型日志:INS V ok...15s skip V chk...
  • 检测执行:E_FLOW_INSUL_RUNINGv_flow_ctrl_insul_runing

    • 调用:s8_flow_gun_insulation() -> s8_insulation_action() -> v_insulation_Calculate()
    • 返回:-1 检测中,0 失败,1 正常,2 告警;
    • 完成后记录 u32_insul_Rx/Ryu8_insul_ret,并切到 E_FLOW_INSUL_OK
    • 典型日志:INS res=%d(0F,1OK,2WARN), R+=..., R-=...
  • 结果收尾:E_FLOW_INSUL_OKv_flow_ctrl_insul_ok

    • 先等待模块停机/母线下降并执行泄放;
    • 再根据 u8_insul_ret 判定:
      • 0:失败,停机故障 E_FAULT_13042(绝缘检测失败);
      • 2:告警,置 E_FAULT_13043(绝缘告警)后允许继续;
      • 1:通过,进入后续预充/充电流程。

insulation_ctrl.c 内部两阶段计算要点:

  • 阶段1(大地继电器闭合后):

    • 采样 U+gndU-gnd
    • 计算单侧绝缘电阻粗判,若小于阈值直接失败(结果码2);
    • 阈值规则:R_min = 100 * (U+gnd + U-gnd)R_max = 500 * (U+gnd + U-gnd)
  • 阶段2(光耦继电器闭合后):

    • 二次采样并按公式计算 R+gndR-gnd
    • 判定规则:
      • 任一 < R_min => 失败(结果码3);
      • 任一 <= R_max => 告警(结果码4);
      • 否则 => 正常(结果码5)。

调试建议(结合日志):

  • 先看 Th: min/max 是否与当时 U+gnd + U-gnd 一致;
  • 再看 R+gnd/R-gnd 是否显著低于 R_min(会触发 13042);
  • 若经常走 15s skip V chk,优先排查模块电压到位与采样链路。

7. 关联文档