Pular para o conteúdo
JelinaJelina DocumentationDocumentação técnica
Voltar ao site oficial

Exemplo: ampliação temporária de capacidade na área de um transformador de distribuição

Este exemplo demonstra que o Edge-EMS Builder não contém, por si só, uma lógica de negócio de “ampliação de capacidade”. A estratégia é construída pela combinação de três recursos básicos: aquisição, expressões de agregação e perfis de acionamento. Compreendendo este exemplo, você poderá aplicar o mesmo raciocínio a cenários de “Monitorar limite → Calcular margem → Executar ação”.

A capacidade de uma área de distribuição — a região alimentada por um transformador de distribuição — é fixa, como 315kVA ou 400kVA. Quando há concentração temporária de cargas, como vários veículos em carga rápida simultânea ou picos sazonais de consumo, a carga medida pode se aproximar ou até exceder a capacidade nominal do transformador. A abordagem tradicional é solicitar à concessionária uma ampliação da capacidade do transformador, processo demorado e caro, muitas vezes necessário apenas para picos curtos.

A ampliação temporária de capacidade da área de distribuição consiste em instalar um sistema de armazenamento de energia no local. O Edge-EMS Builder monitora a carga em tempo real e, antes que ela se aproxime do limite do transformador, comanda automaticamente a descarga do armazenamento. A potência fornecida pelo armazenamento cobre parte do déficit de alimentação, mantendo a potência total importada da rede dentro de um limite seguro. Quando a carga cai, o modo de ampliação é encerrado automaticamente e o armazenamento retorna ao despacho normal, como carga em horários de baixa demanda. O processo dispensa alterações no transformador e produz um efeito de ampliação “temporária” apenas com estratégias de software e equipamentos de armazenamento.

Função Dispositivo Pontos principais
Medidor geral da área de distribuição Medidor inteligente na saída do transformador Potência total importada da rede Feeder_active_power (kW)
Sistema de armazenamento de energia PCS + BMS Potência atual PCS1_active_power (kW, positiva na descarga), SOC PCS1_soc (%) e limite de descarga disponível PCS1_max_discharge_power (kW)
Parâmetros da estratégia Pontos personalizados/agregados Capacidade nominal do transformador Transformer_rated_capacity (kW), proporção do limite de acionamento da ampliação e limite inferior de proteção do SOC

Esses pontos vêm, respectivamente, dos dados originais do modelo de dados — medições de medidor, PCS e BMS — e dos dados por faixa de horário/personalizados, usados para parâmetros de limite que a equipe de operação pode ajustar sazonalmente sem alterar scripts.

III. Cálculo agregado: capacidade restante e necessidade de ampliação

Seção intitulada “III. Cálculo agregado: capacidade restante e necessidade de ampliação”

Crie o ponto agregado Feeder_headroom_kw (capacidade restante da área de distribuição), com a expressão:

-- Capacidade restante = capacidade nominal × proporção do limite de acionamento - potência medida importada da rede
local rated = tonumber(${Transformer_rated_capacity} or 0)
local ratio = tonumber(${Capacity_trigger_ratio} or 0.9) -- Por padrão, usa 90% da capacidade nominal como limite de acionamento
local used = tonumber(${Feeder_active_power} or 0)
return rated * ratio - used

Quando Feeder_headroom_kw é negativo, a carga se aproximou ou ultrapassou o limite de acionamento, exigindo que o armazenamento assuma parte da carga.

IV. Perfil de acionamento: descarga automática ao se aproximar do limite

Seção intitulada “IV. Perfil de acionamento: descarga automática ao se aproximar do limite”

Condição de acionamento (por alteração de dados, DATA_CHANGE):

return tonumber(${Feeder_headroom_kw} or 0) < 0

Ação de gatilho:

local resultList = {}
local headroom = tonumber(${Feeder_headroom_kw} or 0) -- Valor negativo que representa o déficit de potência
local soc = tonumber(${PCS1_soc} or 0)
local maxDischarge = tonumber(${PCS1_max_discharge_power} or 0)
-- Proteção de SOC: abaixo do limite inferior, não participa da ampliação; apenas emite alarme para evitar descarga excessiva
if soc < tonumber(${SOC_protect_min} or 20) then
table.insert(resultList, buildCommonAlarmMap(
"增容能力不足", "台区负荷超限但储能SOC过低(" .. soc .. "%),无法执行临时增容,请人工介入"
))
return resultList
end
-- Potência a compensar = valor absoluto do déficit, limitada à potência máxima de descarga do armazenamento
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

V. Condição de saída: histerese para evitar partidas e paradas frequentes

Seção intitulada “V. Condição de saída: histerese para evitar partidas e paradas frequentes”

Usar diretamente “capacidade restante ≥ 0” como condição de saída pode fazer o armazenamento ligar e desligar repetidamente quando a carga oscila perto do limite. A solução é introduzir uma faixa de histerese (Hysteresis): o limite de entrada no modo de ampliação e o limite de saída são diferentes.

Crie o ponto agregado Feeder_headroom_exit_kw (margem para decisão de saída, com uma proporção de limite mais conservadora, como 0.8 em vez de 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

Depois, crie outro perfil de acionamento com as condições ${Feeder_headroom_exit_kw} >= 0 e ${PCS1_power_setpoint} > 0 (modo de ampliação atualmente ativo). A ação deve reduzir gradualmente PCS1_power_setpoint a zero, sair do modo de ampliação e retornar à estratégia normal de despacho, como carga em horários de baixa demanda.

  • Colaboração entre vários sistemas de armazenamento: se houver vários sistemas na área de distribuição, use a colaboração entre dispositivos para consolidar suas capacidades disponíveis em um ponto agregado. Na ação de gatilho, distribua a descarga conforme o SOC ou a proporção da potência nominal, seguindo o mesmo princípio do algoritmo de divisão do exemplo de balanceamento de carga de carregadores.
  • Visualização e despacho pela nuvem: por meio da colaboração entre nuvem e borda, informe periodicamente à plataforma de nuvem dados como Feeder_headroom_kw, estado de ativação da ampliação e potência do armazenamento, permitindo à equipe monitorar remotamente várias áreas de distribuição. A nuvem também pode enviar parâmetros, como limites de acionamento, para ajustar dinamicamente a estratégia.
  • Reutilização em escala: se um conjunto de projetos contiver muitas áreas com a mesma estrutura — mesmos modelos de PCS/BMS e mesma estrutura de estratégia —, use a expansão dinâmica de unidades de dispositivo para definir os pontos agregados acima como templates. Novas áreas gerarão suas configurações automaticamente, sem reconstrução individual.

Todos os recursos deste exemplo — aquisição de dados originais, cálculo de margem por expressões agregadas, acionamento por condições de dados, envio de comandos por ações de gravação, alarmes e reporte por MQTT — são componentes gerais do Edge-EMS Builder. A lógica específica de “ampliação temporária de capacidade” é inteiramente composta por configuração. Ao substituir medidores e PCS por outros dispositivos e os limites por outras regras de negócio, o mesmo método pode ser reutilizado em redução de picos e preenchimento de vales de carga, controle de demanda, complementaridade entre fontes de energia e praticamente qualquer cenário de “Monitorar → Decidir → Executar”.

Condições de entrada, controle do armazenamento e saída por histerese na ampliação temporária de capacidade da área de distribuição

Este diagrama foi elaborado a partir da lógica de configuração desta página e mostra os fluxos de dados e controle. Para os campos específicos, consulte as configurações e os scripts no texto.

⚠️ As proporções dos limites, o SOC mínimo de proteção e outros parâmetros deste exemplo são apenas ilustrativos. Em projetos reais, devem ser definidos conforme a capacidade nominal do transformador, a capacidade disponível do armazenamento, os requisitos locais de despacho e outros fatores.