EV

后台一旦宕机,充电桩会不会全部熄火?充电桩业主说的“OCPP 备用接入点”到底是什么

November 13, 2026
后台一旦宕机,充电桩会不会全部熄火?充电桩业主说的“OCPP 备用接入点”到底是什么

想象一个周一早上六点。每个站点本身都没问题:桩有电、4G 信号正常、线缆完好。但夜里对充电管理平台服务器做的一次变更,或者一张过期的证书,或者云区域出了点状况,导致所有充电桩都连不上后台。看板上一片红。司机到了现场,怎么操作都无法开始充电。

当业主对我们说“想要 OCPP 备用接入点”时,他们脑子里就是这个场景。他们想要第二个地址:第一个地址不可用时,充电桩能去连第二个,这样后台单点出问题,就不会让所有站点同时离线。

听起来是一个功能,实际上是三个不同的问题。第一步要把它们分开。

被统称为“容灾”的三件事

哪里坏了 影响谁 参考
站点上行断网 充电桩无法接入互联网 单个站点 我们的文章 OCPP 1.6J 离线行为与本地 CSMS 代理(英文)
后台或接入点故障 桩能上网,但 CSMS 地址不响应或响应异常 所有指向该地址的桩 本文
更换服务商 想迁移到另一套 CSMS,或双系统并行 整个网络 文末简单提及

业主往往把它们混为一谈,因为现象都一样:红点。但解法并不相同。

业主常说的痛点

按出现频率大致排序如下。

一个地址,一个单点故障。 每台桩只有一个 CSMS 地址。这个地址一旦失效,桩没有别的地方可试。

现场没人。 有些固件只接受来自后台系统的新地址,而那个系统恰好正在宕机。修复可能要逐站派人上门,或者依赖只有桩厂商才能操作的门户。

计费记录丢失或混乱。 故障期间产生的充电会话要先由桩缓存,之后再上传。如果恢复后的后台规则或交易编号方式不同,会话可能重复或丢失。

支付卡住。 用二维码加 PromptPay 或 QR30 付款的司机,需要后台确认付款。后台不在,这类会话就无法开始,桩本身再好也没用。

被厂商锁定。 桩绑定在某一家的后台上,业主就没有现实的办法离开,也无法先拿几台桩试用别的平台。

重连风暴。 后台恢复的一瞬间,几百台桩同时重连,刚恢复的系统又被冲垮。

为什么在 OCPP 里这么难

OCPP 是一台桩和一套 CSMS 之间的协议。它规定了连上之后双方说什么,却几乎没有规定桩应该先试哪个地址、按什么顺序试。

OCPP 1.6J。 据我们所知,规范没有定义备用接入点列表。CSMS 地址存放在桩自己的配置里,通常是厂商自定义的配置项。是否支持第二个地址,完全取决于固件。Open Charge Alliance 的提升在线率指南详细讲了离线行为,但没有涉及多个后台 URL 或 CSMS 故障切换。

OCPP 2.0.1。 增加了在桩上保存连接配置的机制。CSMS 可以通过 SetNetworkProfile 消息,把包含 CSMS 地址和安全配置的连接配置放进桩上带编号的配置槽位。规范里还有把桩迁移到新 CSMS 的用例。这让桩可以有不止一个去处,但桩如何在它们之间选择、何时切换,需要向厂商确认。现场已安装的桩,包括泰国在内,相当多仍然是 1.6J,所以不要现在就指望 2.0.1 这条路。

实际结论是:对大多数已安装的桩,容灾要围绕桩来设计,而不是写在协议里。

容灾可以放在的四个层次

flowchart TD
    A["充电桩"] --> B["第1层 固件内备用URL"]
    A --> C["第2层 一个固定主机名"]
    C --> D["主CSMS"]
    C --> E["备用CSMS"]
    A --> F["第3层 站点本地代理"]
    F --> C
    A --> G["第4层 桩自身离线模式"]

第 1 层:桩内的备用 URL。 如果固件支持第二个接入点,就用它。这是最简单的做法,完全是厂商的功能。购买前要问清楚,依赖之前要实测。

第 2 层:一个固定主机名,容灾放在它背后。 桩只指向一个由你掌控的名字。在这个名字背后,DNS 或负载均衡把连接导向健康的后台,备用系统接管时不需要动任何一台桩。只认一个 URL 的桩也能用。代价是名字、证书和健康检查都要你自己负责。

第 3 层:站点本地代理。 站点网络里的一个小服务,让桩始终和近处的某个东西通信,缓存消息,待后台可达时再转发。它也可以持有后台列表。对偏远站点或停机代价高的站点最有帮助,但它会多出一个需要打补丁和监控的组件,因此要逐站点决定。

第 4 层:桩自身的离线模式。 其他层都失效时,桩仍应让已知用户充电,并把记录排队保存。这是最后一道防线,不能代替其他层。

容灾解决不了的事

如果有人说“就是多加一个 URL”,请保持警惕。

  • 两个后台必须掌握相同的信息。 备用系统若没有同样的桩清单、RFID 名单、电价和凭据,就会拒绝桩,或者错误计费。
  • 一台桩绝不能有两个“大脑”。 如果两个后台都认为自己拥有同一台桩,就会出现交易编号重复和指令冲突。要明确谁是主用,以及如何宣布切换。
  • 证书和凭据要跟着桩走。 备用系统需要为桩所期望的名字准备有效证书,并接受同样的桩标识与密码或证书。
  • 重连需要节奏控制。 对 OCPP 2.0.1 的桩,Open Charge Alliance 建议调整退避设置:最小等待时间取小,随机范围取大,避免整批桩同时回来。
  • 支付是另一个依赖。 二维码和 PromptPay 会话依赖付款确认通道,而不只是 OCPP。
  • 离线时让陌生用户充电是有成本的。 允许任何人离线充电,风险由业主承担。OCA 的指南指出,这在交流桩上通常可以接受,在直流快充上往往风险过高。

应当问充电桩厂商和 CSMS 服务商的问题

问题 为什么重要
固件是否接受第二个 CSMS URL?如何选择? 决定第 1 层是否存在
能否远程修改 URL,还是只能到现场? 决定后台故障时的代价
OCPP 是哪个版本?2.0.1 是否支持 SetNetworkProfile? 决定你有哪些选项
桩能保留并重放排队交易多久? 保护计费记录
连接失败后的退避设置是多少? 避免重连风暴
桩能否使用你掌控的主机名并启用 TLS? 使第 2 层成为可能
备用 CSMS 能否导入相同的桩、标签和电价数据? 让备用系统真正可用
这个具体型号是否做过故障切换测试? 唯一算数的证明

我们现在提供的,与按项目交付的

我们把两者分开说明。

目前属于平台的部分: OCPP 1.6J 引擎;OCPP 2.0.1 作为升级路径;包含备份与恢复演练的托管运维;可用性监控和值班体系;以及面向网络不稳定站点的本地 CSMS 代理选项。

按项目确定范围,而不是一键开关: 在你的后台前面设计固定主机名与故障切换;备用系统的安排及所需的数据同步;针对你的桩群做退避与重连评估;以及对你所运营的每个型号,在调试验收时做故障切换测试。

我们不能承诺的: 每个桩型号都支持备用 URL。这是固件的事,各厂商不同。我们通过测试来确认,而不是靠阅读规格书。

如果你已经在运营充电桩,想了解自己有多大风险,请把桩的品牌和型号、OCPP 版本、CSMS 地址的设置方式、站点数量发到 hello@simplico.net,邮件主题写“OCPP fallback review”。我们会在 48 小时内回复一份范围说明。也可以通过 LINE 联系我们:iiitum1984。

常见问题

能不能直接给每台桩加第二个 URL?
只有固件支持才行。OCPP 1.6J 没有标准的备用列表,很多桩只接受一个地址。常见的变通办法是固定主机名,并在背后做故障切换。

OCPP 2.0.1 能解决吗?
有帮助,因为桩可以保存多个连接配置。但你仍需确认自己的桩如何在它们之间选择,而且现场很多桩仍是 1.6J。

后台宕机时,正在进行的充电会怎样?
桩通常会让已授权的会话继续,并把消息排队稍后发送。新会话如何处理,取决于离线设置和司机的付款方式。

容灾能保护二维码和 PromptPay 付款吗?
单靠容灾不能。这类会话依赖付款确认,请按“依赖连接”来规划。

本地代理和备用 CSMS 是一回事吗?
不是。代理为单个站点缓存并转发;备用 CSMS 是能接管整个桩群的第二套中心系统。有些设计两者并用。

需要更换我的充电桩吗?
通常不需要。最常见的设计是不动桩,只改变它们已在使用的那个地址背后的东西。

这篇文章出自谁?
Simplico,一家位于泰国的软件工程工作室。我们为泰国和东南亚的运营商构建并运营电动车充电平台。

相关文章

Ready to talk about your project?

Share goals and constraints. We'll assemble architects and engineers to move fast with you.

Get in touch