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:
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.
| Sistema | Responsabilidad principal | Alcance habitual | Salidas habituales | Límite principal |
|---|---|---|---|---|
| SCADA | Supervisión operativa y adquisición de datos | Procesos industriales, servicios públicos o activos distribuidos geográficamente | Estado en directo, alarmas, tendencias, órdenes y registros de eventos | Por sí solo no demuestra la respuesta física ni el ahorro energético |
| BMS o BAS | Automatización de equipos del edificio | Climatización, iluminación, accesos y otros servicios del edificio | Horarios, consignas, estado de equipos y alarmas | Suele centrarse en sistemas del edificio, no en el análisis energético de toda la cartera |
| EMS o EMIS | Análisis energético y gestión del rendimiento | Edificios, campus o carteras | Datos energéticos normalizados, indicadores, comparativas, análisis de fallos y flujos de medición | Puede 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.
| Protocolo | Uso adecuado | Decisión importante de implementación |
|---|---|---|
| Modbus TCP o RTU | Adquisición y control sencillos por registro cuando el mapa del dispositivo es estable | Direccionamiento 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/IP | Integración con objetos, horarios, alarmas y tendencias de automatización de edificios | Especifique 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 UA | Modelos de información tipados, estados, marcas temporales, alarmas, suscripciones e integración más rica | Acuerde 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. |
| MQTT | Telemetría de publicación y suscripción desacopladas mediante enlaces limitados o intermitentes | Defina 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:
| Campo | Ejemplo |
|---|---|
| Activo | Entrada principal de baja tensión |
| Punto | site/import_active_power |
| Origen | ZEM-65 en la entrada, a través de la Gateway ZGW-20 |
| Unidad y signo | kW, importación positiva |
| Marca temporal de origen | 2026-09-23T14:02:00Z, al tomar la lectura el contador |
| Marca temporal de ingesta | 2026-09-23T14:02:01Z, al almacenarla el historiador |
| Calidad | Buena, obsoleta o incorrecta |
| Intervalo esperado | 60 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
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

- Solicitud autorizada
- Extremo receptor aceptó
- Controlador procesó
- Estado verificado
- Resultado medido
Registre cada orden en estas cinco etapas:
| Etapa probada | Qué demuestra | Qué queda por demostrar |
|---|---|---|
| Solicitud autorizada | El solicitante superó la política de acceso y SCADA registró la petición con un ID de orden | Si la orden salió del servidor SCADA |
| Extremo receptor aceptó | Un extremo de protocolo identificado, como un bróker MQTT, asumió el mensaje | Si actuó un suscriptor, controlador o dispositivo |
| Controlador procesó | El controlador de destino aceptó la orden tras sus propias comprobaciones | Si cambió el equipo |
| Estado verificado | La realimentación del equipo, como el contacto auxiliar de un contactor, coincide con el estado solicitado | Si la carga de la instalación cambió lo esperado |
| Resultado medido | Un contador independiente muestra el resultado físico previsto | Si 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.
| Hora | Evento | Etapa |
|---|---|---|
| 14:02:00.000 | SCADA registra la orden DR-0412 de reducir 250 kW, recibida del agregador | Solicitud autorizada |
| 14:02:00.180 | El bróker devuelve PUBACK con código de motivo 0x00 (éxito) | Extremo receptor aceptó |
| 14:02:00.950 | El PLC confirma DR-0412 y abre el contactor de la enfriadora | Controlador procesó |
| 14:02:01.300 | El contacto auxiliar del contactor indica abierto | Estado verificado |
| 14:03:00 | La entrada registra 935 kW, 245 kW por debajo de la referencia previa | Resultado 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.
| Fallo | Cómo detectarlo |
|---|---|
| El último valor permanece en pantalla tras detenerse la fuente | Un 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ío | Aparece un pico falso después de cada interrupción. Compare marcas temporales de origen e ingesta. |
| El reenvío crea muestras duplicadas | Hay más muestras por punto e intervalo de las que permite la frecuencia esperada |
| Vatios etiquetados como kilovatios o potencia etiquetada como energía | Compare con la pantalla del dispositivo a carga estable |
| Los registros se decodifican con un orden de palabras erróneo | Valor casi nulo o excesivo. Decodifique una lectura conocida con cada orden. |
| Dos sistemas escriben la misma consigna | La 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 locales | Desconecte 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ía | Suprima 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Conserve las pruebas: entradas de prueba, marcas temporales, resultados esperados y observados, versiones de firmware y configuración, y excepciones aceptadas.