夜8時、駐車場の充電器。携帯回線のモデムが20分ほど切れました。すでに1台が充電中で、もう1台のドライバーがRFIDカードを持って近づいてきます。このとき何が起きるべきでしょうか。
答えの大半は、充電管理システム(CSMS)ではなく充電器側にあります。CSMSが関与できるのは2つのタイミングだけです。事前の設定と、接続が戻った後に充電器が単独で行った処理を整合させる場面です。
この記事は、当社のプラットフォームが本番で使っているOCPP 1.6Jについて、その両方を扱います。タイで拠点、社宅、工場の駐車場などに充電設備を導入する場合の判断材料としてお読みください。
動作を決めるのは誰か:充電器
OCPP 1.6Jは、充電器からCSMSへのWebSocket接続です。回線が切れると、CSMSは認可要求に答えることも、充電開始を指示することもできません。充電器のファームウェアが、OCPP仕様で許される範囲と、最後にオンラインだったときにCSMSが設定した値に従って自分で判断します。
実務上の帰結は、同じ障害でもメーカーや機種によって挙動が変わりうることです。オフライン時の動作は機種と設定の性質であり、仮定ではなく試験で確かめるべきものです。
オフライン動作を左右する設定
OCPP 1.6には、これを制御するconfiguration keyが定義されています。特に重要なものは次のとおりです。
| Key | 制御する内容 |
|---|---|
LocalAuthorizeOffline |
接続がない間、充電器がローカルのデータでIDタグを認可してよいか |
LocalPreAuthorize |
CSMSの応答を待たず、ローカル認可で充電を開始してよいか |
AuthorizationCacheEnabled |
過去の認可結果のキャッシュを保持するか |
LocalAuthListEnabled |
ローカル認可リストを使うか(CSMSがリストを充電器へ送る) |
AllowOfflineTxForUnknownId |
充電器が知らないIDタグでもオフライン中に充電開始を許すか |
TransactionMessageAttempts と TransactionMessageRetryInterval |
トランザクション関連メッセージの再送回数と間隔 |
MeterValueSampleInterval |
充電中に電力量を取得する間隔 |
すべての充電器がすべてのkeyに対応しているわけではなく、既定値も異なります。確実なのは、実機の設定を読み出し(OCPPのGetConfiguration)、データシートの一行を信じるのではなく、オフライン時の挙動をメーカーに確認することです。
Simplico EV CSMSのページも同じ点を実務レベルで述べています。OCPP準拠の充電器は、認可済みのローカルセッションをキャッシュ済みのRFIDデータで継続でき、接続回復時にトランザクションを再同期します。
セッションに何が起きるか
停電ではなく通信断の間、許可されている充電器は、ローカルで認可できるドライバーのセッションを開始し、充電を続け、通常なら即時送信するメッセージ(トランザクション開始、メーター値、停止)をキューに溜めます。接続が戻ると、それらを送信します。
ドライバーは何も気づきません。運用側には空白が見え、その後に過去のタイムスタンプを持つセッションが遅れて現れます。知っておくべき点が1つあります。トランザクションIDは通常、開始メッセージへの応答でCSMSが発行するため、通信断の間に記録された電力量値は、再接続するまでそのIDを持てないのが一般的です。
復旧時にCSMSが守るべきこと
ここがプラットフォームの腕の見せどころです。どのCSMSにも当てはめたい4つの基準を挙げます。
- 到着時刻ではなく、充電器のタイムスタンプを使う。 20:03に始まり20:27に届いたセッションは、20:03に起きたことです。課金、レポート、料金時間帯はこれに依存します。
- 冪等(idempotent)にする。 再送により同じメッセージが2回届きえます。重複を受けても、セッションや請求が二重になってはいけません。決済APIで述べた考え方と同じです(Idempotency in Payment APIs、英語)。
- 請求の前に照合する。 充電器が遅れて送信している途中で、セッションを確定したり請求したりしない。停止メッセージと最終のメーター値が揃うまで待ちます。
- 生のOCPPメッセージを残す。 セッションがおかしいとき、証拠になるのは元のメッセージです。当社のデモ基盤は、デバッグのためにセッションと並べて生のOCPPメッセージを記録しています。
決済が絡むと話が変わる
ローカルリストやキャッシュにあるRFIDタグのように、充電器自身が本人確認できるドライバーであれば、オフライン継続はきれいに動作します。
一方、PromptPayやQR30で支払うQRスキャン充電は事情が異なります。決済の確認は充電器の外で行われるため、一般に接続に依存します。当社の製品ページが説明しているのは、キャッシュ済みRFIDセッションのオフライン継続です。別途設計していない限り、QR決済のセッションは接続依存として計画し、拠点がオフラインのときドライバーに何を見せるかを意図的に決めてください。
ローカルCSMSプロキシの位置づけ
多くの拠点では、たまの通信断と、それをうまく処理できる充電器で足ります。しかし、電波が弱い遠隔地や、止まるとすぐ収益に響く施設など、通信断が頻繁または高コストな拠点では、もう1つの選択肢があります。拠点内にCSMS側の小さなサービスを置く構成です。
flowchart TD
A["充電器"] --> B["拠点内のローカルCSMSプロキシ"]
B -->|"上り回線が正常"| C["中央CSMS"]
B -.->|"上り回線断 ローカルに蓄積"| D["ローカルバッファ"]
D -.->|"回線復旧 転送"| C
上り回線が切れていても、充電器は構内ネットワーク上の相手と通信を続けられます。プロキシは受け取った内容を蓄積し、接続が戻ったら中央のCSMSへ転送します。当社のEV CSMSページには、不安定な拠点向けにローカルCSMSプロキシを導入できると記載しています。
これは拠点ごとの判断であり、標準ではありません。運用、更新、監視の対象が1つ増えるため、通信断のコストがそれに見合う拠点でのみ効果があります。判断の前に、その拠点が実際にどれくらい切れるかを計測してください。
試運転に加えたい試験
構成が何であれ、障害は信じるのではなく試してください。充電器の機種ごとに次を行います。
- ローカルリストにあるRFIDタグでセッションを開始する。
- セッション中に上り回線を切る(モデムを止める、またはネットワークケーブルを抜く)。
- そのまま充電させ、充電器側でセッションを停止する。
- 回線を復旧する。
- セッションが1件だけ現れ、開始・停止時刻が正しく、電力量が充電器の表示と一致し、二重請求がないことを確認する。
- QR決済のセッションでも繰り返し、ドライバーに何が見えるかを記録する。
当社の試運転工程には、テストセッションと決済の通し検証が含まれます。オフライン試験も作業範囲に明記するよう依頼してください。
この記事が主張すること、しないこと
- OCPP 1.6Jの一般的な挙動を説明しています。充電器は機種ごとに異なるため、お使いの機種で試験してください。
- Simplicoのプラットフォームについての記述は、製品ページにある内容に限っています。キャッシュ済みRFIDセッションはオフラインで継続・再同期でき、不安定な拠点にはローカルCSMSプロキシを導入できる、という点です。
- ローカルプロキシは拠点ごとに範囲を決めるもので、すべての導入に含まれるわけではありません。
- OCPP 2.0.1は新規導入向けのアップグレードパスとして用意しており、本記事では扱いません。
よくある質問
ネットが切れても充電器は使えますか。
機種と設定によります。ローカル認可に対応した充電器は、ローカルで確認できるドライバーのセッションを継続し、接続回復後に再同期できます。
オフライン中のセッションは正しく課金されますか。
再接続時のCSMSの責任です。充電器のタイムスタンプを使い、重複を無視し、請求前に照合します。試運転で確認してください。
ローカルプロキシは必要ですか。
ほとんどの拠点では不要です。通信断が頻繁、または高コストな拠点でご相談ください。拠点ごとに範囲を定めます。
対応する充電器のメーカーは。
WebSocketでOCPP 1.6Jに対応していれば接続できます。お使いの機種は試運転中に検証します。
実際の動きを確認する
実機またはシミュレーターを公開デモに接続し、届くOCPPメッセージを確認できます。デモの実践ガイド(英語)に手順があります。パッケージと導入の流れはEV CSMSのページをご覧ください。
拠点の計画があり、オフライン動作をきちんと試験したい場合は、拠点、充電口数、稼働開始希望日の3点をお知らせください。48時間以内に範囲を定めた提案をお送りします:hello@simplico.net。セルフホスト型プラットフォームの最初の事業者向けに、Founding Partnerプログラム(英語)も実施しています。
OCPPはOpen Charge Allianceの商標です。PromptPayおよびQR30はタイ中央銀行のサービスです。
最新の記事
- 農家への支払単価はなぜ再計算されないのか:集荷デポ向けソフトウェアの価格スナップショットとFIFO October 26, 2026
- 5つの測定値から1つの判定へ:検査台での多点測定とフットペダル取り込み October 26, 2026
- 創業パートナー募集:タイの決済と受注生産に対応したホワイトラベルEコマース基盤 October 26, 2026
- 創業パートナー募集:ERPの指示・作業者・設備をつなぐオンプレミス型MES October 25, 2026
- 創業パートナー募集:スクラップ・リサイクル事業者向けデポ運営プラットフォーム October 25, 2026
- 創業パートナー募集:小規模〜成長中のジム・スタジオ向け会員管理システム October 25, 2026