Saltar al contenido
Contáctanos
Técnico comprobando el cableado de red entre el autómata y los switches de un armario de comunicaciones, con el rótulo «PLC y SCADA, sin señal»
27 de mayo de 2026PLC y SCADA

Fallos de comunicación entre PLC y SCADA: síntomas, causas y cómo diagnosticarlos

PLC y SCADA · Diagnóstico

Un fallo de comunicación entre PLC y SCADA se localiza por capas: primero la física (cable, conectores, ruido eléctrico), después la red (switches, bucles, direcciones IP), luego el protocolo (tiempos de espera y códigos de error de Modbus, PROFINET u OPC UA) y por último la aplicación (cuántas variables se piden, cada cuánto y con qué reloj).

Esta guía es para quien tiene el problema delante. Si necesitas situarte antes, tienes explicado qué es un PLC, el autómata que gobierna la máquina, y qué es un sistema SCADA, el software que supervisa y registra la planta.

Antes de reiniciar nada: apunta a qué hora falla, qué equipos se quedan sin datos y qué dice el sistema (calidad del dato, código de error, mensaje del driver). Reiniciar el servidor o el switch suele devolver la comunicación, y con el reinicio se pierden los contadores del switch y lo que el driver no guarda en disco, que es lo que decía por qué se había perdido.

Síntomas de una pérdida de comunicación y qué indican

Pocas veces empieza con una caída completa. Lo normal son señales pequeñas:

  • Variables congeladas. El valor no se mueve aunque el proceso sí. Muchos drivers conservan el último valor leído al caer la conexión, y si la pantalla no enseña la calidad del dato, el operador ve una cifra creíble que ya no es real.
  • Calidad «Bad» o «Uncertain». En OPC UA cada valor viaja con un código de estado: Good es un valor de buena calidad, Uncertain uno de calidad dudosa y Bad uno que no se puede usar [4]. El código concreto suele decir más que la alarma.
  • Alarmas de comunicación intermitentes. Aparecen y se reponen solas. Si coinciden con el arranque de un motor grande, un cambio de turno o un lavado, la hora es la mejor pista.
  • Huecos en los históricos. La tendencia une dos puntos con una recta o faltan registros de un lote, y, sin un búfer previo, ese hueco ya no se rellena.
  • Escrituras que no llegan. Una consigna o una receta sale del SCADA y el autómata no la ejecuta, o la ejecuta tarde.
  • Valores absurdos pero estables. Un número enorme o negativo donde debería haber una temperatura. El dato llega, pero se interpreta mal: lo vemos en la capa de aplicación.

Tabla de diagnóstico: síntoma, causa probable y comprobación

SíntomaCausa probableQué comprobar
Todas las variables de un equipo congeladas, sin alarmaConexión caída y driver que mantiene el último valor; suscripción OPC UA cerrada o sin recuperar al reconectarCalidad de los tags y estado de la conexión en el driver; enlace del puerto en el switch
Calidad «Bad» en un grupo de variablesEquipo sin respuesta, dirección mal mapeada, pasarela que no llega al esclavoEl código: en Modbus, 02 es dirección ilegal y 0B, esclavo detrás de la pasarela sin respuesta [1]
Alarma que va y viene, más con motores arrancandoRuido eléctrico, pantalla del cable mal conectada, datos junto a potenciaContadores de errores CRC/FCS del puerto, y si suben cuando arrancan los motores
Todo un tramo cae y no vuelve hasta quitar un cableBucle y tormenta de difusión (broadcast)LED de actividad sin pausa; latiguillo nuevo que cierre un círculo; contadores de difusión si el switch es gestionado
Varios equipos caen unos segundos y vuelven solosLa redundancia (STP o anillo) se recompone tras un corteCambios de topología en el registro del switch; en anillos PROFINET, watchdog frente a la reconfiguración [2]
Un equipo deja de comunicar cuando se enciende otroDirección IP duplicadaMAC de esa IP que cambia; arping o captura con dos respuestas
Fallos de estación PROFINET puntualesWatchdog corto para la red real, anillo que se reconfiguraBúfer de diagnóstico del controlador; tiempo de actualización y ciclos aceptados sin datos [2]
Pantallas lentas y timeouts en horas de cargaDemasiadas variables, sondeo más rápido de lo necesario, direcciones dispersasPeticiones por ciclo y tiempo de respuesta, en el driver o en una captura
Huecos en el histórico o eventos desordenadosCorte sin búfer antes del tramo caído; relojes sin sincronizarRegistro del servicio de histórico; hora del PLC frente a la del servidor

Capa física: cable, conectores y ruido eléctrico

Es la primera que hay que descartar y la que más se salta. Causas típicas: conectores RJ45 montados en obra que se aflojan con la vibración, entradas de cable a cajas de campo sin estanqueidad, humedad que se queda dentro tras los lavados y pantallas de cable sin conectar o conectadas de forma distinta a la que indica el fabricante del bus.

El ruido eléctrico tiene un patrón reconocible: los errores suben cuando arranca un motor grande o acelera un variador. Si el cable de datos comparte canaleta con las salidas de los variadores, el problema no se arregla tocando el software.

Cómo se comprueba: contadores de errores del puerto (tramas con CRC o FCS erróneo) en el switch o en el diagnóstico de puertos del autómata. Si suben, comprobador de cable y latiguillo de fábrica en lugar del sospechoso. Si los errores siguen al latiguillo, el fallo está en él.

Mangueras de cable verdes tendidas por bandejas de rejilla sobre las baterías de tuberías de acero inoxidable de una planta alimentaria
Mangueras de cable sobre bandejas de rejilla, por encima de las tuberías de proceso de una planta alimentaria.

Capa de red: switches, bucles, IP duplicadas y VLAN

Un switch no gestionado en un armario de planta funciona, pero no da contadores por puerto ni permite copiar tráfico para capturarlo.

Bucles. Un latiguillo que une dos tomas del mismo switch, o dos switches unidos por dos caminos sin un protocolo que gestione la redundancia, crea un círculo por el que las tramas de difusión dan vueltas sin fin. Suele pasar tras una ampliación o una reparación con prisa: todo el tramo cae a la vez y no vuelve hasta que se quita el cable que cierra el círculo. Con redundancia (STP o anillo), un cable cortado no tumba el tramo, aunque mientras la red se recompone puede haber caídas breves.

IP duplicadas. Un repuesto configurado con la IP de un equipo que sigue conectado, el portátil de un técnico externo, una pantalla nueva con su IP de fábrica. Dos equipos se turnan para comunicar: la MAC de esa IP cambia de una consulta a otra, y un arping o una captura muestran dos equipos que responden a la misma IP.

Segmentación. La guía del NIST para la seguridad de la tecnología operacional describe la segmentación de la red de planta por zonas, física con switches distintos o lógica con VLAN [6]. Además de proteger, evita que el tráfico de difusión de la oficina llegue a los autómatas.

Capa de protocolo: Modbus, PROFINET y OPC UA

Modbus: un timeout y una excepción dicen cosas distintas

La especificación de Modbus separa dos casos que en la pantalla se confunden. Si la petición no llega al esclavo, o llega con un error de paridad o de CRC, no hay respuesta y el cliente acaba registrando un tiempo de espera agotado. Si llega bien pero el equipo no puede atenderla, devuelve una respuesta de excepción: el código de función más 80 hexadecimal y un código con el motivo [1].

Traducido: un timeout es que no llegó respuesta. Apunta a cable, red, pasarela, equipo apagado o parámetros que no casan (dirección de esclavo, velocidad, paridad), porque el esclavo no contesta a una trama que no es suya ni a una que llega con errores [1]. Una excepción dice que el equipo recibió la petición y por qué no la atiende: el 01 y el 02 suelen ser de configuración, el 04 es una avería del equipo y el 0A y el 0B señalan a la pasarela o a lo que tiene detrás. Los códigos que más orientan:

CódigoNombreQué suele significar
01Illegal FunctionEl equipo no admite esa función, o no está en estado de atenderla [1]
02Illegal Data AddressLa petición se sale del mapa: en un equipo de 100 registros, leer 5 desde el 96 falla porque el 100 no existe [1]
04Server Device FailureError irrecuperable en el equipo al ejecutar la petición [1]
0AGateway Path UnavailablePasarela mal configurada o sobrecargada [1]
0BGateway Target Device Failed to RespondLa pasarela preguntó y el esclavo no contestó; normalmente, no está en la red [1]

Subir el tiempo de espera del driver puede quitar la alarma sin quitar la causa: los datos siguen llegando tarde, y en una línea serie donde el maestro pregunta a los esclavos de uno en uno, cada espera retrasa las peticiones que van detrás.

PROFINET: el tiempo de vigilancia

PROFINET IO une el autómata con su periferia y sus variadores. El SCADA suele hablar con el autómata por S7 u OPC UA, así que este fallo le llega de rebote: como alarma de fallo de estación, si el autómata la notifica, o como lecturas que dejan de ser válidas.

El watchdog de PROFINET es el tiempo que el controlador o el dispositivo IO aceptan sin recibir datos. Si se supera, el dispositivo pone valores sustitutivos y el controlador lo registra como fallo de estación. En el software de Siemens se fija como múltiplo entero del tiempo de actualización [2].

El búfer de diagnóstico del controlador dice qué dispositivo cayó y cuándo. En anillos, MRP, el protocolo de redundancia de la norma IEC 62439-2, tiene una reconfiguración típica de 200 ms y admite hasta 50 dispositivos por anillo, y Siemens pide un watchdog de 256 ms o más cuando se acoplan varios anillos [2]. Un watchdog más corto que la reconfiguración convierte un corte que el anillo debería absorber en una parada.

OPC UA: suscripciones que se pierden

Con OPC UA, el SCADA suele suscribirse a las variables. El servidor envía los cambios en cada intervalo de publicación y, si pasan varios ciclos seguidos sin cambios, un mensaje de mantenimiento (keep-alive). Si pasan demasiados ciclos sin que el cliente pida publicaciones, se agota el contador de vida y la suscripción se cierra [3].

Las suscripciones están pensadas para sobrevivir a un corte de la conexión y de la sesión [3], pero hay un escenario típico: la conexión vuelve y un grupo de variables sigue congelado, porque el corte duró más que la vida de la suscripción o porque el cliente abrió una sesión nueva sin transferirla ni crearla otra vez. La especificación prevé una cola de retransmisión para recuperar notificaciones perdidas con el servicio Republish [3]; que el cliente la use depende de cómo esté configurado.

Capa de aplicación: variables, sondeo y relojes

Sondeo excesivo. Pedir todas las variables cada segundo carga el procesador de comunicaciones del autómata y el driver. Una temperatura de depósito no necesita la frecuencia de una báscula en plena pesada.

Direcciones dispersas. Una lectura Modbus de registros admite de 1 a 125 registros contiguos [1]. Si las variables están repartidas por la memoria del autómata, hacen falta muchas peticiones pequeñas por ciclo; agrupadas en una zona de intercambio contigua, bastan muchas menos.

Latido (heartbeat). Un contador que el autómata incrementa y el SCADA vigila: si deja de cambiar, los datos son viejos aunque la conexión parezca abierta. Al revés también sirve: el autómata vigila un latido del SCADA y, si se para, deja de aceptar consignas remotas y pasa a un estado seguro definido.

Relojes. Con un reloj distinto en autómata, servidor e historiador, los eventos salen desordenados. NTP es el protocolo estándar para sincronizar relojes en red [7], y el NIST recuerda que la sincronización horaria es necesaria para correlacionar eventos y registros [6].

Tipos de datos. Los valores absurdos suelen ser un entero con signo leído como sin signo, o un real que viaja en dos registros y se recompone con el orden de palabras cambiado. Se confirma comparando el valor en línea del autómata con el del SCADA.

Cómo diagnosticar un fallo de comunicación entre PLC y SCADA, paso a paso

  1. Acota el alcance. ¿Un equipo, una línea o toda la planta? ¿Siempre, a ratos, a ciertas horas? Si cae todo a la vez, mira red o servidor; si cae un equipo, su cable, su puerto o su configuración.
  2. Lee lo que ya dice el sistema. Calidad de las variables, error del driver (timeout o excepción, y cuál), búfer de diagnóstico del autómata y eventos del servidor.
  3. Mira los contadores. En el switch gestionado: errores CRC, tramas descartadas, caídas de enlace y difusión por puerto. En el autómata: diagnóstico de puertos y estaciones. Ponlos a cero, espera a que se repita y compara.
  4. Captura el tráfico. Wireshark, el analizador de red libre, interpreta Modbus/TCP, PROFINET IO y OPC UA [8]. En una red con switch, un portátil conectado a un puerto cualquiera solo ve su propio tráfico y el de difusión: hace falta un puerto espejo (port mirroring o SPAN) en un switch gestionado, o un tap de red. El puerto espejo debe ser al menos tan rápido como el que copia y no reenvía tramas dañadas, así que los errores de CRC se ven en los contadores, no en la captura [5].
  5. Aísla, con cuidado. Conecta un portátil directo al equipo con un cliente de pruebas solo en lectura, por un segundo puerto libre o en una parada si hay que sacarlo de la red. Antes, mira qué enclavamientos entre autómatas pasan por esa red: desconectarlo los corta. Si así comunica bien durante horas, el problema está en la red o en la carga; si falla igual, en el equipo o su configuración.
  6. Cambia una cosa cada vez. Si cambias tres a la vez y el fallo desaparece, no sabrás cuál era.

Soluciones para que no vuelva a pasar

Encontrar la causa resuelve la avería de hoy. La siguiente se previene con la arquitectura:

MedidaQué evitaCuándo compensa
Red de control separada, con switches propios o VLAN [6]Tráfico de oficina en los autómatas; que un bucle en un despacho tire la plantaSi control y oficina comparten switches
Switches gestionados de gama industrialFallos sin rastro: dan contadores por puerto y permiten capturar [5]Donde se juntan autómatas y servidores
Anillo con MRP y watchdog acorde [2]Que un cable cortado deje medio tramo sin comunicaciónLíneas en las que una parada cuesta más que el anillo
Sondeo por criticidad y zonas de intercambio contiguas [1]Saturación del autómata y del driver; timeouts en horas de cargaPantallas lentas o timeouts sin errores físicos
Búfer con marca de tiempo antes del tramo que se corta (en el autómata o en el equipo de recogida a pie de línea) que vuelca al reconectarHuecos en históricos y lotes incompletos tras un corteCuando esos registros sirven de trazabilidad
NTP en autómatas, servidores e historiador [7]Eventos desordenados y lotes con horas incoherentesSiempre
Latido y estado seguro programados en el autómataActuar sobre datos viejos; consignas a destiempoDonde dependan consignas o recetas

Lo que cambia en una fábrica agroalimentaria

Con lavados frecuentes, la humedad entra por conectores y prensaestopas no estancos, y los fallos aparecen tras la limpieza. En fábricas de piensos, el polvo se acumula en armarios y switches mal cerrados. En bodega, la red carga con todo en vendimia, cuando menos se puede parar: los cambios de red se prueban fuera de campaña.

En cualquier fábrica de alimentos, los huecos en el histórico dejan incompleto el registro del lote. Qué pide la ley está en nuestro artículo sobre trazabilidad alimentaria.

Armario eléctrico de acero inoxidable con rejillas de ventilación junto a una línea de proceso con tuberías y filtros de acero inoxidable
Armario de acero inoxidable a pie de línea en una planta alimentaria. Con lavados frecuentes, hay que vigilar la estanqueidad del armario y de sus entradas de cable.

Si la causa es la edad del sistema (autómatas sin repuestos, un SCADA en un sistema operativo sin soporte, drivers que nadie puede actualizar), el diagnóstico acaba en un plan de migración. Cómo se hace sin parar la producción está en la guía de modernización de SCADA y PLC.

Cómo lo trabajamos en ER Ingeniería

Llevamos desde 1981 en instalaciones eléctricas y automatización, y hemos automatizado 45 fábricas agroalimentarias entre fábricas de piensos, bodegas y plantas de alimentación. Cuando una planta pierde comunicación, lo diagnosticamos por capas y en la fábrica. Es lo que cubre nuestro servicio de automatización de bodegas y fábricas de piensos, desde el cuadro eléctrico hasta el software.

Para los datos tenemos SuitER, nuestro software industrial: su módulo SuitER Server conecta la red de autómatas con la red de gestión, recoge los datos en tiempo real y los guarda en base de datos. Para las plantas que ya funcionan, está nuestro servicio técnico SatER.

¿Tu SCADA pierde comunicación con los autómatas?

Cuéntanos qué protocolo usa tu planta y desde cuándo notas los síntomas. Con eso te decimos por dónde empezaríamos a mirar.

Habla con nuestro equipo

O llámanos al 967 140 850

Preguntas frecuentes sobre fallos de comunicación PLC y SCADA

¿Por qué el SCADA pierde la comunicación con el PLC?

Las causas se reparten en cuatro capas: física (cable, conectores, ruido de variadores y motores), red (switches no gestionados, bucles, IP duplicadas), protocolo (timeouts, códigos de excepción Modbus, watchdog de PROFINET, suscripciones OPC UA) y aplicación (demasiadas variables, sondeo muy rápido, relojes sin sincronizar). Se revisan en ese orden.

¿Qué diferencia hay entre un timeout y una excepción en Modbus?

Un timeout significa que no llegó respuesta: la petición se perdió, llegó dañada o no casaba con el equipo (dirección de esclavo, velocidad o paridad distintas). Una excepción es una respuesta: el equipo recibió la petición y dice por qué no la atiende. El 02, por ejemplo, es una dirección de registro que no existe en su mapa; el 04, una avería del propio equipo, y el 0B, un esclavo que no contesta detrás de una pasarela.

¿Qué significa que una variable tenga calidad Bad o Uncertain en el SCADA?

Es el estado de calidad que acompaña al valor. En OPC UA, Good es un valor de buena calidad, Uncertain uno de calidad dudosa y Bad uno que no se puede usar. El código concreto que acompaña a Bad suele indicar la causa mejor que la alarma genérica de comunicación.

¿Qué es el watchdog en PROFINET?

Es el tiempo que el controlador o el dispositivo IO aceptan sin recibir datos. Si se supera, el dispositivo pone valores sustitutivos en sus salidas y el controlador lo registra como fallo de estación. En el software de Siemens se fija como múltiplo del tiempo de actualización.

¿Sirve de algo subir el timeout del driver?

Puede quitar la alarma sin quitar la causa. El dato llega más tarde, y en una línea serie cada espera retrasa las peticiones que van detrás. Conviene subirlo solo cuando se sabe por qué hace falta.

¿Cómo se captura el tráfico entre el PLC y el SCADA con Wireshark?

Con un switch gestionado que tenga puerto espejo (port mirroring o SPAN) o con un tap de red: un portátil conectado a un puerto cualquiera de un switch solo ve su propio tráfico y el de difusión. Las tramas con error de CRC no salen en la captura por puerto espejo, así que esos errores se miran en los contadores del switch.

¿Por qué hay huecos en los históricos del SCADA?

Lo habitual es que los datos se perdieran en el tramo caído y nadie los guardara antes de él. Se evita con un búfer con marca de tiempo antes de ese tramo, en el autómata o en el equipo que recoge los datos, que vuelca al reconectar; los desfases de hora, sincronizando todos los equipos con NTP.

Fuentes

  1. Modbus Organization. (2012). MODBUS Application Protocol Specification V1.1b3 (apdo. 7 y función 03). modbus.org (PDF)
  2. Siemens AG. (2022). SIMATIC PROFINET with STEP 7: Function Manual (11/2022, A5E03444486-AM; apdos. 3.1 y 6.4). cache.industry.siemens.com (PDF)
  3. OPC Foundation. (s. f.). OPC 10000-4: OPC Unified Architecture Part 4: Services (v1.05.07, 5.14.1.1). reference.opcfoundation.org
  4. OPC Foundation. (s. f.). OPC Unified Architecture Part 4: Services (v1.04, 7.34.1 StatusCode). reference.opcfoundation.org
  5. Wireshark Foundation. (s. f.). CaptureSetup/Ethernet. wiki.wireshark.org
  6. Stouffer, K. et al. (2023). Guide to Operational Technology (OT) Security (NIST SP 800-82r3; apdos. 6.2.1.3 y 6.2.12). csrc.nist.gov
  7. Mills, D., Martin, J., Burbank, J. y Kasch, W. (2010). RFC 5905: Network Time Protocol Version 4: Protocol and Algorithms Specification. IETF. rfc-editor.org
  8. Wireshark Foundation. (s. f.). Display Filter Reference: Modbus/TCP (y las de PROFINET IO y OpcUa Binary Protocol). wireshark.org
Llámanos 967 140 850 Pedir presupuesto