FCR
Este guia ajudará você a configurar o FCR no seu SmartgridOne Controller para controlar e monitorar remotamente instalações de baterias.
Visão Geral
Cuidado
AVISO: O FCR substitui a funcionalidade original do controlador.
Dispositivos Suportados
| Device Type | Variants | Suportado |
|---|---|---|
| Inversores Solares | Todos | ❌ |
| Dispositivos de Armazenamento | ✅ | |
| Carregadores de VE | ❌ |
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
e certifique-se de que os ao SmartgridOne Controller.
2. Verifique os limites de potência da rede
Nas configurações, os limites de potência da rede devem estar corretamente definidos. 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 .
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á à aba 'Sinais Externos'.

Clique em 'Mercados de Energia'.

Selecione Eniris, selecione FCR e clique em 'Próximo'.
Operação do FCR
A Reserva de Contenção de Frequência (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 diminuir a frequência.
- Frequência em 50 Hz (rede equilibrada): a bateria permanece inativa dentro da banda morta.
A curva de droop define quanta potência a bateria entrega para uma dada variação de frequência. Uma pequena banda morta, geralmente de 10mHz, em torno de 50 Hz evita reação a flutuações mínimas, e a resposta escala linearmente com a variação até a potência máxima da reserva na borda da faixa de operação. No mercado europeu de FCR, a ativação total é alcançada em uma variação de ±200 mHz (ou seja, em 49,8 Hz e 50,2 Hz).
Como o controlador mede a frequência por conta própria e aplica a curva de droop autonomamente, a bateria responde automaticamente e em tempo real às mudanças da frequência da rede — não é necessário um ponto de ajuste externo para ativar a reserva.
O operador da rede controla a participação via (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 reage à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 diferir da potência nominal da bateria (nompower); a curva de droop é escalada para esta capacidade alocada em vez da potência nominal total da bateria.
Mensagens MQTT do FCR
O FCR é conduzido por mensagens MQTT enviadas ao SmartgridOne Controller. Para tudo relacionado a conexão ao broker MQTT — requisitos de rede e credenciais — siga primeiro o guia . 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ê pretende 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 confirmação — o controlador reconhece aqui que o comando foi recebido e salvo. |
management | Do controlador | Tópico de feedback — o controlador publica feedback aqui a cada segundo. |
Formato da mensagem
A mensagem FCR tem 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
},
Descrição dos campos
- time (Integer): 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 de
nodeIdpara a maioria dos dispositivos SmartgridOne Controller.
- nodeId (String): Identificador único do nó do site. Este é seu número de série seguido de
- fields (Objeto): Contém a instrução FCR, dividido 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 é escalada.
- active (Boolean): 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á desativado 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 mencionado acima, isso pode diferir da potência nominal da bateria (nompower).
- start_time (Integer): Timestamp Unix em segundos no qual esta instrução FCR entra em vigor.
- end_time (Integer): Timestamp Unix em segundos no qual esta instrução FCR expira.
management
Aplica um ponto de ajuste explícito de potência além ou em lugar da resposta FCR — por exemplo, para conduzir o estado de carga da bateria de volta para um intervalo funcional enquanto participa do FCR.
- setpoint_W (Float): Ponto de ajuste de potência desejado em watts. Um valor positivo carrega a bateria, um valor negativo descarrega.
- start_time (Integer): Timestamp Unix em segundos no qual o ponto de ajuste de gerenciamento se torna ativo.
- end_time (Integer): Timestamp Unix em segundos no qual o ponto de ajuste de gerenciamento expira.
test
Usado para executar um teste de qualificação ou verificação na instalação. Inclua este bloco somente quando estiver realizando um teste.
- mode (String): O teste a ser realizado. Um dos:
"frequency_injection": Simular uma variação de frequência aplicando uma rampa no sinal de frequência, para verificar a resposta da curva de droop. Requer o objetorampabaixo."usable_energy": Verificar a energia utilizável da bateria.
- ramp (Objeto): Usado somente quando
modeé"frequency_injection". Descreve a rampa de frequência simulada:- f_start_Hz (Float): Frequência no começo da rampa, em hertz.
- f_target_Hz (Float): Frequência para qual a rampa converge, em hertz.
- duration_s (Float): Duração da rampa, em segundos.
- t_start (Integer): Timestamp Unix em segundos no qual a rampa começa.
- target_soc (Float): Usado somente quando
modeé"usable_energy". O estado de carga alvo, como 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 esse estado de carga, medindo a energia transferida para verificar a energia utilizável da bateria.
Mensagem de confirmação
Após um comando ser recebido no tópico de entrada, a SmartgridOne Controller publica um reconhecimento no . A confirmação informa se o comando foi aceito e salvo, ou rejeitado. Ela vem em um dos seguintes dois formatos.
Quando o comando foi recebido:
{
"requestTime": "<Unix Timestamp>",
"time": "<Unix Timestamp>",
"siteNodeId": "<Controller SN>_site_0",
"data": {
"status": "accepted" or "rejected",
"error": "<mensagem de erro>"
},
"fields": {}
}Descrição dos campos
- requestTime (Integer): Timestamp Unix em segundos do comando original sendo reconhecido. Isso corresponde ao campo
nodeIddo comando enviado, permitindo correlacionar o reconhecimento com a solicitação. - time (Integer): Timestamp Unix em segundos em que o reconhecimento foi enviado.
- siteNodeId (String): O
fcrSetpoint_Wdo site que enviou 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 apenas 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 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":
Descrição dos campos
- time (Integer): Timestamp Unix em segundos em que a mensagem de feedback foi enviada.
- siteNodeId (String): O
nodeIddo site que enviou o feedback. - data (Objeto):
- fcr_active (Boolean): Se o FCR está atualmente ativo.
- frequency_Hz (Float): A 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 ajuste total atual de potência, em watts. É 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 ajuste de potência, em watts. É a parte do ponto de ajuste resultante da variação de frequência e da .
- managementSetpoint_W (Float): A contribuição do gerenciamento para o ponto de ajuste de potência, em watts. É a parte do ponto de ajuste vinda do sinal de carga/descarga do , aplicado além da resposta FCR.
- soc_perc (Float): O estado médio de carga da bateria, em percentual.
- droop_perc (Float): O droop ativo, em percentual — a fração da capacidade FCR alocada atualmente fornecida em resposta à variação da frequência.
