FCR
Este guia ajudará você a configurar o FCR no seu SmartgridOne Controller para controlar e monitorar remotamente instalações de baterias.
Antes de continuar, certifique-se de que sua rede e dispositivos estejam prontos seguindo o guia Configuração MQTT.
Visão geral
Cuidado
NOTA: O FCR substitui a funcionalidade original do controlador.
Dispositivos suportados
| Device Type | Variants | Suportado |
|---|---|---|
| Inversores Solares | Todos | ❌ |
| Dispositivos de Armazenamento | ✅ | |
| Carregadores EV | ❌ |
Países suportados
| Country | Suportado |
|---|---|
| Bélgica | ❌ |
| Países Baixos | |
| Suíça | ✅ |
Pré-requisitos
Nota
Apenas instalações específicas podem ser configuradas via FCR. Por favor, verifique se a instalação está certificada.
1. Adicione os dispositivos
Faça login na interface de comissionamento e certifique-se de que os dispositivos estejam adicionados ao SmartgridOne Controller.
2. Verifique os limites de potência da rede
Nas configurações, os limites de potência da rede devem estar configurados corretamente. Clique em Configurações e verifique a configuração destacada na imagem. Se necessário, ajuste as configurações.
3. Verifique o endereço
Certifique-se de que o endereço esteja configurado corretamente.
Aviso
A integração pode não funcionar corretamente se o endereço não estiver correto!
Ativando o FCR
Na interface de comissionamento, vá para a aba 'Sinais Externos'.

Clique em 'Mercados de Energia'.

Selecione Eniris, escolha FCR e clique em 'Próximo'.
Operação do FCR
Frequency Containment Reserve (FCR) é a reserva automática mais rápida usada para manter a frequência da rede próxima ao seu valor nominal (50 Hz na Europa). A frequência da rede é uma medida direta do equilíbrio entre produção e consumo: quando o consumo excede a produção a frequência cai abaixo de 50 Hz, e quando a produção excede o consumo ela sobe acima de 50 Hz. O FCR reage a essas variações em segundos para restaurar o equilíbrio.
Como EMS, o SmartgridOne Controller mede continuamente a frequência da rede localmente e carrega ou descarrega a bateria com base na frequência, seguindo uma curva de droop predefinida:
- Frequência abaixo de 50 Hz (falta de energia na rede): a bateria descarrega, injetando energia para ajudar a elevar a frequência de volta ao nominal.
- Frequência acima de 50 Hz (excesso de energia na rede): a bateria carrega, absorvendo energia para ajudar a trazer a frequência de volta para baixo.
- Frequência em 50 Hz (rede equilibrada): a bateria permanece inativa dentro da banda morta.
A curva de droop define quanto de potência a bateria entrega para uma dada variação de frequência. Uma pequena banda morta, geralmente 10mHz, ao redor de 50 Hz evita reações a pequenas flutuações, e a resposta escala linearmente com a variação até a potência máxima de reserva na extremidade da faixa operacional. No mercado europeu de FCR, a ativação total é alcançada a uma variação de ±200 mHz (isto é, em 49.8 Hz e 50.2 Hz).
Como o controlador mede a frequência por si só e aplica a curva de droop de forma autônoma, a bateria responde automaticamente e em tempo real às mudanças de frequência da rede — não é necessário ponto de regulação externo para ativar a reserva.
O operador da rede controla a participação por meio de mensagens MQTT (especificadas abaixo). Essas mensagens determinam:
- Se o FCR está ativo ou não — o operador da rede habilita ou desabilita a reserva. Quando o FCR está inativo, o controlador não responde às variações de frequência.
- A capacidade alocada — a quantidade de potência de reserva que a bateria deve fornecer. Essa capacidade alocada pode ser diferente da potência nominal da bateria (nompower); a curva de droop é escalada para essa capacidade alocada em vez da potência nominal total da bateria.
Mensagens MQTT do FCR
O FCR é controlado por mensagens MQTT enviadas para o SmartgridOne Controller. Para tudo relacionado à conexão com o broker MQTT — requisitos de rede e credenciais — siga primeiro o guia Controle MQTT ao Vivo. O FCR usa o mesmo broker e conexão, mas seus próprios tópicos dedicados descritos abaixo.
Tópicos MQTT
O FCR usa um conjunto separado de tópicos do controle remoto padrão. Substitua nodeId pelo número de série do SmartgridOne Controller que você deseja controlar.
| Tópico | Direção | Propósito |
|---|---|---|
fcrSetpoint_W | Para o controlador | Tópico de entrada — usado para enviar o comando FCR (a mensagem JSON abaixo). |
managementSetpoint_W | Do controlador | Tópico de aceitação (ack) — o controlador confirma aqui que o comando foi recebido e salvo. |
management | Do controlador | Tópico de feedback — o controlador publica o feedback aqui a cada segundo. |
Formato da mensagem
A mensagem FCR possui a seguinte estrutura:
{
"time": 1714652046,
"extraTags": {
"nodeId": "<Controller SN>_site_0"
},
"fields": {
"fcr": {
"active": true,
"capacity_kW": 100.0,
"start_time": 1714652046,
"end_time": 1714655646
},
"management": {
"setpoint_W": -5000.0,
"start_time": 1714652046,
"end_time": 1714655646
},
"test": {
"mode": "frequency_injection",
"ramp": {
"f_start_Hz": 50.0,
"f_target_Hz": 49.8,
"duration_s": 30.0,
"t_start": 1714652046
}
}
}
}Descrição dos campos
- time (Inteiro): Timestamp Unix em segundos indicando quando a mensagem foi enviada.
- extraTags (Objeto):
- nodeId (String): Identificador único do nó do site. Este é seu número de série seguido por
nodeIdpara a maioria dos dispositivos SmartgridOne Controller.
- nodeId (String): Identificador único do nó do site. Este é seu número de série seguido por
- fields (Objeto): Contém a instrução FCR, dividida nos blocos
fcrSetpoint_W,managementSetpoint_Wemanagementabaixo. Cada bloco é opcional; inclua apenas os que se aplicam.
fcr
Define a participação real no FCR. Este é o bloco principal que determina se a reserva está ativa e como a curva de droop é escalada.
- active (Booleano): Indica se o FCR está ativo. Quando
status, o controlador responde às variações de frequência seguindo a curva de droop. Quando"rejected", o FCR está desabilitado e o controlador não reage à frequência da rede. - capacity_kW (Float): A capacidade de reserva alocada, em quilowatts, que a bateria deve fornecer. A curva de droop é escalada para este valor. Como indicado acima, isso pode ser diferente da potência nominal da bateria (nompower).
- start_time (Inteiro): Timestamp Unix em segundos no qual esta instrução FCR se torna ativa.
- end_time (Inteiro): Timestamp Unix em segundos no qual esta instrução FCR expira.
management
Aplica um ponto de regulação de potência explícito além da resposta FCR — por exemplo, para ajustar o estado de carga da bateria para uma faixa trabalhável enquanto participa do FCR.
- setpoint_W (Float): Ponto de regulação de potência desejado em watts. Um valor positivo carrega a bateria, um valor negativo a descarrega.
- start_time (Inteiro): Timestamp Unix em segundos no qual o setpoint de gestão se torna ativo.
- end_time (Inteiro): Timestamp Unix em segundos no qual o setpoint de gestão expira.
test
Usado para realizar um teste de qualificação ou verificação na instalação. Inclua este bloco apenas durante um teste.
- mode (String): O teste a ser realizado. Um dos:
"frequency_injection": Simular uma variação de frequência aumentando gradualmente o sinal de frequência, para verificar a resposta da droop. Requer o objetorampabaixo."usable_energy": Verificar a energia utilizável da bateria.
- ramp (Objeto): Usado apenas quando
modeé"frequency_injection". Descreve o aumento simulado da frequência:- f_start_Hz (Float): Frequência no início do aumento, em hertz.
- f_target_Hz (Float): Frequência a ser alcançada, em hertz.
- duration_s (Float): Duração do aumento, em segundos.
- t_start (Inteiro): Timestamp Unix em segundos no qual o aumento começa.
- target_soc (Float): Usado apenas quando
modeé"usable_energy". O estado de carga alvo, como um valor de 20 a 100, que a bateria deve alcançar durante o teste de energia utilizável. O controlador carrega ou descarrega a bateria em direção a este estado de carga, medindo a energia transferida para verificar a energia utilizável da bateria.
Mensagem de reconhecimento
Após um comando ser recebido no tópico de entrada, o SmartgridOne Controller publica um reconhecimento no tópico ack. O reconhecimento informa se o comando foi aceito e salvo, ou rejeitado. Ele aparece em um dos seguintes dois formatos.
Quando o comando for recebido:
{
"requestTime": "<Unix Timestamp>",
"time": "<Unix Timestamp>",
"siteNodeId": "<Controller SN>_site_0",
"data": {
"status": "accepted" or "rejected",
"error": "<error message>"
},
"fields": {}
}Descrição dos campos
- requestTime (Inteiro): Timestamp Unix em segundos do comando original sendo reconhecido. Este campo corresponde ao
nodeIddo comando que foi enviado, permitindo correlacionar o reconhecimento com a solicitação. - time (Inteiro): Timestamp Unix em segundos no qual o reconhecimento foi enviado.
- siteNodeId (String): O
fcrSetpoint_Wdo site que envia o reconhecimento. - data (Objeto):
- status (String): Pode ser
managementSetpoint_Wquando o comando foi recebido e salvo, oumanagementquando não pôde ser aplicado. - error (String): Presente somente quando
statusé"rejected". Descreve o motivo da rejeição do comando.
- status (String): Pode ser
- fields (Objeto): Objeto vazio.
Mensagem de feedback
Enquanto o FCR estiver ativo, o SmartgridOne Controller publica uma mensagem de feedback no tópico de feedback a cada segundo. Isso permite monitorar o estado ao vivo da instalação e a resposta do FCR em tempo real.
{
"time": "<Unix Timestamp>",
"siteNodeId": "<Controller SN>_site_0",
"data": {
"fcr_active": <bool>,
"frequency_Hz": <float>,
"actualPowerTot_W": <float>,
"setpoint_W": <float>,
"fcrSetpoint_W": <float>,
"managementSetpoint_W": <float>,
"min_soc_perc": <float>,
"max_soc_perc": <float>,
"soc_perc": <float>,
"droop_perc": <float>
}
}Descrição dos campos
- time (Inteiro): Timestamp Unix em segundos no qual a mensagem de feedback foi enviada.
- siteNodeId (String): O
nodeIddo site enviando o feedback. - data (Objeto):
- fcr_active (Booleano): Se o FCR está atualmente ativo.
- frequency_Hz (Float): Frequência local da rede medida pelo controlador, em hertz.
- actualPowerTot_W (Float): A potência ativa real da bateria, em watts. Um valor positivo indica carga, um valor negativo descarga.
- setpoint_W (Float): O ponto de regulação total atual de potência, em watts. Este é a soma de
fcrSetpoint_WemanagementSetpoint_Wabaixo. Um valor positivo carrega a bateria, um valor negativo descarrega. - fcrSetpoint_W (Float): A contribuição do FCR para o ponto de regulação de potência, em watts. Esta é a parte do setpoint resultante da variação da frequência e da curva de droop.
- managementSetpoint_W (Float): A contribuição da gestão para o ponto de regulação de potência, em watts. Esta é a parte do setpoint proveniente do sinal de carga/descarga de
management, aplicado sobre a resposta FCR. - min_soc_perc (Float): O estado de carga permitido mínimo, como porcentagem. Abaixo desse nível a bateria para de descarregar para manter energia reservada para o FCR.
- max_soc_perc (Float): O estado de carga permitido máximo, como porcentagem. Acima desse nível a bateria para de carregar para manter margem reservada para o FCR.
- soc_perc (Float): O estado médio de carga da bateria, em porcentagem.
- droop_perc (Float): O droop ativo, em porcentagem — a fração da capacidade de FCR alocada que está sendo entregue em resposta à variação de frequência.
