Reglas De Comunicación Del Maestro Modbus - Siemens SIMATIC S7-1200 Manual De Sistema

Ocultar thumbs Ver también para SIMATIC S7-1200:
Tabla de contenido

Publicidad

Reglas de comunicación del maestro Modbus
• MB_COMM_LOAD debe ejecutarse para configurar un puerto antes de que la instrucción
MB_MASTER pueda comunicarse con ese puerto.
• Si un puerto debe utilizarse para iniciar peticiones de maestro Modbus, MB_SLAVE no debe
utilizar este puerto. Una o más instancias de la ejecución de MB_MASTER pueden utilizarse
en ese puerto, no obstante todas las ejecuciones de MB_MASTER deben utilizar el mismo DB
de instancia MB_MASTER para ese puerto.
• Las instrucciones Modbus no utilizan eventos de alarma de comunicación para controlar el
proceso de comunicación. El programa debe consultar la instrucción MB_MASTER para
transmitir y recibir condiciones completas.
• Llame todas las ejecuciones de MB_MASTER para un puerto determinado desde un OB de
ciclo de programa. Las instrucciones para maestro Modbus solo se pueden ejecutar en un
nivel de ejecución, ya sea en el de retardo/cíclico o bien en el de ciclo del programa. Estas no
se deben ejecutar en ambos niveles de prioridad. Si una instrucción de maestro Modbus de
un nivel de prioridad de ejecución más alto inhibe la ejecución de otra instrucción de maestro
Modbus, se puede obtener un funcionamiento incorrecto. Las instrucciones de maestro
Modbus no deben ejecutarse en los niveles de prioridad para arranque, diagnóstico o error
de tiempo.
• Cuando una instrucción de maestro inicia una transmisión, esta instancia debe ejecutarse
continuamente con la entrada EN habilitada hasta que se devuelva un estado DONE=1 o un
estado ERROR=1. Una instancia MB_MASTER en particular se considera activa hasta que
ocurra uno de estos dos eventos. Mientras la instancia original esté activa, cualquier llamada
a otra instancia con la salida REQ habilitada resultará en un error. Si la ejecución continua de
la instancia original se detiene, el estado de la petición se mantiene activo por un periodo de
tiempo especificado por la variable estática Blocked_Proc_Timeout. Una vez transcurre este
periodo de tiempo, la siguiente instrucción de maestro llamada con una entrada REQ
habilitada se convertirá en la instancia activa. Esto impide que una sola instancia de maestro
Modbus monopolice o cierre el acceso a un puerto. Si la instancia original que está activa no
se habilita dentro del periodo de tiempo especificado por la variable estática
"Blocked_Proc_Timeout", entonces la siguiente ejecución realizada por esta instancia (con
REQ sin activar) borrará el estado activo. Si REQ está activada, entonces esta ejecución inicia
una nueva petición del maestro como si ninguna otra instancia estuviese activa.
Parámetro REQ
0 = No hay ninguna petición; 1 = Petición de transmitir datos a esclavo Modbus
Esta entrada se puede controlar con un contacto activado por nivel o por flanco. Siempre que
esta entrada esté habilitada, se inicia un autómata finito para garantizar que ningún otro
MB_MASTER que use el mismo DB de instancia pueda emitir una petición mientras no se
complete la petición actual. Todos los demás estados de entrada se capturan y se retienen
internamente para la petición actual hasta que se recibe la respuesta o se detecta un error.
Si la misma instancia de MB_MASTER se ejecuta nuevamente con la entrada REQ = 1 antes de
que se finalice la petición actual, no se realizarán más transmisiones. No obstante, al finalizar la
petición se emite una nueva petición siempre que se vuelva a ejecutar MB_MASTER con entrada
REQ = 1.
Controlador programable S7-1200
Manual de sistema, V4.5 05/2021, A5E02486683-AO
Procesador de comunicaciones y Modbus TCP
13.9 Comunicación Legacy Modbus RTU (solo CM/CB 1241)
1163

Publicidad

Tabla de contenido
loading

Tabla de contenido