En artículos anteriores comenzamos a analizar las diferentes formas de comunicación entre dos o más PLC. Hasta ahora, hablamos sobre la función I-device, así como sobre los comandos PUT y GET, que eran métodos exclusivos de los PLC Siemens.
Comunicación entre PLC Siemens y otras marcas de PLC
En este artículo, analizaremos otra forma de conectar dos PLC entre sí. Esta forma tiene más ventajas que los comandos PUT y GET que analizamos antes, porque es opuesta a los comandos PUT/GET que eran exclusivos de la familia S7. Este nuevo método es una comunicación de usuario abierta, lo que significa que podemos usarlo para comunicarnos entre un PLC SIEMENS y cualquier otra marca de PLC, ni siquiera es necesario que sean dos PLC, este método puede comunicarse entre un PLC y cualquier otro dispositivo que pueda entender el protocolo de red TCP, como PC, servidores, impresoras, etc.
En este artículo, mostraremos cómo configurar una comunicación entre dos PLC utilizando los bloques TCON y TDISCON y en el siguiente artículo, mostraremos cómo mover datos entre los PLC después de configurar la conexión.
Bloques de comunicación de usuario abiertos TCON y TDISCON
Usamos el bloque TCON para configurar y establecer una conexión de comunicación entre dos PLC. Una vez que se ha configurado y establecido la conexión, el PLC la mantiene automáticamente.
Ambos socios de comunicación llaman a la instrucción TCON para configurar y establecer la conexión de comunicación. Eso significa que tengo que llamar al bloque TCON en ambos PLC y tenemos que configurar el bloque en ambos PLC como veremos en el proyecto de muestra.
Durante la configuración del bloque, especificaremos qué socio es el punto final de comunicación activo y cuál es el pasivo. Esto significa que qué PLC intentará conectarse y cuál abrirá un puerto de comunicación y estará esperando al otro.
Una conexión existente se termina y la conexión establecida se elimina cuando se ejecuta el bloque TDISCON o cuando la CPU cambia al modo STOP. Para configurar y establecer la conexión nuevamente, deberá ejecutar TCON nuevamente.
Proyecto de PLC de muestra que utiliza TCON
Como explicamos antes en artículos anteriores, para configurar una comunicación entre dos PLC, tenemos que establecer dos cosas:
- Comunicación entre los PLC.
- Transferencia de datos entre los dos PLC.
En este artículo, configuraremos una comunicación de usuario abierta con protocolo TCP entre dos PLC utilizando el bloque TCON. En el próximo artículo, mostraremos cómo mover datos una vez realizada la conexión.
Primero, creemos un nuevo proyecto y agreguemos nuestros dos PLC. Agregaremos el PLC CPU1516-3PN/DP y los llamaremos PLC_1 y PLC_2, y el objetivo es establecer una conexión entre ellos. Ver imagen 1.
imagen 1. Agregar PLC_1 y PLC_2.
Ahora, simplemente agregaremos el bloque TCON a nuestra lógica de PLC, como mencionamos antes, necesitamos llamar al TCON para ambos PLC, comencemos con PLC_1.
Simplemente arrastre y suelte el bloque TCON que encontrará en la carpeta de comunicación de usuario abierta. Ver imagen 2.
imagen 2. Arrastre y suelte la instrucción TCON
El bloque TCON es esencialmente un bloque de función, por lo que al agregarlo a mi OB1 principal, se nos solicitará que creemos una instancia de bloque de datos para ese bloque.
Cree la instancia de datos y asígnele un nombre adecuado. Consulte la imagen 3.
imagen 3. Crear instancia de datos.
Ahora, el bloque TCON se agregó a su lógica, necesitamos configurar el parámetro de conexión para el bloque.
Solo presione el pequeño ícono de configuración azul sobre el bloque. Consulte la imagen 4.
imagen 4. Abrir vista de configuración
Cuando presione el ícono azul, abrirá la vista de configuración para el bloque TCON donde podemos configurar el parámetro de conexión.
Lo encontrará prácticamente igual que el parámetro de conexión de los comandos PUT y GET. Consulte la imagen 5.
imagen 5. Parámetros de conexión de TCON.
Las opciones de PLC asociado en el bloque TCON tienen más opciones que las de los comandos PUT/GET ya que estamos usando comunicación de usuario abierta. Consulte la imagen 6.
imagen 6. Opciones de PLC asociado
Como puede ver en la imagen, tenemos 4 opciones diferentes, que son:
- PLC_2: en caso de que ambos PLC estén en el mismo proyecto, el PLC_2 se mostrará aquí
- Broadcast: esto hará que la conexión esté disponible para cualquier dispositivo en la red
- Multicast: esto hará que la conexión sea con los dispositivos seleccionados, más de un dispositivo pero no todos
- No especificado: si el PLC está en otro proyecto de TIA Portal.
Al elegir la opción no especificada, se nos solicitará que agreguemos la dirección IP del PLC y también debemos agregar nuevos datos de conexión. Consulte la imagen 7.
imagen 7. Agregar nuevos datos de conexión
Como puede ver en la imagen, para crear nuevos datos de conexión, simplemente haga clic en la flecha desplegable y presione nuevo. Esto creará un nuevo bloque de datos de conexión y se asignará automáticamente al bloque TCON, consulte la imagen 8.
imagen 8. Se crea el bloque de datos de conexión.
Como puede ver, se creó un bloque de datos de conexión, ahora necesito agregar la dirección IP del PLC asociado.
Otra cosa que debemos hacer es elegir qué PLC será el establecimiento de conexión activo. Esto decidirá qué PLC será responsable de establecer la conexión mientras que el otro en ese caso solo será responsable de abrir un puerto de conexión. Vea la imagen 9.
imagen 9. Asignar PLC_1 como establecimiento de conexión activo.
Como elegimos que el PLC_1 sea el establecimiento de conexión activo, entonces el PLC_2 será responsable de abrir un puerto de conexión y tengo que elegir un valor para ese puerto. Puede ser cualquier valor, pero se asigna automáticamente en TIA Portal como 2000, por lo que lo dejaremos como está. Vea la imagen 10.
Imagen 10. Puerto asociado.
Puede ver en la imagen anterior que el parámetro de conexión se ha vuelto verde, lo que indica que todas las configuraciones están hechas y aceptadas.
Al utilizar TCON para establecer una conexión entre dos PLC, ambos PLC deben llamar a la instrucción TCON para establecer la conexión, por lo que ahora debemos hacer lo mismo con el otro PLC_2. Agregue el bloque TCON en el OB1 principal de PLC_2, consulte la imagen 11.
imagen 11. Llamar a TCON en PLC_2.
Después de agregar el bloque TCON, debemos configurar el parámetro de conexión como lo hicimos con PLC_1. Consulte la imagen 12.
Imagen 12. Parámetros de conexión de PLC_2
En la imagen puede ver que aún elegimos el PLC_1 como el establecimiento de conexión activo y aún mantuvimos el puerto del PLC_2 en 2000.
El establecimiento de conexión activo y el puerto deben ser los mismos para la configuración de ambos PLC o la conexión fallará. Ahora, la configuración de la conexión para ambos PLC está hecha, vea la imagen 13.
imagen 13. Bloque TCON en ambos PLC.
Como vemos en la imagen, necesitamos una cosa más, que es definir el REQ para ambos PLC.
Creamos AllowConnection para PLC_2 y StartConnection para PLC_1. Vea la imagen 14.
imagen 14. Defina las señales REQ.
La conexión entre dos PLC ya está hecha, y es de la siguiente manera:
PLC_1 intentará establecer una conexión con PLC_2 cuando la señal REQ esté activa, pero no puede hacerlo hasta que PLC_2 habilite la capacidad de conexión y eso se hará cuando el bloque TCON de PLC_1 reciba una señal en REQ.
- Una señal REQ está activa para que TCON de PLC_2 habilite la conexión (esto significa que PLC_2 abrirá el puerto 2000 esperando la conexión)
- Una señal REQ está activa para que TCON de PLC_1 inicie la conexión (esto permitirá que PLC_1 establezca una conexión con PLC_2 a través del puerto 2000)
SIMULACIÓN DEL PROYECTO
Compilemos nuestro proyecto e iniciemos una simulación para ver cómo se establecerá la conexión.
Para ver la conexión de cualquier PLC y también entre los PLC, puede abrir la vista de red y abrir la pestaña de conexiones para ver todas las conexiones activas y establecidas. Vea la imagen 15.
imagen 15. PLC_2 está esperando la conexión.
Cuando REQ es Verdadero, PLC_2 estará abierto para la conexión, puede ver que el valor de ESTADO es 7002 _ si verifica la ayuda del bloque TCON, el estado 7002 significa esperando la conexión_. También puede ver en la imagen de la vista de red que el PLC_2 está esperando una conexión.
Cuando la REQ del bloque TCON del PLC_1 es verdadera, el PLC_1 intentará establecer una conexión con el PLC_2 y, como el PLC_2 ya está abierto y esperando una conexión, el PLC_1 podrá encontrar y establecer una conexión con el PLC_2. Vea la imagen 16.
Imagen 16. El PLC_1 establece una conexión.
Observe que todas las conexiones en la vista de red ahora están en verde, lo que indica una conexión en buen estado y en curso entre el PLC_1 y el PLC_2.
Como mencionamos antes, una vez que se ha configurado y establecido la conexión, se mantiene automáticamente. Por lo tanto, incluso cuando las señales REQ se vuelven falsas, la conexión entre los dos PLC permanecerá. Vea la imagen 17.
Imagen 17. La conexión sigue en curso.
Pero, si al girar las señales REQ no se desconecta la conexión, ¿cómo puedo desconectarla si quiero?
Bloque de desconexión TDISCON
Para desconectar la conexión entre los dos PLC, podemos poner el PLC en modo STOP, lo cual no es práctico durante la ejecución del proceso. También podemos utilizar el bloque de desconexión o TDISCON.
Para agregar un bloque TDISCON, simplemente arrástrelo y suéltelo en su lógica, vea la imagen 18.
imagen 18. Agregar bloque TDISCON
Como puede ver, para agregar el bloque TDISCON, necesitará una instancia de bloque de datos. Una vez que se agrega el bloque a su lógica, todo lo que necesita hacer es asignar el ID de conexión que necesita desconectar y también debe asignar una señal REQ para iniciar la terminación de la conexión. Vea la imagen 19.
imagen 19. Bloque TDISCON.
AHORA, agreguemos un bloque TDISCON en el otro PLC, de modo que tengamos la posibilidad de desconectar la conexión. Ver imagen 20. Para el bloque TDISCON de PLC_1.
Imagen 20. TDISCON en PLC_1
Regresemos a la simulación y veamos cómo utilizar los bloques TDISCON, vea la imagen 21.
imagen 21. Conexión aún activa.
Como puede ver en la imagen, la conexión entre los PLC aún está activa con las señales REQ de TDISCON aún falsas.
Si la REQ de PLC_1 se vuelve VERDADERA, la conexión se terminará, pero notará que PLC_2 aún espera la conexión, vea la imagen 22.
imagen 22. La REQ de PLC_1 es verdadera.
Cuando la REQ para el bloque TDISCON de PLC_2 es verdadera, PLC_2 ya no estará esperando la conexión. Vea la imagen 23.
imagen 23. La conexión se termina.
Mostramos en este artículo cómo establecer una conexión entre dos PLC utilizando los bloques TCON y TDISCON.