Una opción muy interesante cuando trabajamos con varios PLC de Siemens es poder compartir datos mediante la red ethernet del propio PLC, Siemens nos ofrece la posibilidad de crear enlaces de comunicación aprovechando la red y así poder Compartir datos entre 2 PLC S7 mediante ethernet.
En el siguiente ejemplo se utiliza dos PLC S7 315 2DP PN, aunque también se puede realizar con otros PLC de Siemens o Vipa que tengan el puerto de ethernet integrado, o también una tarjeta de ethernet
En primer lugar debemos de crear un enlace en el PLC maestro, este PLC será el encargado de leer y escribir los datos en el PLC cliente, supongamos que tenemos las siguientes direcciones IP
- IP PLC Maestro: 192.168.10.20
- IP PLC Esclavo: 192.168.10.120
Configuración del enlace del PLC
Abrimos el programa NetPro y seleccionamos la CPU del PLC maestro:
Nuevo enlace con el netpro
Seleccionamos enlace no especificado y tipo de enlace S7:
Insertar nuevo enlace
En aceptar el enlace se abren las propiedades, aquí debemos de especificar la IP del PLC cliente, en nuestro caso será la 192.168.10.120, definimos el ID del enlace, en este caso el 1, este ID será el que luego utilizaremos en el programa de Step 7, luego hacemos clic en direcciones:
Propiedades del enlace
En direcciones definimos el bastidor y slot, normalmente 0 y 2 y en recurso de enlace seleccionamos en local el 10 y en el interlocutor seleccionamos el 3:
Aceptamos todos los cambios y transferimos la nueva configuración al PLC maestro.
Con esto hecho ya deberíamos tener el enlace entre los 2 PLC realizado, probamos de conectar los 2 PLC en la misma red y al abrir en online desde el Netpro veremos como el enlace esta funcionando correctamente.
Programa de lectura y escritura de datos
En primer lugar debemos de copiar los FB de comunicación en nuestro proyecto de Step 7 y transferirlos al PLC, los FB de comunicaron que utilizaremos son el “PUT” Write Data to a Remote CPU y el “GET” Read Data From a Remote CPU, el FB14 y el FB15 de nuestro ejemplo.
Lectura de datos del PLC cliente
Mediante el FB de lectura “GET” realizamos una lectura secuencial de los datos del cliente, en este caso hemos puesto un clock de 1 décima de segundo, pero se podría aumentar el tiempo de ciclo dependiendo de la cantidad de datos a leer:
En este ejemplo se leen los datos del DB300 a partir de la posición 200 con una cantidad de 150 bytes, y se transfieren al plc del maestro también al DB300 a partir de la posición 200. Se puede ver como el ID del enlace es el 1 que anteriormente hemos definido en la configuración de hardware
Escritura de datos del PLC cliente
Mediante el FB de escritura “PUT” realizamos una escritura secuencial de los datos del cliente, en este caso hemos puesto un clock de 1 décima de segundo, pero se podría aumentar el tiempo de ciclo dependiendo de la cantidad de datos a escribir:
En este ejemplo se escriben los datos del DB300 a partir de la posición 0 con una cantidad de 150 bytes, estos datos se transfieren al PLC cliente también al DB300 a partir de la posición 0. Se puede ver como el ID del enlace es el 1 que anteriormente hemos definido en la configuración de hardware