案例:台區臨時增容
本案例演示 Edge-EMS Builder 本身不包含“增容”這個業務邏輯,而是透過擷取、聚合運算式、觸發方案三個基礎能力組合出這套控制策略。理解本案例後,可以按同樣的思路把任意“監測閾值 → 計算餘量 → 執行動作”類場景設定出來。
一、業務背景
Section titled “一、業務背景”配電台區(一臺配電變壓器所覆蓋的供電區域)的容量是固定的(如 315kVA、400kVA)。當台區內出現短時集中負荷(如多臺車同時快充、季節性用電高峰)時,實測負荷可能逼近甚至超過變壓器額定容量,傳統做法是向電網公司申請變壓器增容改造,週期長、成本高,且很多時候只是為了應對短時峰值。
台區臨時增容的思路是:在台區側部署一套儲能系統,由 Edge-EMS Builder 即時監測台區負荷,在負荷逼近變壓器容量上限前自動指令儲能放電,用儲能出力頂替一部分變壓器供電缺口,使台區總下網功率維持在安全閾值以內;負荷回落後自動退出增容模式,儲能轉為正常排程(如低谷充電)。整個過程無需改造變壓器,僅透過軟體策略 + 儲能裝置即可實現“臨時”擴容效果。
二、涉及的裝置與資料
Section titled “二、涉及的裝置與資料”| 角色 | 裝置 | 關鍵點位 |
|---|---|---|
| 台區總表 | 配變出線智慧電表 | 台區總下網功率 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 實測值)和分時/自訂資料(閾值參數,方便營運人員按季節調整而無需改指令碼)。
三、聚合計算:台區剩餘容量與增容需求
Section titled “三、聚合計算:台區剩餘容量與增容需求”新增聚合點位 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 為負值時,代表台區負荷已逼近或超過觸發線,需要儲能介入分擔負荷。
四、觸發方案:負荷逼近閾值時自動放電
Section titled “四、觸發方案:負荷逼近閾值時自動放電”觸發條件(資料變化觸發,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 resultList五、退出條件:避免頻繁啟停的遲滯設計
Section titled “五、退出條件:避免頻繁啟停的遲滯設計”如果直接用“剩餘容量 ≥ 0”作為退出條件,負荷在閾值附近波動時會導致儲能反覆啟停(俗稱“震盪”)。做法是引入一個滯迴帶(Hysteresis):進入增容模式的閾值和退出增容模式的閾值不是同一個值。
新增聚合點位 Feeder_headroom_exit_kw(退出判定餘量,閾值比例更寬鬆,如 0.8 而不是 0.9):
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 逐步歸零,退出增容模式,轉入正常排程策略(如低谷充電)。
六、與其他能力的組合
Section titled “六、與其他能力的組合”- 多臺儲能協作:若台區內有多套儲能,可以透過 裝置協作 把各儲能的可用容量彙總為一個聚合點位,觸發動作裡按 SOC 高低或額定功率比例分配放電任務,思路與 充電樁負載平衡案例 中的均分演算法一致。
- 雲端視覺化與排程:透過 雲端與邊緣協作 把
Feeder_headroom_kw、增容啟停狀態、儲能出力等資訊定時回報雲端平台,供營運人員遠端監控多個台區的增容執行情況,雲端也可以下發觸發閾值等參數動態調整策略。 - 規模化重複使用:若同一批次專案有大量結構相同的台區(同型號 PCS/BMS、同樣的策略骨架),可以用 裝置單元動態擴充 把上述聚合點位定義為範本,新台區接入後自動產生設定,不需要逐個台區重複搭建。
本案例中出現的所有能力——原始資料擷取、聚合運算式計算餘量、資料條件觸發、寫入動作下發指令、告警與 MQTT 回報——都是 Edge-EMS Builder 提供的通用零件,“台區臨時增容”這個具體業務邏輯完全是透過設定組合出來的。把電表、PCS 換成其他裝置,把閾值判斷換成別的業務規則,同樣的搭建思路可以重複使用到削峰填谷、需量控制、多能互補等幾乎任何“監測 → 判斷 → 執行”類場景。
本圖根據本頁設定邏輯繪製,展示資料與控制流程。具體操作欄位請參照文中的設定與指令碼。
⚠️ 本案例中的閾值比例、SOC 保護下限等參數僅為示例,實際專案需結合變壓器額定容量、儲能可用容量、當地排程要求等因素具體設定。