事例:配電変圧器供給区域の一時的な容量補強
この事例では、Edge-EMS Builder 自体が「容量補強」という業務ロジックを内蔵しているのではなく、収集、集約式、トリガープランの 3 つの基本機能を組み合わせて制御を構築する方法を示します。同じ考え方で、「しきい値の監視 → 余裕量の計算 → アクション実行」というさまざまな用途を設定できます。
配電変圧器の供給区域(1 台の配電変圧器が給電する区域)の容量は、315kVA、400kVA など一定です。複数車両の同時急速充電や季節的な電力需要ピークなど、一時的な集中負荷が生じると、実測負荷が変圧器定格に近づく、または超える可能性があります。従来は電力会社へ変圧器の容量増強工事を申請しますが、時間とコストがかかり、短時間のピークへの対応だけが目的となる場合もあります。
一時的な容量補強では、供給区域側へ蓄電システムを配置します。Edge-EMS Builder が区域負荷をリアルタイム監視し、変圧器容量の上限へ近づく前に自動で放電を指示します。蓄電設備が供給不足分の一部を補い、系統からの受電電力を安全なしきい値内に保ちます。負荷が低下すると容量補強モードを自動終了し、低需要時間帯の充電など通常の運用へ戻ります。変圧器を改造せず、ソフトウェア制御と蓄電設備で一時的な容量増強効果を得ます。
2. 対象デバイスとデータ
Section titled “2. 対象デバイスとデータ”| 役割 | デバイス | 主要ポイント |
|---|---|---|
| 区域全体の電力計 | 配電変圧器出力側のスマート電力計 | 区域全体の受電電力 Feeder_active_power(kW) |
| 蓄電システム | PCS + BMS | 現在の出力 PCS1_active_power(kW、正が放電)、SOC PCS1_soc(%)、放電上限 PCS1_max_discharge_power(kW) |
| 制御パラメーター | カスタム/集約ポイント | 変圧器定格容量 Transformer_rated_capacity(kW)、容量補強の開始しきい値比率、SOC 保護下限 |
これらのポイントは、データモデル の生データ(電力計、PCS/BMS の実測値)と時間帯別・カスタムデータ(しきい値パラメーター)から構成されます。運用担当者はスクリプトを変更せずに季節に応じて調整できます。
3. 集約計算:区域の余裕容量と補強需要
Section titled “3. 集約計算:区域の余裕容量と補強需要”集約ポイント Feeder_headroom_kw(区域の余裕容量)を追加し、次の式を設定します。
-- 余裕容量 = 定格容量 × 開始しきい値比率 - 実測受電電力local rated = tonumber(${Transformer_rated_capacity} or 0)local ratio = tonumber(${Capacity_trigger_ratio} or 0.9) -- 既定では定格容量の 90% を開始しきい値とするlocal used = tonumber(${Feeder_active_power} or 0)
return rated * ratio - usedFeeder_headroom_kw が負の場合、区域負荷が開始しきい値に近づいたか超えたことを意味し、蓄電設備による負荷分担が必要です。
4. トリガープラン:負荷がしきい値に近づいたら自動放電
Section titled “4. トリガープラン:負荷がしきい値に近づいたら自動放電”トリガー条件(データ変化トリガー、DATA_CHANGE):
return tonumber(${Feeder_headroom_kw} or 0) < 0トリガーアクション:
local resultList = {}
local headroom = tonumber(${Feeder_headroom_kw} or 0) -- 負値は不足電力を表すlocal soc = tonumber(${PCS1_soc} or 0)local maxDischarge = tonumber(${PCS1_max_discharge_power} or 0)
-- SOC 保護:下限未満では容量補強せず、アラームのみ出して過放電を防止if soc < tonumber(${SOC_protect_min} or 20) then table.insert(resultList, buildCommonAlarmMap( "增容能力不足", "台区负荷超限但储能SOC过低(" .. soc .. "%),无法执行临时增容,请人工介入" )) return resultListend
-- 補助する電力 = 不足量の絶対値。ただし蓄電設備の最大放電能力以下local needPower = math.min(-headroom, maxDischarge)
table.insert(resultList, buildCommonWriteMap("Collection", "PCS1_power_setpoint", needPower, nil, nil, true))table.insert(resultList, buildCommonAlarmMap("台区临时增容已启动", "台区负荷超限,储能按 " .. needPower .. " kW 放电分担负荷"))table.insert(resultList, buildMqttAlarmMap("台区临时增容已启动", "储能放电分担台区负荷", 1, "alarm/upload", 1))
return resultList5. 終了条件:頻繁な起動・停止を防ぐヒステリシス
Section titled “5. 終了条件:頻繁な起動・停止を防ぐヒステリシス”「余裕容量 ≥ 0」をそのまま終了条件にすると、しきい値付近の負荷変動で蓄電設備が起動・停止を繰り返す、いわゆるハンチングが発生します。そこで**ヒステリシス帯(Hysteresis)**を設け、容量補強の開始と終了に異なるしきい値を使用します。
集約ポイント Feeder_headroom_exit_kw(終了判定用の余裕量。しきい値比率は 0.9 ではなく 0.8 など、余裕を持たせる)を追加します。
local rated = tonumber(${Transformer_rated_capacity} or 0)local exitRatio = tonumber(${Capacity_exit_ratio} or 0.8)local used = tonumber(${Feeder_active_power} or 0)
return rated * exitRatio - usedさらに、${Feeder_headroom_exit_kw} >= 0 かつ ${PCS1_power_setpoint} > 0(容量補強中)を条件とするトリガープランを追加します。アクションは PCS1_power_setpoint を段階的にゼロへ戻し、容量補強モードを終了して、低需要時間帯の充電など通常の運用へ移行します。
6. 他の機能との組合せ
Section titled “6. 他の機能との組合せ”- 複数蓄電設備の協調:区域内に複数の蓄電システムがある場合、デバイス協調 で利用可能容量を 1 つの集約ポイントへまとめ、SOC の高低や定格電力比に応じて放電を配分できます。充電器の負荷分散 の均等配分アルゴリズムと同じ考え方です。
- クラウドでの可視化と運用指示:クラウド・エッジ連携 で
Feeder_headroom_kw、容量補強の開始・終了状態、蓄電出力などを定期送信し、複数区域の運転を遠隔監視できます。クラウドからしきい値などを配信し、制御を動的に調整することもできます。 - 大規模な再利用:同じ PCS/BMS と同じ制御構造を持つ区域を多数導入する場合、デバイスユニットの動的拡張 で集約ポイントをテンプレート化できます。新区域の接続時に設定を自動生成し、区域ごとの構築作業を繰り返す必要がなくなります。
7. まとめ
Section titled “7. まとめ”この事例の生データ収集、集約式による余裕量計算、データ条件トリガー、書き込みアクションによる指令送信、アラーム、MQTT 報告は、すべて Edge-EMS Builder の汎用機能です。「一時的な容量補強」という業務ロジックは、設定の組合せだけで実現しています。電力計や PCS を他のデバイスに、しきい値判定を別の業務ルールに置き換えれば、同じ構築方法をピークカット・負荷平準化、デマンド制御、複数エネルギー源の相互補完など、ほぼあらゆる「監視 → 判断 → 実行」の用途へ再利用できます。
図は、このページの設定ロジックに基づくデータと制御の流れです。具体的な操作フィールドは、本文の設定とスクリプトを参照してください。
⚠️ この事例のしきい値比率や SOC 保護下限などは例です。実際の案件では、変圧器定格容量、蓄電設備の利用可能容量、地域の運用指示要件などを考慮して設定してください。