domingo, 27 de octubre de 2013

REDES DE COMUNICACIÓN, CONEXIONES SERIE ENTRE PLC

El objetivo de esta actividad es realizar, mediante conexión serie y empleando uno de los protocolos propietarios de Siemens, una transferencia de datos entre los dos PLC´s. 


PROCESO
Identificar los diferentes puertos de comunicaciones de cada PLC
Conectar mediante el cable adecuado los equipos a través del puerto correspondiente.
Crear un proyecto nuevo donde figuren los equipos que vamos a instalar en la red. Configurar correctamente los puertos de comunicaciones
La comunicación consistirá en:
Al pulsar una entrada en el PLC 1 mandaremos tres números al PLC 2


  • Primer número = 31
  • Segundo número = 210 
  • Tercer número = 89

El PLC 2 recibirá la información, y reflejará el tercer número en su salida. A su vez, al activar una entrada del PLC 2, se encenderán todas las salidas del PLC 1 durante 5 segundos.
Comprobar que la información se transfiere desde un PLC hasta el otro.

Hay que mencionar que la transferencia de datos se puede realizad de dos formas:

Mediante bloques de datos (DB)
Mediante la función MOVE

Primero se han de pasar los números que queremos enviar de decimal a binario:

  • 31= 00011111
  • 210= 11010010
  • 89= 01011001
Se puede apreciar que cada número en binario tiene 8 valores comprendidos entre 0 y 1, cada uno de estos 0 y 1 se almacenarán en un bit del PLC como veremos más adelante.


Como la actividad trata de comunicar dos PLC's, en nuestro programa STEP7 tenemos que crear dos PLC's e insertarles un bastidor como se indica en las siguientes imágenes:





Ya tenemos los dos PLC's creados, ahora procedemos a insertarles el bastidor correcto en función al tipo de PLC utilizado. En nuestro caso es el Simatic 300.



Se inserta la cpu correcta, CPU314IFM (v1.2). Se ha de repetir el proceso para el otro PLC.

A continuación se ha de configurar el puerto de comunicación.


Hacemos clic en la opción de ajustar interface PG/PC


En el caso de que nos salga un puerto marcado con un arterisco, seleccionaremos otro, puesto nos indica que está ocupado.

Una vez instalados los dos PLC, se nos quedará una configuración como en la imagen.


Para poder distinguir dentro de la red a cada equipo, deberemos asignarle una dirección distinta a cada uno de ellos, por defecto la dirección que se asigna es la 2
A continuación, se pueden apreciar los dos PLC como tienen asignada la misma dirección, la 2, estas direcciones se deben cambiar para que sea posible la comunicación entre los PLC.
Este tipo de PLC se envían la información a través de funciones como la PG/OP, funciones S7, funciones básicas S7 o comunicaciones por datos globales.




En la imagen se puede apreciar una línea roja, esto simula lo que sería nuestro cable de comunicaciones, por lo que también deberemos unir los PLC a la citada línea. Para conseguir esto, basta con que se pinche en el icono rojo y se arrastre hasta la línea roja. Para cambiar la dirección de los PLC, abriremos el menú de propiedades, esto es haciendo doble clic en la linea roja de cada PLC, o bien botón derecho de nuestro ratón y luego propiedades.

Es interesante mencionar, que Siemens utiliza la comunicación MPI, como protoclo serie, que es propio y que está integrado en cada autómata programable Simatic S7. Se puede utilizar para conexiones sencillas, permitiendo conectar varios PG's o autómatas. 


Para decirle a nuestros PLC la información que queremos enviar del uno al otro, hay que insertar los datos en una tabla. Se puede acceder a esta tabla seleccionando la línea roja gruesa, a continuación, en el menú de herramientas, opción definir datos globales.

Una vez dentro, tendremos que definir las dos CPU's de nuestros PLC's y los datos que queremos que se envíen del uno al otro.



Como se puede apreciar en la imagen anterior, ya tenemos creadas las dos CPU's con las que queremos transmitir los datos, ahora procedemos a insertar los datos que queremos que se envíen los PLC.
Nosotros en esta práctica, nos hemos decidido por guardar la información en los PLC en Bloques de datos, (DB) Hay que tener claro, la estructura de la memoria de los PLC.
Cabe mencionar, que las memorias de nuestros PLC, al igual que cualquier tipo de memoria está formada por biestables, y cada biestable es capaz de almacenar un estado 0 o 1, esto viene a ser un bit de memoria. 8 bits de memoria forman un Byte, y dos Bytes forman un word.
La comunicación de datos globales se configura con STEP7.
Un paquete GD contiene como máximo:

  • 22 Bytes S7 300
  • 54 Bytes S7 400
Por lo que si escribimos en nuestra tabla DB2.DBB0:1 estaremos indicando que del Bloque de memoria DB2 enviaremos el Byte 0 un byte completo con todos los datos que tengamos guardados en la memoria. 

Si escribimos DB2.DBB2:1 enviaremos el Byte 2 completo, o sea los 8 bits que lo componen
Si por el contrario se escribe DB2.DBB2:2 estaremos enviando el Byte 2 y el Byte 3.



Señalado en verde, indicamos los datos que se envían.

DB2.DBW0 con esto enviamos del PLC1 al PLC2 dos Bytes donde tendremos memorizado el primer número (31). En el PLC2 lo guardaremos en mismo sitio.
DB2.DBW2 enviaremos un word completo (dos bytes) con el segundo número (210) al PLC2.
DB2.DBW4 enviamos del PLC1 al PLC2 dos Bytes donde tenemos el número 89.
DB2.DBW6 enviamos del PLC2 al PLC1 información, para que en este último se activen todas sus salidas al activar una entrada en el PLC2.

Llegados a este punto ya tenemos los datos que queremos enviar configurados en la tabla, ahora tenemos que escribir en los bloques de memoria la información que queremos enviar.
Para ello hacemos lo que sigue:




Se repite el proceso para el otro PLC.
A continuación se abre el DB creado en el PLC1 para escribir los números en la memoria.


Hay que mencionar, que tendremos que guardar sitio en la memoria para cuando queramos enviar de vuelta información desde el otro PLC.
Después de esto, abrimos el bloque de datos del PLC2 y guardamos los primeros seis Bytes para recibir los números del PLC1, esto se consigue poniendo un 0 en el hueco donde vamos a recibir los datos. 
Los dos últimos Byts serán para dar la orden de activación del temporizador en el PLC1.



Ahora tendremos que programar en cada PLC lo que pasará cuando se recibe la información, en un PLC cuando tenemos el 89 que se refleje en las salidas, y en el PLC1 que se activen sus salidas durante 5 segundos tal y como indica el enunciado del ejercicio.

El programa del PLC2 será ligeramente más corto que el del PLC1


El programa del PLC1 activará mediante el temporizador todas las salidas.


Con la orden MOVE, podemos mover datos que tengamos memorizados en algún DB a una marca de bit como hemos hecho en el ejercicio.

1 comentario:

  1. Sería mejor que la parte donde explicas los datos globales, lo hubieras puesto al principio, así como explicar que el sistema de comunicación es mediante MPI. De eso no explicas nada y es importante.

    Antonio Alhambra

    ResponderEliminar