Siemens S7 Serie Manual De Sistema página 1248

Controlador programable
Ocultar thumbs Ver también para S7 Serie:
Tabla de contenido

Publicidad

Procesador de comunicaciones y Modbus TCP
13.5 Comunicación Modbus
Reglas de comunicación Modbus_Master
● MB_COMM_LOAD debe ejecutarse para configurar un puerto antes de que la instrucción
Modbus_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 Modbus_Master
pueden utilizarse en ese puerto, no obstante todas las ejecuciones de Modbus_Master
deben utilizar el mismo DB de instancia Modbus_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 Modbus_Master
para transmitir y recibir condiciones completas.
● Se recomienda llamar todas las ejecuciones de Modbus_Master para un puerto
determinado desde un OB de ciclo de programa. Las instrucciones Modbus_Master 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 Modbus_Master de un nivel de prioridad de ejecución más alto inhibe la
ejecución de otra instrucción de Modbus_Master, se puede obtener un funcionamiento
incorrecto. Las instrucciones de Modbus_Master no deben ejecutarse en los niveles de
prioridad para arranque, diagnóstico o error de tiempo.
● Cuando una instrucción Modbus_Master 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 Modbus_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 Modbus_Master llamada con una entrada REQ habilitada se
convertirá en la instancia activa. Esto impide que una sola instancia de Modbus_Master
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 Modbus_Master 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
Modbus_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 Modbus_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
Modbus_Master con entrada REQ = 1.
1248
Controlador programable S7-1200
Manual de sistema, V4.2, 09/2016, A5E02486683-AK

Publicidad

Tabla de contenido
loading

Este manual también es adecuado para:

S7-1200

Tabla de contenido