martes, 11 de diciembre de 2012

Profibus DP

Características de las comunicaciones entre estaciones

CONEXIÓN MAESTRO ESCLAVO PROFIBUS DP


El objetivo de esta actividad es realizar, mediante conexión PROFIFUS 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 PLC 1 mandaremos las siguientes                            informaciones 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.

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.

Para poder realizar la transferencia de datos entre los dos interlocutores con diferentes prestaciones y el control de un interlocutor por otro maestro esclavo, la comunicación puede establecerse mediante diferentes vías. En este caso la realizaremos través de sistema de procesador de comunicaciones (CP) que va aparte y que añadiremos a cada plc.






Siemens CP314-IFM. La tarjeta de comunicaciones PROFIBUS CP 342-5DP, el cual hace posible la conexión de una CPU SIMATIC S7-300 a una red PROFIBUS con el protocolo de Periferia de E/S Distribuidas (DP).

Soporta los siguientes servicios de comunicaciones:

Maestro DP y Esclavo DP.

En este caso la utilizaremos como maestro.






En esta imagen tenemos el equipo utilizado en la práctica que ya tiene  la tarjeta de comunicaciones PROFIBUS CP 342-5DP.







Omron CQM1H-CPU51. La tarjeta de comunicaciones  PROFIBUS DP unidad esclavo  CQRM1PRT-21.


El medio de trasmisión que necesitamos es un cable profibus con dos conectores.

Cable de par trenzado apantallado y con malla.


Conector DB9  (RS485) profibus DP.

                           
                                   


Facil conexión de los cables con el conector. El rojo con el rojo y el verde con el verde.


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.



Antes de añadir la tarjeta de comunicaciones  PROFIBUS DP unidad esclavo  CQRM1PRT-21 al su PLC  debemos ajustar los switch y 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.


Miramos la documentación para saber como debemos ajustar los switch.

SW1   SW2      I/O words
OFF    OFF            2/2
ON      OFF            4/4
OFF    ON              6/6
ON      ON              8/8

En nuestro caso SW1 en OFF y SW2 en OFF. Debido a que necesitamos dos palabras como mínimo para recibir y una para enviar.

SW4 siempre en OFF esta reservado.

En SW3 seleccionamos formato de datos Motorola o Intel.

OFF Motorola.
ON   Intel.
 
Si la opción es Motorola (primero PROFIBUS) 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 (primero PROFIBUS) el byte de datos se asigna a él byte menos significativo de la primera palabra a la base de datos (PLC).

Elegimos SW3 ON (Intel)  y acoplamos la tarjeta al PLC.










Ahora conectaremos el cable de profibus a los equipos.



Ya tenemos la red profibus.
Ahora debemos configurar el harward.

Empezamos con la programación y configuración de los módulos de en Siemens.

Abrimos el programa administrador Simatic.
Apare el asistente STEP7 y elegimos la CPU 314 y clicamos en siguiente.
Nos pregunta. ¿Qué bloques desea insertar?
Seleccionamos KOP.
Nos pregunta cómo se llamara el proyecto. Le asignamos el nombre de profibus DP (bastagol) y clicamos en finalizar.
Aparece una nueva ventana SIMATIC MANAGER. En la parte izquierda de la pantalla clicamos en bloques y después en OB1 doble clik.
Se abre la ventana de programación.

Segmento 1.

Empezamos con el programa y 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 à 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 [CPU ß CP]: 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àCP300àFC/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:

  


Cuyo significado es el siguiente:

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

Ahora insertamos un nuevo segmento y incorporamos la función 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.

Abrimos otro segmento.

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 binario 1111 1111 1111 1111.

Después definimos bastidores. 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.

Después clicamos en guardar y compilar.

Programa KOP

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 0 y aceptar.
Ahora tenemos en dirección de entradas y salidas de la 0.00 a la 3.00 que son los bytes que ocupa.

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

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

ArchivoàNuevo, y aparece ventana y hacer el programa  KOP.

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

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

Modificación

Cambiamos de PLC, en este le llegan los datos por la entrada 2 y las salidas por el 12.

Tenemos que cambiar las direcciones 0.1.
 
Hay que coger modificar algunos datos en las funciones send y recv debido a que al cambiar de plc ya no enviamos la misma cantidad de datos ni tienen las mismas direcciones y longitud. 







martes, 30 de octubre de 2012

Caracteristicas de las comunicaciones entre estaciones

CONEXIÓN PC-LINK

El objetivo de esta actividad es realizar, mediante conexión serie y empleando uno de los protocolos propietarios de Omron, una transferencia de datos entre los dos PLC´s. 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 PLC 1 mandaremos las siguientes                            informaciones 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.

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

Memoria
Lo primero que hicimos fue identificar los PLC a utilizar en nuestro caso es CP1L-M y tener en cuenta sus especificaciones electricas como la tension de entrada o alimentación que es 24V C.C.  y al no disponer de un modulo convertidor que nos diera este voltaje en c.c.tubimos que suministrarla con una fuente de almentación y ajustarla a ese voltaje.

  

En la fotografia podemos apreciar los PLC y la fuente de alimentación externa conectada a los dos equipos con una tensión de 24V. Tambien hay un interruptor o selector de tres posiciones que lo utilizaremos como si fuesen dos pulsadores uno para enviar información del maestro al esclavo y el otro del esclavo al maestro.
En esta fotografia tambien podemos ver que hay conectados ya el cable entre los PLC y el USB que se conecta al PC.
El cable de conexión entre PLC utiliza conector DB9 y fue necesario añadir  las tarjetas adicionales para la conexión sysmacway.

 
Este es el cable que utilizamos para la comunicación.


Ademas debemos tener además en cuenta el posicionamiento de los switches de direccionamiento, en nuestro caso, al tratarse de una comunicación SysmacWay deberán de ir en la posición 0 en ambos PLC como indica el manual (GR_CP1L Pág 14)


Esquema del bornero del PLC Entradas y Salidas.



 
  
Si no se dispone del modelo escogido en la librería de CPU del CX-programmer habrá que actualizar el software.
Al conectar el USB del pc al plc puede ocurrir que nos pida autorización del administrador para poder instalar el hardware, Introducimos la clave que nos deberá de proporcionar el administrador del sistema.
Y seguimos la siguiente ruta de instalación:
  • Elegir la ruta de instalación: C: / Archivos de programa/CX IInterface One/CX Integrator.
  • Clic en el archivo: NSX_USB.
Busca el PLC conectado, aceptamos y listo para usar.
Configuración Inicial:
  • Abrir CX-Programmer y en nuevo PLC seleccionar el PLC Cp1l y en configuración la CPU M.
  • Tipo de red sysmac way.  

Determinar cual va a ser el PLC Maestro y cual el Esclavo
En la parte derecha del programa, donde aparece desglosado el programa y la configuración del PLC Hacemos clic en configuración, y nos aparece la ventana configuración del PLC, seleccionar el desplegable Puerto serie 1, y en Modo desplegar y seleccionar enlace 1:1 Maestro o enlace 1:1 Esclavo, según sea nuestro caso. Procedemos a cargar la configuración en cada uno de los PLC según sea la estructura que nosotros elijamos (Cual será el maestro y cual será el esclavo)

Asignación de Canales disponibles para la transferencia de datos 1:1
  1. Están asignados en el maestro para envío de información los canales del
    3000 al 3007 y para recibir del 3008 al 30015 .

 
*La información del 31 se envía por el canal 3000 , la del 210 por el 3001 y la del 89 por el 3002.

             Ahora utilizamos la zona del CIO 3008 del  esclavo  que es la zona de envío de información a la 3008 del maestro que es la zona de recepción.
Colocamos el número 255 en decimal que corresponde a la activación de todas las salidas del plc  maestro.
Visualizamos la zona de memoria.
Al accionar el interruptor enviamos la información.
Cambiamos el cable del pc-plc esclavo al pc-plc maestro y visualizamos que el número 255 llego correctamente.
 

Como con los canales 3000 solo es envío de información y no se puede materializar el accionamiento de las salidas, colocamos un move de la posición 3008 que es la zona del maestro donde recibimos la información del esclavo  y lo movemos a la 100  y  activamos todas las salidas (número 255).
OK se ha realizado correctamente, hicimos una foto de la salidas activadas y encendidas pero en la foto no se aprecia.
Aquí podemos visualizar todo el proceso por pasos, los canales utilizados para enviar información y a que zonas de la memoria nos dirigimos.


Zonas de memoria de transferencia




 

Programación KOP en cx-programmer para la resolución de la práctica.

Programación Maestro:


Programación Esclavo: 

 

  Visualización del desplazamiento de los datos:

Cambiamos el cable del plc maestro al plc esclavo para comprobar que la información llegó correctamente.
La información llego correctamente al canal 3000 el número 31 ,por el 3001 el 210 y por el 3002 el número 89.Ahora utilizamos la zona del CIO 3008 del esclavo que es la zona de envío de información a la 3008 del maestro que es la zona de recepción.
Colocamos el número 255 en decimal mediante la función Move en el canal de salidas 100 que corresponde a la activación de todas las salidas de dicho canal del plc maestro.