FCR
Esta guía le ayudará a configurar FCR en su SmartgridOne Controller para controlar y monitorear remotamente instalaciones de baterías.
Descripción general
Precaución
NOTA: FCR anula la funcionalidad original del controlador.
Dispositivos compatibles
| Device Type | Variants | Compatible |
|---|---|---|
| Inversores solares | Todos | ❌ |
| Dispositivos de almacenamiento | ✅ | |
| Cargadores de vehículos eléctricos | ❌ |
Países compatibles
| Country | Compatible |
|---|---|
| Bélgica | ❌ |
| Países Bajos | |
| Suiza | ✅ |
Prerrequisitos
Nota
Solo ciertas instalaciones pueden configurarse mediante FCR. Por favor, verifique que la instalación está certificada.
1. Añadir los dispositivos
Inicie sesión en la interfaz de puesta en marcha y asegúrese de que los dispositivos estén añadidos al SmartgridOne Controller.
2. Verifique los límites de potencia de la red
En los ajustes, los límites de potencia de la red deben configurarse correctamente. Haga clic en Configuración y revise el ajuste resaltado en la imagen. Si es necesario, ajuste los parámetros.
3. Verifique la dirección
Asegúrese de que la dirección esté configurada correctamente.
Advertencia
¡La integración puede no funcionar correctamente si la dirección no es correcta!
Activación de FCR
Desde la interfaz de puesta en marcha, vaya a la pestaña 'Señales externas'.

Haga clic en 'Mercados de Energía'.

Seleccione Eniris, escoja FCR y haga clic en 'Siguiente'.
Funcionamiento de FCR
La Reserva de Contención de Frecuencia (FCR) es la reserva automática más rápida utilizada para mantener la frecuencia de la red cercana a su valor nominal (50 Hz en Europa). La frecuencia de la red es una medida directa del equilibrio entre producción y consumo: cuando el consumo supera la producción la frecuencia baja por debajo de 50 Hz, y cuando la producción supera el consumo sube por encima de 50 Hz. FCR reacciona a estas desviaciones en segundos para restaurar el equilibrio.
Como el EMS, el SmartgridOne Controller mide continuamente la frecuencia de la red localmente y carga o descarga la batería en función de la frecuencia, siguiendo una curva de droop predefinida:
- Frecuencia por debajo de 50 Hz (falta de potencia en la red): la batería descarga, inyectando energía para ayudar a elevar la frecuencia al valor nominal.
- Frecuencia por encima de 50 Hz (exceso de potencia en la red): la batería carga, absorbiendo energía para ayudar a bajar la frecuencia.
- Frecuencia en 50 Hz (red equilibrada): la batería permanece inactiva dentro de la banda muerta.
La curva de droop define cuánta potencia entrega la batería ante una desviación dada de la frecuencia. Una pequeña banda muerta, usualmente de 10 mHz, alrededor de 50 Hz evita reaccionar ante fluctuaciones pequeñas, y la respuesta escala linealmente con la desviación hasta la potencia máxima de reserva en el límite de la banda operativa. En el mercado europeo de FCR, la activación completa se alcanza a una desviación de ±200 mHz (es decir, a 49.8 Hz y 50.2 Hz).
Debido a que el controlador mide la frecuencia por sí mismo y aplica la curva de droop de forma autónoma, la batería responde automáticamente y en tiempo real a los cambios de frecuencia en la red — no se requiere un punto de referencia externo para activar la reserva.
El operador de la red controla la participación vía mensajes MQTT (especificados a continuación). Estos mensajes determinan:
- Si FCR está activo o no — el operador habilita o deshabilita la reserva. Cuando FCR está inactivo, el controlador no responde a desviaciones de frecuencia.
- La capacidad asignada — la cantidad de potencia de reserva que la batería debe proporcionar. Esta capacidad asignada puede diferir de la potencia nominal de la batería (nompower); la curva de droop es escalada según esta capacidad asignada en lugar de la potencia nominal completa de la batería.
Mensajes MQTT para FCR
FCR se gestiona mediante mensajes MQTT enviados al SmartgridOne Controller. Para todo lo relacionado con la conexión al broker MQTT — requisitos de red y credenciales — siga primero la guía de Control MQTT en vivo. FCR usa el mismo broker y conexión, pero sus propios topics dedicados descritos a continuación.
Topics MQTT
FCR usa un conjunto separado de topics respecto al control remoto estándar. Reemplace nodeId con el número de serie del SmartgridOne Controller que desea controlar.
| Topic | Dirección | Propósito |
|---|---|---|
fcrSetpoint_W | Hacia el controlador | Topic entrante — usado para enviar el comando FCR (el mensaje JSON abajo). |
managementSetpoint_W | Desde el controlador | Topic de acuse de recibo — donde el controlador confirma que el comando fue recibido y guardado. |
management | Desde el controlador | Topic de retroalimentación — donde el controlador publica feedback cada segundo. |
Formato del mensaje
El mensaje FCR tiene la siguiente estructura:
{
"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
}
}
}
}Descripción de campos
- time (Entero): Marca de tiempo Unix en segundos indicando cuándo se envió el mensaje.
- extraTags (Objeto):
- nodeId (Cadena): Identificador único del nodo del sitio. Este es su número de serie seguido de
nodeIdpara la mayoría de dispositivos SmartgridOne Controller.
- nodeId (Cadena): Identificador único del nodo del sitio. Este es su número de serie seguido de
- fields (Objeto): Contiene la instrucción FCR, dividida en los bloques
fcrSetpoint_W,managementSetpoint_Wymanagementabajo. Cada bloque es opcional; incluya solo los que correspondan.
fcr
Define la participación actual en FCR. Este es el bloque principal que determina si la reserva está activa y cómo se escala la curva de droop.
- active (Booleano): Indica si FCR está activo. Cuando es
status, el controlador responde a desviaciones de frecuencia siguiendo la curva de droop. Cuando es"rejected", FCR está deshabilitado y el controlador no reacciona a la frecuencia de la red. - capacity_kW (Decimal): La capacidad de reserva asignada, en kilovatios, que la batería debe proveer. La curva de droop se escala en función de este valor. Como se indicó, puede diferir de la potencia nominal (nompower) de la batería.
- start_time (Entero): Marca de tiempo Unix en segundos cuando esta instrucción FCR entra en vigencia.
- end_time (Entero): Marca de tiempo Unix en segundos cuando esta instrucción FCR expira.
management
Aplica un punto de consigna de potencia explícito además o en lugar de la respuesta FCR — por ejemplo, para gestionar el estado de carga de la batería mientras participa en FCR.
- setpoint_W (Decimal): Potencia deseada en vatios. Un valor positivo carga la batería, uno negativo la descarga.
- start_time (Entero): Marca de tiempo Unix en segundos cuando el punto de gestión entra en vigor.
- end_time (Entero): Marca de tiempo Unix en segundos cuando el punto de gestión expira.
test
Se usa para realizar un test de calificación o verificación en la instalación. Incluya este bloque solo cuando se realiza una prueba.
- mode (Cadena): La prueba a realizar. Puede ser:
"frequency_injection": Simular una desviación de frecuencia rampando la señal, para verificar la respuesta de droop. Requiere el objetorampabajo."usable_energy": Verificar la energía utilizable de la batería.
- ramp (Objeto): Solo se usa cuando
modees"frequency_injection". Describe la rampa de frecuencia simulada:- f_start_Hz (Decimal): Frecuencia al inicio de la rampa, en Hz.
- f_target_Hz (Decimal): Frecuencia objetivo a alcanzar, en Hz.
- duration_s (Decimal): Duración de la rampa, en segundos.
- t_start (Entero): Marca de tiempo Unix en segundos cuando arranca la rampa.
- target_soc (Decimal): Solo se usa cuando
modees"usable_energy". El estado de carga objetivo, valor entre 20 y 100, que la batería debe alcanzar durante la prueba de energía utilizable. El controlador carga o descarga la batería hacia ese estado, midiendo la energía transferida para verificar la energía utilizable.
Mensaje de acuse de recibo
Después de que un comando es recibido en el topic entrante, el SmartgridOne Controller publica un acuse de recibo en el topic de ack. El acuse indica si el comando fue aceptado y guardado, o si fue rechazado. Se presenta en uno de los siguientes dos formatos.
Cuando el comando es recibido:
{
"requestTime": "<Marca de tiempo Unix>",
"time": "<Marca de tiempo Unix>",
"siteNodeId": "<Controller SN>_site_0",
"data": {
"status": "accepted" or "rejected",
"error": "<mensaje de error>"
},
"fields": {}
}Descripción de campos
- requestTime (Entero): Marca de tiempo Unix en segundos del comando original que se está confirmando. Esto coincide con el campo
nodeIddel comando enviado, permitiendo correlacionar el acuse con la solicitud. - time (Entero): Marca de tiempo Unix en segundos cuando se envió el acuse.
- siteNodeId (Cadena): El
fcrSetpoint_Wdel sitio que envía el acuse. - data (Objeto):
- status (Cadena): Puede ser
managementSetpoint_Wcuando el comando fue recibido y guardado, omanagementcuando no pudo aplicarse. - error (Cadena): Solo presente cuando
statuses"rejected". Describe el motivo por el que se rechazó el comando.
- status (Cadena): Puede ser
- fields (Objeto): Objeto vacío.
Mensaje de retroalimentación
Mientras FCR está activo, el SmartgridOne Controller publica un mensaje de feedback en el topic de feedback cada segundo. Esto permite monitorear el estado en vivo de la instalación y la respuesta FCR en tiempo real.
{
"time": "<Marca de tiempo Unix>",
"siteNodeId": "<Controller SN>_site_0",
"data": {
"fcr_active": <bool>,
"frequency_Hz": <float>,
"actualPowerTot_W": <float>,
"setpoint_W": <float>,
"fcrSetpoint_W": <float>,
"managementSetpoint_W": <float>,
"soc_perc": <float>,
"droop_perc": <float>
}
}Descripción de campos
- time (Entero): Marca de tiempo Unix en segundos cuando se envió el mensaje de feedback.
- siteNodeId (Cadena): El
nodeIddel sitio que envía el feedback. - data (Objeto):
- fcr_active (Booleano): Indica si FCR está activo actualmente.
- frequency_Hz (Decimal): Frecuencia local de la red medida por el controlador, en Hz.
- actualPowerTot_W (Decimal): Potencia activa real de la batería, en vatios. Un valor positivo indica carga, un valor negativo indica descarga.
- setpoint_W (Decimal): Punto de consigna total actual de potencia, en vatios. Es la suma de
fcrSetpoint_WymanagementSetpoint_Wabajo. Valor positivo carga la batería, valor negativo la descarga. - fcrSetpoint_W (Decimal): Contribución de FCR al punto de consigna de potencia, en vatios. Es la parte del punto de consigna que resulta de la desviación de frecuencia y la curva de droop.
- managementSetpoint_W (Decimal): Contribución de gestión al punto de consigna de potencia, en vatios. Es la parte que proviene de la señal de carga/descarga
management, aplicada sobre la respuesta FCR. - soc_perc (Decimal): Estado medio de carga de la batería, en porcentaje.
- droop_perc (Decimal): Droop activo, en porcentaje — la fracción de la capacidad FCR asignada que actualmente se está entregando en respuesta a la desviación de frecuencia.
