lunes, 6 de enero de 2014

Profibus DP, Práctica III

PRÁCTICA III

Configurar el funcionamiento de una cinta transportadora mediante un variador conectado a Profibus-DP de la siguiente manera:
  1. Al accionar el  pulsador de marcha arrancaremos la cinta al 25% de la velocidad del motor.
  2. Al detectar un sensor el elemento que transporta la cinta, el motor acelerará hasta el 100% de su velocidad.
  3. Al llegar la pieza al final (detectado por otro sensor), motor parará durante 10”, para posteriormente  invertir el sentido de giro del y funcionando a la velocidad del 50% del motor, deteniéndose la cinta cuando la pieza vuelva a ser detectada por el primer sensor.
  4. El estado de la cinta transportadora estará en todo momento señalizado por lámpara (una para el paro, otra para la marcha, una para cada sentido de giro, y una para cada velocidad distinta del motor.)
Las entradas que controlan la cinta transportadora estarán ubicadas en un módulo de periferia descentralizada o autómata programable (el que se desee). El estado de la cinta transportadora se visualizará desde el autómata maestro.


ESCLAVO

MICROMASTER


Se trata de un variador de velocidad de la marca Siemens al que se le ha añadido un módulo para hacer posible la comunicación y control vía Profibus.

  • A través del los interruptores del DIP1 podemos configurar la dirección de red del variador, pero como no queremos que se rompa por uso excesivo se ha optado por dejarlo asignado siempre con la dirección 6.
  • Nosotros utilizaremos el PPO3 que es el más sencillo, así que enviaremos y recibiremos del variador 4 Bytes, divididos en PZD1 y PZD2:
    • PZD1 (Byte 0 y Byte 1) --> Palabra de control. Esta palabra determina como debe de comportarse el variador. Cada uno de los bits que la componen indicará un estado del mismo.
      • 447E --> Es el primer valor que debe recibir para poder estar preparado para arrancar a través de comunicaciones. Además es la palabra de control para la parada normal.
      • 447F --> Sentido de giro a derechas.
      • 0C7F --> Sentido de giro a izquierdas.
      • 447D --> Parada en rueda libre.
      • 447B --> Parada rápida.
    • PZD2 (Byte 2 y Byte 3) --> Consigna de frecuencia. En esta palabra se indica en hexadecimal el valor de consigna de frecuencia al que deseamos que marcha el variador.
      • #0000 --> Valor de frecuencia 0Hz (0% de la velocidad nominal del motor)
      • #2000 --> Valor de frecuencia 25Hz (50% de la velocidad nominal del motor)
      • #4000 --> Valor de frecuencia 50Hz (100% de la velocidad nominal del motor)
  • Con estos datos ya tenemos suficiente para manejar el variador de forma correcta desde nuestro maestro.


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 variador se le ha asignado la 6 por convenio en clase para no estropear los microinterruptores de selección de dirección.


  • En esta práctica y por el perfil utilizado PPO3, el variador sólo recibe 4 Bytes de entrada.




  • En esta conexión al tener solo dos equipos solo necesitamos un cable y ambos interruptores de terminación de bus deberán estar a ON.


FLUJO DE TRANSMISIÓN DE DATOS




DISTRIBUCIÓN DE DATOS EN LA MEMORIA DEL MAESTRO

Para esta práctica el módulo CP342-5 escribirá y leerá los datos en la siguiente área de memoria y con la siguiente distribución:
Nos centramos solo en el envío de información pero también podríamos leer aunque leeríamos los mismos valores que hemos enviado y para el desarrollo de esta práctica no nos interesa, estaría más orientado hacia sistemas SCADA.

Así que como podemos observar en la distribución de la memoria en el MW0 cargaremos la palabra de control y en el MW2 cargaremos la consigna de frecuencia, ambas en hexadecimal.



DESCRIPCIÓN DEL PROCESO DE COMUNICACIÓN

  1. Debemos de cargar en MW0 la palabra de control que nos permite arrancar a través de comunicaciones, así que cargaremos 447E.
  2. Queremos que empiece girando a derechas así que cargaremos en MW0 el valor 447F y queremos que lo haga al 25% de su velocidad así que en MW2 cargaremos el valor 1000.
  3. Cuando se active un sensor de presencia, representado por la entrada E125.7 del maestro, cargaremos en MW2 el valor 4000 para que siga girando a derechas pero lo haga al 100% de su velocidad.
  4. Cuando otro sensor de la señal de que la pieza ha llegado al final, representado por la entrada E125.6 del maestro, el motor se detendrá durante 10 segundos por lo que cargaremos en MW0 el valor 447E, transcurridos esos 10 segundos arrancará en el sentido contrario al 50% de su velocidad por lo que cargaremos en MW0 el valor 0C7F y en MW2 el valor 2000 para que gire a izquierdas al 50%.
  5. Cuando el primer sensor vuelva a detectar la pieza, E125.7, el motor se detendrá y para ello cargaremos en MW0 el valor 447E.
  6. Así mismo tendremos salidas activas en el maestro en función del estado:
    1. A125.0 --> luz de motor parado
    2. A125.1 --> luz de motor en marcha
    3. A125.2 --> luz de giro a derechas
    4. A125.3 --> luz de giro a izquierdas
    5. A125.4 --> luz de velocidad al 25%
    6. A125.5 --> luz de velocidad al 50%
    7. A125.6 --> luz de velocidad al 100%

CONFIGURACIÓN DEL MAESTRO S7-CPU314IFM

  • Abriremos un nuevo proyecto donde configuraremos un equipo maestro como hicimos en la práctica anterior, consultar la entrada del blog "Profibus DP, Practica I" para más información. Nos paramos cuando ya tenemos configurado el Maestro con el módulo CP342-5 y la red Profibus creada:

  • Añadimos el variador Micromaster 420 como esclavo de la red Profibus, lo podemos hallar en el menú lateral derecho bajo la entrada "Profibus_DP -->Simovert-->Micro/Midimaster OPMP":

Lo configuramos con la dirección 6 que ya viene asignada por HW como hemos mencionado anteriormente.

  • Ahora tenemos que cargar en el esclavo la configuración PPO3 que es la que vamos a utilizar, por ello arrastramos el módulo PPO3 del menú lateral hasta el slot 1 del variador ya que en el slot 0 hay que cargar el "modulo universal" para un correcto funcionamiento del variador. De esta forma ya estará la configuración del esclavo terminada.

    • Vemos como tiene 4 Bytes para las entradas y 4 Bytes para las salidas, pero nosotros solo vamos a utilizar los bytes de entrada, ya que solo queremos enviarle el PZD1 y PZD2.

  • Una vez terminado el apartado de configuración del hardware podemos pasar a escribir el programa:
    • Para esta práctica sólo nos hace falta usar la función DP_SEND ya que solo queremos enviar información al variador.
    • Podemos observar como la dirección CPLADDR sigue siendo la misma que en la práctica anterior ya que el módulo CP342-5 lo hemos vuelto a colocar en el slot 4.
    • Pero ahora solo enviamos 4 Bytes contando desde el M0.0.

  • Comenzamos a mandarle instrucciones al variador:
    • Al actuar sobre el pulsador de arranque del variador, entrada E125.1 del maestro, se coloca la palabra de control 447E en la zona de envio MW0 que corresponde con la zona de memoria del variador PZD1 para poder arrancar a través de comunicaciones.
    • Acto seguido el motor deberá girar a derechas, enviamos de nuevo a la zona de memoria MW0 el varlo de giro a derechas 447F y ahora añadimos la velocidad a la que queremos que gire moviendo al área de memoria MW2 el valor en hexadecimal 1000, que corresponde con un 25% de la velocidad nominal del motor.
    • Si se actúa sobre el pulsador de paro el variador recibirá la palabra de control 447E y dentendrá el motor.
    • El primer sensor al detectar la pieza mira cual es la última palabra de control enviada al variador, que se encuentra en MW0, si ve que el variador está girando a derechas, valor cargado en MW40 activa la marca M20.0 y si el motor esta girando a izquierda, MW42, se activará la marca M20.1
    • El primer sensor detecta la pieza y el maestro ha comprobado que el motor esta girando a derechas, por tanto acelera el motor hasta el 100% de su velocidad nominal cargando la palabra 4000 en el MW2 que es la zona de memoria que se envía al variador que coincide con la zona PZD2 y por tanto el variador hará que el motor acelere.
    • Cuando llega la pieza al sensor final, E125.6, este se activa un instante y lo capturamos mediante la activación de la marca M20.2.
    • Esta marca desencadena que se mueva la palabra de control 447E al word MW0 para ser enviada al variador y a la vez activa un temporizador de 10 segundos.
    • Al cumplirse los 10 segundos se carga la palabra de control 0C7F en la palabra MW0 y la consigna de velocidad 2000 en la MW2 para que el motor comience a girar a izquierdas al 50% de su velocidad.
    • Se resetean las marcas M20.0 que había activado el primer sensor y la M20.2 que ha activado el sensor del final.
    • El primer sensor detecta la pieza y comprueba hacia que lado esta girando el motor, como en esta ocasión está girando a izquierdas activa la marca M20.1, que hace que se cargue la palabra de control 447E en la zona PZD1 del variador, deteniendo el motor.
    • Una vez hecha la carga se resetea la marca que activó el primer sensor, dejando el sistema listo para volver a ser utilizado.


  • A continuación se detalla el código utilizado para las bombillas de señalización:


Con todo esto, si hemos realizado el cableado correctamente, alimentado el variador, ya que requiere una alimentación de 230V monofásicos, y hemos pulsado el botón verde del variador para arrancarlo... deberíamos de tener todo en perfecto funcionamiento.


Profibus DP, Practica II

PRÁCTICA II

Configurar un intercambio de información entre un PLC S7314 con CP342-5, actuando como maestro en una red profibus, y dos esclavos, un autómata CPM1A, un módulo MURR de 8 entradas digitales.

El sistema tendrá que realizar las siguientes actuaciones.

  1. Programar un circuito marcha-paro para el funcionamiento de un motor:
    1. Módulo de entradas MURR
      1. E0 : Pulsador de paro.
      2. E1:  Pulsador de marcha.
    2. Autómata Omron:
      1. 10.04: Motor
  2. Transferir información del Siemens al Omron:
    1. Al pulsar la entrada E3 del módulo de entradas se transferirán los bytes de marcas 10 y 11 del Siemens, al autómata Omron (evidentemente, estos bytes tendrán un contenido). La información se almacenará en el canal 20 del Omron.


ESCLAVOS

CPM1A

Se trata de un autómata Omron como en el práctica anterior al que también le hemos tenido que añadir un módulo para poder conectarlo como esclavo a una red profibus DP.
El módulo en cuestión es el CPM1A-PRT21
  • Vemos a simple vista que pose el conector DB9 y los típicos leds de RUN y BF. Bajo la tapa superior nos encontramos con dos ruletas para seleccionar la dirección de red y un switch para elegir la configuración Intel o Motorola
  • Incluso el fabricante nos da un explicación de para que sirve la configuración Intel o Motorola. Tambien se puede consultar mi práctica anterior donde esta explicado:

  • Este PLC no permite la configuración de cuantos bytes de información queremos transmitir, por defecto puede enviar y recibir 2 bytes de datos.
  • Este autómata recibe la información en el canal 2 y la envía por el canal 12.


MODULO MURR


Se trata de un módulo de 8 entradas digitales en el módulo superior, lleva alimentación externa como se aprecia por los cables rojo y negro y lo más llamativo es que no lleva un conector DB9, sino que el cable va directamente conectado a una placa de conexiones. Como siempre lo mejor es recurrir a la documentación del fabricante para realizar el conexionado.

Si levantamos este conector vemos que realmente si que tiene un conector DB9 donde va encajado este módulo, y al lado del conector tenemos las dos ruletas para asignarle la dirección de red:




  • Este esclavo al tener 8 entradas digitales solo podrá enviar 1 Byte de datos a través de la red, no podrá recibir.



ESQUEMA DE TRANSMISIÓN ENTRE EQUIPOS

  • Como en la práctica anterior al maestro se le ha asignado la dirección 2 (la primera disponible) y al resto de esclavos por orden de conexión se han ido asignando y configurando por HW la 3 y la 4.
  • Las resistencias de terminación de bus deberán estar a ON en los conectores del maestro y del módulo MURR, tal y como se ilustra en la figura siguiente:


FLUJO DE TRANSMISIÓN DE DATOS



DISTRIBUCIÓN DE DATOS EN LA MEMORIA DEL MAESTRO

Para esta práctica el módulo CP342-5 escribirá y leerá los datos en la siguiente área de memoria y con la siguiente distribución:
  • Podemos apreciar como en este caso la distribución de la memoria no es simétrica ya que el módulo MURR es un dispositivo de 8 entradas digitales sin salidas, por lo que no se le pueden enviar datos, solo podemos recibir 1 Byte de información desde este esclavo.
  • El PLC CPM1A en cambio puede enviar y recibir 2 Bytes de datos, sin que se quepa la posibilidad de aumentar o disminuir esta cantidad.


DESCRIPCIÓN DEL PROCESO DE COMUNICACIÓN

  • El módulo MURR tiene conectados tres pulsadores en las tres primeras posiciones. La posición del primer pulsador corresponde al bit de menor peso dentro del Byte que se enviará por la red y el tercer pulsador tendrá la tercera posición, es decir:
    • Si se actúa sobre el pulsador de paro del motor, que se ha asignado al pulsador conectado a la entrada B37.0 en el byte que el módulo envía contendrá: 00000001

    • Si se actúa sobre el pulsador de marcha del motor, que se ha asignado al pulsador conectado a la entrada B37.1 en el byte que el módulo envía contendrá: 00000010

    • Si se actúa sobre el pulsador de transferencia de información, que se ha asignado al pulsador conectado a la entrada B37.5 en el byte que el módulo envía contendrá: 00100000

    Ahora que ya sabemos que información nos llega del módulo MURR y podemos leer en el MB4 tan solo hay que obra en función de que se activen los bits M4.0, M4.1 o M4.5:
    1. M4.0 se activa (contiene un 1)--> en este caso escribiremos en el MB0 un 2 que recibirá el CPM1A en el canal 2 y hará que pare el motor.

    2. M4.1 se activa (contiene un 1)--> en este caso escribiremos en el MB0 un 1 que recibirá el CPM1A en el canal 2 y hará que arranque el motor.

    3. M4.5 se activa (contiene un 1)--> en este caso el maestro sabe que debe de transferir la información de su MB10 y MB11 al canal 20 del Omron, con lo que escribira estos bytes en el MB0 Y MB1 respectivamente para que le lleguen al Omron que los recibirá en el canal 2 y posteriormente moverá a su canal 20.

CONFIGURACIÓN DEL MAESTRO S7-CPU314IFM

  • Abriremos un nuevo proyecto donde configuraremos un equipo maestro como hicimos en la práctica anterior, consultar la entrada del blog "Profibus DP, Practica I" para más información. Nos paramos cuando ya tenemos configurado el Maestro con el módulo CP342-5 y la red Profibus creada:

  • Lo que ahora cambia son los esclavos que vamos a utilizar, empezaremos por el CPM1A que lo podremos hallar en el menú lateral derecho en la entrada "Profibus_DP --> Otros aparatos de campo --> PLC". Con este PLC sólo hay que pinchar y arrastrar a la red ya que no permite opciones de configuración y le asignamos la dirección 3:

  • En la tabla de abajo vemos como direcciones de entrada y salida tiene de la 0 a la 1, lo que quiere decir que puede enviar y recibir 2 Bytes, que al ser el 0 y el 1 concuerdan con los dos primeros bytes de la asignación de memoria para el envío y la recepción que son el MB0 y MB1 para el envío y el MB2 y MB3 para la recepción de información.
  • Localizamos en el módulo MURR que es el MBV-P y lo arrastramos a la red y le asignamos la dirección 4.
  • Vemos que el módulo tiene todos sus slots vacíos, eso es porque admite diferentes configuraciones, el nuestro es el de DI8, el de 8 entradas digitales, así que lo seleccionamos de la lista y lo arrastramos al slot 0.
  • Ahora vemos que ya nos indica que puede enviar 1Byte y que ocupa la posición de la zona de memoria que el módulo CP recibe, lo que indica que deberemos ir a buscar la información al MB4.
  • Una vez tenemos todo el hardware correctamente configurado vamos a crear el programa del maestro. Lo primero configurar la FC1 y FC2:
    • Podemos observar como la dirección CPLADDR sigue siendo la misma que en la práctica anterior ya que el módulo CP342-5 lo hemos vuelto a colocar en el slot 4.
    • Pero ahora solo enviamos 2 Bytes contando desde el M0.0 y recibimos 3 Bytes contando desde el M2.0.

EJERCICIO 1

  • Para controlar el arranque y paro del motor se actuara sobre el pulsador de paro (B37.0) y pulsador de marcha (B37.1) alojados en el módulo MURR. El maestro recibirá que pulsadores han sido activados en la marca MB4 donde estarán a 1 los bits de los pulsadores activados y el programa mirará cuales se han activado y dará la orden de marcha o paro como se ha explicado anteriormente:
    • Si se actúa sobre el pulsador de marcha se recibe en el MB4 la secuencia 00000010, por tanto el bit M4.1 estará a 1 y se activará la función MOVE, permitiendo que se coloque en la zona de envío al CPM1A (MB0) un 1 que se encargará de interpretar el esclavo.
    • El CPM1A recibirá en el canal 2 la secuencia 0000000000000001 que se traduce en que el bit 2.00 esta activo, permitiendo que se active la salida 10.04 donde esta conectado el motor y este arrancará.
    • Si se actúa sobre el pulsador de paro se recibe en el MB4 la secuencia 00000001, por tanto el bit M4.0 estará a 1 y se activará la función MOVE, permitiendo que se coloque en la zona de envío al CPM1A (MB0) un 2 que se encargará de interpretar el esclavo. Es importante que se encargue de interpretar el esclavo ya que cuanta mayor carga de trabajo podamos quitarle al maestro mejor, y además por eso se llama periferia distribuida.
    • El CPM1A recibirá en el canal 2 la secuencia 0000000000000010 que se traduce en que el bit 2.01 esta activo, permitiendo que se desactive la salida 10.04 donde esta conectado el motor y por tanto este se parará.


EJERCICIO 2

  • Para habilitar la transferencia de datos desde el esclavo al Omron simplemente debemos capturar la pulsación en el módulo MURR del pulsador B37.5
    • De esta forma al recibir en MB4 la secuencia 00100000 indica que el M4.5 está activo, lo que permite que se realice la función de transferencia moviendo los bytes MB10 y MB11, agrupados en la palabra MW10, al PLC Omron a traves de los bytes MB0 y MB1 agrupados en la palabra MW0.
    • El esclavo en cada ciclo de scan pasa lo que le llega en el canal 2, a traves de la red profibus, al canal 5, ya que el canal 20 como pide la práctica no es accesible en este modelo de PLC, por lo tanto usamos uno que este libre. Cuando se actúe sobre el pulsador de transferencia en el módulo MURR el maestro mandará la información contenida en su MW10 al esclavo y este la transferirá al canal 5.


Si esta todo correctamente cableado y no se producen errores de bus, la comunicación será continua y el programa realizará de forma automática todo lo indicado.

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: