IEC 60870-5-101 e IEC 60870-5-104 son los protocolos de telecontrol que los operadores de red y las eléctricas emplean entre los centros de control y las estaciones remotas: RTU en subestaciones, parques eólicos y solares, baterías y grandes cargas. IEC 101 funciona sobre enlaces serie. IEC 104 transporta mensajes de aplicación similares por TCP/IP, normalmente por el puerto 2404. Muchas subestaciones usan IEC 61850 dentro de la estación y reservan IEC 104 para la conexión con el centro de control.
Las listas de puntos se parecen, pero las codificaciones difieren en tres aspectos importantes para una adaptación: la capa de enlace, el tamaño de los campos de dirección y las marcas temporales admitidas.
Normas y ediciones
La publicación vigente de IEC 101 es IEC 60870-5-101:2003+AMD1:2015, edición consolidada 2.1. La de IEC 104 es IEC 60870-5-104:2006+AMD1:2016, edición consolidada 2.1, que incluye la corrección de agosto de 2023.
Cada equipo tiene una lista de interoperabilidad: una lista de comprobación de la norma que indica las opciones implementadas. Obtenga las listas de ambos extremos antes de redactar la lista de puntos. Compare primero estos elementos; una discrepancia en cualquiera impide que los extremos se entiendan:
- transmisión equilibrada o no equilibrada (IEC 101);
- número de bytes de la dirección de enlace, la causa de transmisión, la dirección común y la dirección de objeto (IEC 101);
- tipos con marca temporal que el equipo envía y acepta;
- órdenes que acepta con marca temporal y si usa selección antes de ejecución.
Comparación
| IEC 60870-5-101 | IEC 60870-5-104 | |
|---|---|---|
| Transporte | Serie: RS-232, RS-485, módem o radio | TCP/IP por Ethernet o WAN |
| Dirección de estación | Dirección de enlace de 0, 1 o 2 bytes | Dirección IP y puerto TCP, normalmente 2404 |
| Procedimiento de enlace | No equilibrado (la estación primaria consulta) o equilibrado (ambos extremos pueden enviar) | Cliente y servidor por TCP, con STARTDT y STOPDT |
| Trama | FT1.2: las tramas fijas empiezan por 0x10, las variables por 0x68 L L 0x68; ambas terminan en 0x16 | APCI: inicio 0x68, un byte de longitud y cuatro bytes de control |
| Control de flujo | Una trama pendiente; confirmación o carácter único 0xE5 | Hasta k tramas I numeradas pendientes; temporizadores t0 a t3 |
| Causa de transmisión | 1 o 2 bytes | 2 bytes |
| Dirección común | 1 o 2 bytes | 2 bytes |
| Dirección de objeto | 1, 2 o 3 bytes | 3 bytes |
| Tipos con marca temporal | CP24Time2a (3 bytes) y CP56Time2a (7 bytes) | Solo CP56Time2a: tipos 30 a 40 de supervisión y 58 a 64 de órdenes |
| Enlaces habituales | Serie punto a punto, radio, líneas alquiladas o multipunto con varias estaciones remotas | Redes IP privadas, WAN de fibra y enlaces móviles con APN privado |
La norma fija los tamaños de campo de IEC 104. Algunos productos permiten cambiarlos; un equipo configurado así deja de ser interoperable con una estación IEC 104 estándar.
Cómo transmite datos IEC 101
IEC 101 usa tramas FT1.2. Una trama de longitud fija solo lleva un campo de control y una dirección de enlace, y sirve para funciones de enlace como una consulta. Una trama de longitud variable lleva una ASDU. El carácter único 0xE5 es una confirmación positiva.
En modo no equilibrado, la estación de control es la única estación primaria. Consulta a cada estación remota por turno; esta solo envía cuando se le solicita. Los datos se dividen en clase 1 (alta prioridad, normalmente eventos) y clase 2 (baja prioridad, normalmente valores cíclicos). La estación remota activa el bit ACD de su respuesta cuando tiene datos de clase 1 pendientes, y la estación de control los solicita. Este modo funciona en una línea multipunto con varias estaciones remotas.
En modo equilibrado, cualquiera de los extremos puede iniciar una transferencia, por lo que una estación remota envía un evento en cuanto ocurre. Se limita a enlaces punto a punto o múltiples enlaces punto a punto.
En una línea multipunto, el ciclo de consultas determina la latencia. FT1.2 transmite 11 bits por carácter; a 9.600 bit/s, la respuesta de 19 bytes del ejemplo siguiente ocupa unos 22 ms en la línea. Cada consulta añade una petición de 5 bytes, dos cambios de sentido y el tiempo de respuesta de la estación remota. Un evento espera hasta que la estación de control llegue a esa estación en el ciclo. Si cada intercambio dura 60 ms, incluidos los cambios de sentido, una línea con 30 estaciones remotas completa un ciclo en unos 1,8 s.
Cómo gestiona IEC 104 una conexión
Cada trama IEC 104 (APDU) empieza con un APCI de 6 bytes: byte inicial 0x68, un byte de longitud que cuenta el resto de la trama y cuatro bytes de control. La APDU máxima es de 255 bytes. Hay tres formatos:
- Las tramas I transportan una ASDU, con un número de secuencia de envío N(S) de 15 bits y otro de recepción N(R) de 15 bits.
- Las tramas S solo llevan N(R), para confirmar tramas I cuando no hay datos que devolver.
- Las tramas U llevan STARTDT y STOPDT, que inician y detienen la transferencia de datos, y TESTFR, que comprueba un enlace inactivo.
Una conexión TCP nueva empieza en estado STOPDT con ambos números de secuencia a cero. La estación controlada no envía tramas I hasta recibir STARTDT act y responder STARTDT con.
IEC 60870-5-104 establece estos valores predeterminados:
| Parámetro | Valor predeterminado | Significado |
|---|---|---|
| k | 12 tramas I | Número máximo de tramas I enviadas sin confirmar. Al llegar a k, el emisor se detiene. |
| w | 8 tramas I | El receptor confirma como muy tarde tras w tramas I. Se recomienda que w no supere dos tercios de k. |
| t0 | 30 s | Tiempo límite para establecer la conexión |
| t1 | 15 s | Tiempo límite para confirmar una trama I o U enviada. Al llegar a t1, el emisor cierra la conexión. |
| t2 | 10 s | Tiempo límite para confirmar si no hay datos que enviar. t2 debe ser menor que t1. |
| t3 | 20 s | Tiempo de inactividad antes de enviar TESTFR |
Si llegan menos de w tramas, el receptor espera hasta t2 antes de enviar una trama S. Por tanto, la confirmación llega al emisor después de t2 más el tiempo de tránsito. Con los valores predeterminados quedan 5 s para el trayecto de ida y vuelta antes de que t1 cierre la conexión. Un enlace móvil con 1 s de ida y vuelta entra en ese margen; uno que se atasca más de 5 s bajo carga, no. El síntoma es una conexión que se cierra y reabre durante ráfagas de eventos. Aumente t1 o reduzca t2 para que t1 supere t2 más el peor tiempo de ida y vuelta medido. Cambie los valores en ambos extremos a la vez.
Conexiones redundantes
Una estación controlada puede aceptar más de una conexión TCP, por ejemplo, de un centro de control principal y otro de reserva. Las conexiones forman un grupo de redundancia con una sola cola de eventos; solo una conexión del grupo está activa (en STARTDT) en cada momento. Al cambiar al centro de reserva, los eventos enviados pero no confirmados en la conexión antigua deben permanecer en la cola. Si la cola se llena, lib60870, por ejemplo, elimina el evento más antiguo y conserva el nuevo. Acuerde la profundidad de la cola con el operador y pruebe un cambio durante una ráfaga de eventos.
Una medida en ambos enlaces
Este ejemplo transmite una exportación de potencia activa de 12,5 MW como flotante corto, tipo 13 (M_ME_NC_1), causa 3 (espontánea), dirección común 1 y dirección de objeto 4001 (0x0FA1).
En IEC 104, como trama I N(S) = 5, N(R) = 3:
68 12 0A 00 06 00 0D 01 03 00 01 00 A1 0F 00 00 00 48 41 00
APCI cabecera y dirección ASDU valor QDSEl byte de longitud 0x12 (18) cuenta los cuatro bytes de control y los 14 de la ASDU. Los bytes de control contienen N(S) y N(R) desplazados un bit a la izquierda: 5 pasa a 0x0A y 3 a 0x06. El campo de causa tiene 2 bytes (03 00: causa 3, dirección de originador 0). La dirección común tiene 2 bytes (01 00) y la de objeto 3 (A1 0F 00). El valor 12,5 es el número IEEE 754 de precisión simple 0x41480000, transmitido primero por el byte menos significativo. QDS 0x00 indica buena calidad.
En IEC 101, en modo no equilibrado, con dirección de enlace de 1 byte (5), causa de 1 byte, dirección común de 1 byte y dirección de objeto de 2 bytes, el mismo valor se transmite como respuesta a una petición de clase 1:
68 0D 0D 68 08 05 0D 01 03 01 A1 0F 00 00 48 41 00 58 16
cabecera C A cabecera y dirección ASDU valor QDS CS finAquí la ASDU ocupa 11 bytes, frente a 14 en IEC 104. Un convertidor debe reconstruir cada ASDU con los tamaños de campo del otro protocolo. No puede limitarse a reenviar los bytes.
Un túnel no es un convertidor
Un servidor de dispositivos serie puede transportar un flujo de bytes IEC 101 a través de una red TCP. Ambos extremos siguen hablando IEC 101, con tramas FT1.2 y consultas IEC 101. La biblioteca de MZ Automation documenta este transporte por túnel separado de IEC 104. El centro de control necesita un maestro IEC 101 capaz de usar una conexión TCP. Un cliente IEC 104 no entiende ese flujo.
El túnel también añade latencia de red a cada consulta y respuesta. Los temporizadores del enlace IEC 101 del maestro deben admitirla; de lo contrario, declarará fallida la estación remota.
Un convertidor de protocolos implementa ambas normas. Consulta o recibe IEC 101 en el lado de la RTU, ejecuta un servidor IEC 104 en el lado de red y mapea cada punto.
La marca temporal exige especial cuidado. CP24Time2a solo contiene milisegundos (de 0 a 59.999) y minutos (de 0 a 59). El convertidor añade hora y fecha, normalmente desde su propio reloj. Un evento ocurrido a las 10:59:59,8 que llega al convertidor a las 11:00:00,3 recibe una hora errónea salvo que el convertidor compare los minutos de la marca con su propia hora. Sincronice los relojes de la RTU y el convertidor y pruebe el cambio de hora.
Pruebe estos fallos:
| Fallo del convertidor | Lo que ve el centro de control | Prueba |
|---|---|---|
| Reconstruye CP24Time2a usando la hora de su propio reloj | Eventos próximos a la hora en punto con una marca desplazada una hora | Fuerce un evento a las xx:59:59 y lea la marca temporal en el lado IEC 104 |
| Envía eventos sin marca temporal o con su hora de recepción | Horas de evento que siguen el ciclo de consultas, no el proceso | Cambie el estado de una entrada y compare el registro de eventos de la RTU con el del centro de control |
| Pierde los bits de calidad (IV, NT, SB, BL, OV) | Valores de una RTU averiada mostrados como buenos | Desconecte la RTU y compruebe que sus puntos llevan IV o NT |
| Responde a una interrogación general desde su caché mientras falla el enlace con la RTU | Valores obsoletos con causa 20 y buena calidad | Corte el enlace serie, envíe C_IC_NA_1 y compruebe la calidad |
| Confirma una orden antes de que la RTU la confirme | ACTCON positiva para una orden fallida | Envíe una orden a una RTU que la rechace |
El acuerdo sobre la aplicación
Ambas normas requieren una lista de puntos aprobada por las partes y la lista de interoperabilidad de cada extremo. Para cada punto, la lista indica:
- identificación de tipo, por ejemplo M_ME_NC_1 (13) para un flotante corto o M_ME_TF_1 (36) para un flotante corto con marca CP56Time2a;
- dirección común y dirección de objeto de información;
- unidad, escala y convención de signo, por ejemplo exportación positiva;
- causas de transmisión utilizadas por el punto: espontánea (3), periódica (1) o solicitada por interrogación general (20);
- para las órdenes, tipo (por ejemplo C_SC_NA_1, 45, o C_SC_TA_1, 58, con marca temporal), uso de selección antes de ejecución o ejecución directa, y punto que informa del resultado.
Acuerde la fuente del reloj. El centro de control puede ajustar el reloj de la estación remota con C_CS_NA_1 (103), o ambos extremos pueden usar NTP. Acuerde qué ocurre al arrancar y tras perder una conexión. Una interrogación general devuelve los valores actuales. Los eventos ocurridos durante un corte solo se recuperan si la estación remota los almacena. La guía de ASDU explica los campos; la guía de marcas temporales, las marcas y la calidad; y la guía de órdenes, la secuencia de control.
Seguridad
Los protocolos básicos no autentican al otro extremo ni cifran los datos. Hay dos ampliaciones normalizadas:
- IEC 62351-3 es un perfil TLS para protocolos TCP/IP. IANA registra el puerto TCP 19998 para IEC 104 seguro.
- IEC TS 60870-5-7:2025 aplica a IEC 101 e IEC 104 la autenticación de capa de aplicación de IEC 62351-5. Permite verificar que una ASDU procede de un usuario autorizado y no se ha modificado.
Pregunte cuáles implementa el equipo y pruébelas durante la puesta en servicio. Si no implementa ninguna, la protección depende de la red: circuito o APN privado, VPN IPsec entre instalaciones y cortafuegos que solo acepte TCP 2404 desde las direcciones del centro de control. Un túnel IEC 101 en una red compartida necesita los mismos controles.
Telecontrol y sistemas EpiSensor
Edge no incluye una interfaz IEC 60870-5-101 ni IEC 60870-5-104. Si el operador de red exige telecontrol en una instalación, lo proporciona la RTU del operador o una pasarela de subestación. Un sistema EpiSensor mide y controla la instalación detrás de esa RTU. Por ejemplo, la RTU recibe por IEC 104 la consigna del operador, y un controlador de respuesta a la demanda ZDR y la medición por circuito informan de la respuesta realmente entregada por la instalación. Defina en la lista de puntos el límite entre ambos sistemas: qué señales pertenecen a la RTU y cuáles proceden del sistema EpiSensor por una interfaz separada.
Preguntas frecuentes
¿En qué se diferencian IEC 101 e IEC 104?
IEC 60870-5-101 funciona sobre enlaces serie, con tramas FT1.2, dirección de enlace y procedimiento equilibrado o no equilibrado. IEC 60870-5-104 funciona por TCP/IP, con APCI de 6 bytes, tramas numeradas y control de flujo propio. Sus mensajes de aplicación son parecidos, pero no idénticos: IEC 104 fija los tamaños de dirección y solo admite marcas CP56Time2a. Un equipo configurado para uno no se comunica con el otro sin un convertidor.
¿Qué puerto utiliza IEC 60870-5-104?
Normalmente el puerto TCP 2404. IANA también registra el puerto TCP 19998 para IEC 104 seguro, usado en conexiones TLS.
¿Qué son k y w en IEC 104?
Parámetros de control de flujo. k es el número máximo de tramas I que una estación puede enviar sin confirmación, 12 por defecto. w es el número de tramas I tras el cual el receptor debe confirmar, 8 por defecto. La norma recomienda que w no supere dos tercios de k. Si una trama I no se confirma dentro de t1 (15 s por defecto), el emisor cierra la conexión.
¿Es seguro IEC 104?
No por sí solo. El protocolo básico no autentica ni cifra. IEC 62351-3 añade TLS e IEC TS 60870-5-7 aplica a IEC 101 e IEC 104 la autenticación de IEC 62351-5. Si el equipo no admite ninguna, la protección depende de la red: circuito o APN privado, VPN y regla de cortafuegos para el puerto 2404.