Vale. Hay infinidad de formas de comunicar dos PLC e intercambiar datos entre ellos.
En esta entrada solo te voy a enseñar una forma debido a una cuestión surgida en el foro del curso de comunicaciones industriales.
Como el juguete para niños en el que con dos yogures y una cuerda crean un telefonillo y logran enviar de un lado al otro datos, así vamos a crear una comunicación entre dos S7-1200 de tal forma que las entradas en un lado, sean vistas en el otro lado.
Contenido
El caso de las entradas y salidas replicadas
Bueno, lo que queremos crear es una comunicación sencilla en la que traslademos las entradas y salidas de un PLC1 a un PLC2.
Textualmente la petición es:
[…] cuando se active la entrada del PLC1 se active la salida, del PLC2 y viceversa, si acivo una entrada en el PLC2 se active la salida en el PLC1[…]
En esta ocasión, debido a que solo se tratan de entradas y salidas, podemos realizar una comunicación del estilo Controlado-IO Device, o lo que sería en Profibus, un Maestro – Esclavo.
Para realizar esta comunicación, realmente no hacen falta ningún tipo de bloque de comunicación.
Al igual que cuando insertamos otro tipo de dispositivos (un variador, o cualquier device PN), todo se realiza mediante el uso de entradas y salidas.
El controlador maneja sus devices leyendo y escribiendo en entradas y salidas. Como si de tarjetas de entradas y salidas digitales se tratara.
Esta configuración siempre se realiza en el lado del dispositivo.
En el cado de un PLC, esto no varía.
Configuración de un PLC como IO Device
Por defecto, y normalmente, los PLC actúan como maestros de la red. Pero pueden comportarse como maestros de una red interna, y a la vez, ser esclavos (dispositivos) de otro PLC, como es el caso.
Para configurar el equipo como device, tan solo tendremos que meter al PLC controlador y al PLC device en la misma red e indicar que el PLC device va a trabajar como dispositivo (el controlador por defecto estará configurado ya como debe).
Además, le diremos cual será su controlador, y el rango de entradas y salidas que vamos a intercambiar.
¡Y ya está!
Configuración de las I/O en los PLC
Ahora, para finalizar hay que tener en cuenta, que las I/O que hemos configurado, no pueden coincidir con las I/O físicas.
Por tanto, si queremos que cuando una entrada E0.0 en el PLC1, active la salida A0.0 en el PLC2, lo haremos de esta manera.
En el PLC1, haremos:
A100.0 = E0.0
Y en el PLC2:
A0.0 = E100.0
Ni que decir tiene que esto es aplicable a mandar el estado de entrada, salidas, marcas o señales analógicas o valores en un DB.
Todo dependerá del ancho de las IO configuradas, y de lo que quieras configurar.
El vídeo.
Para cambiar un pelín el formato, voy a compartir contigo la lección del curso de comunicaciones en el que vemos este punto.
Aprovechando la coyuntura, he elegido este mismo ejemplo para explicarlo.
La única diferencia, es que voy a usar un S7-1200 y un S7-300, porque actualmente solo tengo un S7-1200 en mi poder. Pero verás que la forma de hacerlo, es básicamente igual.
¿Lo vemos?
¿Qué te ha parecido?
¿Has configurado alguna vez un Controlador-device?
Recuerda que si quieres profundizar en el manejo de las comunicaciones, puedes formarte con el curso de comunicaciones industriales donde aprender a manejar las comunicaciones S7, Open Communication usando CPU PN o CP PN, y como no, en el módulo que estoy desarrollando ahora, comunicaciones Profinet. Esta lección no es más que una pequeña muestra de las mas de 50 lecciones que tiene el curso.
Recuerda que puedes apuntarte en Guorker.com donde por una cuota mensual, tendrás tarifa plana en todos los cursos disponibles en la plataforma.
Enseño a programar PLC de Siemens a través de mis cursos.
Más información sobre mi aquí
Puedes seguirme en cualquiera de las siguientes redes sociales.
14 Comentarios
Hola se podria hacer esto entre un S7-1200 y un S7-315 2DP con una CP 343-1 Lean.
Ummm no. Se puede comunicar, pero no de esta forma. Es necesario realizar programación para leer y escribir con los FC especificos para ello.
Lo veremos en el curso de comunicaciones.
Saludos!
Gracias por el ejemplo. Sencillo y para toda la familia. La parte de la configuracion (que a mi me parece la mas importante) ha quedado muy clara.
Buen ejemplo
Olá Iñigo,
Muito bom teus vídeos.
Gostaria de saber , se tens uno curso completo em vídeo de S7 300/400.
Quanto me custa.
Muitas gracias
Jacfig
[email protected]
Tienes toda la información en la sección de cursos.
Saludos
Ha sido muy interesante a la vez que claro de entender. Muchas gracias por éste blog. Un abrazo
Buenas, me llamo Luis
Estoy buscando por Internet entradas y salidas replicadas y tengo una duda de programación que igual no tiene mucho que ver con esto:
1. Puedo utilizar una misma entrada por ejemplo I.0.0 varias veces(7 u 8 veces) en un mismo programa?
2. Misma pregunta anterior pero utilizando el normalmente abierto y cerrado
3. Misma pregunta que 1 y 2 pero con una marca
4. Para una salida física O.2.0 por ejemplo, puedo utilizar por ejemplo un contacto normalmente abierto llamado O.2.0 que depende de su salida. En este caso de este contacto Normalmente Abierto, se trata de una entrada virtual o es física?
5. Según pregunta 4 anterior, Puedo utilizar tantas entradas N/A o N/C llamadas O.2.0?
6. Para todas preguntas anteriores, si tengo replicado el contacto, aunque tenga el mismo nombre, cada uno de ellos ocupa su espacio en memoria o no ocupa nada ya que tiene el mismo nombre?
Gracias
Luis, te invito a que adquieras un curso, no digo que sea conmigo, porque las preguntas que haces son tan básicas, que tiene pinta de que necesitas bastante formación.
Gracias Iñigo. Efectivamente es muy básico y ya estoy aprendiendo a programar, pero fíjate que es tan básico y parece tan sencillo lo que he preguntado que nadie lo explica en video cursos, videos en you tube, blogs… No lo se lo oigo decir a nadie, supongo que es evidente, pero nadie es capaz de anticiparse y responder a estas cuestiones. Seguiré buscando las respuestas.
¡¡¡ Muy buen aporte, nos vino al pelo !!!
Genial Gabriel!
Genial iñigo. Le comento que hice la comunicación con un robot KUKA. Por entradas y salidas. Pero como enviaría enteros.. Saludos z
Puedes usarlo igualmente, cargarías el número sobre un AW, y leerías un EW.
Saludos
Muy buena y sencilla explicación Iñigo, tenga un saludo de mi parte. Infiero que esto de Profinet IO es Profibus DP llevado a Ethernet. Esto es bien cómodo y promete. Me encantó el Video.
Me gustarí hacerte una consulta, si tuvieras un IO Controller y varios I-Devices que realizan lo que tienen programado, cómo harías para pasar un DB global, o todos sus datos desde un I device a este IO Controller mediante Profinet IO? La pregunta me surge pensando en pasar estructuras a un IO Controller desde los I Device
Saludos