PSAFM02. Programación de sistemas automáticos

Icono de iDevice Caso práctico

Imagen donde se puede ver la un panel de control virtual que funciona en un pc bajo windows.  Con diferentes opciones y visualizaciones

Después de comprender las diferentes tecnologías que se utilizan en las máquinas para su funcionamiento, Pedro y Fernando, no ven claro cómo es posible que los diferentes actuadores de las que se componen las máquinas realicen los movimientos que realizan cuando nadie les está ordenando que hagan esos movimientos, además observan cómo siguen una lógica de trabajo, realizando los movimientos y/o esperando también a realizar el movimiento si así es lo que se precisa.

En esta actividad te centrarás en los autómatas y manipuladores/robots.

Verás cuál es la ventaja de utilizarlos y sobre todo la manera en la que se programan, sus diferentes lenguajes, etc.

Logotipo del Ministerio de Educación, Cultura y Deporte. Junto a una banda vertical que representa esquemáticamente la bandera de Europa y otra que representa la bandera de España, aparece el escudo de España, y el texto: Gobierno de España. Ministerio de Educación, Cultura y Deporte.
Materiales formativos de FP Online propiedad del Ministerio de Educación, Cultura y Deporte.

1. Sistemas Automáticos programables.

Icono de iDevice Caso práctico

Imagen donde aparece un torno automático de control numérico de color blanco y gris, el cual tiene un panel de control con una seta de emergencia en la parte izquierda del panel y una pistola de aire por la parte de abajo, entre otras cosas.

Pedro se pregunta cómo es posible que las máquinas, que están en la empresa, realicen unos movimientos y trabajos diferentes, cuando físicamente no se realiza ninguna modificación.

Alguna vez ha solido ver a algún trabajador junto al panel de mandos durante un tiempo, con lo que supone que desde ese panel de mandos es capaz de ordenar diferentes movimientos a la máquina. Pero, aún así se pregunta: ¿cómo se hace en la práctica?

Los sistemas automáticos programables, hoy en día, dan una gran flexibilidad a la hora de realizar automatizaciones. Los autómatas o PLC, son el gran exponente de estos sistemas, permitiéndo facilidad y flexibilidad a la hora de realizar y, sobre todo, a la hora de modificar dicho programa, lo cual permite ejecutar un programa y en muy pocos minutos otro completamente diferente.

Lo mismo ocurre con los robots, ya que aunque cuenta con otro tipo de programación, su sistema es parecido en cuanto a la flexibilidad y rapidez de programación y modificación.

2. Sistemas de representación de automatismos secuenciales

Icono de iDevice Caso práctico

Imagen donde se ve una persona con un casco en la cabeza y con los brazos cruzados
Fernando se había dado cuenta que la máquina donde trabajaba siempre realizaba la misma secuencia de trabajo, realizando movimientos de las diferentes partes de la máquina de manera secuencial. Veía cómo el dispositivo de descarga no entraba nunca en funcionamiento hasta que la última operación de trabajo no se realizara. Y una vez se descargaba la pieza, diferentes cilindros, actuados uno tras otro, hacían que la pieza llegara a una cesta donde se encontraban todas las piezas mecanizadas por dicha máquinas.

Antes de realizar un programa secuencial en un autómata suele ser conveniente realizar una representación gráfica de cómo se va a realizar la secuencia de trabajo.

Los dos sistemas que vas a ver son:

  • Diagramas Espacio-Fase
  • GRAFCET

2.1. Diagramas Espacio-Fase

En este tipo de representación se representa el ciclo de funcionamiento de un actuador en función de las fases. Cuando para un mando existen varios actuadores que ordenar, estos se representan de la misma manera y dibujándolos uno bajo el otro. La relación queda establecida por las fases. Llamarás fase al cambio de estado de cualquier elemento que es parte de la secuencia a realizar.

Sobre el eje de abscisas se representan las fases y sobre el eje de las ordenadas las acciones que se realizan.

Un diagrama Espacio-Fase tendrá tantas bandas horizontales como actuadores intervengan en el ciclo. Una de las principales características de este tipo de diagrama es que no interviene el concepto del tiempo, ya que el ancho de las bandas verticales es único para todas las fases.

Como ejemplo puedes observar el siguiente diagrama espacio-fase, el cual realiza la siguiente secuencia: A+B+B-A-, es decir, primero avanza el A, después el B, una vez avanzado este retrocede y cuando el B llega hasta atrás retrocede el cilindro A.

 

Diagrama Espacio-Fase
Imagen de un gráfico Espacio-Fase, donde vienen representados los cambios de estado de los elementos de mando y también de los actuadores

En este diagrama puedes observar el funcionamiento de dos cilindros, A y B. Los cuales tienen dos finales de carrera cada uno, a0 y a1 en el cilindro A, que indican a su vez cuando está el cilindro A retrocedido (a0) y cuando está el cilindro A avanzado (a1). En el caso del cilindro B, son los detectores b0 y b1, los cuales indican cuando el cilindro B está retrocedido (b0) y avanzado (b1).

Este diagrama representa la secuencia:

Antes de pulsar el pulsador de marcha, los dos cilindros estarían retrocedidos, detectando los detectores a0 y b0. En el momento de pulsar la marcha avanzaría el cilindro A, cosa que ocurriría en la Fase 1. En la Fase 2, ya con el cilindro A avanzado, estaría el detector a1 activado, con lo que avanza el cilindro B. En la Fase 3, estaría el cilindro B avanzado, con lo que b1 también estaría detectando. En ese instante se retrocedería el B, con lo que b1 deja de detectar, llegando a la Fase 4, en el cual vuelve a detectar el b0 que indica que el cilindro B ha llegado a su posición de retroceso. Y por último retrocedería el cilindro A, estando hasta la Fase 4 activado el detector a1, y pasando en la Fase 5 a activarse el detector a0.

 

Hay dos líneas horizontales en cada representación del estado de cada elemento. La línea de abajo representa que el cilindro se encuentra retrocedido. Y la línea de arriba, en cambio, que el cilindro se encuentra avanzado.

En el gráfico de señales de mando ocurre más o menos lo mismo, siendo la línea horizontal de abajo el que indica que ese elemento de mando no está activo (no está detectando, no está pulsado, etc.) y la línea de arriba el que indica que ese elemento está activo (está detectando, está pulsado, etc.).

2.2. GRAFCET

GRAFCET (Gráfico de Control de Etapas de Transición) es una representación gráfica secuencial. Más que un lenguaje es una representación gráfica de la secuencia a realizar, pero siempre como apoyo del lenguaje de programación, sin funcionar por si solo únicamente. Se representa por etapas o fases. Siendo en cada etapa donde se ejecutan las acciones, eso sí, solamente cuando las etapas correspondientes estén activadas. Entre dos etapas hay una transición. En la transición hay una condición que se debe de cumplir para que pase de una etapa a otra etapa. Lo cual quiere decir que después de una etapa siempre hay una o varias transiciones, y después de cada transición siempre debe ir una o varias etapas.

Representación en GRAFCET

En esta imagen se observa cómo se representan las etapas, líneas y transiciones en el lenguaje GRAFCET.

La representación GRAFCET se realizará de la forma en la que aparece en la imagen. Siendo los cuadrados la representación de las etapas, y la línea vertical entre las uniones de etapa con etapa, la representación de las transiciones.

 

 

 

Aplicando la representación GRAFCET al ejemplo que has visto en el apartado de Diagramas Espacio-Fase, quedaría de la siguiente manera:

Ejemplo GRAFCET
En esta figura se observa la misma secuencia que en el ejemplo que aparece en el apartado diagrama espacio-fase pero en este caso utilizando el lenguaje GRAFCET.

Esta secuencia GRAFCET representa el ciclo A+ B+ B- A-, es decir, avance del cilindro A, avance del cilindro B, retroceso del cilindro B, y por último, retroceso del cilindro A, respectivamente.

La etapa 0, es la etapa inicial. Se está en la etapa 0 cuando se encuentra en condiciones iniciales. Entre etapa y etapa hay transiciones. Esas transiciones son condiciones que debe de cumplir el sistema para que pase de una etapa a otra. Y cuando se pasa de etapa, la etapa que estaba activada anteriormente se desactiva. Con lo que ni puede ni debe de haber dos etapas (o más) activadas. Solamente puede haber una etapa activa.

Se pasrá a la etapa 1, cuando se pulse el pulsador de marcha, que es la transición entre la etapa inicial 0 y la etapa 1. Cuando eso ocurra, avanzará el cilindro A, que es la única acción que se ejecuta cuando se activa la etapa 1. Pero si se necesitara que se ejecutaran más acciones no habría ningún problema, la diferencia es que en esa etapa en vez de ejecutarse una, se ejecutarían varias a la vez.

En la segunda etapa avanza el cilindro B, y eso ocurrirá cuando estando la etapa 1 activada detecte el detector a1, pasando así a la segunda etapa.

Icono de IDevice de pregunta Autoevaluación

Después de observar el funcionamiento del GRAFCET en sus dos primeras etapas...

¿Cuándo crees que retrocederá el cilindro B?

Al estar activado la etapa 3 y cuando detecte el detector b0.
Al estar activado la etapa 2 y cuando detecte el detector b1.

¿Y qué ocurrirá cuando esté activa la etapa 4 y detecte el detector a0?
Se termina la secuencia y no vuelve a comenzar otra vez.
Se termina la secuencia, pero al pulsar el pulsador de marcha volvería a ejecutarse la secuencia otra vez.

3. Controladores Lógicos Programables (PLC)

Icono de iDevice Caso práctico
Imagen donde aparece el autómata CQM1H de Omron.
Pedro y Fernando siempre habían escuchado que las máquinas tenían un control numérico y en su defecto un autómata, pero ¿realmente qué es lo que hace un autómata? eso se preguntan, ya que en sus estudios de FP no se centraron mucho en el mundo de autómatas y de lo que vieron tampoco lo recuerdan del todo bien, ya que en el trabajo que han desempeñado hasta ahora no tenía nada que ver con eso.

El PLC (Control Lógico Programable) o autómata programable, apareció con la misión de eliminar el enorme costo que significaba el realizar todo un sistema automatizado de control basado en relés a finales de los años 60, añadiendo una gran flexibilidad a la hora de realizar un automatismo, pudiendo así modificarlo sin tantas complicaciones como si fuera un automatismo cableado.

La fecha de creación del PLC coincide con el comienzo de la era del microprocesador y con la generación de la lógica cableada modular.

En su momento los autómatas únicamente controlaban salidas a partir de una lógica y de unas entradas, hoy en día los autómatas están ganando capacidades que solían ser dominio exclusivo de los ordenadores.

3.1. Definición y función de un PLC

Un PLC o autómata es un equipo electrónico programable con el que se puede controlar máquinas, aunque también se puede utilizar para todo tipo de control, como por ejemplo, en la domótica.

Imagen donde se observa un automáta S7-300 de Siemens

El PLC se inició como un reemplazo de todos los automatismos eléctricos que se realizaban y se iban complicando a medida que se necesitaba incorporar muchas condiciones de trabajo. Hoy en día casi la inmensa mayoría de máquinas que necesitan una automatización llevan un PLC para dicho control y gestión, ya sea incorporado en un CNC o por solitario. Son los cerebros de la inmensa mayoría de la automatización, procesos y máquinas especiales en la industria.

Se puede decir que un PLC es como un pequeño ordenador industrial que ha sido especializado para utilizarlo en un ambiente industrial. En su esencia, un PLC mira sensores digitales y analógicos y demás elementos conectados en su entrada, lee su programa de control, y una vez hecho esto es capaz de controlar mediante sus salidas, válvulas, luces, relés, servomotores, etc. y todo esto en muy pocos milisegundos.

Icono de iDevice Para saber más
Puedes consultar qué es un PLC en la siguiente dirección: ¿Qué es un PLC?

3.2. Partes de un PLC

Partes de un PLC
Imagen de un autómata especificando las diferentes partes de las que se compone

Los autómatas programables se componen básicamente de tres partes: Entradas, CPU (Unidad Central de Procesamiento) y las Salidas.

Las entradas se encargan de recoger información externa del autómata y lo adapta y codifica para la CPU. Esa información que llega mediante las entradas, además del programa realizado y almacenado en la memoria, es procesado por la CPU, una vez ejecutado todo esto se encarga de activar las salidas. Y una vez hecho esto, las salidas realizan el trabajo inverso a las entradas, decodificando las señales que llegan desde la CPU, amplificándolos y mandándolos a los actuadores (relés, lámparas, etc.).

La memoria, donde se encuentran las instrucciones del programa, se divide en dos bloques. Por un lado está la memoria ROM (Read Only Memory), en la cual se almacenan programas para el correcto funcionamiento del sistema, es decir, los programas que controlan el correcto funcionamiento del autómata. Siendo dichos programas inaccesibles al usuario final. Y por otro lado está la memoria RAM (Random Access Memory), la cual se puede dividir en otras dos áreas: Memoria de datos (donde se almacenan los estados de las entradas, salidas y variables internas) y Memoria de usuario (en el que se almacena el programa con la que trabajará el autómata).

Para que todo este proceso funcione y todos los elementos citados funcionen, es necesario una fuente de alimentación para abastecer a la CPU y a los diferentes partes que lleva el autómata.

Las entradas y salidas pueden ser digitales, analógicas o especiales. Las E/S digitales presentan dos estados diferentes: presencia o ausencia de tensión, on u off, etc. Es decir, solo se tiene en cuenta si hay o no hay tensión, como si se trabajara con lógica binaria. La tensión con la que trabajan suele ser de 5V DC, 24VDC, 48VDC y 220V AC, siendo la de 24 de corriente continua la más común y más usada.

Las E/S analógicas convierten una señal analógica, ya sea de tensión o corriente, que equivale a una magnitud física (presión, temperatura, nivel, flujo, etc.), en una señal binaria. Para eso suelen llevar un convertidor analógico-digital (A/D). Con lo que la CPU realmente trabaja con un valor binario equivalente a la magnitud física recogida por el sensor.

Las E/S especiales se utilizan en situaciones en las cuales las E/S vistas no sean muy efectivas. Es decir, en aquellas donde el programa necesita de muchas instrucciones o también en aquellas donde por el protocolo utilizado se necesita de dichas entradas para recoger el dato transmitido (tren de impulso, motores paso a paso, etc.). Por ejemplo, en las entradas de contaje rápido, donde el cableado va directamente conectado a dicho entrada el cual lleva un contador interno; siendo su funcionamiento ajeno al ciclo normal del autómata.

Icono de IDevice de pregunta Autoevaluación
Si los autómatas, básicamente, se componen de entradas, salidas y CPU. ¿Crees que existen autómatas que solamente estén formados por esos elementos?
Si.
No.

3.3. Gamas de PLCs

A la hora de elegir un autómata, lo primero que se deberá de ver es para qué aplicación se va a utilizar, es decir, saber que aplicación va a controlar y gestionar el autómata.

No todas las aplicaciones son iguales, ni todas las máquinas. Algunas aplicaciones o máquinas necesitan de un autómata que sea capaz de realizar operaciones más complicadas que otras. Y otras aplicaciones con solamente controlar una serie de entradas y activar las salidas correspondientes, es suficiente. Lo cual quiere decir, que en los dos casos expuestos no es necesario utilizar el mismo modelo de autómata. Ya que a mayor gama de autómata, a la vez que aumenta la capacidad en sus prestaciones, también aumenta su precio.

Existen dos tipos de autómatas según la estructura de éstas. Los compactos y los modulares.

Autómata compacto
Imagen de un autómata compacto de la casa Siemens

 

Los autómatas compactos tienen todos los elementos (fuente de alimentación, CPU, memorias, entradas/salidas, etc.) en un solo bloque. En cambio, los autómatas modulares tienen la estructura general dividida en bloques (módulo de CPU, módulo de entradas/salidas, etc.).

Los autómatas modulares dan la posibilidad de hacer ampliaciones e ir añadiendo diferentes módulos si se requieren más entradas/salida, algún módulo de comunicación o incluso algún módulo de posicionamiento de ejes. En cambio, con los compactos no hay esa posibilidad de expansión que tienen los modulares pudiendo añadir algún módulo de E/S en algunos autómatas. Además, los modulares suelen contener más instrucciones que los compactos, es decir, que en cuando a la CPU también es más avanzado, con más memoria, etc.

Autómata modular
Imagen de un autómata modular, con los módulos de fuente de alimentación, CPU y entradas/salidas

Otra cosa a tener en cuenta a la hora de la elección de nuestro PLC es el modelo a utilizar, ya sea en autómatas compactos o modulares, hay diferentes modelos de PLC-s, las cuales difieren entre ellas en la capacidad de memoria, el número de E/S, el número de funciones especializadas o incluso en la velocidad de procesamiento, entre otras cosas.

Icono de IDevice de pregunta Autoevaluación
Después de que hayas visto que existen autómatas modulares y compactos. ¿Cuál crees que es más adecuado para una automatización?
Compacto.
Modular.
Depende de la automatización.

3.4. Conexionado de Entradas/Salidas de un PLC

Los módulos de E/S suelen llevar necesariamente el conexionado de alimentación, ya sea de corriente continua o corriente alterna, tanto para activar las entradas como las salidas.

Conexión de entradas
Imagen de conexión a un módulo de entradas de diferentes elementos como captadores, pulsadores, etc.

Con las entradas digitales suele ser necesario conectar el cable que lleva la señal negativa (o 0v) al módulo donde se encuentran las entradas, ya que desde las entradas se introduce el polo positivo, e internamente es necesario la diferencia potencial para activar las entradas. Todo esto, siempre y cuando se esté trabajando con lógica positiva.

En este esquema se puede observar cómo se conectan los diferentes elementos, como pulsadores, detectores, etc., en los módulos de entradas. Como se puede observar se conecta al módulo el cable de 0v.

En las salidas digitales, a través de cada salida se obtiene la tensión positiva, (habitualmente +24v) cuando se activen las salidas (si se trabaja con lógica positiva), pero para obtener esa señal positiva, anteriormente se debe de conectar al módulo esa señal positiva, para que después cuando se active la salida, cierre el contacto y ese polo positivo lo esté en la salida correspondiente.

Las salidas pueden ser de diferentes tipos: de relés, de transistor y de triac. Las últimas se utilizan con tensión alterna. Las de tipo relé es como si tuviera un relé interno. Con lo que al activar una salida lo que se haría sería excitar la bobina correspondiente, el cual cerraría su contacto normalmente abierto, por el cual pasaría el polo positivo anteriormente conectado, obteniendo a la salida dicho polo positivo. Las salidas de tipo transistor, el funcionamiento es parecido, simplemente que en este caso el transistor al funcionar como un contacto electrónico, lo que se hace es dejar que conduzca para que tener en la salida el polo positivo. Los de tipo relé, tienen la ventaja de que se puede conseguir más amperaje que en los de tipo transistor, pero la desventaja de su conmutación que es más lenta que las de tipo transistor.

Conexión de salidas
Imagen donde viene represantado el conexionado de salidas de PLC de tipo transistor, conectándolos a los relés auxiliares, con los cuales se accionan las electroválvulas y lámparas

 

En la industria se utilizan a menudo los de tipo transistor, pero luego conectando todas las salidas a unos relés auxiliares. Dejando de esta forma más protegido el transistor que hace que activen las salidas, al tener un consumo bajo la bobina del relé, además de un consumo constante.

3.5. Lenguajes de programación de PLCs

Imagen donde viene represantado el conexionado de salidas de PLC de tipo transistor, conectándolos a los relés auxiliares, con los cuales se accionan las electroválvulas y lámparas

A la hora de realizar un programa de PLC, lo primero que se debe de tener en cuenta es en que tipo de lenguaje se quiere programar, ya que prácticamente todos los autómatas del mercado tienen una serie de lenguajes con las que se podría hacer el programa del autómata.


Dentro de los lenguajes existentes para la programación de autómatas hay: el mnemónico (lenguaje textual), el de funciones (por puertas lógicas) y el de diagrama de relés (parecido a un automatismo eléctrico), además de el lenguaje GRAFCET, aunque este último no es un lenguaje en sí que trabaja como los anteriores, sino que tiene que ir acompañado de alguno de los lenguajes citados.

El más extendido en el mercado es el lenguaje de contactos, el de diagrama de relés, ya que es lo más parecido a un esquema eléctrico, con lo que supone una fácil interpretación.

A continuación verás cómo se programan estos lenguajes.

3.5.1. Mnemónico

El lenguaje mnemónico, o lista de instrucciones, es un lenguaje escrito que consiste en un conjunto de códigos simbólicos, cada uno de los cuales corresponde a una instrucción. Se conoce también como lenguaje de máquina.

Cada fabricante utiliza su propio lenguaje mnemónico.

El lenguaje de lista de instrucciones es conocido como lenguaje AWL en los autómatas Siemens. En la imagen de la izquierda se observa un ejemplo de como sería un programa lenguaje AWL.

Este programa en mnemónico de Omron es el mismo que el del ejemplo de arriba de Siemens. Los dos realizan la misma automatización. Se puede observar la diferencia entre los dos lenguajes de máquina, dejando de lado la manera en la cual se nombran a las distintas partes de la memoria que hay tanto en Siemens como en Omron, como las salidas, entradas o memoria.

En este módulo no te vas a centrar en este tipo de lenguaje, sino en el lenguaje de diagrama de relés, que es el más extendido a la hora de utilizar un lenguaje de programación.

Lista de instrucciones de Siemens
Imagen donde aparece la programación en lenguaje mnemónico de siemens.

Mnemónico Omron
Imagen donde aparece la programación en lenguaje mnemónico de Omron

 

Icono de iDevice Para saber más

Si quieres entender mejor el lenguaje mnemónico de Omron y el lenguaje de instrucciones de Siemens puedes visitar los siguientes enlaces:

Lenguaje de instrucciones Siemens (lenguaje AWL)

Lenguaje mnemónico Omron

3.5.2. Funciones

Este lenguaje es también conocido como lenguaje de bloques lógicos ya que usa simbología de puertas lógicas como la OR, AND, NOT, NAND, NOR, etc...

Estos símbolos usados son iguales o semejantes a los que se utilizan en los esquemas de bloques en electrónica digital.

Funciones Siemens
Imagen donde aparece la programación en lenguaje de funciones de siemens

 

Este programa realizado en lenguaje de funciones (FUP en Siemens), sería el equivalente el mismo programa visto en el lenguaje mnemónico. Este tipo de lenguaje es el menos extendido a la hora de realizar un programa.

3.5.3. Diagrama de relés

El lenguaje de diagrama de relés o ladder es el más utilizado a la hora de programar PLC-s. Este sistema permite realizar los programas con componentes similares a los de una automatización eléctrica. Los programas se dividen en segmentos. Y la CPU lee y ejecuta los segmentos de arriba a abajo y de izquierda a derecha.

Los segmentos tienen dos líneas verticales, entre las cuales van las instrucciones. Esas dos líneas verticales representan la alimentación eléctrica. Siendo el de la izquierda el conductor con tensión y el de la derecha el de la tierra o 0v.

Lo comentado hasta ahora es muy parecido a la representación de un esquema eléctrico y/o de una automatización eléctrica. Pero el funcionamiento no es igual. Ya que mientras en una automatización eléctrica todos los elementos funcionan a la vez al momento de aplicarles una diferencia de potencial, en este caso, los segmentos se ejecutan de forma secuencial, desde arriba hacia abajo.

En el ejemplo de programación de diagrama de relés de Siemens (es el mismo programa que el que aparece en el apartado de Mnemónico y Funciones), puedes observar como se programa en diagrama de relés. En este caso no se ejecutan, o se leen, los cuatro segmentos a la vez, si no que iría en orden, desde el segmento 1 hasta el segmento 4.

En el ejemplo de programación de diagrama de relés de Omron puedes observar que no hay mucha diferencia respecto al de la programación en Siemens. Varía en la representación de algunas instrucciones, pero la estructura de segmentos y las instrucciones básicas se representan casi de la misma manera.

 

Diagrama de relés de Siemens
Imagen donde aparece la programación en lenguaje de diagrama de relés de siemens
Diagrama de Relés de Omron
Imagen donde aparece la programación en lenguaje de diagrama de relés de Omron

 



 


 

 

 

 

 

 

 

 

3.5.4. Grafcet y tendencias ( alto nivel, ..)

Imagen de una ventana del programa visual basic, en el cual se puede ver el código de un programa.

Además de estos tres tipos de lenguajes en la programación de autómatas, existen otros como el lenguaje GRAFCET anteriormente citado, aunque propiamente dicho, el GRAFCET no se considera como un lenguaje como tal, si no como una ayuda en forma de representación gráfica a la hora de programar automatizaciones secuenciales, pero siempre utilizando los otros lenguajes de programación como base.

Algunos fabricantes dan la opción de utilizar esta programación en GRAFCET. Pero no todos.

Además de los tipos de lenguajes mencionados existen otros, como los de alto nivel. Gracias a que las CPUs de los autómatas cada vez son más rápidas y más potentes se están implementando lenguajes de programación que anteriormente estaban reservadas para miniordenadores industriales.

Con lo que este tipo de lenguaje de alto nivel mezcla instrucciones tradiciones de PLCs como SET, RESET, etc., con símbolos matemáticos, además de lo que realmente hace que el lenguaje sea de alto nivel, es decir, con posibilidad de programar por bloques o subrutinas con variables locales o globales y también con estructuras de cálculo repetitivo y condicional, tales como:

  • FOR ... TO
  • WHILE
  • IF ... THEN ...ELSE

Este tipo de programación es muy parecido al lenguaje informático tipo PASCAL, C, BASIC, etc. empleado en el mundo informático.

En cualquier caso, este tipo de lenguaje de alto nivel da posibilidades adicionales a la hora de programar, con el que se puede, si así se desea, utilizar este lenguaje de alto nivel o también utilizar solamente las formas básicas de contactos/bloques o lista de instrucciones: en otras palabras, estos lenguajes avanzados nunca constituyen el lenguaje básico de un autómata, papel que queda reservado a la lista de instrucciones o al diagrama de contactos.

3.6. Programación de PLCs

Antes de ver cómo se programan los autómatas es conveniente entender el funcionamiento de un PLC.

Los autómatas no tienen por qué estar necesariamente ejecutando el ciclo del programa que se ha realizado. Para eso suelen tener un selector con el cual se pone el autómata en ejecución (RUN) o parado (STOP).

Los programas internos almacenados en la memoria ROM son los encargados de decirle al microprocesador lo que debe de hacer al arrancar, durante el proceso y también al apagar el autómata.

Una de las cosas de las que se encarga es la de controlar el funcionamiento del programa que se ha realizado. En dicho control se incluye el control del tiempo establecido como máximo para ejecutar dicho programa (llamado watchdog). Si al ejecutarse el ciclo de nuestro programa supera este tiempo mandaría un error al procesador, enviando este la CPU a modo STOP en algunos casos y ejecutando otro ciclo en otros.

Imagen donde viene explicado el funcionamiento de un autómata cuando arranca y cuando está en ejecución

Pero, ¿cómo funciona el programa introducido en la memoria del autómata para que controle, ejecute y gestione la aplicación para el cual se ha programado?

Lo primero que hacen los autómatas, una vez arrancados, es realizar una comprobación de las conexiones y memorias además de poner el watchdog a 0. Después realiza una lectura de todas las entradas que tiene (si están activados o desactivados) y almacena en una memoria la imagen de estas. Ya que con esta imagen de las entradas ejecutará el programa. Una vez hecho eso, el siguiente paso es de la lectura y ejecución del programa almacenado. Según se va leyendo el programa se irán activando o desactivando las salidas que se tengan programadas, pero no activándolas ni desactivándolas físicamente. Con las salidas se realiza el proceso inverso al de las entradas. Las escribe en una imagen, según ejecuta el programa, para que cuando se termine de ejecutar el programa se actualicen todas las salidas al momento, y ahora sí, activando las salidas que estaban marcadas en la imagen y desactivándolas si procede.

Todo este ciclo se repite continuamente mientras el autómata está en modo RUN. Y a todo este ciclo se le llama ciclo de scan.

La mayoría de los autómatas funciona de esta manera, pero no todos. Hay algunos autómatas que su funcionamiento en cuanto a las salidas varía, ya que en vez de esperar a terminar de ejecutar el programa, los activa o desactiva (las salidas físicas) al momento, según se va ejecutando el programa.

Icono de iDevice Debes conocer

En la programación de autómatas se utilizan instrucciones para bits, para bytes, para palabras como para doble palabras. Con lo que es necesario saber que un bit es un dígito binario que puede tener como valor 0 o 1.

Byte u octeto, es la resultante de la combinación de 8 bits. Dicho de otra forma, 1 byte = 8 bits.

Palabra o word, es la resultante de la combinación de 16 bits. Dicho de otra forma 1 word = 16 bits = 2 bytes.

Y una doble palabra o doble word, es la resultante de la combinación de 32 bits. Dicho de otra forma 2 words = 32 bits = 4 bytes

En el siguiente enlace de wikipedia podrás ver más detalladamente lo que es un bit, byte, palabra y otros términos utilizados aquí: Wikipedia 

3.6.1. Funciones lógicas

Las variables internas son aquellas en las cuales al escribir no sucede nada, sin activarse ninguna salida. Se les llaman también variables auxiliares o marcas auxiliares, y como el nombre indica solo se utilizan de modo auxiliar, para hacer el programa de autómata más sencillo de realizar y de entender, agrupando condiciones, etc.

Las variables de sistema son aquellas en las cuales se recibe información enviada desde la CPU, si hay alguna alarma o fallo interno, etc., en definitiva, el estado del autómata y su periferia.

Funciones lógicas de bits
Representación de un contacto abierto en la programación por diagrama de relés

Contacto NA

Se activa cuando el bit que representa se pone a 1 lógico, puede ser una entrada/salida, una variable interna o variable de sistema. Es una instrucción de lectura, que solamente cierra o abre el contacto dependiendo cómo esté el bit que representa.
Representación de un contacto cerrado en la programación por diagrama de relés

Contacto NC

Se activa cuando el bit que representa se pone a 0 lógico, puede ser una entrada/salida, una variable interna o variable de sistema. Al igual que un Contacto Normalmente Cerrado, es una instrucción de lectura, que solamente cierra o abre el contacto dependiendo cómo esté el bit que representa.
Representación de una bobina en la programación por diagrama de relés
Asignación o Bobina
Esta instrucción se activa cuando la resultante de las condiciones puestas a su izquierda es un 1 lógico. En ese instante el bit que representa la bobina se pone a 1 lógico. Si no fuese el caso de que la resultante de las condiciones se cumpliera, la bobina escribiría un 0 lógico en el bit que representa. Dicho de otra manera, la bobina escribe el bit que representa con un 1 lógico o un 0 lógico, siempre y cuando la resultante de las condiciones que están a su izquierda se cumplan o no, respectivamente. Pero siempre escribe un 1 o 0 lógico.
Representación de la instrucción Set en la programación por diagrama de relés.
Bobina SET Esta instrucción se activa cuando la resultante de las condiciones puestas a su izquierda es un 1 lógico. Cuando eso sucede, la instrucción SET pone a 1 lógico el bit que representa, permaneciendo a 1 lógico cuando la resultante deje de ser un 1 lógico. La única manera de hacer que ese bit vuelva a ponerse a 0 lógico, es escribiendo con alguna otra instrucción ese 0 lógico, sino permanecerá a 1 lógico.
Representación de la instrucción Reset en la programación por diagrama de relés.
Bobina RESET
Esta instrucción se activa cuando la resultante de las condiciones puestas a su izquierda es un 1 lógico. Cuando eso sucede, la instrucción RESET pone a 0 lógico el bit que representa, permaneciendo a 0 lógico cuando la resultante deje de ser un 1 lógico. La única manera de hacer que ese bit vuelva a ponerse a 1 lógico, es escribiendo con alguna otra instrucción ese 1 lógico, sino permanecerá a 0 lógico.
En el lenguaje de diagrama de relés, al igual que en los esquemas eléctricos, la representación en paralelo significa el O lógico, y la representación en serie el Y lógico. Es decir, si se ponen dos contactos en paralelo, cuando cualquiera de las dos represente un 1 lógico, la resultante será un 1 lógico. Y cuando los dos contactos estén en serie, los dos contactos deberán representar un 1 lógico para que la resultante sea un 1 lógico.
Icono de IDevice de pregunta Autoevaluación

¿Cuándo se pone a 1 lógico el bit A124.0?

Ejercicio PLC Siemens
Diagrama de relés con una bobina y tres contactos uno de los cuales es cerrado

 

 

 

 

Cuando el bit E124.1 está a 1 lógico y el bit E124.2 está a 0 lógico.
Cuando el bit E124.3 está a 0 lógico.
Cuando el bit E124.1 está a 0 lógico y el bit 124.2 está a 1 lógico.
Cuando el bit E124.1 está a 0 lógico o el bit 124.2 está a 1 lógico.

¿Cuándo se pone a 1 lógico el bit M0.1? ¿y cuándo a 0?

Ejercicio PLC Omron
Diagrama de relés con una instrucción de SET y otra de RESET, cada uno en un segmento y con contactos abiertos como condiciones para activar dichas instrucciones

 

 

 

El bit M0.1 se pone a 1 lógico, cuando el bit M0.0 o el bit E124.3 están a 1. Y permanecerá a 1 hasta que el bit E124.0 y el bit E124.2 se pongan a 1.
El bit M0.1 se pone a 1 lógico, cuando el bit M0.0 y el bit E124.3 están a 1. Y permanecerá a 1 hasta que el bit E124.0 y el bit E124.2 se pongan a 1.
El bit M0.1 se pone a 1 lógico, cuando el bit M0.0 y el bit E124.3 están a 1. Y permanecerá a 1 hasta que el bit E124.0 o el bit E124.2 se pongan a 1.
El bit M0.1 se pone a 1 lógico, cuando el bit M0.0 o el bit E124.3 están a 1. Y permanecerá a 1 hasta que el bit E124.0 o el bit E124.2 se pongan a 1.

3.6.2. Ciclos secuenciales (Pasos a seguir)

Lo que hay que tener en cuenta para realizar un ciclo secuencial es:

  • Asignar una variable interna por cada etapa que exista.
  • No permitir que se active más de una etapa. Cuando se cumplan las condiciones para activar la siguiente etapa, desactivar la que estaba activa, para que tampoco haya algún momento en la secuencia en la cual no haya ninguna etapa activada.
  • Las etapas posteriores se activarán cuando se tenga la anterior activada (imprescindible para que sea una secuencia) y se haya cumplido la condición de transición.
  • Una vez realizado la secuencia y activar las etapas cuando fuese oportuno, utilizar dichas etapas para activar las salidas que son los que realizan las acciones necesarias.

Un ciclo secuencial es posible realizarlo sin utilizar el lenguaje GRAFCET. Lo único necesario para realizar dicha secuencia es utilizar la metodología utilizada por el sistema GRAFCET, y aplicarlo en el lenguaje de diagrama de relés o ladder.

En el siguiente ejemplo, puedes observar cómo se realizaría un ciclo secuencial programado en lenguaje ladder o diagrama de relés:

Esquema neumático de dos cilindros y dos finales de carrera cada uno, con dos electroválvulas 5/2 pilotadas por dos bobinas

Los elementos a mover son dos cilindros, que contienen dos finales de carrera cada uno. Cada final de carrera indica si el cilindro está avanzado o retrocedido. Y cada uno de ellos está conectado a su entrada de autómata (en Siemens las entradas empiezan por la letra E, las salidas por la letra A y las variables internas, marcas auxiliares, por la letra M). Como preaccionamientos hay dos electroválvulas accionadas por bobinas, las cuales se excitan mediante las salidas de autómata. La secuencia a realizar será: A+ B+ B- A-

En la entrada E124.4 es donde está conectado el pulsador de marcha, con el cual comenzará el ciclo.

Como se ha comentado en los puntos a tener en cuenta, lo primero que se debe de hacer es asignar una variable interna a cada etapa. Como en esta secuencia se tienen 4 etapas, se necesitan 4 bits. Las marcas o variables internas para cada etapa serán: M0.0 (Etapa 1), M0.1 (Etapa 2), M0.2 (Etapa 3), M0.3 (Etapa 4).

Icono de iDevice Autoevaluación

En el siguiente ejercicio verás el programa ladder de esta secuencia. Junto con el programa ladder verás la explicación de dicho programa, en el cual hay algunas casillas vacías que tendrás que rellenarlos con las palabras que tienes a continuación:

Desactivará, A+, activará, E124.4, iniciales, transición, primera, 2, cilindro, cumpla, entrada, E124.0, ninguna, cuarta, ordenado, E124.3

Programa en ladder de una secuencia, que contiene instrucciones de bobina, set, y reset, además de contactos abierto y cerrados

La primera etapa (M0.0) se cuando los cilindros estén en condiciones (retrocedidos) y cuando se pulse el pulsador de marcha ( ). La etapa 1 permanecerá activa hasta que se active la siguiente.

La segunda etapa se activará cuando esté aún la etapa activa y se cumpla la condición de que haya acabado lo que se le ha ordenado en la primera etapa. En la primera etapa la acción a realizar es , con lo que se sabrá que ha avanzado el cuando la E124.1 dé un 1 lógico. Con lo que en ese instante se activará la etapa , y a su vez, se desactivará la etapa 1 para que no haya en ningún momento más de una etapa activa.

La tercera etapa se activará (y se la segunda etapa) utilizando la misma lógica, es decir, cuando esté la segunda activa y haya terminado lo ordenado en esa segunda etapa. En este caso, al ser B+ la orden que se da en la segunda etapa, se sabrá que habrá terminado cuando la entrada esté a 1.

La cuarta etapa se activará cuando esté la tercera activada y se la condición de , que en este caso es que haya terminado de realizar el movimiento en la tercera etapa. Eso se dará cuando se active la entrada E124.2, desactivando a su vez la tercera etapa. Una vez activada la y última etapa, no queda más que desactivarla para que no haya ninguna etapa activa cuando termine el ciclo. Para desactivarla se utiliza la misma lógica que en la anteriores, con la única salvedad de que ahora ya no hay etapa más que activar después de la cuarta etapa. Es decir, esa cuarta etapa se desactivará cuando esté aún la cuarta activa y haya terminado de realizar lo ordenado en la cuarta etapa, A- ( ).

  

Lo visto hasta ahora es simplemente la programación de la secuencia que se quiere que realice la aplicación. Pero como se ha podido observar solamente se han activado las variables internas, y para que haya alguna acción es necesario activar las salidas.

Con la programación de la secuencia, se ha conseguido activar y desactivar las etapas. Pero como cada etapa activa ya tiene su acción a realizar, ahora lo que hay que hacer es enlazar las etapas con las acciones, sabiendo que para accionar algo es necesario activar las salidas del autómata.

Por ejemplo: Cuando se activa la salida A125.0 se consigue que el cilindro A avance, y sabiendo que el cilindro A hay que avanzar en la primera etapa se enlaza la salida A125.0 con la variable M0.0, como está en el programa, lo mismo con las otras tres. La salida A125.1 retrocede el cilindro A, cosa que se da en la cuarta etapa, es decir, con M0.3 activa. La salida A125.2 avanza el cilindro B, es decir, hay que enlazar dicha salida con la etapa 1, M0.1. Y por último, la salida A125.3, que retrocede el cilindro B, con la etapa 2, M0.2

3.6.3. Temporizadores

Los temporizadores son instrucciones que introducen la variable del tiempo en su funcionamiento y activación.

Los autómatas suelen tener una memoria específica para los temporizadores y/o contadores, por lo cual, suele ser limitada la cantidad de temporizadores a utilizar en un programa. Eso sí, cada temporizador tiene que ir numerado, y esa numeración no se puede repetir con otro temporizadores.

De un fabricante a otro, suele variar la cantidad de diferentes tipos de temporizadores existentes. Pero, prácticamente, en todos los autómatas existen dos tipos de temporizadores: el de retardo a la conexión y el de retardo a la desconexión. Aunque no haya más tipos de temporizadores no es un problema excesivamente grave, ya que con un sólo tipo de temporizador se puede realizar cualquier tipo de temporización, simplemente con saber cómo funciona el temporizador y acompañándolo con un programa.

Tanto el temporizador con retardo con conexión como el de desconexión, funcionan como los relés temporizados con retardo a la conexión y a la desconexión eléctricos, respectivamente.

El temporizador con retardo a la conexión, como su propio nombre indica, retarda la conexión, es decir, el temporizador se activa una vez pasado el tiempo.

Pero ¿cuándo empieza contar el tiempo? Al igual que un relé temporizado con retardo a la conexión que empieza a temporizar cuando se excita su bobina, esta instrucción empieza a contar el tiempo cuando se cumplen las condiciones puestas a la entrada del temporizador (en la patilla de activación) y se tiene un 1 lógico. En ese instante el temporizador no se activa, pero empieza a temporizar y una vez terminado la temporización se activa. Siempre y cuando haya permanecido el 1 lógico en la patilla de activación, ya que de no ser así, dejaría de temporizar y también se desactivaría, si estuviese activado.

Temporizador con Retardo a la Conexión de Omron
Imagen de un temporizador de omron junto con el diagrama de tiempos

 

En este ejemplo, podrás observar el funcionamiento de un temporizador con retardo a la conexión de Omron.

La condición de entrada del temporizador es la entrada 00.00. Cuando ese bit se ponga a 1 lógico el temporizador empezará a contar los 5 segundos que tiene preestablecidos y si permanece a 1 cuando pasen esos 5 segundos se activará el temporizador, con lo cual se activará la salida 100.00. En el momento que la entrada 00.00 se desactive y pase a 0, el temporizador se desconectará y por lo tanto, también la salida 100.00. Si la entrada 00.00 se desactiva antes de que transcurran los 5 segundos, el temporizador al no activarse, tampoco se activará la salida 100.00.

 

El temporizador con retardo a la desconexión, como su propio nombre indica, retarda la desconexión, es decir, el temporizador se desactiva una vez pasado el tiempo.

Pero ¿cuándo empieza contar el tiempo? Al igual que un relé temporizado con retardo a la desconexión que empieza a temporizar cuando se deja de excitar su bobina, esta instrucción empieza a contar el tiempo cuando se dejan de cumplir las condiciones puestas a la entrada del temporizador (en la patilla de activación), es decir, cuando pasa de tener un 1 lógico a tener un 0 lógico. El temporizador se activa nada más poner a 1 su entrada y permanece activado hasta que termina la temporización.

Temporizador con Retardo a la Desconexión de Siemens
Imagen de un temporizador con retardo a la desconexión de Siemens junto con el diagrama de tiempos

 

En este ejemplo, podrás observar el funcionamiento de un temporizador con retardo a la desconexión de Siemens.

Cuando la entrada E0.0 se pone a 1 lógico el temporizador se activa y permanece activo, al igual que la salida A100.0. En el instante en cual E0.0 pasa a ser 0, el temporizador empieza a temporizar, pero permaneciendo aún activado el temporizador y, por consiguiente, A100.0. Una vez que pasan los 3 segundos que tiene programados el temporizador se desactiva el temporizador además de la salida A100.0.

 

3.6.4. Contadores

Los contadores son instrucciones que cuentan el número de cambios en la señal de su entrada, en concreto, cuentan la cantidad de veces que pasa de 0 a 1 lógico su entrada. El contaje se puede realizar de manera ascendente o también descendente.

Los contadores en algunos autómatas suelen compartir zona de memoria junto con los temporizadores, con lo que en esos casos hay más limitación a la hora de utilizar contadores (y también temporizadores). En otros los contadores tienen su propia zona de memoria, siendo también limitada, pero en ningún caso dependiente de la cantidad de temporizadores que se utilicen.

Los contadores hay que numerarlos. Cada contador tendrá que llevar un número de identificación que en cada autómata/fabricante se representa de diferente manera.

Dentro de los contadores puedes encontrarte con diferentes tipos de contadores: contadores ascendentes, contadores descendentes y contadores reversibles o ascendentes/descendentes. En algunos autómatas no suele haber contadores ascendentes y descendentes, suele haber solamente uno de ellos.

  • Los contadores ascendentes, van incrementando su valor en 1 cada vez que su entrada varía de 0 a 1 lógico.
  • Los contadores descendentes, van decrementando el valor en 1 cada vez que su entrada varía de 0 a 1 lógico.
  • Y los contadores reversibles, al tener dos entradas, uno para contar y el otro para descontar, realizan la misma tarea que los dos anteriores contadores, es decir, por una entrada incrementa en 1 el valor y por otro decrementa el valor. Normalmente, cuando el contador llega a un valor determinado, anteriormente predefinido, dicho contador se activa, pero no en todos los casos.

Como ejemplo de esta última excepción verás el funcionamiento del contador reversible de Siemens, que es de los más completos en cuanto a su parametrización.

Contador Ascendente/Descendente de Siemens

En el ejemplo del contador ascendente/descendente de Siemens el contador partirá desde 0. Es decir, su valor inicial será 0. En el momento en el que la resultante entre E10.0 y E10.1 pase de 0 a 1 lógico, el valor del contador pasará a 1. En el instante de que vuelva a pasar de 0 a 1 la misma condición pasará el valor del contador a 2. Y así sucesivamente. Este valor del contador se puede obtener a través de las patillas DUAL y DEZ, en hexadecimal y BCD, respectivamente.

Cuando la entrada E5.0 pase de 0 a 1 lógico, el contador decrementará su valor en 1. Pasando a 1 si su valor anterior era 2. Es decir, la patilla ZV del contador es la patilla que hace que incremente el valor del contador y la patilla ZR la que decrementa.

¿Pero, y el estado del contador? El contador estaría siempre desactivado si su valor es 0, si su valor es cualquiera que no sea 0 estará activado. Y en el momento en el que se active el contador, según nuestro ejemplo, también se activará la salida A0.0.

El valor del contador Z0, que es así como se llama el contador en este ejemplo, puede coger un valor determinado, en concreto el valor que se tiene puesto en la patilla ZW (en este ejemplo 5). Lo cual quiere decir, si el contador tiene cualquier valor, dejará de tenerlo y pasará a tener 5, ¿pero, cuándo? Cuando la entrada E0.0 pase a 1 lógico. Es decir, la patilla S cuando se activa, se consigue cargar al contador el valor que se tiene en la patilla ZW. Y por último, la patilla R, es de reset, es decir, pone el contador a 0, cuando esa patilla pasa de 0 a 1 lógico.

 

Icono de iDevice Autoevaluación

En Omron, además del contador ascendente/descendente llamado reversible, existe el contador descendente y su funcionamiento es el que se explica a continuación.

Como verás en la explicación hay casillas vacías, en las cuales tendrás que poner las siguiente palabras:

entrada, procedimiento, Contador, 4, flancos, active

Contador Descendente de Omron
Imagen de un contador de Omron con dos contactos como condiciones, uno para el contaje y el otro para el reset

Este contador de Omron, que está numerado con el número 1, ya tiene predefinido el valor de contaje (5). Con lo que el llegará a contar 5 variaciones de señal de subida (variación de 0 a 1 lógico) en su entrada y en ese instante se activará. El de activación del contador es completamente diferente al de Siemens.

Por defecto, el contador contendrá el valor 5, con lo que cuando se la entrada 0.02, el contador decrementará en 1 su valor, pasando ahora a tener el valor . Y así hasta llegar a 0, que cuando eso ocurra significará que ha habido 5 de subida en la entrada 0.02, activándose el contador número 1. La patilla donde está el contacto normalmente abierto con la entrada 0.03 es la patilla de reset. Cuando la 0.03 pasa de 0 a 1 lógico, el contador se resetea y vuelve al estado inicial, es decir, en este caso pasaría a tener el valor 5.

  

3.6.5. Funciones varias

Además de las instrucciones citadas, existen muchas más en todos los autómatas, las que verás a continuación son algunas de las más utilizadas.

  • Flancos de subida y de bajada

Estas instrucciones detectan variaciones de bit, es decir, las instrucciones de flanco de subida detectan cuándo hay en su entrada una variación de 0 a 1 lógico. Y los de bajada detectan la variación de 1 a 0 lógico. En ese instante la variable interna al que está asociado esa instrucción se pone a 1 lógico, volviendo a pasar a 0 en el siguiente ciclo de scan, ya que en el siguiente ciclo de scan es imposible que se repita una variación en el mismo sentido. Lo cual quiere decir que los bits asociados a estas instrucciones solamente estarán a 1 lógico durante unos milisegundos, el tiempo que tarde en ejecutar un scan o ciclo de programa.


En este programa se puede ver cómo funciona una instrucción de flanco de subida o ascendente, conocido en Omron como DIFU. La variable interna 20.00 se pone a 1 lógico cuando la resultante formado por el paralelo entre 0.08 y 0.12 pase de 0 a 1 lógico. En ese instante la instrucción DIFU detecta un flanco ascendente en su entrada con lo que el bit 20.00 se pone a 1, activando, en nuestro programa, la salida 100.00. El bit 20.00 permanecerá a 1 lógico durante un ciclo de scan como todos los bits asociados a las instrucciones de flanco ascendente y también los de flanco descendente.

  • Instrucción de transferencia

Esta instrucción copia un dato o valor, ya sea una constante o almacenado en una variable, a otra variable. Es decir la fuente puede ser una constante o una variable, pero el destino debe de ser una zona de memoria o una variable. El dato a mover puede ser un byte, una word o una doble word, pero esto varía de un fabricante a otro.

En la imagen puedes observar cómo la instrucción de transferencia de Siemens, llamada MOVE lleva una condición para la habilitación de la instrucción, es decir, solamente hará su trabajo cuando la entrada E124.1 está a 1 lógico. En ese instante moverá el número 0 a la variable MW0.

  • Instrucción de comparación

Esta instrucción compara dos datos para dar a conocer después si un dato es mayor, menor o igual que otro. En algunos autómatas esta instrucción es única obteniendo como resultado la comparación citada, pero en otras como Siemens, existen unas cuantas instrucciones de comparación. Es decir, existen instrucciones de comparación de mayor, de menor, de igual, de menor o igual, y de mayor o igual. Y como resultado dicen si lo comparado es cierto o no.


En otros casos como en el de Omron de este ejemplo se utiliza una instrucción de comparación y es con el resultado con el que se juega. Es decir, hay bits de sistema que las cuales se activan o se desactivan diciéndo si es mayor, menor o igual.

En el ejemplo, la instrucción de comparación se ejecuta cada ciclo de scan, ya que la condición para que se ejecute dicha instrucción es un bit de sistema que siempre está a 1 lógico. El comparador está comparando el valor del contador CNT1 con el canal 160, es decir, con el valor que contiene la variable interna 160 (que es de 16 bits). El resultado se obtiene nada más ejecutar la comparación mediante los bits de sistema. La salida 100.00 se activará cuando el valor de CNT1 sea mayor que valor que contiene la variable 160 y la salida 100.01, en cambio, se activará cuando el valor de CNT1 sea menor que el valor que contiene la variable 160.

Flanco ascendente de Omron
Imagen con la instrucción DIFU de Omron para explicar el funcionamiento de la instrucción de flanco de subida
Instrucción de transferencia de Siemens
Imagen de una instrucción de transferencia de Siemens, en el cual se transfiere el número 0 a MW0, cuando la entrada E124.1 se pone a 1 lógico.
Instrucción de comparación
Imagen de parte de un programa donde se usa la instrucción de comparación para comparar dos datos, y luego según el resultado activar una salida u otra

 

3.7. Interpretación de programas de PLC

S_EVERZ es el temporizador con retardo a la conexión de Siemens. Lo mismo que TIM en Omron.

Z_VORW es un contador ascendente de Siemens.

Icono de iDevice Autoevaluación
Imagen de un programa de Siemens con temporizadores, contactos e instrucciones de set y reset.

Completar la frase explicativa del funcionamiento de este programa seleccionando las opciones adecuadas del siguiente listado:

A125.0, E124.1, E124.2, E124.3, y, o, 4, 3, 2, 1, 0
La salida se activa cuando la entrada la entrada E124.0 se ponen a lógico. Y se desactiva segundos después de que la entrada E124.1 se ponga a lógico, si la entrada E124.3 está a 1, o a los segundos si la entrada E124.3 está a 0.
  
Icono de IDevice de pregunta Autoevaluación
¿Qué es lo que hace este programa?
Imagen de un programa de Omron que realiza una secuencia teniendo como condición el tiempo que transcurre
Un ciclo secuencial.
Activar la salida 101.00 durante 2 segundos, la salida 101.01 durante 3 segundos y la salida 101.02 durante 1 segundo.
Activar la salida 101.00 durante 1 segundos, la salida 101.01 durante 3 segundos y la salida 101.02 durante 2 segundo.

¿Cuándo y durante cuánto tiempo se activa la salida 101.01?
Se activa cuando la entrada 0.00 se pone a 1 lógico y permanece activado durante 1 segundos.
Se activa cuando la entrada 0.00 se pone a 1 lógico y permanece activado durante 2 segundos.
Se activa cuando la entrada 0.00 se pone a 1 lógico y después de que la salida 101.00 haya estado activada, permaneciendo activada durante 1 segundos.
Se activa cuando la entrada 0.00 se pone a 1 lógico y después de que la salida 101.02 haya estado activada, permaneciendo activada durante 1 segundos.
Se activa cuando la entrada 0.00 se pone a 1 lógico y después de que la salida 101.00 haya estado activada, permaneciendo activada durante 2 segundos.
Icono de IDevice de pregunta Autoevaluación

Imagen de un programa de Siemens con un contador ascendente y un comparador de mayor/igual

En este programa hay un contador ascendente (Z_VORW) cuya patilla de contaje es la patilla ZV. Y además hay un comparador de mayor o igual. La comparación siempre se hace preguntando si la entrada 1 es mayor o igual que la entrada 2. Si se cumple esa comparación se activa su salida.

Dicho esto y viendo que la salida A125.0 es la que avanza un cilindro de simple efecto cuando se activa y las entradas E124.0 y E124.1 son donde están conectados los finales de carrera de ese cilindro, el de retrocedido y avanzado, respectivamente.

¿Qué es lo que hace realmente el cilindro con un autómata que contiene dicho programa?

El cilindro avanza cuando detecta el final de carrera que indica que el cilindro está retrocedido y cuando llega a salir del todo y detecta el final de carrera que indica que el cilindro está avanzado espera 20 segundos y retrocede una vez pasado ese tiempo.
El cilindro avanza cuando detecta el final de carrera que indica que el cilindro está retrocedido y cuando llega a salir del todo y detecta el final de carrera 20 veces (el que indica que el cilindro está avanzado) retrocede.
El cilindro avanza cuando detecta el final de carrera que indica que el cilindro está retrocedido y cuando llega a salir del todo y detecta el final de carrera retrocede, realizando dicho ciclo 20 veces.

3.8. Actividades de elaboración y simulación de programas

Los programas de autómatas se pueden realizar a mano y en una hoja cualquiera, pero si se quiere que el autómata tenga en cuenta el programa realizado y trabaje sobre ese programa, es necesario realizar ese programa con el software de programación que suele tener cada fabricante de autómatas.

Esos softwares, muchas veces, advierten de algún error de programación, en cuanto a que alguna instrucción está incompleta y falta por ponerle todos los parámetros o algún segmento mal diseñado. Pero lo que no hace es que un programa mal hecho en cuanto a su funcionamiento, avise de ello, ya que su misión, la del autómata, será ejecutar el programa introducido a su memoria. Y la misión del programador será si hay algún error en el funcionamiento por mala programación, solucionarlo.

Una vez hecho el programa en el software del fabricante del autómata donde se quiere ejecutar dicho programa, el siguiente paso es enviar ese programa al autómata. Para eso se suele utilizar diferentes tipos de comunicación, desde conexión RS232 hasta conexión USB, en el lado del PC. Eso depende de cada fabricante.

Después de enviar el programa hay que testearlo, probar todas las cosas de la máquina, sobre todo seguridades, para que cuando esté trabajando se esté seguro de que no habrá ningún imprevisto.

4. Manipuladores

Icono de iDevice Caso práctico

Imagen donde se observa una cinta transportadora, en la cual se ven cinco parez de zapatillas, que es lo que está transportando la cinta.

Después de ver cómo las máquinas actuales son controladas y realizan operaciones sin que el operario prácticamente le de ninguna indicación, siguiendo las pautas del programa que tiene, Pedro ve como al lado de las máquinas de mecanizados existen una serie de elementos que cargan las piezas en las máquinas para mecanizar y también como una vez terminados los descargan. Son automatismos sencillos, la mayoría con cilindros neumáticos y una cintas que transportan piezas.

La mayor parte de manipuladores que se utilizan en la industria realizan un trabajo indirecto sobre la pieza, es decir, no mecanizan la pieza ni trabajan la pieza, sino que realizan trabajos como carga y descarga, transportes, etc. Aunque uno de ellos, concretamente el robot, sí es utilizado en los procesos de mecanizado, como en soldadura, por ejemplo.

Imagen de un pórtico despatelizador portamangueras de Gaindu S.L., donde se ven el pórtico y las piezas a transportar

El manipulador que se observa en esta imagen es de la empresa Gaindu S.L. Es un manipulador eléctrico, también conocido como pórtico.

4.1. Definición y funciones

Los manipuladores son elementos auxiliares que se utilizan a menudo en la industria. Son sistemas que pueden realizar multitud de funciones mediante un sencillo sistema de control secuencial (programado anteriormente mediante un autómata o similar) o manual.

Los manipuladores neumáticos son muy extendidos en la automatización, para el transporte de piezas de una cinta transportadora a otra o simplemente para carga y descarga de las piezas mecanizadas.

Además de los manipuladores neumáticos existen los manipuladores eléctricos, conocidos como pórticos. Estos pórticos son mucho más precisos que los manipuladores neumáticos, ya que suelen ir equipados con ejes controlados.

Las cintas transportadoras son otro tipo de manipulador, siendo la misión de estas el transporte de las piezas de máquina a máquina en aquellas piezas que precisan de diferentes mecanizados en diferentes máquinas.

Icono de iDevice Para saber más

A continuación podrás observar un video de una maqueta automatizada donde hay un manipulador neumático que se encarga de recoger las piezas y dejarlas en una cinta transportadora.

4.2. Tecnología

La tecnología utilizada en los manipuladores suele ser eléctrica y neumática, aunque también es posible ver la hidráulica, sobre todo en los amarres, ya que necesitan una tecnología que proporcione mayor fuerza que la neumática.

Muchos manipuladores que se utilizan en la industria son manuales, sobre todo las que se utilizan para carga y descarga, pero en la automatización la mayoría suelen utilizar la tecnología neumática y eléctrica.

En este vídeo podrás ver una automatización donde hay unos cuantos manipuladores neumáticos:

4.3. Programación

Imagen donde se observa gente con CPUs y pantallas en las mesas atendiendo

La programación de un manipulador automatizado suele hacerse mediante un autómata. Algunas veces, si la automatización no tiene mucha complicación se suele aprovechar y programar en el autómata de la máquina donde se realizará la carga o descarga mediante dicho manipulador.

Otras veces, al ser el sistema más complicado, se trata como una máquina más con su autómata, con lo que la programación se realiza en un autómata propio para ese sistema automatizado del manipulador.

La programación, al ser en un autómata se puede realizar mediante cualquier tipo de lenguaje visto anteriormente, aunque el más utilizado suele ser el de diagrama de relés.

En las cintas transportadoras y en los manipuladores neumáticos la programación suele ser sencilla, ya que dichas automatizaciones no suelen llevar mucha complicación habitualmente. En cambio con los pórticos, al ser ejes controlados, suele ser necesario realizar dicho control por autómata (e incluso con programación CNC) con las instrucciones necesarias para el control y movimiento.

5. Robots

Icono de iDevice Caso práctico
Imagen donde se observa un robot ABB de 6 ejes
Otra de las máquinas que hay en la empresa es un robot. Tanto Fernando como Pedro saben lo que es un robot físicamente, ya que lo han visto trabajar continuamente. Ven que es capaz de realizar movimientos casi inverosímiles y muy alta velocidad. Pero no consiguen ver como está formado, ni cómo se mueve, ni mucho menos cómo es capaz de realizar los diferentes trabajos que realiza.

En el siguiente vídeo podrás observar una de las aplicaciones para las que se utilizan los robots:

5.1. Definición

Imagen donde se observa un robot de juguete sujetando un lapiz

El robot industrial es un mecanismo poliarticulado dotado de autonomía e ''inteligencia''.

Se puede entender por lo tanto que, de igual manera, su definición sea un poco flexible. Por eso las diferentes asociaciones y federaciones al definir un robot industrial difieren en pequeñas pinceladas, pero lógicamente, convergen en los conceptos más básicos.

Icono de iDevice Para saber más

En el siguiente enlace podrás ver la definición del robot industrial en Wikipedia:

Definición de robot.

5.2. Aplicaciones

Durante estos últimos años, la irrupción de la robótica en la industria, ha sido muy importante. Los principales campos de aplicación de la robótica son:

  • Soldadura: la soldadura es el proceso de unión de piezas metálicas de igual o distintos materiales. Existen varias modalidades de soldadura, siendo la soldadura por puntos y la de arco las empleadas en la mayoría de robots de soldadura que se hallan en funcionamiento actualmente.
  • Manipulación: los trabajos de manipulación se pueden dividir en grupos, que básicamente son los que representan esta aplicación. Grupos, tales como carga y descarga de máquinas, Cintas transportadoras, paletización, etc.
  • Mecanizado: se utiliza en muchas ocasiones para el desbarbado de piezas de fundición sobre herramientas estáticas como esmeriles, y cintas de lija sin fin, corte por chorro de agua, corte por láser y pequeños mecanizados.
  • Montaje y ensamblado: normalmente son robots pequeños que se utilizan básicamente en montaje y ensamblado de pequeña piecería, conjuntos, circuitos impresos etc.


También podrás encontrar otras aplicaciones donde se utilizan los robots, tales como; pintura, encolado y en otros campos menos industriales como en la medicina y la formación e investigación.

En el siguiente vídeo puedes ver un robot realizando trabajos de soldadura:

 

5.3. Componentes de un robot

Imagen de un robot ABB donde los ejes 4, 5 y 6 hacen que esa parte del brazo esté en horizontal
Es evidente que la robótica, como se ha comentado en la precedente unidad, es una técnica que ha evolucionado a pasos agigantados estos últimos años, y por lo tanto, se pretende dar una visión actual de los diferentes elementos que componen el robot industrial.
Las distintas partes de que consta un robot industrial son: estructura mecánica, articulaciones, órganos de transmisión y órganos terminales (pinzas y herramientas).
  • Estructura mecánica: mediante esta actividad se pretende dar información sobre las diferentes partes estructurales físicas de un robot industrial. Sin entrar en especificaciones, simplemente se intenta dar a conocer posibles configuraciones y la función de cada uno de los elementos o componentes.
El estudio de la estructura mecánica del robot se llevará a cabo subdividiéndola en tres partes diferenciadas entre si:
  • Articulaciones: normalmente mecanismos que dan movimiento relativo entre elementos rígidos.
  • Brazo: la estructura básica para conseguir un posicionamiento en el espacio que puede presentarse con diferentes configuraciones.
  • Muñeca: estructura básica para la orientación del elemento terminal.
  • Articulaciones: para conseguir estructuras complejas el primer paso es el de estudiar mecanismos simples para determinar el tipo de movimiento (cinemática) y fuerzas (dinámica), para al final llegar a esa estructura compleja y establecer los grados de libertad que darán naturaleza al robot. Los grados de libertad aumentarán a medida que el conjunto de elementos (mecanismos) conectados en serie formen una cadena articulada. A través de la articulación se produce el movimiento relativo de un elemento respecto a otro. Los movimientos posibles vienen determinados por el tipo de articulación. Las articulaciones más comunes en los robots son la articulación prismática y la de rotación.
  • Articulación prismática: las articulaciones prismáticas permiten el desplazamiento lineal de un elemento en la dirección de un eje. Tienen solo un grado de libertad. El movimiento límite de desplazamiento suele estar definido por el diseño mecánico. Es una de las articulaciones mas comunes, pues existen en la automatización, múltiples tareas en las que los desplazamientos pueden ser básicamente horizontales o verticales.
  • Articulación de rotación: las articulaciones de rotación permiten el giro de un elemento alrededor de un eje. Tienen un grado de libertad por lo tanto. Este tipo de articulación es habitualmente el más utilizado por los robots gracias a su facilidad de construcción y control si se usan máquinas eléctricas como actuadores.
  • Órganos de trasmisión: los transmisores son los elementos o conjunto de elementos que transmiten el par y movimiento. Existen conjuntos de elementos de transmisión tales como, cadenas, correas, juntas cardan, piñón cremallera, husillos, etc.. Cada uno de estos mecanismos tiene sus propias características que se ajustarán a diferentes aplicaciones.
  • Órganos terminales (pinzas y herramientas): los actuadores son elementos que hacen que el robot realice acciones. Estas acciones pueden ser movimientos de articulaciones, acciones de las pinzas y herramientas (coger y dejar piezas, trabajos en piezas, pistola neumática de pintura). Existen varios tipos de actuadores utilizados en robótica que básicamente se dividen en la energía que las hace funcionar.
  • Actuadores neumáticos e hidráulicos: primordialmente, los actuadores neumáticos e hidráulicos son muy parecidos, diferenciándose en tamaños, materiales y robustez. A continuación se presentan unas de las más habituales.
  • Cilindros neumáticos e hidráulicos: son elementos de trabajo lineales y en el campo de la robótica se utilizan fundamentalmente para construcción de pinzas de amarre.
  • Pinzas neumáticas de vacío: a la hora de coger piezas de superficie pulida, laminar y de poco peso son muy usuales las pinzas de vacío. No marcan la pieza y son flexibles ayudando al mismo tiempo en el posicionamiento.
Articulaciones
Imagen donde se observa la parte interna de una articulación del robot
Órganos de trasmisión
Imagen donde se observa la transmisión internamente de un eje
Órganos terminales (pinzas y herramientas)
Imagen donde se ve una pinza que funciona con tecnología neumática en la muñeca del robot

5.4. Configuraciones y Layout

En la actualidad, muy pocas veces un robot industrial trabaja como un elemento aislado, la mayoría de las veces forma parte de un proceso que incluye muchos otros equipos. El robot, es parte principal de una célula robotizada y debe interactuar con otras máquinas.

El primer aspecto analizado en esta unidad didáctica es el diseño de la célula desde el punto de vista del layout (esquema de distribución de los elementos en la planta) y la arquitectura de control (sistema de interacción con las otras máquinas de la célula).

 Imagen donde se ven varios robots trabajando en el montaje de un coche de la planta de BMW en Munich.

Como se puede observar en la fotografía de la izquierda, realizada por www.16valvulas.com.ar, se puede observar el trabajo que desempeñan los robots, además de el de soldadura, en la industria. En concreto es una planta de BMW de Munich y se pueden observar varios robots trabajando en el ensamblaje del carrocería de un coche.

5.4.1. Estructuras típicas

La flexibilidad del robot industrial le permite realizar una infinidad de trabajos .A continuación verás las estructuras mas típicas :

  • Robot en el centro de la célula de trabajo
En esta disposición, el robot se sitúa rodeado del resto de elementos que intervienen en la célula. Es una típica situación para robots de estructura angular, polar, cilíndrica o SCARA.
  • Robot en línea
Cuando uno o varios robots deben trabajar sobre elementos que llegan en un sistema de transporte, la disposición de robots en línea es la más adecuada. Se utilizan normalmente en aplicaciones de soldadura en el sector de automoción.
  • Robot móvil
El robot se puede instalar sobre track , de esta manera, cuando el sistema de transporte de la pieza es continuo el robot pueda seguir a la pieza y trabajar sobre ella. Asimismo, este sistema, otorga al robot maniobrabilidad y por consiguiente dispone de mayor campo de acción o área de trabajo.
  • Robot suspendido

Es posible colocar un robot suspendido o invertido en una célula, en esta situación, se aprovechará mejor el área de trabajo ya que el robot puede acceder a puntos situados sobre su eje vertical. Este sistema es muy utilizado en aplicaciones de proyección de material (pintura, acabado superficial, etc.), corte (chorro de agua, láser, etc.), soldadura de arco.

En el siguiente vídeo podrás ver cómo trabajan los robots en una cadena de montaje de coches:

5.4.2. Diseño de una célula robotizada

Imagen donde se observa un robot con la muñeca cercana al suelo y en posición inclinada hacia delante
El primer trabajo en el diseño de una célula sería evidentemente elegir el robot adecuado, pero para tal objetivo es preciso conocer el posible layout. Es decir, el tamaño y situación física de los diferentes elementos que tomarán parte en el proceso. Elementos tales como alimentadores, mesas, manipuladores, etc., serán situados de manera adecuada en puntos accesibles por el robot (en el interior del área de trabajo del robot).

Para este cometido, quizás no se cuente con el robot in situ, pero existen diferentes softwares que ayudan a simular situaciones 3D de mucho realismo y complejidad. Mediante estos sistemas informáticos, se pueden situar robots y elementos importados desde sistemas CAD con sus dimensiones reales. Asimismo, estos sistemas permiten planificar trayectorias, simularlas y detectar posibles colisiones con los elementos pasivos del entorno.

5.5. Conceptos básicos y características técnicas

Imagen donde se ve un robot desde la parte superior indicando los diferentes elementos que suelen ir el robot, además de la estructura mecánica

Las características de los robots, habitualmente, vienen dadas por los fabricantes, mediante datos numéricos y gráficos. Por lo tanto se deberán conocer los significados de cada concepto.

Posicionamientos, orientación, grados de libertad, capacidad de carga, velocidades, etc., son atributos que los robots poseen y los diferencia a unos de otros.

Seguidamente se estudiarán estas índoles sin intención de profundizar pero si con el objetivo de que se identifiquen, conozcan y sirvan de argumento de comparación.

  • Grados de libertad: el número de movimientos posibles independientes de una articulación se conoce como grados de libertad. A mayor grados de libertad, mayor numero de posicionamientos son accesibles. El número de grados de libertad está asociado al tipo de articulaciones que forman al robot. Generalmente, el número de ejes de rotación y desplazamiento que posee el robot equivalen a su número de grados de libertad. El número de grados de libertad del robot influye decisivamente en su capacidad de manipulación. Los robots manipuladores más usuales en la robótica industrial poseen de 4 a 6 grados de libertad o ejes. También son usados robots con mayor número de grados de libertad para tareas especificas como la pintura, pero suelen ser aportados posteriormente al robot estándar del fabricante. Cuando un robot dispone de más de 6 ejes de libertad se le denomina robot con maniobrabilidad.
  • Representación de la orientación: el posicionamiento de un robot no se completa simplemente con la definición de un punto en el espacio. Habitualmente para completar el dato de un punto de un robot es necesario definir la orientación. Pues es muy posible, que aun estando en el mismo punto el robot esté con diferentes orientaciones sobre él. Por ejemplo: en soldadura al arco es muy importante mantener un ángulo durante la ejecución del cordón para que la soldadura sea adecuada, al coger una pieza se debe de abordar el proceso con ángulos determinados para que la pieza quede bien sujeta, etc.. En estos casos y en muchos otros por tanto, la orientación es clave. La orientación se determina analíticamente por giros de bases de coordenadas que no se estudiarán, pero comentar que existen diversos métodos analíticos para abordar esta cuestión. Simplemente con entender que el robot puede estar en un punto con diferentes orientaciones será suficiente para el desarrollo del curso. El computador de ejes del controlador será el encargado de ahorrar al usuario la tarea de pesados cálculos.
  • Accesibilidad: un robot, como se ha visto en la actividad anterior abarca un área de trabajo que inscribe puntos donde puede llegar. A decir verdad, el robot puede llegar a todos estos puntos pero no de la misma manera. El robot puede acceder con orientaciones diferentes con facilidad a diversos puntos dentro del espacio de trabajo. Al punto donde el robot se posiciona con todas las orientaciones posibles se le denomina punto de accesibilidad total.
  • Velocidad: la velocidad es un factor muy importante para un robot. Es evidente la competitividad que en la actualidad hay en el mundo industrial, y por eso la productividad apremia en muchas de las empresas que tienen instauradas células robotizadas. La mejora de tiempos de producción por lo tanto, es un importante factor en el proceso de cualquier producto.
  • Volumen de trabajo: el volumen de trabajo de un robot determina el volumen de espacio a donde puede llegar la punta del robot sin tener en cuenta la herramienta que lleve montada. Sera el espacio donde se moverá la muñeca del robot. El fabricante suele proporcionar un gráfico donde se muestra este volumen de espacio para cada uno de sus modelos.
  • Error de posicionamiento (repetibilidad): el robot es una maquina que reúne muchas cualidades. La velocidad con la que desarrolla los trabajos, la flexibilidad de adaptación a diferentes procesos tanto por su estructura como por la programabilidad, y varios conceptos más que se comentaron anteriormente durante el curso, lo convierten en una máquina muy completa. Pero en el proceso productivo esto no es suficiente, una de las características más importantes que el fabricante siempre especifica es el error de posicionamiento que comete el robot. Ese error, ofrece al futuro usuario una idea de la exactitud con la cual el robot se posiciona sobre un punto en el espacio. Factores como la longitud de las articulaciones del brazo, la carga manipulada, la configuración del robot.. influyen en el posicionamiento del extremo del brazo. El error se podría notificar con diferentes conceptos como precisión o resolución pero el fabricante habitualmente el dato que suministra es el de repetibilidad y este dato es el que se emplea para comparar entre diferentes robots en exactitud. Podríamos decir que la repetibilidad es la diferencia máxima entre el punto programado y el punto real. Los conceptos de RESOLUCIÓN, PRECISIÓN y REPETIBILIDAD se definen para el extremo de la muñeca del robot y para la configuración del robot más desfavorable (que generalmente equivale al brazo totalmente extendido).
Grados de libertad
Imagen donde se observa el robot con los ejes de rotación 1, 2 y 6 señalizados cómo debieran de girar
Representación de la orientación
Imagen donde se observa la pinza del robot y unos ejes cartesianos que representan la orientanción del robot

 

 

 

 

 

 

 

 

5.6. Programación

Imagen donde se puede leer un texto que pone lo siguiente: ERROR 404! No Programmer Found

La programabilidad, es una de las grandes virtudes intrínsecas de los robots. Mediante esta cualidad, los cambios de procesos son viables con la sola introducción de un código de programa ahondando en la flexibilidad y mejora de tiempos en los procesos de puesta en marcha. Es en la facilidad de reprogramación donde radica la ventaja de la utilización de robots como dispositivos de fabricación flexibles Pero existen diversos métodos de programación que se presentaran y comentarán a continuación:

La programación del robot es la forma que tiene el usuario de indicar la secuencia de operaciones que debe realizar el robot para llevar a cabo la aplicación.

En la programación se determinan funciones tales como, moverse a puntos predefinidos, activación y desactivación de herramientas, sentencias condicionales, instrucciones para la coordinación con otros dispositivos de la célula, etc..

Existe básicamente dos estilos de programación:

  • Programación por guiado o programación ONLINE:

Se programa sobre el robot mediante guiado activo o pasivo. El robot es necesario para la fase de programación.

  • Programación textual u OFFLINE:

Mediante una programación textual o modelado geométrico de la célula en PC, se realiza el código de programa, anteriormente a la puesta en marcha del robot. La presencia del robot no es necesario esta fase de programación y solo se utiliza para la fase de prueba, depuración y puesta en marcha de la aplicación.

En la gran mayoría de los casos, la forma habitual de programar un robot es utilizar una combinación de ambos métodos, utilizando un lenguaje textual para definir la lógica y la secuencia del programa (Programación OFF-LINE ), mientras que la localización de los puntos específicos en el espacio de trabajo se hace utilizando la programación por guiado (Programación ON-LINE).

5.6.1. ON-LINE

Imagen donde aparecen unas cuantas palabras, tales como: google, search, gmail, results, service, etc. Tanto en horizontal como en vertical

El programador mueve el brazo del robot por la trayectoria a seguir, y los puntos de la trayectoria se graban en la memoria del controlador del robot. Se pueden diferenciar entre el guiado activo y el guiado pasivo .

  • Guiado activo

El programador mueve las articulaciones utilizando el propio sistema de accionamiento del robot, controlándolo desde una consola de programación también llamada en el argot teach pendant.

Se pueden programar no sólo los movimientos de las articulaciones del manipulador, sino que también se pueden determinar, velocidades, aceleraciones, y básicamente toda las posibilidades de programación de flujo de programa, condiciones, sentencias para E/S, etc... Como se puede intuir, la consola de programación tiene todas las herramientas para realizar cualquier programa del robot. Pero es lento y tedioso en la práctica y además el robot debe de estar a disposición del programador.

  • Guiado pasivo

Es el programador el que mueve la estructura del robot, con los actuadores desconectados.

Suelen utilizarse para programación de trayectorias continuas. El controlador almacena los puntos realizando un muestreo de los puntos por los que pasa el brazo con una frecuencia determinada. (Robots pequeños).

En casos excepcionales y en algunas aplicaciones en concreto este guiado se puede realizar por maniquí, sobre todo cuando el robot es de considerables dimensiones.

5.6.2. OFF-LINE

Imagen donde se observa un teléfono móvil que contiene 5 teclas en primer plano

La programación textual, es una programación que no necesita del robot físicamente. Se programa en código facilitado por el fabricante y se puede realizar en cualquier PC . Necesita habitualmente un pequeño periodo previo a la puesta en marcha de prueba y depuración del programa. En la actualidad, este modo de programación ha evolucionado junto con el desarrollo de los soportes informáticos, diferenciándose dos sistemas de programación textual, explicita y mediante modelado geométrico .

  • Programación explícita

Cada fabricante de robot ha desarrollado su propio lenguaje de control para sus modelos, desarrollando individualmente sus sistemas. Por lo tanto existen diversos lenguajes en el campo de la robótica industrial.

En este método de programación, el código de las instrucciones, se realiza mediante lenguajes de alto nivel. Las trayectorias del robot, especificadas por sus coordenadas, se calculan matemáticamente. Pudiéndose en la gran mayoría de los casos mediante rutinas y formulación de nuevas instrucciones trabajar a niveles superiores de objeto e incluso tareas.

  • Programación por modelado geométrico

Cabe destacar, que existen diferentes niveles de este modo de programación:

  • Programación manual: el programador especifica las posiciones en el entorno virtual y genera trayectorias entre las posiciones especificadas. Se basa en generar trayectorias y el código restante se realiza mediante el método explícito.
  • Programación automática: el programador indica en modelos geométricos, las superficies o líneas que el robot debe de perseguir o indicando las posiciones, es el software el que se encarga de generar automáticamente la trayectoria. El usuario al igual que en el método manual debe de definir el resto del programa.
  • Programación implícita: en desarrollo en la actualidad por la gran mayoría de los fabricantes, se pretende que se generen automáticamente tanto trayectorias como códigos restantes. Este sistema es también conocido como programación a nivel de tarea. Al software se le encomienda una tarea y se encarga de dividir el trabajo en subtareas y movimientos del robot.

5.7. Sistema de control de posicionamiento y velocidad


¿Cómo sabe el robot su situación y velocidad en cada momento?,¿Cómo repite las posiciones con tanta precisión un día tras otro en el proceso que realiza?

Estas son preguntas que se hace cualquiera que haya visto trabajar o ha trabajado con robots. Las respuestas a estas preguntas son muy importantes, pero suelen ser muy extensas y muy técnicas. Lo importante es conocer el concepto que encierran las respuestas a estas preguntas y se intentará dar respuesta a estas preguntas de manera sencilla y concisa

Básicamente los elementos clave para que el robot conozca su posición en todo momento son tres, el resolver, la tarjeta de memoria y el armario de control (computador y unidad de accionamiento).

  • Resolver: el resolver es un sensor analógico absoluto de captación angular de posición. Se trata básicamente de un transformador rotatorio. Se encarga de captar la posición de cada uno de los ejes del robot.
  • Tarjeta de medida serie: la tarjeta de medida serie es una tarjeta que se encuentra en la base del robot y recibe la información desde todos los resolvers. Unas baterías son las encargadas de mantener la memoria cuando se apaga el robot. Sus funciones son varias , realiza el procesamiento de datos del resolver, Cuenta el número de vueltas del resolver,mantener la información cuando el robot este apagado...
  • Control: el control procesa los datos recibidos de la tarjeta de medida. El valor actual del resolver y nº de vueltas informarán de la posición del eje. La frecuencia de las repeticiones de señales informarán de la Velocidad del eje. Dirección del motor (Desfase entre ondas).

Control
Imagen donde se observa el armario eléctrico del robot, el cual, además de los elementos eléctricos para el funcionamiento del robot, contiene la unidad de control





 

5.8. Calibración

Imagen donde se observar el punto en el que hay que hacer coincidir mecánicamente al eje número 1 para que calibrarlo

El proceso de calibración consiste en la determinación de las posiciones de calibración (posiciones cero) de los ejes, que se utilizarán como las bases de sus posicionamientos.

El robot habitualmente visita varios puntos en el espacio durante un programa. Estos puntos son relativos unos de otros. La única posición absoluta se llama posición de calibración y todas las demás posiciones son relativas a ésta.

Por lo tanto es muy importante definir esta primera posición de calibración (pcalibración) pues el robot se va a mover siempre respecto a ella.

5.8.1. Fina

Imagen donde se observa la etiqueta que suele llevar el robot con los datos de cada eje para realizar una calibración fina

El robot está calibrado en el momento de la entrega. Para eso, el día que se fabricó el robot, los ejes fueron colocados en sus posiciones de calibración específicas y los valores del resolver fueron almacenados en esa situación. Los ejes se colocaron utilizando niveles electrónicos en una situación en concreto. En esta posición también se le efectuaron unas muescas o marcas de coincidencia o se le colocaron unos nonius en cada eje con el anterior o siguiente correlativo.

En su día, los valores de los resolvers en esa situación se midieron y se almacenaron como anteriormente se ha expresado. Estos valores son muy importantes, cada robot poseerá los suyos específicos y se meterán en los parámetros máquina del robot.

Pasos a seguir en un calibración fina:

  1. Colocar el robot en una posición especifica utilizando herramientas concretas como niveles electrónicos, instrumentos de medida, etc.. (Tarea compleja, de especialista y tediosa).
  2. En esa posición (posición de calibración) medir los valores de los resolvers de cada eje.
  3. Guardar los valores e introducirlos como parámetros de máquina.
  4. Especificar al robot, que además, esta es la vuelta cero del resolver desde donde empezará a contar y descontar las vueltas la tarjeta tarjeta de medida serie.

Habitualmente, esta operación no se realizará en casi ninguna circunstancia. Solamente se debería realizar si el robot hubiese tenido percances como:

  • Rotura de los motores.
  • Rotura de reductores.
  • Rotura de resolvers.
  • etc.

 

5.8.2. Actualización de contadores de revolución

En esta actividad presencial se realizará la actualización de contadores de revolución, el cual es necesario saber cómo se realiza, ya que cuando algún eje pierde su posición es necesario realizarlo para que el robot vuelva a trabajar correctamente.

Cuando las baterías, que mantienen en memoria las vueltas que da cada motor de cada eje, se gastan es necesario llevar cada eje a una posición determinada que suele estar marcado físicamente y así poner los contadores de revolución a cero.  Ya que si no se hiciera esto el robot estaría dando error durante todo el rato, hasta que se calibrara.

Si por alguna razón la calibración o actualización de contadores de revolución se hiciera en otra posición diferente, los puntos guardados anteriormente no corresponderían con los actualizados después de la calibración.

5.9. Lenguaje de programación

Imagen donde se observa parte un teclado de ordenador.

El lenguaje de programación es el idioma con el que se comunica al robot las acciones que debe realizar. Cada fabricante de robot posee su propio lenguaje de programación por ejemplo el lenguaje de programación de ABB es el Rapid , el de Fanuc es el TPE .

Dentro del lenguaje de programación se distinguen distintas instrucciones dependiendo de su función :

  • Instrucciones de movimiento.
  • Instrucciones de Entrada/Salidas.
  • Instrucciones de flujo de programa.

5.9.1. Estructura de programa

Imagen de una estructura vertical que estaba al lado del pabellón de Europa de la Expo'92 donde había estructuras que simulaban chimeneas del monasterio de la Cartuja. Este es visto al pasar por debajo

El lenguaje de programación obliga a mantener una estructura concreta. Se tomará como ejemplo el lenguaje RAPID de los robots ABB.

El código de programa en RAPID se presenta siempre con la misma estructura.

  • Cabecera: es el encabezamiento obligatorio que se debe de usar en todos los programas.
  • Declaración de variables: en este apartado se dará nombre, tipo y valor a los datos que posteriormente se usarán.
  • Instrucciones: son los comandos con los cuales se dan órdenes al robot para que realice alguna tarea, ya sea movimiento, supervisión, espera etc.

5.9.2. Instrucciones de movimiento

Imagen de una mesa de billar con tres bolas: blanca, roja y naranja.  Viéndose también el palo de billar que golpea a la bola blanca
Las instrucciones de movimientos son aquellas con las que se ordenam al robot que se situe en una posición concreta. Existen distintos tipos de movimiento dependiendo de cómo se quiera que el robot alcance la posición demandada.
  • Movimiento lineal: el robot traza una linea recta entre la posición actual y la posición demandada .
  • Movimiento eje a eje: el robot alcanza la posición demandada de forma rápida pero sin realizar un trazado determinado.

Los movimiento lineales son necesarios en aquellos casos que se desee controlar la trazada que realizará, pero tiene la desventaja que puede que el robot no sea capaz de realizar una línea recta entre la posición actual y la posición demandada. En ese caso daría un error. Los movimientos eje a eje tienen la desventaja de no conocer la trazada que va a realizar . En cada momento se deberá decidir qué tipo de movimiento usar. Así, los movimientos de acercamiento y los movimientos largos se realizarán con movimientos eje a eje, en cambio los movimientos en la zona de trabajo (dentro de la maquina, soldando,...) se realizarán con movimientos lineales.

Tomando como ejemplo las instrucciones de movimiento del lenguaje Rapid de los robot ABB, esas instrucciones se escribirían de la siguiente forma:

Movimiento eje a eje: MOVEJ P1,V1000,Z15,Tpinza;

Movimiento lineal: MOVEL P1,V1000,Z15,Tpinza;

  • MoveJ: instrucción de movimiento eje a eje.
  • MoveL: instrucción de movimiento lineal.
  • P1: punto de destino del movimiento .Este deberá estar definido en el apartado de declaración de variables (tipo de dato:Robtarget) .En un punto se indica las cotas X,Y y Z donde se debe situar la punta de la herramienta así como la posición de la herramienta .
  • V1000: la velocidad máxima con la que realizar el movimiento en mm/s .
  • Z15: precisión en mm . Si se le indica Z15, el robot, una vez haya llegado a 15mm del punto de destino, empezara a ejecutar la siguiente instrucción, con lo que puede que no llegue al punto. Si se desea que la instrucción acabe en el punto se deberá de poner FINE.
  • Tpinza: la herramienta que lleva el robot . Es la punta de esta herramienta la que la situara en el punto que se ha determinado.
Icono de IDevice de pregunta Autoevaluación
¿Si quisieras que el robot se moviera desde el punto en el que se encuentra hasta el punto P7, estando toda la trayectoria entre estos dos puntos sin ningún tipo de obstáculos, con qué instrucción programarías?
MoveJ.
MoveL.

5.9.3. Instrucciones de Entradas/Salidas

Imagen donde se ve el conexionado de las entradas y salidas en el control del robot

El robot ademas de realizar movimientos gobierna y supervisa entradas y salidas. El robot puede gobernar entradas/salidas digitales, entradas/salidas analógicas, etc...

Las salidas digitales son muy utilizadas para mandar órdenes a diferentes actuadores, comunicación con otros controladores y activación de pinzas, herramientas, etc..

Las entradas digitales indican el estado de los captadores (sensores, pulsadores, ...), así dependiendo del estado de cada uno de ellos se podrán llevar a cabo los trabajos deseados.

Tomando como ejemplo las instrucciones de entradas/salidas del lenguaje Rapid de los robot ABB estas instrucciones serían las siguientes:

  • Instrucciones para salidas digitales

Instrucción para la activación de una salida digital. Por ejemplo, para abrir la pinza que lleva el robot.

SET DOpinza ;

-SET: instrucción para activar una salida digital.

-DOpinza: la salida que sera activada.

Instrucción para la desactivacion de una salida digital. Por ejemplo, para cerrar la pinza que lleva el robot.

RESET DOpinza;

-RESET: instrucción para la desactivar una salida digital.

-DOpinza: la salida digital que sera desactivada.

  • Instrucciones para entradas digitales.

Instrucción para la espera de una señal. Por ejemplo la espera de que un sensor nos diga que hay una pieza para coger.

WAITDI DIsensor,1;

-WAITDI: instrucción de espera de una señal.

-DIsensor: entrada digital a la que esperar.

-1: el valor que se espera recibir de la entrada digital. Puede ser 1 o 0 ;

Sirve para esperar hasta que se active una señal de entrada digital. Se utiliza mucho para iniciar algún proceso de trabajo mediante una señal de otra máquina o un pulsador actuado usuario y comprobar que la herramienta se ha cerrado. El robot no realizara nada mas hasta que reciba la señal indicada.

Icono de IDevice de pregunta Autoevaluación

Si quisieras abrir la pinza del robot después de que se detectase que la pieza está en posición, ¿cuál de las respuestas elegirías?

La salida digital para abrir la pinza es DOpinza y la entrada del detector de pieza es DIpieza.

WAITDI DIsensor,1 ;

SET DOpinza ;

SET DOpinza ;

WAITDI DIsensor,1 ;

WAITDI DOpinza,1 ;

SET DIsensor ;

5.9.4. Instrucciones de flujo de programas

Imagen donde se ve un reloj de calle marcando la 7:48 y en el cual también se puede leer Class of 2002

Estas instrucciones se utilizan para administrar el flujo del programa. Unas veces interesa que ciertos fragmentos de programa se repitan, se ejecuten en determinados momentos o sean cíclicos continuamente. Por eso, es muy habitual utilizar estas instrucciones que controlen el itinerario o recorrido del puntero del programa dentro del código de programa.

Tomando como ejemplo las instrucciones de entradas/salidas del lenguaje Rapid de los robot ABB estas instrucciones serían las siguientes:

  • Instrucción de espera de tiempo

Con esta instrucción el robot esperara un tiempo determinado sin realizar ninguna operación. Por ejemplo para darle tiempo a la pinza que cierre.

WaitTime , 2;

-WaitTime: instrucción de espera.

-2: el tiempo en segundos que debe esperar para continuar la ejecución de la siguiente instrucción;
  • Instrucción de repetición

WHILE se utiliza cuando una serie de instrucciones deben ser repetidas mientras una condición específica se vaya cumpliendo.

WHILE [condición] DO
[instrucciones]
ENDWHILE

Mientras la condición se cumpla , el robot realizara todas instrucciones que hay entre el WHILE y el ENDWHILE una y otra vez. Una vez que no se cumple la condición proseguirá con las instrucciones que van después del ENDWHILE .

  • Instrucción de condición

IF es una instrucción que sirve para optar básicamente entre diferentes opciones que se presentan en la ejecución del programa. Esta decisión entre las opciones que se presentan en el programa se efectúa mediante condiciones, por eso a esta instrucción se le denomina como instrucción condicional.

IF [condición] THEN
[instrucciones]
ENDIF

En caso de que la condición se cumpla el robot realizara las instrucciones que hay entre el IF y el ENDIF y proseguirá con las instrucciones que van después del ENDIF . En caso de que no se cumpla la condición puesta el robot saltara a las instrucciones posteriores al ENDIF sin realizar las que están entre el IF y el ENDIF.

Icono de IDevice de pregunta Autoevaluación

Si quisieras abrir la pinza del robot solamente si se detectase que la pieza está en posición, ¿cuál de las siguientes opciones lo realizaría?

La salida digital para abrir la pinza es DOpinza y la entrada del detector de pieza es DIpieza.

WaitTime , 2;

SET DOpinza ;

IF DIpieza=1 THEN
    SET DOpinza ;
ENDIF
WHILE DOpinza=1 DO
    SET DIpieza ;
ENDWHILE

5.10. Actividades de elaboración y simulación de programas

Al igual que en los autómatas, cada fabricantes tiene su forma de programación y su software.  Pero al ser la mayoría de las programaciones de robots un lenguaje escrito suele haber la posibilidad de realizar el programa en un editor de texto, siempre respetando la forma de programación (puntos, comas, etc.).

También se puede programar en el propio panel del robot y aunque algunas veces se hace más pesado programar así suele ser interesante, ya que al programar así se evitan los problemas de la estructura de programación o la forma de programación (puntos, comas, etc.).  Si la CPU detecta algún fallo de programación de este tipo, por ejemplo, que no se ha puesto una coma entre dos datos de una función, daría error al ejecutarlo.  Este caso no se daría al programar desde el panel flexible del robot.

Al programar en el panel del robot no hace falta enviarlo como se hacía con los autómatas, con lo que ya estaría preparado para ejecutar el programa y primero simularlo antes de ponerlo en el ciclo continuo. 

6. Optimización de movimientos y ciclos de la productividad

Icono de iDevice Caso práctico
Imagen donde se observa un hombre sentdo en una silla con una mesa delante en la que están una serie de papeles.  Además aparece hablando por teléfono.
Cuando ocupaba el puesto de trabajo anterior, Fernando tuvo una charla con el encargado, diciéndole este que convendría que el trabajo que realizaba su máquina lo hiciera unos segundos más rápido que lo que hacía en ese momento. Para eso llamaron a la empresa fabricante de la máquina, con lo que algunos trabajadores de ahí vinieron para intentar acortar un poco más el tiempo de ciclo, sin dejar que la pieza saliera con el mismo acabado de mecanizado, es decir, aumentar la producción pero manteniendo la calidad del producto.
Imagen donde se ve una tabla con unos cuantos post-its para la organización de una serie de trabajos.  En la tabla se especifica el orden de importancia, si se está realizando y si está hecho ya.

Muchos programas que se realizan en autómatas (programas de ciclo secuencial) son susceptibles de mejorarlos en cuanto al tiempo necesario de ejecución. Lo mismo ocurre con los programas de los robots.

Una vez que se realizan los programas y se comprueba que funcionan perfectamente el siguiente paso, si es necesario, suele ser la optimización de los movimientos y ciclos de la productividad.

Hay veces, que nuestro robot o nuestra automatización secuencial controlado por un PLC tenga que realizar el ciclo de trabajo en un tiempo determinado, pero que el programa no consiga realizarlo en dicho tiempo. En ese caso se intenta ajustar el programa, ¿cómo?.

Si se ciñe solamente a la manera en la que se ha programado, cambiando dicho programa, ya que hay veces que nuestro sistema no tiene ninguna necesidad de esperar a realizar un movimiento y que termine un movimiento para que comience con el siguiente.

Supón que se tiene la automatización vista en el video del punto 4.1 (Definición y funciones de Manipuladores). En ese caso se puede observar cómo el brazo manipulador se queda esperando en la posición de dejada hasta que llega la pieza. Si se quisiera mejorar la secuencia en cuanto a tiempos de ciclo, una de las opciones sería hacerle esperar justo en la posición de cogida de pieza, para que cuando detectase la pieza, bajara a recogerlo. Habría que modificar el programa de PLC para que ese movimiento se realizara nada más dejar la pieza en la cinta de salida, sin tener que esperar a que tuviese una pieza.

Anexo de Licencias


 

Recurso (1)Datos del recurso (1)Recurso (2)Datos del recurso (2)
Imagen donde se puede ver la un panel de control virtual que funciona en un pc bajo windows.  Con diferentes opciones y visualizaciones

Autoría: connors934

Licencia: Attribution 2.5 Generic (CC BY 2.5)

Procedencia:http://s3.amazonaws.com/estock/fspid10/10/70/42/6/mach3-taig-micromill-1070426-l.jpg

Imagen donde aparece un torno automático de control numérico de color blanco y gris, el cual tiene un panel de control con una seta de emergencia en la parte izquierda del panel y una pistola de aire por la parte de abajo, entre otras cosas.

Autoría: spangineer

Licencia: Attribution-ShareAlike 2.0 Generic (CC BY-SA 2.0)

Procedencia: http://farm1.static.flickr.com/114/302426687_3f0d54f9a3.jpg

Recurso (3)Datos del recurso (3)Recurso (4)Datos del recurso (4)
Imagen donde se ve una persona con un casco en la cabeza y con los brazos cruzados.

Autoría: Stockbyte

Licencia: Uso educativo no comercial para plataformas públicas de Formación Profesional a distancia.

Procedencia:CD-DVD Num. V43 “AG001275.png”

Imagen donde se puede ver un hombre sentado con un ordenador portátil delante, encima de una mesa, y escribiendo algo en el ordenador.

Autoría: Ilpo's Sojourn

Licencia:Attribution 2.5 Generic (CC BY 2.5)

Procedencia:http://s3.amazonaws.com/estock_dev/fspid9/69/27/12/helsinki-taik-uiah-692712-l.jpg

Recurso (5)Datos del recurso (5)Recurso (6)Datos del recurso (6)
Imagen de una ventana del programa visual basic, en el cual se puede ver el código de un programa.

 

Autoría: gopal1035

Licencia:Attribution-NonCommercial 2.5 Generic (CC BY-NC 2.5)

Procedencia:http://everystockphoto.s3.amazonaws.com/computer_science_visual_292297_l.jpg

 

Imagen donde se observa una cinta transportadora, en la cual se ven cinco parez de zapatillas, que es lo que está transportando la cinta.

Autoría: bopuc

Licencia:Attribution 2.5 Generic (CC BY 2.5)

Procedencia: http://www.everystockphoto.com/gotoImage.php?imageId=813814

Recurso (7)Datos del recurso (7)Recurso (8)Datos del recurso (8)
Imagen de un pórtico despatelizador portamangueras de Gaindu S.L., donde se ven el pórtico y las piezas a transportar.

Autoría: Gaindu S.L.

Licencia: Copyright (Cita)

Procedencia: www.gaindu.com

Imagen donde se observa gente con CPUs y pantallas en las mesas atendiendo.

Autoría: campuspartymexico

Licencia:Attribution 2.0 Generic (CC BY 2.0)

Procedencia:http://farm5.static.flickr.com/4079/4888398227_af52f39a5d.jpg

Recurso (9)Datos del recurso (9)Recurso (10)Datos del recurso (10)
Imagen donde se observa un robot de juguete sujetando un lapiz

Autoría: MattHurst

Licencia: Attribution-ShareAlike 2.0 Generic (CC BY-SA 2.0)

Procedencia: http://farm5.static.flickr.com/4013/4665794076_37f8cb5014.jpg

Imagen donde se ven varios robots trabajando en el montaje de un coche de la planta de BMW en Munich.

Autoría: 16valvulas

Licencia: Copyright (cita)

Procedencia: www.16valvulas.com.ar

Recurso (11)Datos del recurso (11)Recurso (12)Datos del recurso (12)
Imagen donde se puede leer un texto que pone lo siguiente: ERROR 404! No Programmer Found

Autoría: DrBacch

Licencia: Attribution 2.0 Generic (CC BY 2.0)

Procedencia: http://farm3.static.flickr.com/2175/2446689941_5fe943e16d.jpg

Imagen donde aparecen unas cuantas palabras, tales como: google, search, gmail, results, service, etc. Tanto en horizontal como en vertical.

Autoría:toprankonlinemarketing

Licencia: Attribution 2.0 Generic (CC BY 2.0)

Procedencia: http://farm4.static.flickr.com/3276/2758685740_d555bd4e98.jpg

Recurso (13)Datos del recurso (13)Recurso (14)Datos del recurso (14)
Imagen donde se observa un teléfono móvil que contiene 5 teclas en primer plano.

Autoría: re-ality

Licencia: Attribution 2.5 Generic (CC BY 2.5)

Procedencia: http://everystockphoto.s3.amazonaws.com/palm_palmone_tungsten_321905_l.jpg

Imagen donde se observa parte un teclado de ordenador.

Autoría: Photodisc

Licencia: Uso Educativo no comercial para plataformas públicas de FCaD

Procedencia: CD-DVD Num. V07 “ST000943.png”

Recurso (15)Datos del recurso (15)Recurso (16)Datos del recurso (16)
Imagen de una estructura vertical que estaba al lado del pabellón de Europa de la Expo'92 donde había estructuras que simulaban chimeneas del monasterio de la Cartuja. Este es visto al pasar por debajo.

Autoría: Carlos Alejo

Licencia:Attribution-ShareAlike 2.0 Generic (CC BY-SA 2.0)

Procedencia:http://farm4.static.flickr.com/3504/3207062144_6ce66f897d.jpg

Imagen de una mesa de billar con tres bolas: blanca, roja y naranja.  Viéndose también el palo de billar que golpea a la bola blanca.

Autoría: Conanil

Licencia:Attribution 2.5 Generic (CC BY 2.5)

Procedencia:http://s3.amazonaws.com/estock/fspid1/60800/biliardo-goriziana-italiana-60846-l.jpg

Recurso (17)Datos del recurso (17)Recurso (18)Datos del recurso (18)
  Imagen donde se ve un reloj de calle marcando la 2:32, aproximadamente, y con números romanos.

Autoría: chicadelatele

Licencia: Attribution 2.0 Generic (CC BY 2.0)

Procedencia: http://farm1.static.flickr.com/13/16927430_fef06a3b1f.jpg

Imagen donde se observa un hombre sentdo en una silla con una mesa delante en la que están una serie de papeles.  Además aparece hablando por teléfono.

Autoría: Photodisc

Licencia: Uso Educativo no comercial para plataformas públicas de FCaD

Procedencia: CD-DVD Num. V07 “BU001834.png”

Recurso (19)Datos del recurso (19)Recurso (20)Datos del recurso (20)
  Imagen donde se ve una tabla con unos cuantos post-its para la organización de una serie de trabajos.  En la tabla se especifica el orden de importancia, si se está realizando y si está hecho ya.

Autoría: orcmid

Licencia: Attribution 2.0 Generic (CC BY 2.0)

Procedencia: http://farm3.static.flickr.com/2663/3879260297_dfc867d531.jpg