Anti-vertido: la consigna que no puede subir
En una planta de autoconsumo sin excedentes, la instalación fotovoltaica tiene una obligación que no admite matices: nunca puede inyectar energía a la red. No es una preferencia de diseño ni un objetivo de eficiencia. Es la condición bajo la que la planta está autorizada a existir.
La forma habitual de conseguirlo es un lazo cerrado: un analizador de red en el cuadro general mide la potencia en el punto de conexión, un regulador compara esa medida con una consigna de importación mínima, y el resultado se escribe como límite de potencia en los inversores. Dicho así parece un ejercicio de primero de control. Lo interesante es todo lo que un PI de libro hace mal aquí.
El regulador honesto que exporta energía
Definamos el error como la potencia importada de la red menos el margen de seguridad que queremos mantener. Si la planta está importando de más, el error es positivo y el regulador sube la consigna fotovoltaica. Si la planta se ha quedado corta de consumo y está exportando, el error es negativo y el regulador la baja. Hasta aquí, bien.
El problema aparece en el instante siguiente. Un PI con acción derivativa —o cualquier regulador que mire la tendencia— no responde solo al valor del error, sino a cómo cambia. Imagina que la planta está exportando 8 kW y, tras el último recorte, pasa a exportar 3 kW. El error sigue siendo negativo: seguimos vertiendo. Pero está mejorando deprisa, y el término derivativo interpreta exactamente eso: «te has pasado frenando, suelta un poco».
El regulador pide subir la consigna mientras la planta está exportando. Y tiene razón desde el punto de vista del control: está minimizando el error. Lo que no sabe es que el error negativo no es un error como los demás. Es una infracción.
Regla 1 — Guarda de signo. Mientras el error sea negativo (exportando, o importando por debajo del margen), la consigna fotovoltaica nunca puede aumentar, aunque el regulador lo pida. Puede bajar o quedarse donde está. Nada más.
En código son tres líneas, y van después del regulador, no dentro:
salida = pi.paso(error, dt) # lo que pide el control
# Blindaje anti-vertido: con error negativo, la consigna no sube jamás.
# Esta guarda va por encima del regulador, no negociada con él.
if error < 0:
salida = min(salida, consigna_actual)
Ponerla dentro del regulador, mezclada con el antiwindup, es tentador y es un error: la guarda deja de ser auditable. Fuera, aislada y con su comentario, es lo primero que ve cualquiera que abra el fichero, y lo último que alguien se atreve a tocar.
El control no es simétrico porque el riesgo no lo es
La segunda regla sale de comparar las consecuencias de equivocarse en cada sentido. Recortar de más cuesta unos cientos de vatios de producción durante unos segundos: nada. Subir de más cuesta una exportación a red que queda registrada en el contador de la compañía. Los dos errores no valen lo mismo, así que el regulador no debe tratarlos igual.
Regla 2 — Asimetría. El recorte de consigna es inmediato y sin límite: si hay que bajar de 60 kW a 0 en un ciclo, se baja. La subida, en cambio, va limitada por rampa.
La rampa de subida no es un capricho de suavidad: es lo que impide que el lazo entre en un ciclo límite. Sin ella, cada bajada del consumo de la planta provoca un recorte brusco, el recorte provoca un error positivo grande, el error positivo provoca una subida brusca, y la planta oscila entre exportar y desaprovechar sol. Con rampa, el sistema tantea hacia arriba y salta hacia abajo, que es exactamente el comportamiento que queremos.
Va acompañada de una banda muerta alrededor del punto de consigna. Sin ella, el ruido del analizador de red —que existe, y en una planta industrial es considerable— mantiene el lazo escribiendo consignas nuevas eternamente, sin mejorar nada y desgastando el bus.
El watchdog cambia el significado de «no hacer nada»
Los controladores de inversor industriales que aceptan consigna externa suelen llevar un temporizador de comunicaciones: si no reciben una escritura en un plazo determinado, abandonan la consigna y vuelven a su comportamiento por defecto, que normalmente es producir todo lo que pueden. Es una protección razonable desde su punto de vista: si el sistema que me manda ha muerto, no me quedo bloqueado.
Para el lazo de control esto tiene una consecuencia que se olvida con facilidad: no escribir no es una opción segura. La optimización evidente —«si la consigna no ha cambiado, me ahorro la escritura»— convierte una planta estable en una planta que, cada pocos segundos de calma, se suelta a plena potencia. Cada ciclo escribe, aunque el valor sea idéntico al anterior. Y el ciclo entero, lectura incluida, tiene que caber holgadamente dentro del plazo del watchdog.
Cuando el que mide se calla
Queda el caso que de verdad decide si el sistema es serio: el analizador de red deja de responder. Sin medida no hay lazo, y sin lazo no hay ninguna garantía de que no estemos exportando. La única respuesta defendible es asumir lo peor.
Regla 3 — Failsafe. Tras N lecturas fallidas consecutivas del analizador, consigna a 0 W, refrescando la escritura en cada ciclo para mantener vivo el watchdog. Al recuperar la comunicación, no se vuelve al valor anterior: se rearranca desde 0 con la rampa.
Ese rearranque conservador es la parte que más cuesta aceptar, porque significa perder producción durante un minuto después de un corte de comunicación de dos segundos. Pero el estado de la planta durante el corte es, por definición, desconocido: el consumo pudo desplomarse mientras estábamos ciegos. Volver a 60 kW porque era lo que había antes es una apuesta, y en el único sentido donde no se puede apostar.
El mismo razonamiento se aplica a la parada del proceso. Ante una señal de
terminación —un systemctl restart, un despliegue, un apagado—, lo
último que hace el programa antes de salir es escribir el failsafe. Un proceso de
control que muere limpiamente dejando la última consigna alta le está dejando a la
planta una bomba de relojería del tamaño del watchdog.
Nada de esto se prueba en planta
Las tres reglas son fáciles de escribir y fáciles de romper sin darse cuenta, normalmente al «mejorar» otra cosa. Por eso cualquier cambio en la lógica de control pasa antes por una simulación con cinco escenarios fijos: subida en rampa, recorte por vertido, vertido decreciente —el caso del término derivativo, el que descubre si alguien se cargó la guarda—, banda muerta y recuperación tras failsafe.
Cuesta una tarde montarlo y evita la única prueba que no se puede permitir: descubrirlo en el contador de la compañía eléctrica.
El poso
- Un regulador optimiza el error; no sabe cuáles de sus errores son infracciones. Eso se le impone desde fuera, con una guarda auditable.
- Si equivocarse en un sentido cuesta mucho más que en el otro, el control tiene que ser asimétrico. Rápido para lo barato, lento para lo caro.
- Con watchdog en el actuador, el silencio no es un estado neutro: es una orden de plena potencia diferida.
- Perder la medida es perder el derecho a producir. El failsafe no es degradación: es la respuesta correcta.
¿Te suena de tu planta? Esto sale de operar instalaciones reales todos los días. Si tienes un problema parecido, cuéntanoslo: la primera conversación es con un ingeniero, no con un comercial.
Hablar con un ingeniero Probar el simulador →
VOLTIA