lunes, 6 de enero de 2014

Profibus DP, Práctica I

PRÁCTICA I

Realizar la configuración de un sistema de comunicaciones en Profibus-DP constituido por un autómata Siemens S7-314 IFM como maestro, un modulo ET200L como esclavo y un autómata Omron CQM1H como esclavo, de manera que:

  1. El primer byte de entradas digitales del módulo ET200L se reflejen en el primer byte de salidas del autómata Siemens.
  2. Que las 8 primeras entradas del autómata Omron, se reflejan en las 8 primeras salidas de la ET200L.
  3. El primer byte de entradas del autómata Siemens, se almacene en el canal 10 del Omron.


ESCLAVOS

ET200L

Es la base de la periferia descentralizada, si el cableado esta a mucha distancia del autómata se pueden producir interferencias, usando este módulo las entradas y salidas se pueden distribuir cerca de lo que se quiere controlar mientras que el autómata se puede colocar en el punto central de las comunicaciones.

El montaje para el correcto funcionamiento está formado por dos módulos:

  • El módulo de la izquierda es la fuente de alimentación que toma los 230V de la red monofásica y la transforma en 24V de corriente continua necesaria para el funcionamiento del otro módulo.

  • El módulo de la derecha es el módulo ET200L propiamente dicho, esta compuesto por 16 entradas y 16 salidas digitales, todas ellas forman el bloque de terminales. El bloque electrónico alberga 32 leds que indican que entradas o salidas están activas y en la parte derecha el puerto de comunicaciones así como la ruleta giratoria que nos permite seleccionar la dirección que tendrá el módulo en la red profibus. En la imagen se puede apreciar el bloque electrónico:

Omron CQM1H

Se trata de un autómata que trabajará en este caso como esclavo de nuestro PLC S7-314IFM, recibirá y enviará información a través del bus profibus y actuará en función de lo que le hayamos programado que haga. Muy útil si necesitamos controlar procesos complejos a cierta distancia.

Es un autómata modular y no dispone de puerto específico para poder conectarle el cable de profibus, por ello le añadimos el módulo CQM1H-PRT21, que nos permite que se conecte a la red profibus como esclavo.

El aspecto del módulo es el siguiente:
Se puede apreciar que dispone de dos ruletas selectoras para la dirección que tendrá en la red y el conector DB-9 hembra para conectar el cable.

En la parte de la circuiteria interna del módulo podemos apreciar una serie de micro interruptores que no son accesibles una vez montado el módulo en el autómata. Esto es debido a que esa configuración se debe de elegir al inicio del montaje y no ser modificada facilmente, ya que eso daría errores en la comunicación:

Como se puede apreciar el fabricante en la placa impresa explica para que sirve cada uno de los cuatro switches, pero en la documentación técnica del módulo se aprecia mejor:


Con los dos primeros (SW1 y SW2) podemos configurar el número de palabras que se enviaran y recibirán 2/2,4/4,6/6,8/8 (recordemos que una palabra esta formada por 16 bits) y nos recuerda que el maestro de la red deberá de tener la misma configuración.

El tercer switch nos permite configurar la transmisión de datos en formato Motorola o Intel. Esto es para configurar como se colocan los datos, si el primer byte de la comunicación profibus es mapeado en el byte más importante del PLC estamos hablando del tipo Motorola, y si es mapeado en el byte menos importante hablamos del tipo Intel. Más adelante durante el desarrollo de la práctica profundizaré en el tema.

Recordemos que el CQM1H es un autómata modular, así que cuando le acoplemos este nuevo módulo el canal que se le asigne para la entrada y salida vendrá determinado por la cantidad de canales ocupados previamente por los diferentes módulos, en nuestra configuración el canal 5 (los dos primeros canales, 0 y 1, son entradas digitales del propio PLC y además tiene un módulo de cuatro entradas analógicas) está asignado a la recepción de la información proveniente el bus, y el canal 103 para la salida de datos ya que el canal 100 es para la salidas digitales de propio PLC y la 101 y 102 son salidas analógicas del módulo citado anteriormente.


ESQUEMA DE TRANSMISIÓN ENTRE EQUIPOS

Al maestro se le ha asignado la dirección 2, que es la primera disponible en la red, ya que la 0 y la 1 están reservadas por el sistema. Para el resto de equipos se le han puesto direcciones consecutivas para facilitar su identificación.

En el esquema también se muestra la cantidad de información que envian (S) o reciben (E).

FLUJO DE TRANSMISIÓN DE DATOS



DISTRIBUCIÓN DE DATOS EN LA MEMORIA DEL MAESTRO

Es importante tener claro donde tenemos que ir a buscar o depositar la información que estamos manejando para que el módulo CP342-5 pueda realizar la comunicación eficientemente con el resto de esclavos, para ello asignamos donde van a ser colocados los datos para el envío y donde hay que leer para ver lo que nos ha llegado:
Empieza la asignación en el MB0 porque lo hemos elegido así, de querer empezar en otro valor es posible siempre respetando el número de bytes que envía y recibe cada esclavo y la posición que ocupa dentro del bus.

DESCRIPCIÓN DEL PROCESO DE COMUNICACIÓN

  • La estación ET200L al tener 16 entradas digitales necesita 2 bytes (16 bits, uno por entrada) para enviar la información y el maestro recibirá la información en el MB6 y MB7 de tal forma que si se activa la entrada 1 de la ET200L en el MB6 habrá -->00000001 y en el MB7 habrá -->00000000. En cambio si se activa la entrada 16, que es la última disponible, en los datos recibidos en el MB6 habrá -->00000000 mientras que en el MB7 habrá -->10000000. Podemos observar que aunque se envie la información en 2 Bytes realmente actúan como una sola Word donde la parte alta se recibe en el MB7 y la parte baja en el MB6. Así pues el contenido de estas direcciones de memoria irán variando en función de las entradas que se activen en la ET200L.

  • Una vez tenemos localizado el dato en MB6 el maestro lo moverá directamente a su salida AB124, ya que las salidas del IFM314 son  1 Byte. De esta forma siempre se mostrará en la salida 124 del maestro las entradas que se activen en el ET200L.

  • El autómata Omron envia 32bits que son 4 bytes, pero solo tiene 16 entradas digitales que equivalen a 16bits que según si esta el módulo de comunicación en formato Intel o Motorola los distribuira en los 2 bytes de mayor peso o de menor peso. Al estar configurado como Intel el maestro recibirá los 8 primeros bits del canal de entrada del Omron en el MB8, estando todos los demás a 0.

  • Como esos datos queremos que se reflejen en las salidas de la ET200L el maestro moverá el MB8, que es el que contiene la información que nos interesa llegada del autómata Omron, al MB0 que será el primer byte de datos que reciba el ET200L, iluminando de esta forma los 8 leds de menor peso correspondientes a las entradas del autómata Omron. Si quisiesemos capturar los 8 ultimos bits del Omron y/o mostrarlos en el ultimo byte de salidas del ET200L deberiamos modificar la dirección de los MB que leemos y escribimos.

  • Para el último apartado leeremos la entrada completa del maestro, EB124, que son 8 bits y los pondremos en el MB2. El esclavo Omron recibirá este byte en el canal 5 y lo moverá al canal 10.

CONFIGURACIÓN DEL MAESTRO S7-CPU314IFM

  • Iniciamos un nuevo proyecto que llamaremos Practica1, añadiemos un nuevo objeto de Simatic S300 y procedemos a configurar su hardware.
  • Insertamos el bastidor donde insertaremos los componentes que forman nuestro PLC
  • Elegimos la CPU correspondiente a la que disponemos en el equipo de prácticas y lo colocamos en el slot 2 que es el único sitio donde está permitido.
  • Añadiemos el módulo de comunicaciones CP342-5 v5.0. Vemos que se nos permite colocarlo en varias posiciones a partir de la 4 en adelante, es muy importante la posición ya que determinará la configuración de las FC1 DP_Send y FC2 DP_Recv. (lo explicaremos más adelante). Por el momento colocaremos el módulo en el slot 4. Como no hay ninguna red creada la crearemos pulsando sobre el botón "Nueva".
  • Se nos abre una nueva ventana y aceptamos.
  • Vemos que ya se ha crado nuestra subred Profibus(1), haremos click en aceptar.
  • Hacemos click con el botón derecho sobre el módulo CP 342-5 colocado en el bastidor y elegimos la opción "Propiedades del objeto..."
  • En la pestaña "Modo de operación" le indicamos que se trata del "maestro DP" y hacemos click en aceptar.
  • Vemos como aparece un hilo que indica la red profibus, a esa red le iremos colocando nuestros esclavos seleccionandolos de la lista de elementos de la parte derecha. En caso de no tener el esclavo disponible siempre podemos cargarlo desde su archivo GSD eligiendo en la barra de herramientas la opcion "Herramientas --> Instalar archivos GSD".
  • En la lista desplegable de la derecha bajo el epígrafe "Profibus-DP" buscaremos la estación ET200L que tenemos en el equipo de prácticas y la arrastraremos hasta la red en la parte más ancha, lo que hará que se abra una ventana nueva.
  • Le asignamos la dirección 3 y aceptamos.
  • Buscamos en "otros aparatos de campo" el CQM1-PRT21 y lo arrastraremos a la red.
  • Le asignamos la dirección 4 y aceptamos.
  • Una vez tenemos el Omron conectado a la red deberemos de configurar cuantas palabras vamos a transmitir, en nuestro caso elegimos 2. Hacemos click sobre el dibujo del Omron y veremos que se nos muestra en la parte inferior los slots disponibles, lo que deberemos hacer es arrastrar la configuración correspondiente a las 2 palabras a ese slot y ya lo tenemos configurado.
  • Si hacemos doble click en el slot del esclavo podemos ver las propiedades del esclavo, y si quisiesemos podríamos modificar el byte donde se empieza a recibir la entrada y/o escribir la salida. En este caso empieza en el byte 2 hasta el 5 para la parte de la salida de la CP342-5, que corresponen con el MB2 al MB5. Para la entrada tambien empieza en la dirección 2 y acaba en la 5, que corresponden al MB8 al MB11. Por eso es muy importante tener bien definida el área de memoria que utiliza cada esclavo para saber donde buscar el dato de forma correcta.
  • Una vez configurado toda la red Profibus DP, procederemos a guardar y cerrar esta ventana y ya podremos escribir el programa del maestro.
  • Iniciamos la creación del OB1 donde irá el programa principal.
  • De las funciones propias que incorpora el Step 7, buscamos en la librería las de "Simatic_Net_CP" y las correspondientes al modelo del módulo de comunicación que hemos instalado "CP 300" y arrastramos la FC1 DP_SEND (para poder enviar datos desde el modulo CP) y la FC2 DP_RECV (para poder recibir datos desde el modulo CP). Sólo hace falta ponerlas una vez en todo el programa ya que estas instrucciones se ejecutan siempre cada ciclo de scan sin necesidad de llamarlas.
  • Vamos a proceder a detallar a que hace referencia cada parametro:

  • Para el funcionamiento de nuestro programa los hemos configurado de la siguiente manera:
    • CPLADDR --> Hemos puesto 100 en hexadecimal que corresponde con el slot 4 que es donde se aloja la tarjeta CP342-5. Si en lugar de ponerla en el slot 4 la pusiesemos en el slot 5, habría que indicar que la dirección donde se encuentra es la 110, en el slot 6 la 120, y así sucesivamente.
    • SEND/RECV --> La dirección donde tiene que leer o escribir los datos la indicamos mediante un puntero a una posición de memoria, P#M X.X y le indicamos la cantidad de bytes que tiene que leer/escribir desde ese que es el inicio. Por ejemplo para la recepción empezará a escribir en el MB6 y como puede escribir 6 Bytes terminará en el MB11.
    • El resto de direcciones las colocamos en áreas de memoria libre donde podamos ir a consultar en caso de error.

EJERCICIO 1


  • Las entradas de la ET200L nos llegan al módulo CP342-5 y lo escribe en el MB6 y MB7 al tratarse de 16bits. Como solo nos interesan las 8 primeras entradas cogeremos el byte de menor peso, MB6, y lo pasaremos directamente al byte de salidas 124, AB124. De esta forma cada vez que se active o desactive un interruptor en el módulo ET200L lo veremos inmediatamente reflejado en las salidas 124 del maestro.

EJERCICIO 2

  • Del esclavo Omron recibimos 4 bytes, desde el MB8 al MB11, y hay que ver que tipo de configuración hemos elegido al conectarle el módulo, ya que dependiendo de si es Intel o Motorola pondrá los bytes de mayor peso en la parte alta o en la parte baja. Nosotros al haber elegido la configuración Intel las 8 primeras entradas del PLC las hemos de buscar en el byte menos significativo, por tanto el MB8. Una vez localizado el byte no tenemos más que ponerlo en la zona de envio a la ET200L que en este caso es el MB0 según el mapeo de la memoria del CP342-5, si en lugar de querer activar las 8 primeras salidas quisiesemos activar las 8 últimas bastaría con mover el dato al MB1.

  • En el autómata Omron tan solo debemos de poner una linea de código que se ejecute siempre en cada ciclo de scan (lo conseguimos poniendo un interruptor que esté siempre a ON) y que haga una transferencia de lo que hay en las entradas digitales, canal 0, y lo lleve al módulo de comunicaciones, canal 103.

EJERCICIO 3

  • En este caso como queremos llevar los 8 bits de la entrada 124 del maestro al PLC Omron, tan solo hemos de llevar toda esa entrada a la posición de memoria que se usa para enviar datos al Omron. Colocamos la información en el byte de menor peso porque solo necesitamos un byte para la transferencia y además porque estamos usando la configuración Intel para la comunicación.
  • En el PLC Omron como en el caso anterior ponemos un nuevo segmento que siempre esté activo y que mueve el dato que llega al módulo de comunicación, canal 5, al canal 10 donde quedará almacenado.


  • Una vez tenemos el programa escrito en el maestro, el hardware bien configurado y todos los esclavos correctamente conectados en el mismo orden que hemos indicado en la pestaña de HW, seleccionaremos en el menú lateral izquierdo al maestro y procederemos a hacer click en el icono de cargar. Esta acción hará que el maestro reciba el programa que hemos escrito y que busque todos los esclavos que le hemos configurado y que los reconozca y verifique. Si esta todo correcto se deberá de observar que el led de BF (Bus failure) no esta encendido ni parpadeando y que el led ON esta en verde como muestra la figura siguiente:


Si todo esta correcto deberemos tener nuestro sistema en funcionamiento y perfectamente comunicado.
En la foto también podemos observar que la ET200L al tratarse de un dispositivo que no esta en los extremos del bus de comunicaciones tiene el interruptor de la resistencia final de bus en OFF de forma que se cumple:

3 comentarios:

  1. Perfecta explicación de como has desarrollado la práctica. Se entiende a la perfección y permite a todo "el mundo" poder conocer como desarrollar y crear una red Profibus. Fenomenal trabajo... Enhorabuena.

    Antonio Alhambra

    ResponderEliminar
  2. Hola buenas noches.

    Tengo una duda con respecto al direccionamiento de la zona donde se van a depositar las entradas o las salidas de la ET200L o el plc OMRON.

    Tu usas siempre en todas tus prácticas una zona de memoria del plc para almacenar los estados de las entradas y salidas de las remotas, pero mi pregunta es:

    ¿Que pasa si en vez de poner en las "patillas" SEND y RECV de los bloques de comunicación FC1 y FC2 las zonas de marca ponermos P#E0.0 byte 2, o los byte que sean, o P#A124.0 byte 2, o los byte que sean? No tendriamos lectura de las entradas y salidas de las remotas?

    Buen trabajo y saludos

    Abel

    ResponderEliminar