Procesador de comunicaciones y Modbus TCP
13.5 Comunicación Modbus
El programa puede escribir valores en las variables Blocked_Proc_Timeout y
Extended_Addressing para controlar operaciones del Modbus_Master. Consulte la descripción
del apartado Modbus_Slave sobre HR_Start_Offset (Página 1098) y Extended_Addressing
(Página 1098) para ver un ejemplo de cómo utilizar estas variables en el editor de programas,
así como detalles relacionados con el direccionamiento avanzado Modbus.
Códigos de condición
Tabla 13-84
Códigos de condición de ejecución Modbus_Master (errores de comunicación y configuración)
STATUS (W#16#)
0000
80C8
80C9
80D1
80D2
80E0
80E1
80E2
80E3
80E4
8180
8186
8188
8189
818A
818B
818C
1096
Descripción
No hay error
Timeout del esclavo. El esclavo especificado no ha respondido en el tiempo especificado. Com‐
pruebe la velocidad de transferencia, la paridad y el cableado del dispositivo esclavo. Este error
solo se notifica una vez que se han ejecutado los intentos configurados.
La instrucción Modbus_Master ha excedido el tiempo por uno de los motivos siguientes:
•
La instrucción espera una respuesta del módulo que se utiliza para la comunicación.
•
El valor Blocked_Proc_Timeout es demasiado pequeño.
Este error se notifica si un dispositivo de periferia descentralizada PROFIBUS o PROFINET devuelve
una de las siguientes respuestas:
•
interrupción de la alimentación o la comunicación
•
evento de extracción/inserción de módulo de comunicación
En estos casos, la configuración hardware del PLC se carga de nuevo y Modbus_Comm_Load debe
volver a ejecutarse para configurar debidamente el módulo de comunicación.
El receptor ha lanzado una petición de control de flujo para suspender una transmisión activa y no
ha habilitado nuevamente la transmisión en el tiempo de espera indicado.
Este error también se genera durante el control de flujo por hardware cuando el receptor no
confirma CTS en el tiempo de espera indicado.
La petición de transmisión se ha cancelado porque no se recibe ninguna señal DSR del DCE.
El mensaje se ha terminado porque el búfer de recepción está lleno.
El mensaje se ha terminado debido a un error de paridad.
El mensaje se ha terminado debido a un error de trama.
El mensaje se ha terminado debido a un error de desbordamiento.
El mensaje se ha terminado debido a que la longitud especificada excede el tamaño del búfer total.
ID de puerto no válido o error en la instrucción Modbus_Comm_Load
Dirección de estación Modbus no válida
Modo no válido especificado para petición Broadcast
Valor de dirección de datos no válido
Valor de longitud de datos no válido
Puntero no válido al origen/destino de datos local: tamaño incorrecto
Puntero no válido para DATA_PTR o Blocked_Proc_Timeout no válido. El área de datos debe ser una
de las siguientes:
•
DB clásico
•
Matriz de tipos de datos simples en un DB simbólico o remanente
•
Memoria M
Controlador programable S7-1200
Manual de sistema, V4.5 05/2021, A5E02486683-AO
1