Blog

Mostrar todo
modbus logo
Este artículo describe los pasos para solucionar diversos problemas de comunicación Modbus TCP con el controlador Kolver K-DUCER. Si bien los métodos son generalmente aplicables a cualquier dispositivo Modbus TCP, se enumeran en orden creciente de complejidad.

Fallo al establecer una conexión Modbus TCP

Verificación de la configuración general

1. Verifique que el protocolo en el K-DUCER esté configurado como “Modbus TCP” (si está usando un protocolo combinado que contenga “MB TCP”, cambie temporalmente a “Modbus TCP” solo mientras realiza la solución de problemas y vuelva al protocolo combinado una vez resuelto el problema).

2. Asegúrese de que el controlador K-DUCER esté en la pantalla principal de trabajo, fuera de todos los menús, al intentar conectarse.

3. Active la opción “LOCK IF NOT CONNECTED” en el menú de Configuración General del controlador KDU, luego regrese a la pantalla principal de trabajo. Aparecerá un mensaje emergente de bloqueo en la pantalla si no hay una conexión Modbus TCP activa con el K-DUCER.

4. ¿Aparece el mensaje emergente del paso 3? Si es así, continúe. Si no aparece, esto significa que ya existe una conexión Modbus TCP activa con el controlador K-DUCER. Los controladores KDU-1A, KDU-NT y K-TESTER solo pueden conectarse a un cliente Modbus TCP a la vez. ¿Sabe si hay otros dispositivos que estén abriendo una conexión Modbus TCP con el controlador Kolver?

Tenga en cuenta que los programas de software de Kolver como K-Link, K-Graph, K-Expand y K-Torque-Analyzer utilizan todos una conexión Modbus TCP para comunicarse con el dispositivo Kolver.
Cierre esos programas si están activos. K-Link es un servicio de Windows; si lo instaló, deberá pausarlo desde la aplicación de servicios de Windows o simplemente desinstalarlo. También puede cambiar la dirección IP del controlador Kolver: esto evitará que el dispositivo culpable u otro cliente “robe” la conexión Modbus TCP.


Ping

5. ¿Responde el dispositivo Kolver al ping? En una PC, abra el símbolo del sistema (CMD) y escriba ping 192.168.100.101 sin comillas, cambiando la dirección IP 192.168.100.101 por la que haya asignado a su dispositivo Kolver. Si el resultado no muestra “reply from 192.168.100.101 […]” como en la imagen a continuación, significa que el dispositivo no está respondiendo al ping. Esto generalmente indica que la configuración de la dirección IP no está correctamente establecida, ya sea en el dispositivo Kolver o en el dispositivo cliente Modbus TCP. Consulte la sección siguiente sobre cómo configurar correctamente una dirección IP.
modbus_Immagine1?>
Consulte este artículo de Microsoft si no está seguro de cómo usar el comando ping en Windows.

Probar la conexión con K-Expand u otro software de Kolver

6. Si el dispositivo Kolver responde al ping y aparece el mensaje emergente de error “LOCK IF NOT CONNECTED” del paso 3 anterior, intente conectarse usando alguno de los programas gratuitos de Kolver para PC, como K-Graph (para KDU-1A y KDU-NT) o K-Torque-Analyzer (para K-TESTER).
Si no puede conectarse, podría haber una configuración incorrecta de la dirección IP o un firewall bloqueando la conexión. Revíselo con la persona responsable de la infraestructura de su red.

Verificar que la configuración de la dirección IP sea adecuada

7. se conecta el PC directamente al K-DUCER, o dierctamente a un switch Ethernet donde también estén conectedos varios K-DUCER: Si Configure la dirección IP del PC como estática (manual). Consulte este artículo de Microsoft si no está seguro.

Establezca la dirección IP del dispositivo Kolver de manera que use la misma máscara de subred que el PC, con una dirección IP idéntica en los tres primeros grupos de dígitos y diferente en el último grupo.
Si su configuración de red utiliza una puerta de enlace, asegúrese de introducir su IP en la pantalla de configuración de IP del dispositivo Kolver. De lo contrario, asegúrese de que la dirección IP de la puerta de enlace esté configurada como 0.0.0.0.

Ejemplo con direcciones IP estáticas:
modbus_Immagine2?>

8. Conexión a través de router o servidor DHCP (IP automática o estática):
→ Si conecta el PC y los controladores K-DUCER a una red LAN con un router u otro servidor DHCP, su router (u otro servidor DHCP) debe permitir un rango de direcciones para usar IPs estáticas, con espacio para al menos una dirección por cada controlador K-DUCER.
→ Solo para KDU-1A v38 (u otros controladores habilitados para DHCP): puede activar la asignación automática de dirección IP al KDU-1A habilitando la opción DHCP correspondiente en el controlador. Sin embargo, aún deberá reservar una IP para cada KDU en su servidor DHCP, para que siempre se asigne la misma IP al mismo controlador y K-Link pueda conectarse de manera confiable.
→ Configure su PC para IP automática (DHCP) o manual. Consulte este artículo de Microsoft si no está seguro.
→ Si elige IP manual, asegúrese de usar una dirección fuera del rango DHCP de su router o servidor DHCP.
→ Configure la dirección IP del dispositivo Kolver para que use la misma máscara de subred que el PC y una IP fuera del rango DHCP de su router o servidor, idéntica en los tres primeros grupos de dígitos al rango DHCP y diferente en el último grupo.
→ Si su red usa una puerta de enlace, introduzca su IP en la pantalla de configuración del Kolver. De lo contrario, configure la puerta de enlace como 0.0.0.0. Ejemplo con direcciones IP dinámicas: modbus_Immagine3?>


9. Si después de seguir estas recomendaciones aún no puede conectarse usando un software Kolver, normalmente significa que un firewall o alguna característica de la infraestructura de red está bloqueando o impidiendo la conexión. Revíselo con alguien encargado de la red o de la infraestructura IT.


10. Si puede conectarse al dispositivo Kolver usando software Kolver, pero no mediante un PLC u otro dispositivo,
siga los pasos de solución de problemas para ese otro dispositivo y/o revise la sección de solución de problemas con Wireshark a continuación. Asegúrese de que la conexión Modbus TCP que intenta establecer use el puerto TCP 502 (el puerto estándar de Modbus TCP) y la dirección IP del dispositivo Kolver.


11. Si su PLC (u otro dispositivo) se conecta brevemente (el mensaje emergente “NOT CONNECTED” en el dispositivo Kolver desaparece momentáneamente) y luego se desconecta, podrían existir dos posibilidades:
→ Su PLC se conecta, intercambia el mensaje deseado y luego cierra la conexión. Identifique una configuración en su dispositivo que permita que la conexión permanezca abierta entre mensajes; esto también mejorará significativamente el tiempo de respuesta.
→ Su PLC podría conectarse, intentar intercambiar un mensaje, recibir una “Modbus Exception” y cerrar la conexión. Revise la sección correspondiente más abajo.


Mensajes de Excepción Modbus

Si su dispositivo Modbus indica fallos al intercambiar mensajes debido a una excepción Modbus:

Excepción Server Busy
→ Este error ocurre cuando:

El PLC intenta escribir en un registro de retención mientras el motor del destornillador está en funcionamiento. Solucción: Espere a que el ciclo de apriete finalice y luego reintente la escritura.

Alguien está navegando por los menús de configuración del dispositivo Kolver.
Solucción: vuelva a la pantalla principal de trabajo.

Dirección de datos ilegal o valor de datos ilegal
→ Este error ocurre cuando:

El PLC está escribiendo o leyendo un registro que no existe en el dispositivo Kolver.
Solucción:
   Revise el Mapa Modbus del dispositivo Kolver.
   Asegúrese de estar utilizando el código de función correcto (¿está leyendo registros de retención o registros de entrada?).
   Verifique que está consultando el Mapa Modbus correspondiente al dispositivo Kolver que posee (descárguelo desde la página del producto correspondiente en www.kolver.com).
   También podría existir un desajuste entre el Mapa Modbus y la versión del software que se está ejecutando en su dispositivo Kolver. Contacte a Kolver para verificar esto y recibir una actualización gratuita del software (o el Mapa Modbus retroactivo compatible con su versión).

El PLC está escribiendo un valor de datos que está fuera del rango permitido.
Solucción: Revise el Mapa Modbus como se indica en el punto anterior. Si está seguro de que el valor de datos está dentro del rango, y está escribiendo una palabra de 16 o 32 bits, revise la configuración de endianness de su PLC (intente invertirla).


Otros problemas

Para solucionar otros problemas, puede ser necesario utilizar un software de análisis de paquetes de red, como Wireshark.

Wireshark es un analizador de protocolos de red gratuito y de código abierto que captura y muestra el tráfico de red en tiempo real. Para la solución de problemas en redes industriales, es una herramienta invaluable porque permite ver exactamente lo que sucede en la red: cada solicitud, respuesta y error, lo que hace posible diagnosticar problemas que de otra forma serían invisibles.

Conocer al menos el uso básico de Wireshark (o herramientas similares) es una habilidad muy valiosa en el mundo de la automatización industrial.

Incluso si no tiene la experiencia o el tiempo para analizar el tráfico de red con Wireshark, grabar y compartir el archivo de captura de paquetes con un miembro del equipo de ingeniería de Kolver ayudará enormemente a resolver el problema y llegar rápidamente a la causa raíz.

Para más información, consulte nuestra publicación en el blog sobre cómo usar Wireshark para solucionar problemas de protocolos de red industriales.

¿Por qué usar Wireshark para Modbus TCP?

En entornos industriales, Wireshark le ayuda a:

  • Verificar la comunicación entre dispositivos cliente y servidor
  • Identificar problemas de red como paquetes perdidos o tiempos de espera
  • Decodificar mensajes Modbus para ver los códigos de función y los datos reales
  • Detectar respuestas de error que podrían no ser reportadas correctamente por su PLC
  • Analizar problemas de temporización entre solicitudes y respuestas

Incluso si no tiene experiencia o tiempo para analizar el tráfico de red, grabar y compartir el archivo de captura con el equipo de ingeniería de Kolver será de gran ayuda.

Captura de tráfico Modbus TCP

1.Iniciar captura

Seleccione la interfaz de red conectada a su red industrial
Haga clic en “Start” para comenzar a capturar paquetes


2. Filtrar por dirección IP

Para centrarse en la comunicación con K-DUCER, use filtros de visualización: ip.src == 192.168.1.100 or ip.dst == 192.168.1.100
Reemplace 192.168.1.100 con la dirección IP real de su K-DUCER.
Recuerde detener la captura al finalizar para poder guardar los datos capturados (Archivo > Guardar como).

Captura de tráfico entre dos dispositivos externos

Si el PC que ejecuta Wireshark no es el dispositivo que se conecta al controlador Kolver, no basta con conectarse a la misma red o switch, porque el tráfico entre el PLC y el KDU no se verá en el PC.

Necesitará un switch Ethernet administrable que permita el mirroring de tráfico en al menos un puerto. Un modelo económico es el Netgear GS105E:

  • Conecte el cable Ethernet actualmente conectado al KDU al switch Netgear
  • Conecte otro cable desde el switch Netgear al controlador KDU
  • Conecte un cable desde su PC con Wireshark al puerto configurado para mirroring en el GS105E
  • Ahora podrá ver todo el tráfico que entra y sale del KDU con Wireshark


Identificación de problemas comunes de Modbus TCP en Wireshark

Excepción Server Busy

  • Busque respuestas de excepción Modbus con código de excepción 06
  • En los detalles del paquete, expanda: Modbus → Exception Code
  • Código 06 indica “Server Device Busy”
  • Consulte la sección anterior para más información sobre esta excepción

Ejemplo de análisis Wireshark
Una secuencia típica de solicitud/respuesta Modbus:

  • Cliente → Servidor: Read Holding Registers (Código de Función 03)
  • Servidor → Cliente: Respuesta con datos O Respuesta de Excepción

Si ve una respuesta de excepción, verifique el código:
→ 01: Función ilegal
→ 02: Dirección de datos ilegal
→ 03: Valor de datos ilegal
→ 06: Servidor ocupado

Análisis de temporización
La columna de tiempo de Wireshark ayuda a identificar:

  • Respuestas lentas: grandes intervalos entre solicitud y respuesta
  • Problemas de tiempo de espera: solicitudes sin respuesta
  • Congestión de red: entrega de paquetes retrasada


Consejos prácticos de Wireshark para Modbus

1. Guardar filtros de captura

Cree un filtro para reducir el tamaño del archivo:
  • host 192.168.1.100 and port 502

2. Usar codificación por colores

Solicitudes Modbus (verde)
Respuestas exitosas (azul)
Respuestas de excepción (rojo)

3. Exportar datos Modbus

Detenga la grabación de paquetes para seleccionar y guardar paquetes
Archivo > Guardar como para exportar la captura


Buenas prácticas para una comunicación Modbus TCP confiable

1. Diseño de red

→ Use redes Ethernet industriales dedicadas cuando sea posible
→ Implemente segmentación de red adecuada
→ Considere switches administrables para aplicaciones críticas

2. Gestión de direcciones IP

→ Documente todas las direcciones IP de los dispositivos
→ Use IPs estáticas para dispositivos industriales
→ Implemente un esquema de direccionamiento claro

3. Manejo de errores

→ Implemente lógica de reintento para errores transitorios
→ Registre fallos de comunicación para diagnóstico
→ Establezca valores de tiempo de espera apropiados

4. Optimización de rendimiento

→ Lea múltiples registros en una sola solicitud cuando sea posible

→ Use una frecuencia de sondeo apropiada para la aplicación
Frecuencias de sondeo superiores a 50 ms (20 Hz) rara vez son útiles con un controlador de par inteligente.
Si no está seguro, comience con 100 ms.

→ Espere la respuesta Modbus antes de emitir otra solicitud
Los dispositivos Kolver encolan múltiples solicitudes entrantes, pero rara vez es necesario




La guía completa de Wireshark se encuentra en: https://www.wireshark.org/docs/wsug_html_chunked/