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.



