Protocolos y datos

¿Qué es SCADA? Arquitectura energética

SCADA en instalaciones energéticas: control local, fallos de WAN, seguridad de protocolos, prueba de órdenes, recuperación y puesta en servicio.

Una pantalla SCADA (supervisión, control y adquisición de datos) muestra lo que comunican los dispositivos; una orden solicita un cambio. Ninguna de las dos cosas demuestra que el equipo haya alcanzado el nuevo estado. Para demostrarlo hacen falta pruebas propias, y la mayor parte de esta guía explica cómo reunirlas.

Qué es SCADA

NIST describe los sistemas SCADA como sistemas que recogen datos de estaciones de campo geográficamente remotas y les envían órdenes desde una ubicación central. Distingue esa función de supervisión de los bucles de control locales de sensores, controladores y actuadores (NIST SP 800-82 Rev. 3).

Una arquitectura SCADA energética tiene estas capas, de la instalación hacia arriba:

Capas de un sistema SCADA energético Desde abajo: instalación; instrumentos de campo; control local, donde permanecen la protección y los bucles rápidos; integración local; comunicaciones; supervisión; historiador y sistemas empresariales. Las capas superiores supervisan los bucles locales, pero no los cierran. Empresa análisis, mantenimiento, liquidación, informes Historiador valores y calidad, alarmas, órdenes, auditoría Supervisión IHM, alarmas, órdenes, acceso Comunicaciones RS-485, Ethernet, WAN privada, celular Integración local RTU, pasarelas, ordenadores locales Control local PLC, relés de protección, controladores Instrumentos contadores, TC, sensores, entradas, relés Instalación cargas, grupos, baterías, bombas, interruptores supervisa cierra los bucles Protección y control rápido permanecen aquí Una orden solicita; el contador demuestra
Arquitectura SCADA energética desde la instalación. El control local cierra los bucles; las capas superiores los supervisan.

Un controlador local solo puede continuar su lógica durante un corte de WAN si las entradas y la autoridad necesarias siguen disponibles localmente. Verifique el comportamiento de cada ruta de órdenes ante la pérdida de comunicación; un controlador local no garantiza por sí solo un estado seguro de la instalación. El diseño del sitio debe definir enclavamientos, respuesta de respaldo y recuperación ante una WAN lenta o ausente.

Los tiempos explican por qué. Un controlador de respuesta a la demanda ZDR-2X mide la frecuencia de red cada 100 ms o menos y reacciona en un máximo de 100 ms. Envía datos cada segundo a través de la Gateway a la plataforma del agregador (ficha ZDR-2X). La plataforma supervisa la respuesta, pero no interviene en la decisión de 100 ms. En el NEM australiano, el control de regulación central de AEMO envía señales mediante SCADA cada 4 segundos; los servicios rápidos de contingencia responden, en cambio, a la frecuencia local (guía FCAS). La Gateway ZGW-20 sigue la misma regla: Edge ejecuta la automatización en la Gateway y las reglas continúan funcionando cuando se corta internet.

SCADA frente a BMS y EMS

Los proveedores emplean estos tres nombres con cierta libertad; el nombre solo no sirve como especificación. Defina qué sistema es dueño de cada punto escribible.

SistemaResponsabilidad principalAlcance habitualSalidas habitualesLímite principal
SCADASupervisión operativa y adquisición de datosProcesos industriales, servicios públicos o activos distribuidos geográficamenteEstado en directo, alarmas, tendencias, órdenes y registros de eventosPor sí solo no demuestra la respuesta física ni el ahorro energético
BMS o BASAutomatización de equipos del edificioClimatización, iluminación, accesos y otros servicios del edificioHorarios, consignas, estado de equipos y alarmasSuele centrarse en sistemas del edificio, no en el análisis energético de toda la cartera
EMS o EMISAnálisis energético y gestión del rendimientoEdificios, campus o carterasDatos energéticos normalizados, indicadores, comparativas, análisis de fallos y flujos de mediciónPuede consumir datos de SCADA o BMS sin controlar los equipos en tiempo real

El material BACnet de ASHRAE sitúa la automatización de edificios en aplicaciones como climatización, iluminación, protección, seguridad y gestión energética (ASHRAE BACnet). El Departamento de Energía de EE. UU. define más ampliamente los sistemas de información de gestión energética como herramientas de software que monitorizan, analizan y, en ocasiones, controlan el uso energético de edificios, con componentes de integración, historiador, aplicación y control supervisor (descripción EMIS del DOE).

Una instalación suele tener los tres. El BMS controla las unidades de tratamiento de aire. SCADA supervisa la aparamenta, los generadores y el estado de la instalación. El EMS combina datos de contadores, tarifas y meteorología para detectar y verificar ahorros.

Asigne un solo dueño a cada punto escribible. Si BMS y SCADA pueden escribir por Modbus la consigna de temperatura de impulsión de una unidad de tratamiento de aire, prevalece la última escritura y ninguno de los dos sistemas lo sabe. BACnet asigna a cada propiedad gobernable una matriz de 16 posiciones de prioridad. La posición de mayor prioridad que no sea NULL fija el valor presente; Relinquish_Default se aplica cuando todas son NULL (OPC 30030, 3.2.1). Así se produce un fallo silencioso: una escritura SCADA en prioridad 10 obtiene una respuesta WriteProperty correcta, pero el valor no cambia mientras el BMS mantenga la prioridad 8. Después de cada escritura, vuelva a leer Present_Value y, si el dispositivo la expone, Priority_Array.

Elección de protocolo

Dos dispositivos que admiten Modbus también deben coincidir en direcciones de registros, tipos de datos, escalado, orden de palabras, unidades y comportamiento tras perder el enlace. La guía de interoperabilidad IoT de múltiples proveedores decodifica un punto de contador con cada orden de palabras y ofrece una lista de datos que pedir al proveedor y una prueba de aceptación de doce pasos.

ProtocoloUso adecuadoDecisión importante de implementación
Modbus TCP o RTUAdquisición y control sencillos por registro cuando el mapa del dispositivo es estableDireccionamiento de registros, escalado, valores con signo, orden de palabras y gestión de excepciones. Modbus/TCP en el puerto 502 no tiene autenticación. MODBUS/TCP Security es una especificación aparte que utiliza TLS y certificados X.509v3 en el puerto 802 (IANA, especificaciones Modbus). No lo dé por supuesto por admitir Modbus/TCP básico. No se aplica a Modbus RTU serie.
BACnet/IPIntegración con objetos, horarios, alarmas y tendencias de automatización de edificiosEspecifique objetos, propiedades, servicios, prioridades de órdenes y perfiles de dispositivos necesarios. «Compatible con BACnet» no define por completo los puntos ni la conformidad (recursos de ASHRAE Standard 135).
OPC UAModelos de información tipados, estados, marcas temporales, alarmas, suscripciones e integración más ricaAcuerde quién gestiona el espacio de nombres, certificados, perfiles y modelos de información admitidos. Cada mensaje de notificación de suscripción lleva un número de secuencia, con el que el cliente puede detectar un hueco y solicitar el mensaje perdido mediante Republish (OPC UA Part 4, 5.14.1.1). Pruebe la reacción de la aplicación tras un hueco.
MQTTTelemetría de publicación y suscripción desacopladas mediante enlaces limitados o intermitentesDefina titularidad de temas, esquema de carga útil, política de mensajes retenidos, comportamiento de sesión, caducidad, orden y eliminación de duplicados. La calidad de servicio MQTT se aplica por separado a cada tramo entre emisor y receptor, como publicador-bróker y bróker-suscriptor. No cubre el proceso completo (MQTT 5.0).

Las guías de protocolos profundizan en Modbus TCP frente a RTU, BACnet frente a Modbus, OPC UA frente a MQTT y Modbus y QoS y mensajes retenidos de MQTT. Para telecontrol de red, consulte IEC 60870-5-101 frente a 104 e IEC 61850.

Dé a cada punto contexto suficiente para comprobarlo. Una ficha de punto para un contador de importación de una instalación podría ser:

CampoEjemplo
ActivoEntrada principal de baja tensión
Puntosite/import_active_power
OrigenZEM-65 en la entrada, a través de la Gateway ZGW-20
Unidad y signokW, importación positiva
Marca temporal de origen2026-09-23T14:02:00Z, al tomar la lectura el contador
Marca temporal de ingesta2026-09-23T14:02:01Z, al almacenarla el historiador
CalidadBuena, obsoleta o incorrecta
Intervalo esperado60 s, obsoleta tras 180 s

OPC UA transmite la mayor parte de estos datos por diseño. Su DataValue contiene valor, código de estado, marca temporal de origen y marca temporal del servidor. La especificación exige que el cliente compruebe al menos la gravedad del código de estado antes de usar el valor (OPC UA Part 4, 7.11). Si una pasarela copia un valor OPC UA a un registro Modbus simple, se pierden el estado y ambas marcas temporales. Un valor obsoleto parece entonces actual.

Arquitectura de varias instalaciones

EpiSensor Edge
Plataforma
EpiSensor Gateway
Zigbee
Modbus
ZEM
ZDR
Dispositivos Zigbee de EpiSensor
Dispositivos Zigbee de terceros
Climatización
Solar fotovoltaica
Bombas de calor
Almacenamiento en baterías
Medidores
ZPC
BACnet
LoRaWAN
Dispositivos LoRaWAN
ZEM
Core
Sensores inalámbricos sin nuevos cables de datos.
Kilómetros de alcance, años con una pila.
Datos detallados de medidores antiguos
API abiertas. Cualquier plataforma.
Use su propia SIM de datos.
Los equipos de campo se conectan mediante interfaces locales al Gateway ZGW-20, donde Edge funciona localmente. La supervisión puede ser central; la protección y el control determinista permanecen en la instalación.

En cada instalación, una pasarela recoge medidas inalámbricas y cableadas, traduce protocolos y almacena datos mientras falla el enlace ascendente. En la Gateway ZGW-20, Edge lee equipos de terceros como cliente Modbus TCP y RTU, BACnet/IP y OPC UA. Envía los datos por MQTTS o HTTPS, o los escribe en archivos. Un maestro SCADA que sondea puede leer el servidor Modbus de Edge, que escucha por defecto en el puerto TCP 10502. La extensión OPC UA de Edge solo actúa como cliente; un SCADA no puede explorar Edge mediante OPC UA. La guía API en la nube frente a pasarela local compara una pasarela local con la lectura del equipo a través de la nube del fabricante.

Un registro Modbus conserva el último valor escrito. Si un contador deja de informar, el servidor Modbus de Edge mantiene la última lectura en el registro; SCADA puede seguir consultándolo cada 5 s sin error. Una potencia estable de 42,7 kW parece igual que un origen muerto. El ajuste max_age de Edge rechaza muestras que ya llegan antiguas, pero no hace caducar el registro. Asocie un heartbeat o una marca de adquisición de la fuente con un intervalo de actualización documentado y genere una alarma si deja de avanzar. El contador de energía importada solo sirve de comprobación condicional: con una importación constante de 40 kW confirmada independientemente, una resolución de 0,1 kWh produce un paso cada 9 s. Si no cambia durante 60 s, investigue; una carga nula o la exportación también pueden dejarlo sin cambios. Esto por sí solo no demuestra un fallo de la fuente.

Para supervisar varias instalaciones, use un modelo semántico común por encima de las pasarelas y conserve debajo la identidad de cada origen. Un punto de cartera como site/import_active_power debe poder vincularse con el contador físico, registro u objeto de origen, conversión de unidades y hora de adquisición. De lo contrario, una gráfica plausible puede ocultar fases intercambiadas, un multiplicador erróneo o un valor reproducido.

Los datos almacenados necesitan una regla de reenvío. Cuando falla una entrega, Edge pone el lote en una cola de reintentos respaldada en disco y comprueba cada minuto si se ha recuperado el destino. Las medidas reenviadas conservan sus marcas temporales originales; Edge no vuelve a ejecutar cálculos ni automatizaciones sobre ellas. Un lote puede llegar dos veces si el destino lo guardó antes de que Edge registrase la entrega. Identifique las muestras del historiador por ID de punto y marca temporal de origen, y descarte las repeticiones exactas. Un historiador que fecha las muestras por hora de llegada registra una interrupción de 30 minutos como 30 minutos de lecturas concentradas en el minuto posterior a la recuperación. El perfil de carga muestra entonces un hueco seguido de un pico falso.

Aplicaciones energéticas

Demanda y energía por intervalo

Las tarifas y liquidaciones utilizan energía por intervalo, no potencia instantánea. Obtenga la energía del intervalo del acumulado del contador. Si marca 104.512,0 kWh a las 14:00 y 104.698,5 kWh a las 14:30, el consumo del intervalo es 186,5 kWh y la demanda media, 373 kW. Una media de muestras instantáneas de kW tomadas cada minuto es solo una estimación; un hueco sesga el resultado, mientras que la diferencia del acumulado sigue siendo correcta a través del hueco. Utilice potencia instantánea para operación y alarmas, y diferencias del acumulado para facturación y verificación de ahorros. El desbordamiento del contador y la resolución de coma flotante se tratan en la guía de interoperabilidad.

Respuesta a la demanda

La plataforma del agregador envía un evento, el controlador local conmuta la carga y un contador demuestra la reducción. La siguiente sección recorre un evento. En servicios de frecuencia, la propia respuesta es local: ZDR-20 y ZDR-21 conmutan un relé, y ZDR-22 envía una consigna a una batería por Modbus. SCADA registra e informa del evento.

Agregación de una cartera

Un total de cartera solo es válido cuando las muestras de todas las instalaciones están actualizadas. Si el último valor válido de una instalación tiene 20 minutos, indique que el total está incompleto e identifique esa instalación. No sume el valor antiguo sin avisar. Para ordenar eventos de varias instalaciones, sus relojes deben concordar. ZDR-21 y ZDR-22 registran eventos a intervalos de 20 ms con hora GPS, lo que permite comparar directamente los registros de distintos lugares.

Confirmación de órdenes

Ilustraciones isométricas de una consola de supervisión, pasarela, controlador local, bomba gobernada y contador de potencia independiente.
  1. Solicitud autorizada
  2. Extremo receptor aceptó
  3. Controlador procesó
  4. Estado verificado
  5. Resultado medido
Cinco etapas de prueba de una orden, desde la solicitud del operador hasta la lectura de un contador independiente.

Registre cada orden en estas cinco etapas:

Etapa probadaQué demuestraQué queda por demostrar
Solicitud autorizadaEl solicitante superó la política de acceso y SCADA registró la petición con un ID de ordenSi la orden salió del servidor SCADA
Extremo receptor aceptóUn extremo de protocolo identificado, como un bróker MQTT, asumió el mensajeSi actuó un suscriptor, controlador o dispositivo
Controlador procesóEl controlador de destino aceptó la orden tras sus propias comprobacionesSi cambió el equipo
Estado verificadoLa realimentación del equipo, como el contacto auxiliar de un contactor, coincide con el estado solicitadoSi la carga de la instalación cambió lo esperado
Resultado medidoUn contador independiente muestra el resultado físico previstoSi se mantiene tras la ventana de observación

MQTT ilustra dónde termina la segunda etapa. Cuando un cliente publica con QoS 1, el bróker es el extremo receptor. En MQTT 5, PUBACK lleva un código de motivo que puede indicar éxito o error: compruébelo antes de registrar la aceptación. La especificación permite al receptor enviar PUBACK antes de completar la entrega posterior. Un PUBACK correcto no dice nada sobre el suscriptor, el PLC o el contactor. QoS 1 ofrece entrega al menos una vez, por lo que un suscriptor puede recibir la misma orden dos veces. Asigne un ID a cada orden y haga que el controlador ignore repeticiones. La guía MQTT sobre TLS cubre la identidad del bróker y el acceso a temas en este límite.

Veamos un evento de reducción de carga. La instalación importa 1.180 kW y el agregador solicita una reducción de 250 kW. El PLC local abre el contactor de una enfriadora. Un ZEM-65 en la entrada principal, de clase 0.5S según IEC 62053-22 e independiente del PLC, mide el resultado.

HoraEventoEtapa
14:02:00.000SCADA registra la orden DR-0412 de reducir 250 kW, recibida del agregadorSolicitud autorizada
14:02:00.180El bróker devuelve PUBACK con código de motivo 0x00 (éxito)Extremo receptor aceptó
14:02:00.950El PLC confirma DR-0412 y abre el contactor de la enfriadoraControlador procesó
14:02:01.300El contacto auxiliar del contactor indica abiertoEstado verificado
14:03:00La entrada registra 935 kW, 245 kW por debajo de la referencia previaResultado medido

El proyecto define un plazo para cada etapa. En este ejemplo, el PLC debe confirmar en 5 s, el contacto de realimentación debe cambiar en 10 s y el contador debe mostrar al menos el 80 % de la reducción solicitada en 60 s. Si vence un plazo, active una alarma que identifique la etapa fallida. Si se abre el contactor pero la entrada solo baja 40 kW, probablemente la enfriadora trabajaba a carga parcial. Informe de los 40 kW medidos. También cambian otras cargas durante el evento: compare el contador con una referencia del mismo periodo, no con una única lectura. Fije plazos, límites de reintentos y respuesta ante fallos para cada clase de orden en la especificación del proyecto. Los valores por defecto del protocolo no los establecen.

Fallos habituales de SCADA

La mayoría de estos fallos producen cifras creíbles, de modo que cada uno exige una prueba deliberada: Realice la inyección de fallos, las interrupciones de enlace y las pruebas de órdenes solo en un entorno controlado o mediante un procedimiento aprobado por el sitio, con operador cualificado, protección independiente y un plan de recuperación acordado. No desactive protecciones ni señales de realimentación en servicio para improvisar una prueba.

FalloCómo detectarlo
El último valor permanece en pantalla tras detenerse la fuenteUn heartbeat o una marca de adquisición de la fuente no avanza tras su intervalo documentado
La hora de llegada sustituye a la de medida tras un reenvíoAparece un pico falso después de cada interrupción. Compare marcas temporales de origen e ingesta.
El reenvío crea muestras duplicadasHay más muestras por punto e intervalo de las que permite la frecuencia esperada
Vatios etiquetados como kilovatios o potencia etiquetada como energíaCompare con la pantalla del dispositivo a carga estable
Los registros se decodifican con un orden de palabras erróneoValor casi nulo o excesivo. Decodifique una lectura conocida con cada orden.
Dos sistemas escriben la misma consignaLa consigna cambia sin una orden registrada por su dueño. En BACnet, lea Priority_Array.
Un PUBACK aparece como «orden completada»Falta la etapa de realimentación de estado en el registro de órdenes
Una ruta de órdenes depende de la WAN y evita los enclavamientos localesDesconecte la WAN durante una orden de prueba y observe el controlador local
La supresión temporal de alarmas y los cambios de configuración carecen de auditoríaSuprima temporalmente una alarma durante la puesta en servicio y búsquela en el registro de auditoría

Para localizar el tramo erróneo, compare un punto con la misma marca temporal en cuatro lugares: la pantalla o herramienta local del dispositivo, la pasarela, la pantalla SCADA y el historiador.

Seguridad

NIST recomienda identificar y segmentar los equipos TI y TO, cartografiar los flujos necesarios para operar y permitir solo esos flujos entre segmentos. También recomienda comunicaciones autenticadas y cifradas entre instalaciones distribuidas (NIST SP 800-82 Rev. 3).

Cada protocolo aborda esto de otra forma. Modbus/TCP básico en el puerto 502 carece de autenticación: manténgalo en una red segmentada o utilice MODBUS/TCP Security en el puerto 802 si ambos extremos lo admiten. OPC UA ofrece tres modos de seguridad de mensajes: None, Sign y SignAndEncrypt (OPC UA Part 4, 7.20). El cliente OPC UA de Edge utiliza None por defecto. Configúrelo con SignAndEncrypt y una política actual como Basic256Sha256; debe coincidir con el extremo anunciado por el servidor. Para MQTT, utilice TLS, verifique el certificado del bróker y limite cada cliente a sus propios temas. La guía MQTT sobre TLS explica el procedimiento.

Lista de puesta en servicio

Establezca los límites de aceptación en la especificación del proyecto. Los valores siguientes son puntos de partida habituales.

  1. Asocie cada activo físico con su dirección de dispositivo, registro u objeto, etiqueta SCADA y serie del historiador. Compruebe cada asociación en la instalación.
  2. Con carga estable, lea la pantalla o herramienta local del dispositivo. Compare el valor en la pasarela, pantalla SCADA e historiador. Tras convertir unidades, todos los tramos deben coincidir hasta la resolución mostrada.
  3. Compare las marcas temporales de origen e ingesta. Los relojes deben concordar dentro de la tolerancia del proyecto, por ejemplo 1 s. Detenga una fuente y confirme que SCADA la marca obsoleta antes de tres intervalos esperados.
  4. Desconecte por separado el enlace de campo y la WAN. Registre qué hace el controlador local, cuándo aparece cada alarma y qué almacena la pasarela.
  5. Recupere la WAN tras una interrupción de 30 minutos. Para un punto con intervalo de 60 s, el historiador debe contener 30 muestras restituidas con sus marcas temporales originales, sin duplicados ni huecos. Ningún intervalo de la interrupción debe mostrar energía negativa o duplicada.
  6. Envíe una orden de prueba segura y autorizada de cada clase. Registre las cinco etapas de prueba. Después bloquee una, por ejemplo la entrada de realimentación, y confirme que la alarma de plazo identifica esa etapa.
  7. Intente conectar con un certificado no confiable y con credenciales incorrectas. Confirme que ambos intentos se rechazan y registran. Confirme que solo los flujos previstos cruzan los límites entre segmentos.
  8. Reinicie cada componente por turno. Confirme la configuración, las suscripciones y la continuidad de datos. Tras reiniciar Edge, confirme que cada registro del servidor Modbus vuelve a contener un valor reciente.
  9. Conserve las pruebas: entradas de prueba, marcas temporales, resultados esperados y observados, versiones de firmware y configuración, y excepciones aceptadas.