martes, 8 de enero de 2013

Sistema de llenado de botellas (Profibus DP)

Introducción

Mediante el sistema de comunicaciones industriales PROFIBUS DP se pretende resolver este supuesto problema de automatización. Para esto se empleará,en nuestro caso: un plc maestro SIEMENS CPU 314 Ifm, con su correspondiente módulo de comunicaciones CP, Un módulo Murr de entradas para profibus dp, un PLC OMRON CQM1H, con su correspondiente módulo de comunicaciones PRT21 de  al que irán conectados los actuadores y nuestros pulsadores de marcha y paro y además de un variador de frecuencia SIEMENS micromaster 420.
Toda esta red se conectará mediante el sistema de cableado Maestro-Esclavo para PROFIBUS DP.



Para comenzar debemos de estudiar detenidamente el enunciado que se nos presenta, identificando claramente todas las variables que intervendrán en el proceso, así como ir planteando la posible distribución de las mismas en nuestra red PROFIBUS.

Variables del sistema:

Variables de entrada Variables de salida
F1
Módulo murr 
EVA+
CQM1H
F2
Módulo murr 
EVA-
CQM1H
F3
Módulo murr 
EVB+
CQM1H
F4
Módulo murr 
EVB-
CQM1H
F5
Módulo murr 
EVC+
CQM1H
F6
Módulo murr  
EVC-
CQM1H
D. posición D1
Módulo murr  
M. Roscado.
CQM1H
F. llenado E1
Módulo murr  
M. cinta.
V.frec. Micromaster
Pulsador de Marcha
CQM1H 
P. Paro
CQM1H

Tras identificar correctamente las variables del sistema, procedemos a establecer la cantidad de memoria que se empleara en esta red PROFIBUS.

  • Como variables de entrada del módulo Cp de nuestro maestro llegamos a la conclusión de que son las siguientes: emplearemos 4 Bytes para la información enviada por el PLC esclavo OMRON (Mb10-Mb13), para nuestro módulo murr, un sólo Byte (MB14). Para la información de estado del variador de frecuencia, emplearemos 4 Bytes (Mb15-Mb18)
  • Para las variables de salida que nuestro Maestro enviará a sus distintos esclavos a través del módulo CP emplearemos: 4 bytes para la información que deberá recibir nuestro PLC esclavo OMRON (Mb19-Mb22), Para las consignas de nuestro variador, empleamos también 4 Bytes (Mb23-Mb26).
Por lo tanto:

Como describimos en la anterior práctica, la configuración y la posterior programación del sistema, se realizará de manera similar, por lo que, como muestra la imágen de la izquierda, se le asignarán el siguiente orden en la red profibus, para que nuestro maestro envie y reciba la información del esclavo correspondiente.Para ello empleando las funciones DP_Send y DP_Rcv, parametrizando la cantidad de información enviada o recibida, según cada caso. En el caso de la recibida serán 9 Bytes, por lo que pondremos: P#M 10.0 Byte 9. En el de la enviada serán 8, por lo que: P#M 19.0 Byte 8. 




Grafcet del sistema:

Tabla de asignación de variables.


Variable In
Memoria
F1
M14.0
F2
M14.01
F3
M14.02
F4
M14.03
F5
M114.04
F6
M14.05
D1
M14.06
E1
M14.07
P.MARCHA
M10.0



                                                                                 









Variable Out
Memoria
EVA+
M19.0
EVA-
M19.1
EVB+
M19.2
EVB-
M19.3
EVC+
M19.4
EVC-
M19.5
M. Roscado.
M19.6
VARIADOR.
MD19





                        
Etapas
Memoria
E0
M100.0
E1
M100.1
E2
M100.2
E3
M100.3
E4
M100.4
E5
M100.5


    














Visión del montaje:

Descripción de la tarea realizada.

Programación KOP y configuración:
En primer lugar, procederemos a configurar la red PROFIBUS, mediante configuración por software y hardware de cada uno de los distintos dispositivos.
Configuración del Hardware: Como lo citado anteriormente,configuramos la dirección de nuestro PLC OMRON, posicionando el switch de dirección, la cantidad de memoria que vamos a recibir y enviar se configura en este paso ( 2 canales de entrada y 2 de salida). Nuestro variador de frecuencia se deberá de parametrizar de la siguiente manera: Mediante el parámetro P0700 y P1000 se establece la comunicación por el módulo profibus acoplado al mismo, poner en 6. El módulo de entradas Murr también deberá de ajustarse la dirección mediante los switches incorporados en su tapa desmontable.
Configuración de Software: Configurar de la manera citada en la anterior práctica cada uno de los elementos esclavos que conforman la red, cantidad de información que enviamos-recibimos, direcciones...

Tutorial: Cómo añadir el módulo  CP y la red profibús y los distintos esclavos de la red.
En configuración de hardware, y tras añadir nuestro bastidor y CPU Siemens:

Módulo CP Y red PROFIBUS:
-Simatic 300; CP300; Profibus Dp; CP342-5; 6gk7,342-DA01-0xE0; V2.0.
Arrastrar al bastidor en la posición 2
-Doble clic en CP 42-5; modo operación; Maestro Dp; Aceptar. Parámetros; Nueva; Profibus(1); Aceptar.


PLC OMRON CQMI-H

-Profibus Dp, otros aparatos de campo, PLC, CQM1-H-PRT21.
Arrastrar al bastidor en la posición 3.
-Parametrizar E/S: Clic, arrastrar módulo 2 words In/Out,Arrastrar a referencia/denominación.



Módulo Murr:
-Profibus Dp, otros aparatos de campo, I/O, MV-P.
Arrastrar al bastidor en la posición 4.
-Parametrizar E/S: Clic, arrastrar módulo 55450,5548-DI8,Arrastrar a referencia/denominación.


Variador SIEMENS micromaster
-Profibus Dp, Simovert, Micro/midimaster, OPMP
Arrastrar al bastidor en la posición 5.
-Parametrizar E/S: Clic, módulo PPO3 ,Arrastrar a referencia/denominación.

Programación: 


No vamos a entrar en mucho detalle sobre la programación, ya que el sistema del mismo se ha basado en seguir nuestro grafcet de la manera habitual, la diferencia radica en la adición de las funciones DP_Send y DP_Rcv, por lo que las "salidas y entradas" de nuestro sistema se tienen que referir en el programa escrito en KOP en simatic 300 (maestro), por lo que seguiremos las marcas de memoria asociadas a cada entrada-salida de nuestro sistema.





En cuanto a la programación del PLC OMRON, debemos de "Mover" los datos enviados-recibidos empleando la función MOV, para poder ser empleados tanto en un canal de entradas como de salidas físicas del PLC


Consideraciones previas al montaje:


  • Prestar especial atención con las resistencias terminadoras de los conectores finales de la red PROFIBUS: Siempre conectadas en estos.
  • Direcciones correctas de los distintos elementos de la red PROFIBUS.

  • Tensión de alimentación del módulo murr: 24 Vcc, clavijas de conexión conectadas correctamente. Switch de direcciones situado en tapa extraible de conexiones.





  • Correspondencia de datos reales enviados-recibidos por los esclavos-maestro, configurados correctamente.
  • Ojo con las direcciones de memoria de cada uno de los elementos de la red PROFIBUS Entradas-salidas.

Conclusiones obtenidas al finalizar la práctica:

Durante la ejecución de la práctica descrita mas arriba, hemos podido comprobar como una buena planificación, visión de conjunto y un procedimiento lo más metódico posible, facilita enormemente las tareas de resolución de cualquier problema de automatización que se nos plantee. Además de haber empleado los conocimientos obtenidos en la primera Práctica de PROFIBUS para resolver una aplicación medianamente compleja de automatización y descubrir las ventajas de la periferia descentralizada, como puede ser el ahorro sustancial de cableado y mejor distribución y orden del mismo.

Comunicación mediante Profibus DP.

Comunicación maestro esclavo mediante PROFIBUS DP

El objetivo de esta actividad es realizar, mediante conexión PROFIBUS DP, una transferencia de datos entre los dos PLC´s con diferentes prestaciones. Los pasos a seguir son los siguientes:



a) Identificar los diferentes puertos de comunicaciones de cada PLC
b) Conectar mediante el cable adecuado los equipos a través del puerto correspondiente.
c)  Crear un proyecto nuevo donde figuren los equipos que vamos a instalar en la red. Configurar correctamente los puertos de comunicaciones.
d) La comunicación consistirá en:

·      Al pulsar una entrada en el Maestro mandaremos la siguiente información al Esclavo

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

·      El Esclavo recibirá la información, y reflejará el tercer número en su salida. A su vez, al activar una entrada, se encenderán todas las salidas del Maestro durante 5 segundos.

e)    Comprobar que la información se transfiere desde un PLC hasta el otro.


Los dos plc´s que vamos a utilizar son:

·         Siemens CP314-IFM
·         Omron CQM1H-CPU51

El Siemens será el maestro y el esclavo será el Omron.

En primer lugar instalaremos ambos módulos de comunicaciones PROFIBUS en los dos PLC, en el caso del Siemens emplearemos un módulo CP, en el Omron un módulo PRT 21.
 

 CQM1H con módulo PRT21









Cpu314IFM con módulo CP






Antes de añadir la tarjeta de comunicaciones  PROFIBUS DP a la unidad esclavo  debemos ajustar los switch que se encuentran integrados en la placa de circuito del módulo PRT 21. Para ello  hay que saber la cantidad de  datos que queremos transmitir,  en nuestro caso los números y para ello los pasamos a binario para ver cuánto ocupan.
 
Primer número        31=      11111
Segundo número  210= 11010010
Tercer número        89=   1011001

Los números ocupan 2 palabras para recibir y una para enviar. Por lo tanto ajustamos a dos canales de envio y dos de recepción. Miramos la documentación para saber como debemos ajustar los switch.

SW1   SW2      I/O Chanel
OFF    OFF            2/2
ON      OFF            4/4
Además, debemos indicar el número de esclavo en la red Profibus mediante los shiwtch giratorios x1 y x10, en nuestro caso sera la 4.En SW3 seleccionamos formato de datos Motorola o Intel.
 OFF Motorola.
ON   Intel.
 Si la opción es Motorola el byte de datos se asigna a él byte más significativo de la primera palabra a la base de datos (PLC).
 Si la opción es Intel el byte de datos se asigna al byte menos significativo de la primera palabra a la base de datos (PLC).
 Elegimos SW3 ON (Intel)  y acoplamos la tarjeta al PLC.


La conexión entre ambos equipos se realizará mediante el cable de par apantallado suministrado con conector DB9 para la comunicación mediante Profibus.
Estos conectores constan de resistencia de cierre integrada, ya que en los dos extremos de la subred deben ponerse resistencias.  En la imagen anterior se aprecia la pestaña que tienen estos conectores para activar esta resistencia.
 Nosotros ponemos en los dos conectores la resistencias en ON.



Aquí podemos ver el montaje de la red PROFIBUS. Ahora solamente resta la configuración del hardware de los equipos citados mediante el S7 de Siemens, y su correspondiente programa para cada uno de los equipos.






Tras arrancar el programa S/, configuramos el equipo que vamos a utilizar y Definimos el bastidor. Vamos a la izquierda de la pantalla y clicamos en SIMATICàCPU.
 Módulos
 1 Elegimos en la lista la fuente PS 307 SA y clicamos.
 2 CPU 314 IFM.
 3 Nada (reservado para tarjeta del PC.
 4 CPU 342-5 Modulo de comunicaciones. Lo configuramos, en la parte derecha tenemos dos versiones. Nos fijamos en la caja y nos indica que es la versión 2. Clicamos en esta versión y aparece una ventana de propiedades-interface PROFIBUS CP 342-5  seleccionamos dirección 2 y aceptar.
Ahora  instalamos archivo GSD del modulo CP 342-5. Entramos en HW configuración y hacemos doble clik en CP 342-5, aparece una ventana de propiedades y nos marca por defecto sin DP , seleccionamos maestro DP, dirección 3 y aceptar.

Visualizamos el sistema maestro DP y la red PROFIBUS.

Ahora instalamos archivo GSD para el CQM1-PRT21 del escritorio, se llama 0C_054D.GSD y clicamos en instalar.

Después nos vamos a PROFIBUS-DP /OTROS APARATOS DE CAMPO / PLC / CQM1-PRT21 lo arrastramos a nuestro sistema de red profibus y le marcamos la dirección 4 (es la que hemos puesto en el modulo, tienen que coincidir) y aceptar. Ya tenemos en la red profibus el esclavo.

Arrastrar el modulo de dos palabras de entrada y salida al esclavo. Clicamos en el esclavo / propiedades, le ponemos dirección 4 y aceptar.


Después clicamos en guardar y compilar.


Programa KOP en OB1.

Segmento 1.
 le asignamos un contacto o bit de activación E124.0 y elegimos la función MOV. La cual  iremos añadiendo en paralelo al bit 124.0  y a cada función le  pondremos un número.
 En la entrada del MOV colocamos el numero que queramos mandar en hexadecimal.
En la salida pondremos la dirección de memoria interna a la que queremos mandar (Marca)
Pasamos los tres números a hexadecimal.
 Primer número        31= 1F   
Segundo número  210= D2
Tercer número         89=  59
 Primer MOV
 Cogemos el primer número y lo escribimos de este modo en la entrada
 W#16#1F
 W#16#  modo hexadecimal
1F número 31 en hexadecimal
 En la salida le escribimos MB100 (le indicamos que lo mueva a la salida de la marca del byte 100.
 Segundo MOV
 Entrada W#16#D2
Salida MB101
 Tercer MOV
 Entrada W#16#59
Salida MB102
Ahora cuando este activo el bit E124.0 tendremos estos números en esta zona de memoria.

 El intercambio de daos entre la CPU y el CP (trabajando como Master) no es directo, si no que se ha de hacer mediante bloques FCs como son:
 FC DP_SEND [CPU a CP]: La CPU da la orden de escribir los datos contenidos en el búfer definido por el programador en la CPU, sobre el estado de las salidas de los esclavos DP conectados al CP Master.
 FC DP_RECV [de cp a cpu]: La CPU da la orden de copiar el estado de las entradas de los esclavos conectados en la CP, en el búfer definido por el programador en la propia CPU.
 Los búfers definidos por el programador pueden ser áreas de Marcas, DBs o áreas PA.
 Pero para poder mandarlos a los esclavos necesitamos la función DP SEND.

 En el segmento 2.
 Vamos a la biblioteca  SIMATIC  DP SEND y añadimos esta función.

 Descripción de la función FC1 “DP_SEND”.
 La función FC1 “DP_SEND” contiene los siguientes parámetros:
 Datos de entrada:
 CPLADDR : Se ha de indicar la dirección inicial de la CP, en formato word.   Introduzca aquí esta dirección en hexadecimal.  Como la CP 342-5 está conectada en el slot 4 del bastidor de la CPU 314C-2DP por tanto le corresponde la dirección 256 en decimal que pasado a hexadecimal es el 100.
 W#16#100
 SEND : Se ha de indicar el lugar en donde se encuentran los datos a enviar a la CP, en formato puntero p#. Zona de memoria (A, M, DB) de la CPU a transferir a la CP. Se indica la dirección inicial y la longitud.
Ej.: P#E0.0 byte 6
6 bytes será la cantidad de entradas totales en los esclavos.
 Advertencia: La longitud de lo que envío al búfer de salida de la CP, debe coincidir con el total de entradas que exista en la periferia.
 En nuestro caso P#M 100.0 BYTE 3 (3 byte salidas del maestro que son 3 byte entradas en los esclavos)

Datos de salida:
 DONE: Señaliza en un bit, si se han aceptado los datos (0: No hay datos/1: Nuevos datos).
 Le ponemos la marca de bit M20.0
 ERROR: Señaliza en un bit, si se han producido errores (0: Sin error/1: Con error).
 Le ponemos la marca de bit siguiente M20.1
 STATUS: Señaliza en una palabra, el código del error producido.
 Le ponemos la marca de palabra (Word) MW21


 En el segmento 3. 
Incorporamos la función DP RECV
 Descripción de la función FC1 “DP_RECV”.
  FC1 “DP_RECV” : Recibe datos a través del CP PROFIBUS, o sea, recibe los datos del proceso de la periferia descentralizada al igual que una información de estado en un área de entrada DP determinada.

 La función FC1 “DP_RECV” contiene los siguientes parámetros:
 Parámetros de entrada:

  CPLADDR (WORD):Dirección inicial de la CP. Introduzca aquí esta dirección en hexadecimal.
Ponemos  W#16#100
 • RECV (ANY): Zona de memoria (A, M, DB) de la CPU donde deposito las entradas leídas en la CP. Se indica la dirección inicial y la longitud.
Ej.: P#A4.0 byte 2
2 bytes será la cantidad de salidas totales en los esclavos que serán 2 bytes de entrada en el maestro.
 Advertencia: La longitud de lo que recibo en el búfer de entradas de la CP, debe coincidir con el total de salidas que existan en la periferia.
 En nuestro caso P#M100.4  BYTE 2 (2 bytes será la cantidad de salidas totales en los esclavos que serán 2 bytes de entrada en el maestro).

 Parámetros de salida:
 • NDR (BOOL) : Si esta a 1, indica que se han aceptado nuevos datos.
 Le ponemos la marca de memoria siguiente que por ocupar MB20.2
 • ERROR (BOOL): Si esta a 1, se ha producido error. El código de error se indica en el parámetro STATUS.
 Le ponemos la marca de memoria siguiente que por ocupar MB20.3
 • STATUS (WORD): Código de estado.
 Le ponemos la marca de palabra (Word) siguiente por ocupar  MW23
 • DPSTATUS (BYTE): Código de estado DP.
 Le ponemos la marca de memoria siguiente que por ocupar MB25.

 En el segmento 4. 

 Añadimos la función MOV.
 En la entrada (IN) escribimos P#M100.4 (salidas esclavos, entradas maestro).
 En la salida MW124 (marca de Word-palabra).
 Todas las salidas del plc deben ponerse a 1, este número en decimal es 65535 y en exadecimal es FFFF.

Guardamos y tras conectar el plc Siemens mediante la conexión MPI, transferimos toda la configuración y el programa de KOP.

Ahora proseguiremos con la programación y configuración de los módulos de en Omron.

Mediante el Programa CX-Programer:
 Ponemos el nombre  del dispositivo esclavo profibus DP,  elegimos el tipo de dispositivo CQM1H y CPU elegimos CPU51 y aceptar.

 Programación KOP
Le añadimos la función MOV(21) y le indicamos que mueva la entrada 2 al canal 100.

Añadimos otro MOV(21) y le indicamos que mueva FFFF (una F son cuatro bits a 1) al canal 101.