TMS BOOK · ACADEMY 讲义

充电与充满静置工况的电池热安全应急响应与桩车联动

大纲的完整展开版——讲师授课蓝本 / 学员自学材料

D5-06 充电与充满静置工况的电池热安全应急响应与桩车联动

课程代码 D5-06 · 板块 D 电池热管理 BTMS / 热扩散与安全 时长 约 3.0~3.5 小时(6 讲) 前置 K5-04 电池热失控早期预警算法;D4-03 充电过程温控策略与充电功率协同;D5-04 碰撞后电池热管理应急响应 本讲义定位 讲师授课蓝本 / 学员自学讲义,是 D5-06 大纲的完整展开版


引言:外部电源在位的那段时间,同时是威胁和资源

这门课从一句话开始:预警等级已经出来了,接下来在充电桩上做什么。

上游交到手上的只有两样东西——一个预警等级,以及该等级下从触发到热失控爆发的可用响应时间预算 t_窗口(该等级)。这个等级是怎么判出来的(特征信号怎么选、多信号怎么融合、误报与漏报怎么权衡、提前量怎么标定),一条都不在本课,见 K5-04 电池热失控早期预警算法。本课要交出去的也只有三样:分段的动作集、对外的请求语义、静置阶段的监控要求。⚠ 这一刀不划清,写本课的人会忍不住把特征信号与融合逻辑再讲一遍,于是同一件事有了两套判据、现场按哪一套执行说不清;而真正没人写的那一段——等级出来之后在充电桩上做什么——反而被挤掉。

为什么这个场景值得单独一套动作链

充电中与充满后静置,是电池热事件的高发窗口之一。⚠ 请注意这句话的写法:是「之一」,⛔ 不是「最危险的场景」,也⛔ 不是任何统计意义上的最值——公开监测平台对「充电中」的界定、统计年份与样本车型结构逐年变动,行驶工况的占比同样可观。这条口径在本课只有一个正确用法:它值得单独立一套动作链。而支撑这个判断的不是占比,是下面三条结构性的边界差异(第 1 讲逐条展开):

  1. 外部电源在持续注入能量。不请求停充,就等于持续向一个已经判定为故障的点喂能量。碰撞场景完全没有这一项——碰撞之后能量输入只减不增,那里的能量账是一个封闭的、只会变小的量。
  2. 车辆通常无人值守。凡是依赖车内人配合的动作整条失效。⚠ 失效的不只是几条提示,还包括「把决策权交给人」这个分支出口,以及目标函数本身
  3. 外部电源同时是可用资源。主接触器未断、高压在位时,电动压缩机、PTC/HVCH、高压电子水泵都可以继续工作,且不消耗包内电量——冷却能力不受整包剩余能量的约束,可用动作反而比碰撞场景更多。

就量级感而言:当前直流快充与超充的输出功率典型落在数十千瓦到数百千瓦这一档。⛔ 这句话在本课只有一个用途——说明「外部注入」不是一个可以忽略的小量;它⛔ 不参与任何判据,⛔ 不与冷却能力可增量做倍数或数量级比较(后者本课判为不给数,拿一个自己都不肯给出的量去做比较,论证是空的),也⛔ 不会在本课任何一张图上被标成刻度。⚠ 还有一条更常被越过的界:充电功率不等于故障点上的热流,两者之间隔着一个取决于故障形态、包内阻、SOC 与当时充电曲线的分配比例,⛔ 不许把前者直接当后者写。

本课的第一根钉子:同一个开关,两头方向相反

把三条差异合起来,得到本课几乎所有次序问题的共同来源:

「外部电源在位」这个状态,一头在持续向故障点注入能量,另一头提供本场景独有的最强冷却能力。而结束它的只有一个动作——断主接触器。

于是断高压这个开关的两头方向相反:断早了,等于在最有条件把热导出去的那一刻主动放弃这个条件,而该导出的热一点没导出(D5-04 碰撞后电池热管理应急响应 已给出硬约束:高压一断,电动压缩机、PTC/HVCH、高压电子水泵全部失能,强化监测与主动通风只能靠低压侧撑);断晚了,等于继续给一个已经判定为热安全事件的点喂能量。⇒ 本课反复要问的那句话是:这段窗口用来做什么、什么时候把它关掉。⚠ 而窗口的长度由动作链决定,⛔ 它不是一个客观存在的常数。

这根钉子有一个必须同时敲进去的推论:「切断注入」与「切断高压」不是同一个动作。前者是请求充电桩停止输出——一个会失败的外部动作;后者是断主接触器——一个一定成功、但代价是失去最强冷却的内部动作。把两者混成一件事,是本场景动作链最常见的塌缩形态:在动作表里只写一行「停止充电」,那一行同时藏着一个外部请求和一个内部动作,评审时根本看不出兜底分支缺没缺。

第二根钉子:一多半的输入不在自己手里

桩会不会响应、站里有没有人、法规窗口该取多长、云通不通、用户看不看手机——本课要用到的输入,有一多半不在车端手里。对这一类东西,本课只认一条规矩:

凡是不在自己手里的,要么给得出出处(数),要么给得出兜底(动作)。⛔ 不许假设它成立。

它有两张脸,本课两张都要敲。动作侧:任何需要外部对象配合的动作,都是一条会失败的外部依赖,必须写成「请求—确认—超时—兜底」四段,而不是写成一个内部动作;判据只有一句——这条动作的下一步,是不是在等一个自己控制不了的信号?是,就必须有超时上限,而这个上限要能从该等级的时间窗口预算里减出来(第 2 讲那道式子,是全课唯一把定性次序化成一个可核对数字的地方)。数值侧:本课要写下的几乎每一个时间量(静置监控窗口时长、桩侧响应时限、法定上传周期、人工介入时序)都不由本课决定,它们要么按标准现行版本原文核,要么由本项目的设计输入给出,⛔ 一律不自拟;判据同样只有一句——指得到哪一版第几条、或指得到哪个规范编号,指不出就不合格。

⇒ 学完这门课,拿到任何一份充电工况热安全响应策略,应当能当场问出三句:① 这条动作链里,哪几步在等外部对象?每一步的超时上限来自哪个量?② 静置监控窗口那个数,出处指得到条款号或规范编号吗?③「没告警」这件事,是怎么被证明成「链路还活着」的?三句里任何一句问不出答案,那份策略就只能算「写过了」,⛔ 不能当成可以交付的设计输入。

四条最容易读反的判断

四条的形状是一样的:照直觉做出来的策略,逻辑上讲得通、评审时也说得过去,而在真实分支上结论恰好偏向危险侧。先在这里点破,正文里各有落点。

① 误区:判成热安全事件了 ⇒ 立刻断主接触器最安全。照它做出来的动作是:把「断高压」写成最高等级的第一动作,判定一成立就断,然后认为能量输入切断了、安全了。⇒ 断高压之后高压驱动的冷却全部失能,而这恰恰是全生命周期里冷却能力最强的一刻。★ 隐蔽之处在于它的反方向同样是错的:读成「那就尽量晚断」的人会去掉超时上限,于是桩既不停也不回确认,车端在已判定为热安全事件的状态下无限期等待,外部电源仍在注入。⇒ 正确动作不是在两个方向里挑一个,而是把它化成一个可核对的量:先请求桩停止输出(这一步不需要断高压),在高压仍在位的窗口内把该导出的热导出,同时算出「最多能等多久」;等到了就分断,等不到也分断。断高压是这段窗口的终点,不是起点,也不是一个可以无限推迟的可选项。

② 误区:安全事件中止无非是 derating 曲线的最后一个拐点,复用同一条曲线、同一个标志位就行。照它做出来的动作是:在既有的温度降额逻辑上再加一档「降到 0 kW」,用同一个降额标志位对外表达,省掉一整套状态机。⇒ 后果有两个方向:迟滞带会把安全动作拖住;更危险的是温度一旦回落就自动恢复输出——热失控发展过程中的温度并不单调,一次回落就足以让外部电源重新开始注入,而这次恢复没有任何人做过决定

③ 误区:电流降下来了 ⇒ 我的停充请求被接受了。照它做出来的动作是:用「充电电流低于某个值」当作「桩已停止输出」的判据,据此认为请求已闭环、往下一步走。⇒ 电流下降与请求被接受是两条互不相干的因果链:桩也可能因自身原因先自行降额,也可能是连接或通信劣化造成的自然衰减——这两种情况下桩随时可能把电流加回来,而车端已经按「请求被接受」往下走了。⚠ 反过来同样成立:收到确认但电流没降也是一条分支,它在多数策略里连一行代码都没有。

④ 误区:窗口期内一直没收到告警 ⇒ 一切正常;告警上了云就算有告警。照它做出来的动作是:在无人值守的静置监控窗口里,把「没有告警」当成安全的证据,据此缩短窗口、减少唤醒次数,甚至把窗口从预算里砍掉。⇒ 静默地不报是本场景最危险的失效:12V 掉了、通信断了、监控任务挂了、唤醒没起来,外部看到的全都是「一直没告警」,与「一切正常」在外部完全不可区分,而此时防线其实已经不存在了。⇒ 判据必须从「有没有收到告警」改成「有没有按期收到心跳」——链路还活着这件事,必须被主动证明,⛔ 不许被默认。

⚠ 另有一条常见的读法不属于「读反」,而属于射程用错:把行驶场景那张三级预警阶梯照搬到充电场景。分级结构本身没有问题(结构归 K5-04 电池热失控早期预警算法,本课不动),出问题的是它的动作列与误报频次列——那两列是按行驶场景填的。这一条按误区处理,落点在第 1 讲与第 3 讲。

本课不讲什么

触发与判定:特征信号、融合逻辑、提前量标定归 K5-04 电池热失控早期预警算法;由部件与信号失效(泵、传感器、Chiller 不可用)触发的降级归 K5-02 热管理故障处理与降级策略——⚠ 两者的优先序相反,本课是安全事件侧,「切断能量输入 + 保住监测供电」优先于恢复温控性能。结构侧:热扩散抑制、隔热、泄压与定向排烟归 D5-01 热失控热扩散抑制(热管理与结构协同) / D5-02 隔热、泄压与排烟设计中的热管理边界,本课一个限值都不给。报文层:报文通道与功率协商链路归 D4-03 充电过程温控策略与充电功率协同,车端充电座 NTC 触发的握手中止归 E3-02 车载充电系统与高压配电盒热管理,通道划分与带宽存储口径归 K7-04 车队数据回流的车端实现:信号表定义、事件抓帧与带宽/存储预算;本课全部时序图只画语义段(请求 / 确认 / 超时),⛔ 图上不出现任何报文名与位名。桩侧自身:桩内功率模块与液冷线缆的散热降额归 N1-03 充电桩/超充设备侧热管理,本课只把「桩可能因自身原因先降额或先停输出」这一事实当作兜底分支的输入。站内顺序本体:多包隔离、机械手取出、消防介入的先后归 D6-01 储能电池热管理与车用方案的差异 / D6-02 换电站/换电电池包热管理低压侧本体:12V 可用功率、DCDC 容量与休眠期能耗配额归 K2-06 热管理低压供电边界:DCDC 容量、多执行器同时率与 12V 能量保底 / K3-11 热管理域的上下电时序、run-on 编排与休眠期能耗预算阈值方法学K5-07 诊断与保护阈值的整定、验证与复验诊断冻结帧K5-01 OBD/UDS 诊断与故障码(DTC)设计座舱侧执行落点(强制内循环、关严外循环门、鼓风机停转或降速)归 C2-09 内外循环风门与新风控制——本课只借它的自锁语义,⛔ 不重讲风门与鼓风机动作。碰撞侧的方法层、供电冗余核算与碰撞下电时序归 D5-04 碰撞后电池热管理应急响应

六讲怎么走

第 1 讲 · 边界重写。三条边界差异逐条摆开,与行驶、碰撞两个场景做五个维度的对照;把场景在时间轴上切成四段(插枪未充 / 充电中 / 充满或停充后仍插枪 / 拔枪后静置),逐段列出能量输入、可用冷却能力、可用告警通道这三张底牌;再按全集核对补出四段之外被漏掉的几类段——其中预约起充等待段必须补进来(它有一个会在未来自动开始的输出),V2G/V2L 反向放电与拔枪瞬间则明确标为射程外。

第 2 讲 · 动作链与时限预算。先加大冷却还是先请求停充(判据是热输入速率与冷却能力可增量的相对量级,⛔ 不是冷却能力总量);请求停输出与断主接触器的先后为什么不可颠倒;那道时限预算式怎么用、它的适用条件与失效边界在哪、⛔ 不许怎么反着用;把预算式还原成九片时间之后,会看到一条本课归纳的推论——好路径在窗口窄的等级下可能比兜底路径更慢,所以次序随等级变化,全表不能只写一条次序。本讲以一个真实形态的案例收口。

第 3 讲 · 把它填进表里。本讲的产出物是共维表的充电列而不是一张新表;安全动作不遵守 derating 的三条约定;自锁语义的三个要素;断高压之后泵与风扇的供电来源必须在设计期答清;误报代价函数的形状在本场景与行驶场景不同(本场景含一个阶跃,行驶场景近似线性累加),那一列必须重估——⚠ 谁高谁低这个方向本课不给,本课只交付形状与构成项。

第 4 讲 · 桩车与站车的安全语义接口。两种中止语义为什么可以共用通道、⛔ 不能共用标志位;接口需求按「请求—确认—超时」三段写;用失败形态全集生成桩兼容性测试的用例矩阵(确认丢失、桩先于请求自行动作、事后回退是最常见的三条漏项);站车分工与那条「事件上报必须带枪位/桩位标识」的接口需求。

第 5 讲 · 静置安全监控窗口。窗口时长是设计输入而不是可算量;出处不止国标那两条;有一条口径明确不可移植;窗口起点定在停充时刻还是判据复归时刻,是一个必须说得出理由的显式决策;周期唤醒在安全侧的取值方向与省电侧相反,解法是单独记一档预算。

第 6 讲 · 无人值守下的告警。告警对象不止三类,而且它们共根于 12V——这不是几条独立通道,是一棵树;法定监管遥测与工程告警是两条通道,⛔ 不能合并;最后落到告警链路自身的存活证明。全课的交付物与自查三问也在这一讲收口。

一条贯穿全课的写法约定

本课要用到的量,绝大多数是平台相关量:t_窗口、t_分断,最坏、t_余量、冷却能力可增量、静置监控窗口时长、12V 侧可用功率、桩输出电流的下降斜率……这些量本课一律不给数,只给「它取决于什么、该由谁给出、怎么核」。⚠ 这不是偷懒,是本课的判据要求如此——一个抄来的数会被下游当成设计依据继续用,而它的适用前提早就丢了。全课唯一一次数值代入出现在第 2 讲的预算式算例里,那三个输入是教学假设值,不对应任何平台,⛔ 不得取用;能带走的只有它的定性结论。

同样,本课引用到的几份标准(充电通信、远程监管、动力电池安全、换电安全)一律只写去向不写内容:写清「这件事该去哪一份标准的现行版本原文里核」,⛔ 不给条款内容、⛔ 不给报文类型与位定义、⛔ 不自拟任何时限,版次与日期⛔ 不单值化。⚠ 其中换电场景的人工介入时序是本课残余不确定度最高的一处——若现行版本原文中找不到对应条款,本课的处置是如实降级为「运营规程输入」,并要求在评审清单里单列为「出处待确认」,而不是当成已经闭环。

第 1 讲 充电与充满静置工况的热安全边界重写

前置的两门课已经把两样东西交到你手上:K5-04 电池热失控早期预警算法 给出「预警等级怎么判、每一级还剩多少响应时间」;D5-04 碰撞后电池热管理应急响应 给出碰撞之后这一侧的方法层,以及一条本课会反复用到的硬约束。这一讲要做的事只有一件——把这两样东西搬到充电桩旁边,然后逐条检查:哪些结论还成立、哪些整条失效、哪些方向反了。

这不是「换个场景重讲一遍」。有三条边界差异会把动作链的天平整个挪个位置,其中一条还会让同一个开关在两个方向上同时起作用——断高压既切断了外部电源向故障点的注入,又同时关掉了本场景独有的最强冷却手段。摆清楚这三条,后面几讲要解决的问题才有形状;摆不清楚,写出来的动作表看上去很完整,而它是照着行驶场景那张天平填的。

1.1 本课从「等级已经出来」这一点接手,第一件事是判断它落在哪一段

本课的入口条件只有两个量,都由 K5-04 电池热失控早期预警算法 交出来:预警等级,以及该等级对应的时间窗口预算(从触发到热失控爆发还剩多少可用时间)。本课的出口是三样东西:分段的动作集、对外的请求语义、静置监控要求。

这条线要划得很硬。触发源怎么建、特征信号怎么选、多信号怎么融合、误报漏报怎么权衡、提前量怎么标定——一条都不在本课。不划这一刀,写本课的人会忍不住把判据逻辑再讲一遍,结果是两门课各写一套判据,现场按哪一套执行说不清;而真正没人写的那一段——等级出来之后,在一台还插着枪的车上做什么——反而被挤掉了。

两个入口量都是平台相关量:等级阈值随电芯体系、包结构与触发形态而变,时间窗口预算同样由本项目的实测标定给出。⛔ 本课不给数、不重算,只消费。这里还要立三条使用纪律,它们在第 2 讲那道时限预算式上会直接兑现:

  • 不得由本课的等待需求反推它。时间窗口预算是输入,不是可调量;「我想多等桩一会儿,所以把窗口写宽一点」是把因果做反了。
  • 不得跨等级借用。每一级有自己的窗口,拿低等级那个宽窗口去支撑高等级的等待,是本场景最省事也最危险的一种偷懒。
  • 不得在任何图上把它标成刻度或门槛竖线。它是一个本课不给数的量,一旦在图上落成一根有位置的竖线,读者就会去量它。

接手之后的第一个动作不是查表,而是判断这个等级落在哪一段时间轴上——同一个等级在插枪未充、充电中、充满仍插枪、拔枪后静置这四段里,对应的动作集并不相同(1.8 展开)。

两个常见的误读要在这里先按住:

其一,把「本课从等级开始」读成「本课不用管误报」。恰恰相反。等级本身怎么定不归本课,但误报的代价在本场景变了——无人值守下误报不会打扰驾驶员,却会造成一次无人在场的充电中断和一次运维出车。代价函数换了,可接受误报频次这一列就必须按本场景重估(第 3 讲)。

其二,把由部件与信号失效触发的降级也拿进来。泵不转了、传感器失效了、Chiller 不可用了——这些属 K5-02 热管理故障处理与降级策略,不在本课射程内。两者不但不同源,优先序还相反K5-02 热管理故障处理与降级策略 那一侧要处理的是「性能降了怎么把温控尽量恢复回来」;本课这一侧是安全事件,「切断能量输入 + 保住监测供电」优先于恢复温控性能。把两条链混进一张表,会出现「为了让冷却恢复而保住高压、于是外部电源继续注入」这种在评审里很难一眼看出的错。

1.2 差异之一:外部电源在持续注入能量,所以第一件事不是散热而是关口子

在「充电中」这一段,外部电源以充电功率的形式持续向包内注入能量,其中一部分会在故障点上直接转成热。这一项是碰撞场景完全没有的。

碰撞之后的能量账是一个封闭的、只会变小的量:包内还剩多少能量就是多少,之后只会因为泄放、散热和反应消耗而减少。正因为账是封闭的,碰撞场景的动作链可以把注意力全部放在「怎么把已有的热尽快导出去」。

本场景的账是开着口的。这意味着一句话:导出速率再高,也可能被注入速率抵消。所以本场景动作链的第一件事不是散热,是关口子——这也是「请求桩停止输出」被排进第一批动作的唯一理由,它不是因为「停充比较稳妥」这种感觉,而是因为账面上有一个持续的进项没有被关掉。

这里有两个必须按住的写法:

⛔ 不许把充电功率直接当作故障点热流写。真正进入故障点、并且转成热的只是充电功率里的一部分,这个分配比例取决于故障形态、包内阻、SOC、温度与当时的充电曲线——全部是平台相关量,须由本项目的仿真与实测确定,⛔ 本课不给数。把整个充电功率当热流写,看起来是「保守」,实际上是给了一个没有依据的数,而后面所有以它为输入的判断都会跟着失真。

⛔ 不许拿它去和「冷却能力可增量」做倍数比较。冷却能力可增量(当前档位到最大档位之间那一段差)同样取决于回路能力、当前运行档位与包段热阻,本课同样不给数。两个自己都不肯给的数放在一起做倍数或数量级比较,得出的「大一个量级 / 小一半」这类结论没有任何东西支撑它。

那么这条差异在工程上留下什么可核对的东西?留下一条定性判据的形式注入不停时,冷却能力的增量是否够抵消它。这是一个必须由本项目算的问题,不是由本课答的问题;本课能给的是比较的形式——两侧必须同一时刻、同一包段、同一单位,否则算出来的是两笔账而不是一个比较。第 2 讲会把这条判据用在「先加大冷却还是先请求停充」这道次序题上。

1.3 差异之二:无人值守失效的不只是几条提示,还有分支出口与目标函数

充电与充满静置的车,绝大多数时候车内没有人。行驶场景动作列里那几条最常见的动作——提示驾驶员靠边停车、疏散乘员、仪表告警与驾驶员可听的蜂鸣——在本场景一条都不成立。

但只删掉这三条就以为改完了,是这条差异最典型的失守形态。失效有三层,越往下越容易整层漏掉:

第一层,提示层。提示发出去了,但没有人在场看到或听到。这一层最直观,也是唯一会被大多数人想起来的一层。

第二层,分支出口层。行驶场景里允许存在「由用户确认是否继续充电」这样的分支——它不是一条提示,而是一条分支的出口。本场景里这个出口永远等不到回答,⇒ 所有需要人确认的分支必须改成自动判定,⛔ 不许留一个等不到回答的等待态。一个永远等不到回答的等待态,在代码里看起来只是「在等一个信号」,在现场就是「什么都没做,而外部电源还在注入」。

第三层,目标函数层。行驶场景动作链的目标函数里含着一项「给乘员争取疏散时间」;本场景车内无人,这一项直接消失,目标变成「给现场与消防争取时间 + 不引燃邻位车与站内设施」。⇒ 这已经不是同一个优化问题了,同一张分级阶梯的动作列必然不同。★ 这一层是本课归纳出来的,它不是既有条款里写着的一项;把它写出来的理由是:目标函数不写出来,后面每一条动作的取舍都还在用旧目标算,而算出来的结果每一步看着都合理。

把这一层的成员完整列一遍,是为了避免沿「哪些提示类动作失效了」这条线索去数——沿它只数得出前三条。行驶场景成立而本场景整条失效的动作有六类:① 提示驾驶员靠边停车;② 疏散乘员;③ 仪表告警与驾驶员可听的蜂鸣;④ 要求驾驶员或乘员执行某个物理动作(开窗、拔枪、离车、按下某个按钮);⑤ 把决策权交给人;⑥ 目标函数本身。★ 其中 ⑤⑥ 是本课按全集核对补入的,⑥ 是这一组里唯一不是「一条动作」的一项,也正因为如此最容易整类漏掉。

目标函数变了的直接后果是「值得为哪个量花时间」变了。⛔ 具体的时间怎么分配是平台与运营模式相关量,本课不给数——但它决定了第 2 讲那道预算式里,你愿意把余量留给谁。

1.4 差异之三:外部电源同时是本场景独有的最强冷却资源

前两条差异都指向「这个场景更麻烦」。第三条方向相反:在①插枪未充、②充电中、③充满仍插枪这三段里,只要主接触器还没断、外部电源还在位,全部高压驱动的热管理执行器都可用,而且不消耗包内电量。电动压缩机、PTC/HVCH、高压电子水泵都在这一类里。

对比一下就知道这有多特殊。碰撞场景的冷却能力上限被「还剩多少包内能量 + 应急电源容量」卡死,导出多少热是一笔要精打细算的能量账;本场景在断高压之前根本没有这个上限——冷却能力不受整包剩余能量约束。⇒ 本场景独有一段「冷却全能力可用」的窗口,而动作链设计要回答的第一个问题就是:这段窗口用来做什么、能持续多久。

这段窗口能导出多少热,取决于回路能力与包段热阻,⛔ 平台相关量,本课不给数。本课只给一条口径,而这条口径比任何数都重要:窗口的长度由动作链决定(也就是由「什么时候断高压」决定),⛔ 它不是一个客观存在的常数。把它当常数的人,会去问「这段窗口一般有多长」——这个问题本身就问错了,正确的问法是「我打算让它多长,以及这个长度从哪个预算里减出来」。

最后一个必须按住的易错点:⛔ 不许拿「冷却能力强」去论证「所以不用急着停充」。注入速率与导出速率是两笔独立的账,各自成立。冷却能力强只说明这段窗口有价值,不说明口子可以晚一点关;把两条账串起来用,就等于用一个正确的事实去支持一个与它无关的松懈。

三列五行对照图:行驶、碰撞、充电与充满静置三个场景,逐行比外部能量输入、高压在位时的可用冷却、车内有人吗、断高压的代价、动作链的目标函数五个维度;充电列整列衬浅灰底,其中「断高压的代价」那格画一个双向箭头,两端分别写切断注入(好)与失去最强冷却(坏),中间圆点写「同一个开关」;第五行充电列那格带 ★ 标记。本图为定性对照示意,不含任何数值与刻度,⛔ 不得据图取值。
图1 三个场景的五维对照——该读出的不是「哪个更难」,而是五个维度逐条不同;其中只有充电列的「断高压的代价」是双向的,本课全部次序问题都从这一格来。看完这张图,你应当能判断自己手上那张动作表是照哪一列的天平填的。本图为定性对照示意,不含任何数值,⛔ 不得据图取值。

1.5 三条差异合起来:断高压这个开关的两头方向相反,而「切断注入」不等于「切断高压」

把 1.2 和 1.4 并在一起看,本课那根最重要的钉子就立起来了:同一个「高压在位」,一头是外部电源持续注入,一头是本场景独有的最强冷却;断高压这个开关,两头方向相反。

D5-04 碰撞后电池热管理应急响应 已经给出的硬约束是本课直接引用的:高压一断,电动压缩机、PTC/HVCH 与高压电子水泵全部失能,强化监测与主动通风只能靠低压侧支撑。本场景与碰撞场景的区别,就在于断高压之前多出一段外部电源在位、冷却全能力可用的窗口。

由此推出本讲最要紧的那条区分:「切断注入」与「切断高压」是两个不同的动作,⛔ 不许混成一件事。

切断注入 切断高压
具体动作 请求桩停止输出 断主接触器
谁执行 外部对象(桩) 车端自己
会不会失败 ——桩可能不响应、可能拒绝、确认可能丢 不会——一定执行得下去
代价 基本没有 失去最强冷却
执行时间由谁决定 由外部决定——通信链路与桩侧,车端无从预知 由车端自己决定——取决于所选接触器规格与本项目实测;⚠ 「由自己决定」⛔ 不等于「是一个定值」

两个动作的具体时长都是平台相关量,⛔ 本课不给数:请求的往返与桩侧处理时间由通信链路与桩决定,分断时间由所选接触器的规格与实测确定。这里能给的是两条差别——一个会失败、一个不会;一个的执行时间由外部对象决定、一个由车端自己的选型与实测决定。这两条差别决定了它们在动作链里必须分别写。

⚠ 表里最后一行要防一个读反:「由车端自己决定」说的是「由谁决定」,⛔ 不是「查一次规格就得到一个数」。主接触器的带载分断时间随电流大小与触点状态变化,是一个有分布的量——第 2 讲 2.3 把它代进时限预算式时有一条方向性纪律:必须取最坏值,⛔ 不许取典型值,取典型值会让减出来的 t_等待上限偏大,而偏大正是危险侧。

把两者混成一件事,后果有两种,而且方向相反:

  • 混成「断了就等于停了」的人,会把断高压排到最前面,判定一成立就断。看起来最果断,实际是在最有条件把热导出去的那一刻主动放弃这个条件,而该导出的热一点没导出。
  • 混成「请求了就等于断了」的人,会以为请求一发出去注入就停了,于是不写超时上限。而桩可能根本没响应——车端在已经判定为热安全事件的状态下继续等,外部电源一直在注入。

⇒ 这两个方向都不对,说明正确答案不是在「早断」和「晚断」之间挑一个,而是把它化成一个可核对的量:先请求桩停止输出(这一步切断注入,不需要断高压),在高压仍在位的窗口内把该导出的热导出,同时算出「最多能等多久」;等到了就分断,等不到也分断。那道把定性次序化成可核对数字的式子在第 2 讲。断高压是这段窗口的终点,不是起点,也不是一个可以无限推迟的可选项。

★ 由此还得到一条动作表的写法纪律,评审时特别好用:⛔ 动作表里不许只写一行「停止充电」。这一行字里同时含着一个外部请求和一个内部动作,把它们压成一行的直接后果是——评审的时候看不出兜底分支缺没缺,因为表面上「停止充电」这件事已经写了。拆成两行(请求桩停止输出 / 断主接触器),缺的那条兜底分支会自己暴露出来。

一条横向时间轴,轴上只有事件判定、请求桩停止输出、断主接触器三个事件刻线,没有任何数值刻度;轴上方两条定性曲线,深红的「向故障点的能量注入」在请求生效处台阶下落到零,青绿的「可用冷却能力」在断主接触器处台阶下落到一个明显更低的平台并标注只剩 12V 侧能支撑的部分;两次下落之间用浅灰填出一块窗口区域;轴下方并排两个后果框(断早了 / 断晚了),中间一个天平符号,下方写「窗口长度由动作链决定,⛔ 不是常数」。本图为定性示意,两条曲线只表示方向与先后,⛔ 不得据图取值。
图2 断高压这个开关的两头方向相反——该读出的是:「越早越安全」和「尽量晚断」两句话都不对,要问的是灰色那段窗口用来做什么、能持续多久;而窗口的长度是被动作链定出来的,不是等在那里的一个常数。两条曲线的形状只表示方向与先后,不表示任何真实数值或斜率,⛔ 不得据图取值。

1.6 与行驶场景比,天平位置变了,但终点没变

行驶场景里「立即断高压」这个动作本身会引入新的行车风险——车还在路上跑,一断高压驱动能力就没了。所以那一侧的动作要往可逆一侧让,宁可先做几步代价小、可撤销的动作。

本场景没有这一项。车辆静止,无行车风险,断高压的代价只剩下「失去高压驱动的冷却能力」这一项。三个场景的断高压代价可以并排看清楚:

  • 行驶:行车风险 + 失去冷却;
  • 碰撞:失去冷却,且此后无法恢复(外部电源本来就不在位);
  • 充电与充满静置:失去冷却,但外部电源仍在位,理论上可恢复——⚠ 恢复与否是另一个决策,它受安全事件自锁语义约束(第 3 讲),⛔ 不许因为「理论上能恢复」就默认它会恢复。

把这三种代价混为一谈的人,会往两个相反的方向走。一种是把行驶场景「往可逆一侧让」的谨慎原样搬过来,于是在一个根本没有行车风险的场景里迟迟不断高压;另一种反过来,把「没有行车风险所以断得起」读成「所以早点断」,回到 1.5 那个已经点破的坑里。

天平位置变了,不等于终点变了。本课对这件事的处置不是停在「要权衡」三个字上——权衡这个词在评审里永远说得过去,也永远无法核对。处置是把它化成第 2 讲那个可核对的时限预算:等待上限从哪个量里减出来、减完还剩多少、等不到怎么办。

最后一条分工线要说清楚,它同时也是本课与 K5-04 电池热失控早期预警算法 之间那一刀:分级阶梯的结构归 K5-04 电池热失控早期预警算法——分几级、每一级填哪几格(等级 → 判据 → 整车动作 → 可接受误报频次),本课一格不改。本课要做的是重填其中两列:整车动作,以及可接受误报频次。⚠ 把「动作列要重填」读成「要重新分级」,是这条分工线上最常见的越界;重新分级会立刻和 K5-04 电池热失控早期预警算法 打架,而现场按哪一套执行就说不清了。

1.7 口径纪律:这是高发窗口之一,不是「最危险的场景」

写这类课的人在引言里最顺手的一个动作,是引一个占比数字来说明「为什么单独讲充电场景」。这一条本课明确禁止。

那个数字有两个问题。第一,口径不稳定——不同监测平台对「充电中」的界定、统计年份、样本车型结构都不同,逐年还在变;引一个来源不稳定的数当论据,等于把本课的立论挂在一个会漂的量上。第二,也是更要紧的一条:它并不支撑本课的结论。本课要论证的是「这个场景的动作链与别的场景不同」,而这件事是靠 1.2~1.4 那三条边界差异论证的,不靠占比排序。哪怕占比只有几个百分点,三条边界差异一条不少,动作链照样得单独写一套。

⇒ 写法上写死一句:「充电中与充满后静置」讲成热事件的高发窗口之一,⛔ 不写成统计最值,⛔ 不写「这是最危险的场景」。它的正确用法是「值得单独立一套动作链」;行驶工况占比同样可观,本课并不与之比大小。⛔ 本课不给任何占比数字。

★ 这条纪律有一个很固定的失守形态,值得单独提醒:正文守住了,而图注或图的替代文字里把它写回去。「最主要的场景」「最危险的工况」这类话在配图说明里出现得特别自然,因为图注天生要给一句吸引注意的概括。⇒ 写设计输入或评审材料时,正文与图注要用同一句话,不要在图注上另起一句更有力的表述。

1.8 场景边界要切成四段,每段有三张底牌

只要还在讲「充电场景」这四个字,动作链就写不出来——因为插枪未充和拔枪后静置这两件事,除了「都跟充电有关」以外没有任何共同点。场景边界必须在时间轴上切成四段

  1. 插枪未充——已连接、未输出;
  2. 充电中——持续注入;
  3. 充满或停充后仍插枪——不注入,但连接与外部电源仍在位;
  4. 拔枪后静置——外部电源不在位,回到 12V 与包内能量。

四段之所以必须分开,是因为每一段有三张不同的底牌:能量输入、可用冷却能力、可用告警通道

能量输入 可用冷却能力 可用告警通道
① 插枪未充 无注入 可用——⚠ 但高压是否在位取决于是否已上电,必须显式定义,不能默认 全在
② 充电中 有注入 可用(高压在位) 全在
③ 充满仍插枪 无注入,但外部电源在位 可用(高压在位) 全在
④ 拔枪后静置 无注入 只剩 12V 能支撑的部分 受 12V 与休眠策略约束

把四段当一段写,会得到一张在③④两段上明显过度或明显不足的动作表。两个具体的错例:在③段仍然写着「请求桩停止输出」——它本来就没在输出,这一行是空动作,而且会让评审误以为注入侧已经处理了;在④段仍然写着「加大冷却」——高压驱动的执行器已经不可用了,这一行同样落不了地。

⚠ 第③段最值得单独提醒:很多设计把它整段跳过,理由是「充满了,没在充了,安全了」。恰恰相反——③段外部电源仍在位、冷却仍可用、告警通道全在,注入已经停了,它其实是本场景里处置条件最好的一段。一个在②段判定的事件如果拖到③段,处置条件不是变差了而是变好了;把它跳过去,等于白扔掉一段最好用的时间。

第④段的残热导出与 run-on 编排本体归 K3-11 热管理域的上下电时序、run-on 编排与休眠期能耗预算,本课不重讲,只受理它作为本场景最后一段的边界条件(外部电源已经不在位,可用能力回落到 12V 侧);12V 侧能同时开几件、多请求并发时按什么顺序放弃,本体归 K3-11 热管理域的上下电时序、run-on 编排与休眠期能耗预算K2-06 热管理低压供电边界:DCDC 容量、多执行器同时率与 12V 能量保底

⛔ 每一段的时长都是平台与使用场景相关量(充电功率、SOC 起点、用户什么时候回来取车都会改变它),本课不给数。四段之间动作集变化的原因必须逐条标出来——而原因永远只有一种来源:三张底牌里哪一张变了。这也是本课动手做第①问要交付的东西。

一条横向时间轴切成四段,段名依次为插枪未充、充电中、充满或停充后仍插枪、拔枪后静置,段界用竖虚线分隔并在竖线上标出开始输出、输出结束、拔枪三个触发事件;每段下方挂一张三行小卡,行名固定为能量输入、可用冷却能力、可用告警通道,共十二格,每格只填短句;第四段那张卡的后两行用警示红描边并各标一句「受 12V 与休眠策略约束」;段界竖线上有小圆点写「动作集在此变化,原因见卡上哪一行变了」;图右下角写明「段宽不代表时长」。本图为定性分段示意,不含任何数值,⛔ 不得据图读取任何时间。
图3 四段各有三张底牌——该读出的是:判断某一段要不要改动作,只需看三张底牌里哪一张变了;而第三段(充满仍插枪)外部电源仍在位、冷却仍可用,是本场景处置条件最好的一段,也是最常被整段跳过的一段。段宽不代表时长,本图不含任何数值,⛔ 不得据图取值。

1.9 按全集核对:四段之外还有四类段,其中预约起充等待必须补进来

上面那四段是怎么数出来的?沿的是一条线索:「能量在往车里流吗」——不流(插枪未充)、在流(充电中)、流完了但还连着(充满仍插枪)、连都不连了(拔枪后静置)。沿这条线索数,正好四段,看起来很完整。

⚠ 这正是这类枚举最危险的地方:漏掉的那一类不会以「少了一条」的形式暴露,它是整类不出现,于是清单看起来是完整的。要防它只有一个办法——数完之后回头问两句:① 我沿什么线索数的?② 有没有不在这条线索上、但同样属于这个集合的?

按这两问核过,四段之外还有四类:

  • 预约起充等待段——形式上属①插枪未充,但它有一个会在未来自动开始的输出;
  • 桩侧或车侧主动暂停段(用户暂停、桩故障暂停、电网侧调度暂停)——它与③的区别是随时可能自己恢复
  • V2G/V2L 反向放电段——能量方向相反,注入侧变成车;
  • 拔枪动作本身那一瞬——连接断开的过渡态,是否带载拔枪。

★ 这四类是本课按全集核对补入的,它们不是既有条款里已经列好的分段。逐类给处置:

⑤和⑥必须补进本课,处置是「归入①与③,但各加一条显式要求」。这两类的共同特征是:存在一个不需要人、也不需要新请求就会发生的状态迁移。而本课第 3 讲要立的自锁语义只规定了「不可自动恢复」——它管的是已经被中止的这一次充电。它没有规定「禁止将来自动启动」,而那管的是另一件事。⇒ 漏掉后者的实际后果是:安全事件把当前动作锁住了,看上去处置完备,而两小时后预约充电照常起充。所以要加的那条显式要求是:安全事件期间禁止一切未来自动动作,含预约起充,也含 D3-04 低温预热与出行预约热管理 那一侧的预约预热调度。⛔ 本课不给任何时长。

⑦必须显式标为射程外,⛔ 不是默认它不存在。这两者的差别很实在:没写进表的分支不会被测试覆盖,一旦触发就是未定义行为;写成一行「射程外」,它至少是一个被看见的空缺。V2G/V2L 的能量流向、可用冷却与告警对象都要重画一遍,而本课这三条边界差异全部是按「注入方向朝车」写的,⛔ 不许把本课结论直接搬过去。⚠ 本课体系内目前找不到承接它的课,这里如实写明它是一处空缺,不指向任何一门课。

⑧射程外,属连接器与带载分断这一侧,接口侧引 E3-02 车载充电系统与高压配电盒热管理

两区图。左区一个大圆,圈内上下两排八个小方块:上排四个是射程内的四段(插枪未充、充电中、充满仍插枪、拔枪后静置),蓝色描边;下排四个是补入的四类(预约起充等待、主动暂停、V2G-V2L 反向放电、拔枪瞬间),橙色描边并各带 ★ 标记;圆外左上角写出这次枚举用的线索「沿『能量在往车里流吗』数,只数得出上排四个」。右区是一张四行处置表,两列为「为什么不在那条线索上」与「本课处置」,其中反向放电那行的处置格用警示红写「射程外,⛔ 不许把本课结论直接搬过去」,拔枪瞬间那行写「射程外,接口侧见 E3-02」,预约起充等待那行加粗写「归入插枪未充,并加一条显式要求:禁止未来自动动作」。本图为定性结构示意,不含任何数值,⛔ 不得据图取值。
图4 场景分段的全集与射程——该读出的是两问的答案:我沿什么线索数的、有哪些不在这条线索上。图上刻意把两类射程外的段也画进来,是因为漏掉的那一类不会以「少了一条」的形式暴露,它是整类不出现;写成可见的一行,它才会被测试与评审看到。圆的大小与方块位置不表示任何量的大小或先后,⛔ 不得据图取值。

1.10 本课不碰结构侧,只处理「事件已判定之后,热管理与充电接口这一侧做什么」

最后把本讲的射程收一次口。热扩散抑制、隔热、泄压与定向排烟的设计不在本课——热扩散抑制与热管理/结构协同归 D5-01 热失控热扩散抑制(热管理与结构协同),隔热、泄压与排烟设计的边界归 D5-02 隔热、泄压与排烟设计中的热管理边界。本课只处理一件事:事件已经判定之后,热管理与充电接口这一侧做什么、按什么顺序。

这一刀非划不可,理由有两层。第一层是纪律层:本课不判的判据,只给类型与去向,⛔ 不给限值、等级号、条款内容。第二层更实际——充电场景的热安全极容易被写成一篇「热失控综述」,从预警一路写到隔热材料选型与泄压阀开启压力。那些内容都有自己的课,而本课没有核过它们的判据;一旦顺手写下一个限值或牌号,它就会以「这门课上写着」的身份流进设计输入。⇒ ⛔ 本课不出现任何结构侧的限值、材料牌号或压力值。

★ 这一条有一个很隐蔽的越界形态,特别值得点破:在案例或结论里顺手写一句「若隔热层设计得当则不会传播」。它读起来像一句稳妥的补充,实际上有两处问题——一是本课没有任何依据支持这个结论;二是它会削弱本课自己的立论:动作链的价值恰恰不该建立在结构侧假设成立的前提上。如果结构侧真能兜住一切,本课这套次序、兜底与静置监控就都不必写了。

本讲小结:本课从「预警等级已经出来」接手,出口是分段动作集、对外请求语义与静置监控要求;触发源建法归 K5-04 电池热失控早期预警算法、部件失效降级归 K5-02 热管理故障处理与降级策略(且优先序相反)。三条边界差异逐条重写了这个场景——外部电源在持续注入(账是开口的,第一件事是关口子,⛔ 不许把充电功率当热流)、无人值守(失效的是提示层、分支出口层与目标函数层三层,⛔ 不许留等不到回答的等待态)、外部电源同时是最强冷却资源(本场景独有一段冷却全能力可用的窗口,而窗口长度由动作链决定、不是常数)。三条合起来立起本课钉子:断高压这个开关两头方向相反,而「切断注入」(外部请求、会失败)与「切断高压」(内部动作、必成功但失去冷却)是两个动作,⛔ 动作表里不许压成一行「停止充电」。与行驶场景比,天平位置变了但终点没变——分级结构不动,只重填动作列与误报频次列。口径上写「高发窗口之一」,⛔ 不写统计最值。场景要切成四段(插枪未充/充电中/充满仍插枪/拔枪后静置),每段三张底牌(能量输入/可用冷却能力/可用告警通道),动作集在哪儿变、就看哪张底牌变了;★ 按全集核对另有四类段,⑤预约起充等待与⑥主动暂停要补进来并各加一条「禁止未来自动动作」,⑦V2G/V2L 与⑧拔枪瞬间显式标为射程外。下一讲把「什么时候把窗口关掉」化成一个可核对的时限预算。

后面还有 5 讲正文 · 关键公式 · 案例拆解 · 常见误区 · 动手做

会员专属

后续为会员深水区内容——四库数据与深度拆解。

查看会员方案