Industrial Ethernet Fault Diagnosis: Wireshark Deep Dive for Modbus TCP and OPC UA in DCS Networks

P: ¿Por qué es importante el análisis a nivel de paquete en redes DCS?

El ethernet industrial transporta la esencia del control de procesos. Modbus TCP y OPC UA son dos de los protocolos más comunes; cuando la comunicación falla, la producción se detiene. Los sistemas DCS Yokogawa CENTUM VP dependen de Vnet/IP para la mensajería interna, pero muchos dispositivos de campo aún usan Modbus TCP en el puerto 502. La tarjeta de interfaz Yokogawa VI701 Vnet/IP proporciona la conectividad de alta velocidad para los nodos FCS de CENTUM VP, mientras que el switch industrial gestionado Schneider TCSESM083F23F0 ofrece la capacidad de puerto SPAN necesaria para la captura de paquetes con Wireshark en redes DCS. El gateway Prosoft PLX32-EIP-MBTCP EtherNet/IP a Modbus TCP es un puente de protocolo común entre sistemas DCS EtherNet/IP y dispositivos de campo Modbus TCP, siendo una fuente frecuente de los errores de tiempo de espera que esta guía aborda.

P: ¿Cuál es la estructura del marco Modbus TCP que debo conocer?

Modbus TCP envuelve los datos en un encabezado MBAP de 7 bytes más la PDU. El encabezado contiene un ID de transacción, ID de protocolo (siempre 0x0000), campo de longitud e identificador de unidad. Una solicitud normal de lectura FC 03 en hexadecimal: 00 01 00 00 00 06 01 03 00 00 00 0A. Códigos de función comunes: 0x03 lee registros de retención, 0x06 escribe un solo registro, 0x10 escribe múltiples registros.

Cuando el esclavo devuelve una respuesta de excepción, el código de función tiene el bit 7 activado (por ejemplo, 0x83 = error en FC 03). Código de excepción 01 = función ilegal, 02 = dirección de datos ilegal, 03 = valor de datos ilegal. Estos códigos son tu primera pista diagnóstica en Wireshark.

P: ¿Cómo funciona el protocolo binario OPC UA para el análisis con Wireshark?

OPC UA usa por defecto el puerto 4840. Un cliente envía un mensaje Hello, el servidor responde con Acknowledge, luego el cliente abre un canal seguro, crea una sesión y la activa. En entornos Yokogawa, los servidores OPC UA suelen estar detrás de firewalls; verifica que el puerto 4840 esté abierto y accesible. Para sesiones cifradas, carga la clave privada del servidor en formato PEM en Editar → Preferencias → Protocolos → OPC UA para habilitar la descifrado en tiempo real de fallos de autenticación y tiempos de espera de sesión.

P: ¿Cómo configuro el espejado de puertos y la captura con Wireshark?

  • Paso 1: Accede a la CLI o interfaz web de tu switch industrial (Hirschmann, Moxa o serie Cisco IE). Identifica el puerto fuente conectado al PLC o controlador DCS.
  • Paso 2: Configura el espejo SPAN: asigna el puerto fuente al puerto Ethernet del PLC y el puerto destino a tu laptop de diagnóstico. Habilita el espejado de tráfico bidireccional.
  • Paso 3: Abre Wireshark, selecciona la interfaz espejada y establece un filtro de captura: tcp port 502 or tcp port 4840. Inicia la captura.
  • Paso 4: Reproduce la condición de fallo. Deja fluir el tráfico al menos 30 segundos.
  • Paso 5: Detén la captura y guarda como .pcapng. Aplica filtros de visualización: usa modbus o opcua como filtros iniciales, luego tcp.analysis.retransmission para aislar anomalías.

P: Estudio de caso — ¿Tiempo de espera Modbus TCP en Yokogawa CENTUM VP?

Una planta petroquímica reportó pérdida intermitente de datos en enlaces Modbus TCP. El DCS CENTUM VP sondeaba 24 transmisores de campo cada 500 ms, con caídas ocasionales de tres o cuatro transmisores en la lista de escaneo. Tras configurar el espejado de puertos en un switch Hirschmann y capturar dos horas de tráfico, el filtrado por tcp.analysis.retransmission y respuestas de excepción Modbus reveló múltiples retransmisiones TCP a direcciones esclavas específicas.

Causa raíz: un gateway RS-485 a Ethernet con un error de firmware que descartaba paquetes bajo alta carga cuando más de 16 esclavos respondían simultáneamente. Solución: actualizar el firmware del gateway y reducir el tamaño del grupo de sondeo a 12 dispositivos por gateway.

P: Estudio de caso — ¿Fallo de autenticación OPC UA en Schneider Modicon M580?

El cliente SCADA de una planta de tratamiento de agua no podía establecer sesiones OPC UA tras la renovación de un certificado. Wireshark mostró respuestas OpenSecureChannel con código de estado BadCertificateInvalid. Faltaba el certificado CA intermedio en el almacén de confianza del cliente. Tras agregar el CA intermedio y reiniciar el cliente OPC UA, las sesiones se activaron correctamente.

Un segundo problema apareció: las solicitudes OPC UA Publish no recibían respuesta hasta por 10 segundos. Filtrando por opcua.service == Publish se detectaron notificaciones TCP de ventana cero; la CPU del controlador Modicon estaba al 95% de uso. Descargando lógica a un controlador secundario se redujo la latencia de suscripción a menos de 200 ms.

¿Cuáles son los consejos clave?

  • Nunca espejes tráfico a un puerto que transporte tráfico de producción; esto crea un bucle de broadcast.
  • Siempre establece un filtro de captura antes de comenzar. Capturas sin filtrar en una red DCS ocupada llenan un búfer de 1 GB en menos de 60 segundos.
  • Usa Seguir flujo TCP para reconstruir la conversación completa cliente-servidor.
  • Exporta tramas anómalas como volcados hexadecimales para soporte técnico del proveedor. Incluye marcas de tiempo e información de interfaz.
  • Archiva archivos .pcapng con nombres descriptivos (fecha, modelo de controlador, descripción del fallo) para análisis de tendencias.

Autor: Zhang Minghui es un ingeniero de automatización industrial con más de 10 años de experiencia en PLC, DCS y sistemas de control.

Mostrar todo
Publicaciones de blog
Mostrar todo
Yokogawa and Emerson Loops: Mastering 4-20 mA Voltage Drop and HART Headroom

Lazos Yokogawa y Emerson: dominio de la caída de tensión de 4-20 mA y el margen de HART

Un método práctico de presupuesto de tensión para lazos de 4-20 mA de Yokogawa y Emerson: calcule las caídas en serie a la corriente máxima, verifique la impedancia HART y mida de forma segura el margen de tensión del transmisor.
Triconex and HIMA Bypass Discipline: Force Versus Override in Safety Systems

Disciplina de bypass en Triconex y HIMA: forzar frente a anular en sistemas de seguridad

Forzar y anular son formas diferentes de omitir las señales del SIS. Aprende a evaluar el impacto en la seguridad, autorizar el trabajo, verificar la visibilidad del operador y restablecer la protección en sistemas Triconex y HIMA.
Migrate or Upgrade a PLC? A Decision Guide for Allen-Bradley and Schneider

¿Migrar o actualizar un PLC? Guía para decidir sobre Allen-Bradley y Schneider

Compare las actualizaciones y migraciones de PLC según el soporte durante el ciclo de vida, la compatibilidad de E/S, el esfuerzo de reprogramación, el riesgo durante la transición, el tiempo de inactividad y la planificación de la reversión para los sistemas Allen-Bradley y Schneider.