Flexibilidad y códigos de red

Control de BESS: verificar las órdenes y la respuesta de la batería

Demostrar que una batería cumplió una orden: de la petición a la potencia medida, relojes sincronizados, ejemplo de 500 kW, caducidad y puesta en marcha.

Una batería puede aceptar una orden y no entregar la potencia solicitada. La petición puede quedar en una cola, ser rechazada por el PCS, limitarse por la protección propia de la batería o ser anulada por otro controlador. Registre cada etapa por separado. Si un agregador cuestiona un déficit, el registro permite identificar dónde se produjo.

Esta guía forma parte de la serie sobre flexibilidad. La guía de funciones BESS explica qué corresponde a BMS, PCS y EMS.

Definir qué cuenta como entrega

Acuerde el contador, la convención de signos, el intervalo y la tolerancia antes de la primera prueba.

El contador puede estar en los bornes de la batería, en el punto de conexión de la instalación o en el contador de red. Cada ubicación da una cifra distinta. Entre los bornes y el punto de conexión, el inversor, transformador y cables tienen pérdidas. En el contador de red también varían las demás cargas de la instalación. Si el servicio evalúa la entrega en ese contador, necesita una línea base: lo que habría sucedido sin la orden. En los servicios dinámicos de Gran Bretaña, la línea base operativa es una Physical Notification, en GMT durante todo el año, con resolución de un minuto o mayor, fijada al cierre de ofertas 60 minutos antes de cada periodo de liquidación de 30 minutos. Los programas de respuesta de la demanda suelen usar una línea base histórica; la guía de líneas base explica esos métodos.

Escriba la convención de signos en el registro. Los mapas del PCS suelen considerar positiva la descarga, según la convención de generador. Un contador de la instalación con convención de consumidor considera positiva la importación; la misma descarga aparece como potencia negativa o como disminución de la importación. Si una etapa invierte el signo, una descarga correcta de 500 kW aparece como un error de 1.000 kW respecto a la petición.

Un servicio puede fijar el intervalo y la tolerancia. La guía de NESO para proveedores de servicios dinámicos británicos establece estos límites:

ServicioTiempo máximo para iniciarTiempo máximo hasta la entrega completaLímite superior del tiempo de rampaDatos de rendimiento
Dynamic Containment (DC)0,5 s1 s0,5 s20 Hz
Dynamic Moderation (DM)0,5 s1 s0,5 s20 Hz
Dynamic Regulation (DR)2 s10 s8 s20 Hz o 2 Hz

NESO evalúa cada periodo de liquidación de 30 minutos, equivalente a 36.000 filas a 20 Hz. Para DC y DM, un error debe mantenerse durante una ventana móvil de 0,2 s (cuatro muestras) para contar; el peor error de ese tipo determina el factor de rendimiento del periodo. Una unidad que declara disponibilidad en menos del 99,9 % de las filas no recibe el pago por disponibilidad de ese periodo. Por tanto, las filas ausentes o mal fechadas tienen coste además de una respuesta incorrecta. Estos servicios responden localmente a la frecuencia, por lo que la cadena de órdenes es corta, pero el mismo registro de etapas se aplica a la consigna calculada por el controlador local.

Para un servicio despachado sin reglas publicadas, fije cifras en el contrato. Por ejemplo: potencia completa dentro de 5 s desde la orden, mantenida durante 30 minutos, evaluada mediante medias de un minuto dentro del ±3 % de la petición en el contador del alimentador de la batería.

Etapas de una orden

EtapaEvidenciaAún no se sabe
AutorizadaEl solicitante tenía permiso según la política acordadaNo se ha enviado nada
AceptadaAPI, intermediario de mensajes o Gateway aceptó la peticiónSi llegó a la batería
Entregada al controladorEMS o PCS confirmó la escrituraSi los límites locales la permiten
Estado confirmadoLectura de la consigna activa y del modoSi la potencia responde
Resultado medidoEl contador acordado muestra la respuesta dentro de la toleranciaComportamiento posterior al intervalo

Cada acuse de recibo de protocolo cubre un solo tramo. HTTP 202 Accepted significa que la petición se ha aceptado para su procesamiento, que aún no ha terminado. MQTT PUBACK acusa recibo de un PUBLISH de QoS 1. En MQTT 5, compruebe su Reason Code: los valores iguales o superiores a 0x80 indican rechazo. Un PUBACK satisfactorio del intermediario confirma la aceptación por ese intermediario, no la recepción por un suscriptor ni una acción de la batería. QoS 0 no tiene acuse y QoS 2 utiliza PUBREC, PUBREL y PUBCOMP.

Una escritura Modbus de un registro (función 06) devuelve un eco de la petición. La escritura de varios registros (función 16) devuelve la dirección inicial y la cantidad de registros escritos. El eco demuestra que el dispositivo procesó la trama. Muchos PCS aceptan una escritura y luego limitan o ignoran el valor porque queda fuera de rango, el equipo está en modo local o prevalece otro origen. Vuelva a leer el registro de consigna activa para confirmar el estado. En muchos PCS es distinto del registro de valor solicitado. Ninguno de estos acuses mide la potencia de la batería.

Mantener un registro correlacionado

Para cada orden, registre:

  • identificador de orden, activo de destino y sistema solicitante;
  • valor solicitado, unidades y convención de signos;
  • hora de emisión y caducidad;
  • cada acuse vinculado al identificador, con su hora;
  • consigna activa leída de vuelta y modo del PCS;
  • SoC y potencia de carga y descarga permitida en ese momento;
  • potencia medida en el contador acordado, fechada en el momento de medida, no al llegar.

Sincronizar los relojes

El registro solo puede correlacionarse si todos los equipos utilizan el mismo reloj. La plataforma aporta la hora de la orden, el Gateway la de escritura y el contador la de muestra. Si difieren 300 ms, una respuesta DC iniciada a tiempo parece tardía frente al límite de 0,5 s.

En una red Ethernet poco cargada, NTP mantiene el reloj dentro de unos 100 µs. En una ruta intercontinental por internet, el error puede ser de varias decenas de milisegundos, y las rutas asimétricas pueden producir 100 ms o más. Para datos a 20 Hz, utilice una fuente horaria en la instalación: un receptor GNSS o un servidor NTP de la red local sincronizado con GNSS. Feche las lecturas en UTC en el punto de medida. Los archivos de rendimiento de NESO rechazan filas cuyas marcas temporales no sean múltiplos exactos del intervalo de muestra: 50 ms a 20 Hz.

Ejemplo práctico

Un agregador solicita descargar 500 kW inmediatamente durante 30 minutos. El contador acordado está en el alimentador de la batería. Los criterios son potencia completa dentro de 5 s y medias de un minuto dentro del ±3 % (15 kW). El PCS considera positiva la descarga. Las cifras son ilustrativas.

Hora (UTC)EtapaEvidencia
14:00:00.210AceptadaOrden c-0412, +500 kW, aplicable hasta las 14:00:30. La API devuelve 202.
14:00:01.040Entregada al controladorEl Gateway escribe la consigna con la función 16. El eco llega 25 ms después.
14:00:01.310Estado confirmadoLectura: consigna activa +500 kW, modo remoto, descarga permitida de 1.000 kW
14:00:02.900Resultado medidoEl contador del alimentador supera 475 kW, el 95 % de la petición
14:00:03.600Resultado medidoEl contador del alimentador registra 498 kW
14:02:00Resultado medidoLa media de un minuto entre 14:01 y 14:02 es 497 kW. Cumple.

En ese mismo minuto, la importación del contador de red bajó 440 kW, no 500 kW. A las 14:00:40 arrancó una enfriadora de 55 kW, registrada por su contador secundario, y unos 5 kW se perdieron en transformador y cables. Si se evaluara en el contador de red sin línea base, la misma respuesta parecería una entrega del 88 %.

Ahora envíe la misma orden con un SoC del 11 %. El eco de escritura es idéntico. La lectura posterior muestra una consigna activa de 300 kW y una descarga permitida de 300 kW. El registro muestra la limitación en la etapa de confirmación de estado, con su motivo, aproximadamente un segundo después de la orden. Sin esa lectura, el déficit solo aparecería en la liquidación.

Tiempos de espera y reintentos

Agotar el tiempo de espera significa que el resultado se desconoce. La batería pudo actuar y perderse su respuesta. Antes de cualquier reintento, lea la consigna activa y la potencia medida.

Acuerde por escrito con el proveedor del PCS cómo se procesan las órdenes. Dé un identificador a cada una. Si el PCS tiene un registro de identificador o secuencia, escríbalo junto con la consigna y vuelva a leerlo para que repetir la orden con el mismo ID no tenga un segundo efecto. Una orden nueva sustituye a la anterior, prevalece la última escritura, y la lectura muestra cuál está vigente. Cancele mediante una orden explícita, normalmente potencia cero o retorno al modo local, no mediante silencio. MQTT QoS 1 entrega al menos una vez. Una orden de aplicación repetida puede llegar con DUP=0; DUP indica la retransmisión de un paquete MQTT y no identifica de forma fiable duplicados de aplicación. Elimine duplicados según el ID de la orden de aplicación, independientemente de DUP.

Nunca reproduzca una orden caducada porque se haya restablecido una conexión. Una descarga solicitada que llega diez minutos tarde es una descarga nueva y no solicitada. Compruebe la caducidad en el receptor frente a un reloj sincronizado: solo él sabe cuándo llegó la orden. Dos funciones MQTT pueden entregar una consigna obsoleta al reconectar: un mensaje retenido, que el intermediario envía a cada nuevo suscriptor, y una sesión persistente, que guarda mensajes QoS 1 y 2 para un cliente desconectado. El Message Expiry Interval de MQTT 5 hace que el intermediario elimine una copia cuya entrega aún no ha comenzado al vencer el plazo. No detiene un mensaje que empezó a enviar antes de vencer ni uno que el Gateway haya puesto en su propia cola. Incluya la caducidad en el contenido del mensaje y compruébela en el Gateway.

El PCS necesita su propio límite para una consigna obsoleta. Muchos tienen un vigilante de comunicación: si el controlador deja de actualizar un registro de pulso de vida durante un tiempo, el PCS vuelve a un comportamiento de respaldo. El modelo de controles inmediatos de SunSpec (modelo 123) da al límite de potencia su propio tiempo de reversión, WMaxLimPct_RvrtTms. Acuerde por escrito la respuesta: potencia cero, programa local del EMS o mantener la última consigna durante un tiempo fijo. Esta última opción es peligrosa porque la pérdida del enlace mantiene una descarga activa.

Hacer visibles las restricciones

Registre las potencias de carga y descarga que permite el PCS con cada orden, no solo cuando falla algo. Si la batería no puede entregar lo solicitado, muestre el motivo comunicado: SoC, límite de potencia, reducción por temperatura, alarma, modo de mantenimiento o controlador de mayor prioridad. Si no comunica ningún motivo, regístrelo como desconocido. No lo deduzca.

Acuerde qué controlador prevalece cuando un programa horario, una petición del agregador y un límite local entran en conflicto. Mantenga activas las protecciones de la batería y los enclavamientos de la instalación. Un Gateway nunca debe saltarse un enclavamiento para hacer parecer satisfactoria una orden remota.

Pruebas de puesta en marcha

Ejecute cada prueba con el responsable del equipo presente y conserve su registro de etapas.

  1. Orden normal. Descarga dentro de los límites. Criterio: todas las etapas se registran con un mismo ID y el contador acordado alcanza la petición dentro del tiempo y tolerancia fijados.
  2. Orden limitada. Petición superior a la descarga permitida. Criterio: la lectura posterior muestra la consigna limitada, el registro recoge el motivo y la potencia medida coincide con el límite.
  3. Duplicado. Envíe dos veces el mismo ID. Criterio: la batería actúa una sola vez.
  4. Caducidad. Entregue una orden tras vencer. Criterio: el Gateway la rechaza y registra el rechazo; la batería permanece en su consigna actual o en el estado de respaldo.
  5. Pérdida del enlace. Interrumpa el enlace durante una descarga. Criterio: el PCS vuelve al estado de respaldo acordado dentro del tiempo del vigilante. Al restablecerse el enlace, la batería no reanuda la consigna antigua.
  6. Reinicio. Reinicie Gateway o EMS durante una orden. Criterio: después queda vigente el estado de respaldo o una orden no caducada, y el registro indica cuál.
  7. Controlador competidor. Anulación local durante una orden remota. Criterio: prevalece la anulación local y el sistema remoto registra la orden como anulada, con el motivo.

La guía de control local convierte estos casos en una matriz de fallos para toda la instalación.

Control de baterías con EpiSensor

El ZDR-22 es la variante de control de baterías del controlador de respuesta de la demanda ZDR. Sigue la frecuencia de red, envía una consigna variable a una batería o SAI mediante Modbus RTU y mide el suministro con clase 0,5S. Registra eventos cada 20 ms con marcas temporales GPS. Por ello, la consigna enviada y la respuesta medida comparten reloj, cubriendo las etapas de orden y resultado de la tabla.

Un Gateway con Edge puede sondear por Modbus los registros del PCS, incluida la consigna activa y la potencia permitida, y los contadores de la instalación. Fecha cada lectura al tomarla y conserva el historial en el Gateway, de modo que la pérdida de enlace con la plataforma no deja un vacío en el registro local. La automatización Edge se ejecuta en el Gateway y aplica la regla de caducidad a sus propias acciones temporizadas. Tras reiniciar, envía una orden de finalización guardada solo hasta cinco minutos después de su plazo. Más tarde no reproduce la orden: comunica su caducidad y pide comprobar el equipo.

Preguntas frecuentes

¿Cómo verifico que una batería obedeció una orden de despacho?

Registre todas las etapas con un mismo ID de orden: aceptación de la petición, eco de escritura Modbus, lectura de la consigna activa en el PCS y potencia medida por el contador acordado durante el intervalo acordado. Feche todo con relojes sincronizados. Una API o escritura correcta solo demuestra las primeras etapas.

¿Por qué no entregó mi batería la potencia solicitada?

Lea los registros de potencia de carga y descarga permitida del PCS y la consigna activa en el momento de la orden. Si esta es inferior a la petición, el PCS la limitó; sus registros de alarma, modo y SoC suelen explicar por qué. Si coincide con la petición, pero la potencia medida no, compruebe el contador, la convención de signos y las demás cargas detrás del contador.