Protocolos y datos

IEC 60870-5-101 frente a IEC 60870-5-104

IEC 101 e IEC 104: consulta serie y TCP 2404, parámetros k, w y t0 a t3, tamaños de campo, marcas de tiempo y túneles frente a convertidores.

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-101IEC 60870-5-104
TransporteSerie: RS-232, RS-485, módem o radioTCP/IP por Ethernet o WAN
Dirección de estaciónDirección de enlace de 0, 1 o 2 bytesDirección IP y puerto TCP, normalmente 2404
Procedimiento de enlaceNo equilibrado (la estación primaria consulta) o equilibrado (ambos extremos pueden enviar)Cliente y servidor por TCP, con STARTDT y STOPDT
TramaFT1.2: las tramas fijas empiezan por 0x10, las variables por 0x68 L L 0x68; ambas terminan en 0x16APCI: inicio 0x68, un byte de longitud y cuatro bytes de control
Control de flujoUna trama pendiente; confirmación o carácter único 0xE5Hasta k tramas I numeradas pendientes; temporizadores t0 a t3
Causa de transmisión1 o 2 bytes2 bytes
Dirección común1 o 2 bytes2 bytes
Dirección de objeto1, 2 o 3 bytes3 bytes
Tipos con marca temporalCP24Time2a (3 bytes) y CP56Time2a (7 bytes)Solo CP56Time2a: tipos 30 a 40 de supervisión y 58 a 64 de órdenes
Enlaces habitualesSerie punto a punto, radio, líneas alquiladas o multipunto con varias estaciones remotasRedes 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ámetroValor predeterminadoSignificado
k12 tramas INúmero máximo de tramas I enviadas sin confirmar. Al llegar a k, el emisor se detiene.
w8 tramas IEl receptor confirma como muy tarde tras w tramas I. Se recomienda que w no supere dos tercios de k.
t030 sTiempo límite para establecer la conexión
t115 sTiempo límite para confirmar una trama I o U enviada. Al llegar a t1, el emisor cierra la conexión.
t210 sTiempo límite para confirmar si no hay datos que enviar. t2 debe ser menor que t1.
t320 sTiempo 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:

Trama hexadecimal
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      QDS

El 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:

Trama hexadecimal
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 fin

Aquí 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.

Túnel IEC 101 frente a convertidor IEC 101 a IEC 104 Arriba: un servidor serie transporta los bytes IEC 101 de la RTU por una red TCP y el centro de control sigue necesitando un maestro IEC 101. Abajo: un convertidor consulta la RTU por IEC 101, actúa como servidor IEC 104 en el lado de red, reconstruye cada ASDU con los tamaños de campo de IEC 104 y añade hora y fecha a las marcas temporales. túnel RTU estación IEC 101 Servidor serie bytes sin cambiar Centro de control maestro IEC 101 FT1.2 101 por TCP convertidor RTU estación IEC 101 Convertidor mapea cada punto Centro de control cliente IEC 104 IEC 101 IEC 104 Ambos hablan IEC 101 Reconstruye cada ASDU: 11 a 14 bytes, y añade hora y fecha a CP24Time2a
Un túnel transporta bytes IEC 101 por TCP hasta un maestro IEC 101. Un convertidor habla IEC 101 con la RTU e IEC 104 con el centro de control, y reconstruye cada ASDU.

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 convertidorLo que ve el centro de controlPrueba
Reconstruye CP24Time2a usando la hora de su propio relojEventos próximos a la hora en punto con una marca desplazada una horaFuerce 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ónHoras de evento que siguen el ciclo de consultas, no el procesoCambie 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 buenosDesconecte 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 RTUValores obsoletos con causa 20 y buena calidadCorte el enlace serie, envíe C_IC_NA_1 y compruebe la calidad
Confirma una orden antes de que la RTU la confirmeACTCON positiva para una orden fallidaEnví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.