IEC 60870-5-104 es el protocolo de telecontrol que lleva los datos y mandos de una subestación al centro de control sobre TCP/IP. Usa la capa de aplicación de IEC 60870-5-101 (las mismas ASDU, tipos de dato y causas de transmisión) y le agrega un encabezado APCI con números de secuencia, ventanas k y w y temporizadores t0 a t3 que supervisan el enlace.
Qué es IEC 60870-5-104 y qué norma lo define
IEC 60870-5-104 es la norma de telecontrol que transporta, sobre TCP/IP, los mismos mensajes que IEC 60870-5-101 usa en enlaces serie. Su título lo dice: acceso a red para IEC 60870-5-101 con perfiles de transporte estándar. Toma la capa de aplicación de la 101 y reemplaza su capa de enlace por TCP. La versión vigente es la edición 2 (2006) con su enmienda 1 (2016), que dedica un capítulo completo a las conexiones redundantes.
La norma no incluye mecanismos de seguridad: lo dice de forma explícita en su alcance. La seguridad se agrega con la serie IEC 62351.
Dónde se usa y por qué
Es el enlace típico entre el gateway o RTU de la subestación y el SCADA del centro de control, el nivel más alto de la arquitectura de comunicaciones de subestación. También une centros de control regionales con equipos de campo que tienen enlace IP, como reconectadores con radio o celular. Dentro de la subestación, los IED suelen hablar IEC 61850 y el gateway traduce hacia 104.
Se usa porque es una norma abierta, conocida por todos los fabricantes de SCADA, con reporte espontáneo de cambios, estampas de tiempo al milisegundo, mandos con selección previa y supervisión permanente del enlace. Los requisitos de cada centro de control (lista de señales, tipos, direcciones) se acuerdan con el operador correspondiente; en Colombia, con el operador del sistema o el operador de red, según el caso.
Cómo funciona
Transporte. La estación controlada actúa como servidor TCP y escucha en el puerto 2404, registrado ante IANA para IEC 60870-5-104. La estación de control (el SCADA) abre la conexión.
APCI. Cada mensaje (APDU) empieza con el octeto de inicio 68H, un octeto de longitud y cuatro octetos de control. El APDU tiene como máximo 253 octetos después de esos dos primeros, de modo que la ASDU puede ocupar hasta 249. Los octetos de control definen tres formatos:
- Formato I: transferencia numerada de información. Lleva una ASDU con su número de secuencia de envío N(S) y de recepción N(R).
- Formato S: solo acusa recibo con N(R), sin datos.
- Formato U: funciones de control sin numerar: STARTDT (iniciar transferencia), STOPDT (detenerla) y TESTFR (probar el enlace), cada una con activación y confirmación.
ASDU. Es la misma estructura de la 101: identificador de tipo (1 octeto), calificador de estructura variable (1), causa de transmisión (2, incluida la dirección de origen), dirección común de la ASDU (2) y, por cada objeto, dirección de objeto de información (3) más su valor.
Tipos de dato más usados. Punto simple (1, y 30 con estampa), punto doble (3 y 31), medidas normalizada, escalada y flotante (9, 11, 13 y sus versiones con estampa 34, 35, 36), totalizadores (15 y 37), mando simple y doble (45 y 46, y con estampa 58 y 59), mando de pasos (47), consignas (48 a 50), interrogación general (100), interrogación de contadores (101), sincronización de reloj (103) y fin de inicialización (70). La estampa CP56Time2a ocupa siete octetos, de milisegundos a años.
| Información | Identificador de tipo |
|---|---|
| Punto simple | 1; con estampa, 30 |
| Punto doble | 3; con estampa, 31 |
| Medida normalizada | 9; con estampa, 34 |
| Medida escalada | 11; con estampa, 35 |
| Medida flotante | 13; con estampa, 36 |
| Totalizadores | 15; con estampa, 37 |
| Mando simple | 45; con estampa, 58 |
| Mando doble | 46; con estampa, 59 |
| Mando de pasos | 47 |
| Consignas | 48 a 50 |
| Fin de inicialización | 70 |
| Interrogación general | 100 |
| Interrogación de contadores | 101 |
| Sincronización de reloj | 103 |
Causa de transmisión. Dice por qué viaja el dato: 1 periódico, 3 espontáneo, 5 solicitado, 6 activación, 7 confirmación de activación, 10 terminación de activación, 20 respuesta a interrogación general, entre otras. Un mando bien ejecutado se ve como 6 → 7 → 10.
Ventanas y temporizadores. Hay valores por defecto ampliamente usados, que cada centro de control puede cambiar:
| Parámetro | Por defecto | Función |
|---|---|---|
| k | 12 APDU | Máximo de tramas I enviadas sin confirmar |
| w | 8 APDU | El receptor confirma a más tardar tras w tramas I |
| t0 | 30 s (algunos equipos traen 15 s) | Espera para establecer la conexión |
| t1 | 15 s | Espera de confirmación de un envío o de un TESTFR |
| t2 | 10 s | Plazo para confirmar con trama S si no hay datos (t2 < t1) |
| t3 | 20 s | Inactividad tras la cual se envía TESTFR |
La lista de interoperabilidad recomienda que w no supere dos tercios de k, y en la práctica se mantiene t2 < t1 < t3.
Redundancia. La norma describe grupos de conexiones redundantes: varias conexiones TCP entre un mismo cliente y su servidor, de las que solo una está activa y transfiere datos (iniciada con STARTDT). Las demás permanecen establecidas y detenidas, supervisadas con TESTFR, y el cliente activa una de ellas con STARTDT si la activa falla.
Configuración: conceptos
Configurar 104 es, ante todo, acordar con el centro de control la lista de señales: dirección común, dirección de cada objeto, tipo (con o sin estampa), escala o formato de medida, banda muerta, clase de mando (directo o con selección previa) y qué señales entran en la interrogación general. Luego se fijan los parámetros del enlace (IP, puerto, k, w, t0 a t3), las direcciones permitidas de los maestros y el comportamiento del grupo redundante. Cada fabricante de gateway organiza esto con su propia herramienta y sus propios nombres.
Seguridad
IEC 62351-3 aplica TLS a perfiles sobre TCP/IP, y IEC 62351-5 (edición de 2023) define la seguridad para IEC 60870-5 y sus derivados. IANA registra el puerto TCP 19998 para la versión segura de 104. En la práctica, además: el gateway nunca expuesto a Internet, filtrado por IP de los maestros en un router y cortafuegos industrial, VPN en enlaces públicos y registro de conexiones.
Problemas típicos y diagnóstico
- Reconexiones cíclicas: t1 vencido por latencia, k excedido sin confirmación o un segundo maestro conectado.
- Conecta pero no llegan datos: el maestro no envió STARTDT o la dirección común no coincide (la estación responde con causa 46, dirección común desconocida).
- Objeto rechazado: causa 47 (dirección de objeto desconocida) o 44 (tipo desconocido).
- Medidas absurdas: tipo de medida cruzado entre normalizado, escalado y flotante.
- Eventos con hora errada: reloj sin sincronizar o estampa de recepción en lugar de la del IED.
El diagnóstico se hace con una captura de tráfico (Wireshark decodifica 104), con el registro del gateway y con un simulador de maestro o esclavo.
Convivencia y migración
La 104 convive con IEC 61850 dentro de la subestación y con DNP3 en algunos centros de control. La migración desde IEC 60870-5-101 es natural: las ASDU son las mismas, pero cambian el tamaño de los campos y el enlace: en 104 la causa de transmisión ocupa 2 octetos, la dirección común 2 y la dirección de objeto 3, sin otras opciones. Muchos gateways hacen el puente mientras el centro de control cambia. Para el intercambio entre centros de control lo habitual es ICCP/TASE.2 (IEC 60870-6), no la 104.
Pruebas
- Prueba de conexión: STARTDT, interrogación general, sincronización de reloj y TESTFR.
- Prueba punto a punto de cada señal, desde el campo hasta la pantalla del centro de control, y de cada mando en sentido inverso, verificando la secuencia 6, 7 y 10.
- Conmutación de redundancia: caída de la conexión activa y relevo sin pérdida de eventos.
- Desconexión prolongada para comprobar el buffer de eventos y su orden al recuperar.
Configuración remota e integración con Tiza Group
¿El enlace 104 con el centro de control no levanta o las señales no coinciden con la lista? Nuestro equipo revisa la configuración del gateway y las capturas de tráfico de forma remota con nuestro servicio de configuración remota, y hace la integración SCADA y de gateways en subestaciones e industria de media, alta y extra alta tensión.
Referencias
- IEC 60870-5-104:2006+AMD1:2016, Telecontrol equipment and systems – Part 5-104: Network access for IEC 60870-5-101 using standard transport profiles.
- IEC 60870-5-101:2003+AMD1:2015, Companion standard for basic telecontrol tasks.
- IEC 62351-3, seguridad para perfiles que incluyen TCP/IP.
- IEC 62351-5:2023, seguridad para IEC 60870-5 y sus derivados.
- IANA, Service Name and Transport Protocol Port Number Registry (puertos 2404 y 19998).
Preguntas frecuentes
¿Por qué el enlace IEC 60870-5-104 se cae y se reconecta cada pocos segundos?
Casi siempre es un temporizador o una ventana que no coincide con la red: t1 vence porque el canal tiene más latencia de la prevista, el maestro no envía STARTDT, o hay dos maestros conectados a la vez al mismo servidor. Se revisa con una captura de tráfico qué trama queda sin respuesta antes del cierre.
¿Qué diferencia hay entre el tipo 1 y el tipo 30 en IEC 60870-5-104?
Ambos son información de un punto simple. El tipo 1 (M_SP_NA_1) viaja sin estampa de tiempo y el tipo 30 (M_SP_TB_1) lleva la estampa CP56Time2a de siete octetos. Para la secuencia de eventos el centro de control normalmente pide los tipos con estampa.
¿Por qué una medida llega bien en la RTU y mal en el centro de control?
Suele ser el tipo de dato acordado: normalizado, escalado o flotante. Si la estación envía un valor escalado y el centro lo interpreta como normalizado, la cifra sale multiplicada o dividida. También influyen la escala y la banda muerta configuradas en el gateway.