Procesador de comunicaciones y Modbus TCP
12.5 Comunicación Modbus
● Aunque no es imprescindible, se recomienda que cada instrucción MB_MASTER tenga
su propia área de memoria. El motivo de esta recomendación es que la posibilidad de
que se corrompan los datos aumenta si varias instrucciones MB_MASTER están leyendo
y escribiendo en la misma área de memoria.
● No es necesario que las áreas de datos de DATA_PTR se encuentren en el mismo
bloque de datos global. Es posible crear un bloque de datos con varias áreas para
lecturas Modbus, uno para escrituras Modbus, o bien uno para cada estación esclava.
Variables del bloque de datos del maestro Modbus
La tabla siguiente muestra las variables estáticas públicas almacenadas en el DB de
instancia MB_MASTER que se pueden utilizar en el programa.
Tabla 12- 70 Variables estáticas en el DB de instancia
Variable
Tipo de
datos
Blocked_Proc_T
Real
imeout
Extended_Addr
Bool
essing
El programa puede escribir valores en las variables Blocked_Proc_Timeout y
Extended_Addressing para controlar operaciones del maestro Modbus. Consulte en el
apartado MB_SLAVE la descripción de HR_Start_Offset y Extended_Addressing para
obtener un ejemplo de cómo utilizar estas variables en el editor de programas así como
detalles relacionados con el direccionamiento avanzado Modbus. (Página 788)
Códigos de condición
Tabla 12- 71 Códigos de condición de ejecución MB_MASTER (errores de comunicación y configuración)
STATUS (W#16#)
0000
80C8
80D1
80D2
80E0
80E1
786
Valor inicial
Descripción
3,0
Tiempo (en segundos) que hay que esperar a una instancia maestro Modbus
boqueada antes de eliminar esta instancia por estar ACTIVA. Esto puede
ocurrir, por ejemplo, si se ha lanzado una petición del maestro y luego el
programa deja de llamar la función del maestro antes de que haya finalizado
por completo la petición. El valor de tiempo debe ser mayor que 0 y menor
que 55 segundos; de lo contrario se producirá un error. El valor
predeterminado es 0,5 segundos.
False
Configura el direccionamiento de esclavos de uno o dos bytes. El valor
predeterminado es 0.
(0=dirección de un byte, 1=dirección de dos bytes)
Descripción
No hay error
Timeout del esclavo. Compruebe la velocidad de transferencia, la paridad y el cableado del
esclavo.
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.
Controlador programable S7-1200
Manual de sistema, 03/2014, A5E02486683-AG
1