consejos automatización programar un robot

Guía de automatización para programar un robot o PLC

Número de visualizaciones

POR

Manuel Rodríguez
EDUCACIÓN:
  • Graduado en Ingeniería Industrial especialidad en Electrónica Industrial en la Universidad de Jaén.
  • Experto Universitario en Eficiencia Energética en la Universidad de Sevilla.
  • Máster Oficial en Prevención de Riesgos Laborales en la Universidad Francisco de Vitoria.
  • Curso Superior Universitario en Gestión y Auditoría de la Calidad (ISO 9001:2008 , ISO 19011) en la Universidad Rey Juan Carlos.
  • Formación E-learning en la Universidad Antonio de Nebrija.
  • Formación Profesional: Proyectista e Instalador de Sistemas de Energía Solar Térmica en la Universidad Popular de Jaén.
  • Formación Profesional: Diseño y Programación de Automatismos Industriales en la Escuela de Oficios de Linares.
  • Coordinador de Seguridad y Salud en Obras de Construcción en Euroinnova Business School.
  • Cálculo y Diseño de Instalaciones Interiores de Agua en el Colegio de Ingenieros de Granada.
  • Energía Eólica On y Off-shore en la Asociación de Productores de Energías Renovables de Andalucía.
  • Energía Solar Termoeléctrica de Media y Alta Temperatura en la Asociación de Productores de Energías Renovables de Andalucía.
EXPERIENCIA:
  • Profesor del Departamento de Proyectos, Energía, Mantenimiento e Instalaciones de INESEM Business School.
  • Jefe de proyectos de infraestructuras energéticas en el sector de las renovables.
  • Jefe de proyectos en gestión de instalaciones técnicas.
  • Ingeniero en área de mantenimiento y maquinaria: coordinación de parque de maquinaria.
  • Ingeniero de instalaciones y mantenimiento.
  • Ingeniero Consultor.
  • Técnico Mantenimiento Electromecánico.
ESCRIBE SOBRE:

Eficiencia Energética • Energías Renovables • Automatización Industrial • Instalaciones Técnicas • Mantenimiento • Software de Diseño • Gestión de Proyectos • Organización Industrial

Ingeniero Técnico Industrial, experto en energía, eficiencia energética y PRL. Ha desarrollado su profesión durante más de 10 años como director de proyectos energéticos y de instalaciones industriales.

Después de muchas dudas y problemas planteados por nuestros alumnos en el área de la automatización en cuanto a programación, podemos explicar a modo de recopilación o guía una serie de consejos y buenas prácticas que muchas veces no se tienen en cuenta bien por desconocimiento o por olvido a la hora de programar un PLC.

Algunos de los nueve puntos que se desglosan a continuación son fases cruciales de cualquier proyecto de automatización y otros puntos son consejos y recomendaciones que obligatorio tenerlos en cuenta.

Definir claramente el alcance del proyecto.

Sacar al cliente toda la información para tener claro que es lo que quiere y el alcance del programa que necesita. Una vez sacada la información es conveniente explicar al cliente lo que hemos entendido que hay que hacer, es un error muy común interpretar lo que crees que el quiere.

Así mismo conviene que quede todo reflejado en un documento que se firme por ambas partes y que defina el alcance del proyecto y en el que podremos incorporar además otros datos administrativos o temporales.

De esta manera, en caso de haber un cambio de funcionamiento de la automatización inicialmente explicada por parte del cliente (hecho muy común) quedará registrado como un cambio de alcance y por tanto se podrá cambiar el proyecto a nivel económico o temporal.

Hay que acostumbrarse a preguntar al cliente para que todo quede aclarado al máximo, si el cliente no lo tiene claro entonces hay que trabajar en mostrarle desde el punto de vista de la automatización las posibilidades existentes, ya sea funciones en PLC, acciones del robot, existencia de actuadores y sensores específicos, etc. En el caso contrario es normal que ocurra que tu no seas un experto y por tanto no conozcas del todo bien el proceso por lo que hay detalles que se escapan. Esos detalles que no se llegan a contemplar en la automatización son los que te pueden ocasionar trabajar en balde y seguro que lo odias.

No se puede empezar una programación sin tener claro lo que se quiere hacer, ya que en el mejor de los casos con añadir alguna línea de código se soluciona el problema, pero en otras ocasiones las modificaciones ocasionan la remodelación casi completa de todo lo realizado.

En las siguientes viñetas muy conocidas en programación se muestra la importancia de la comunicación en las etapas iniciales.

programacion-automata-plc

Ten en cuenta que tal vez nosotros no somos unos expertos en el proceso que estamos automatizando, pero que el cliente tampoco tiene que serlo en automatización; por esto es tan importante la comunicación en los estallidos iniciales del proyecto de automatización.

Planificación del programa

La fase inicial de toma de datos e información va precedida de la planificación que coge como base el alcance explicado por el cliente de lo hay que hacer.

En la planificación hay que pensar bien que es lo que se va ha hacer y cómo. De esta manera evitaremos introducir el código sin forma ni orden que lo convierta en confuso y difícil de seguir tanto para ti como para el mantenimiento posterior del mismo.

Aunque tengamos claro lo que el cliente quiere, hay que pararse a pensar; este tiempo aunque no lo parezca será el más productivo, ya que el resto de la programación del robot o PLC irá ligada a la estructura inicial que pensemos inicialmente. Existen diferentes herramientas que nos ayudarán a dar forma a la estructura algunas de las cuales son el GRAFCET y la guía de modos de marcha y parada GEMMA.

Cuanto más complejo sea el proyecto más tiempo debemos dedicar a la planificación y menos a introducir código.

Identificar las entradas y salidas necesarias para la automatización

Es importante hacer un listado de las funciones a desempeñar por la máquina, los actuadores y los sensores necesarios para ello, de esta manera sacaremos las entradas y salidas (cantidad, digitales,
analógicas) necesarias de la unidad de control.

Esta identificación va a dar lugar a un listado de I/O que te indicará no solo cuantas entradas y salidas va a necesitar, sino también de que tipo (digitales, analógicas, servocontrol, etc.).

¿En que PLC o robot se va a implementar la automatización?

En el anterior punto había que conocer los sensores y actuadores a utilizar, pero también es esencial conocer el equipo que se va a utilizar para desarrollar la automatización, es decir hay que entender muy bien el funcionamiento, general por supuesto, pero también específico del PLC o el robot industrial que se va a utilizar.

En este sentido, es muy importante saber cómo se ejecuta el programa, las funciones específicas del equipo a utilizar y que son diferentes de otros fabricantes, como se estructura la memoria en ellos, como se realiza programación estructurada, como se llama a una interrupción cíclica en el equipamiento a utilizar, entre otros temas que son fáciles de entender, pero que te los tienen que explicar para tenerlos en cuenta ya que en este sentido es complicado ser autodidacta.

Implementar un protocolo para dar nombres y realizar comentarios

Si tienes unas normas definidas para dar nombres a variables, entradas, salidas, sensores, actuadores y realizar comentarios, te quitarás un dolor menos de cabeza y además entenderás solo con ver el nombre la función de esa variable, entrada, salida o lo que sea.

Así mismo, el desarrollo de esta metodología facilita enormemente la legibilidad del mismo por otros usuarios y por tanto el posterior mantenimiento del programa.

Cuando empiezas a desarrollar la programación lo tienes todo relativamente claro, por lo que sueles obviar la inserción de comentarios; digamos que lo vemos como una perdida de tiempo muy valioso. Pues nada más alejado de la realidad, ya que definir lo que hace cada parte, bloque, función del programa ahorra muchas horas de investigación cuando ha pasado tiempo desde que lo programaste o simplemente para depurar errores.

Los comentarios son esenciales para hacer memoria o dar a conocer a otros lo que se pretendía con la incursión de estas líneas de código que de otra manera pueden resultar inútiles para otro programador futuro.

Es esencial realizar copias de seguridad

En las modificaciones y evaluaciones online y offline del programa puede haber problemas o algo puede ir mal, por lo que es imprescindible realizar copias de seguridad ya que no siempre se puede volver a deshacer correctamente o volver al estado inicial en el que estaba.

Asegurar que lo que corre en el PLC online es lo mismo que lo que hemos programado offline

Es muy importante asegurar que el programa (PLC) que corre en modo online es el mismo que hemos modificado en modo offline; ya que si no, no podremos comparar el funcionamiento real del programa modificado. Esto que parece una obviedad, no lo es cuando llevamos mucho tiempo con la programación y la rutina de probado del programa en online y offline se convierte en rutinaria. Por eso no está de más el volver a cargar el programa, si no estamos seguros y asegurarnos mediante comparación de que lo cargado se ha realizado correctamente.

Programación frente a fallos y con redundancia

Se puede programar para que en función de unos estados de unos sensores los actuadores funcionen de una forma o de otra, pero ¿qué ocurre si hay un error en ese sensor o en la entrada que registra ese sensor? pues que el programa pasa a funcionar incorrectamente.

Es por esta razón que en la medida de lo posible hay que hacer un código fuerte frente a fallos o defectos que aunque nos parezca redundante no importa ya que las velocidades de ejecución de los programas lo permiten sin que este código adicional aumente el tiempo de respuesta del PLC o del robot. En este sentido vuelvo a mencionar la herramienta GEMMA como ayuda para chequear los posibles estados de fallo del sistema.

Pensar en los modos de marcha y parada de nuestro automatismo es muy importante, ya que hay que darle al proceso automático la posibilidad de ir a estados de error o alarma y por supuesto generar código para salir de estos estados de forma al menos semiautomática lo más rápidamente y por supuesto de forma segura; todo ello sin perder de vista en que afecte lo menos posible a la producción en curso y por tanto no genere muchas pérdidas.robot-industrial-automatizacion

Muchos de estos estados de error y defecto los detectemos en la fase de definición del alcance con el cliente, pero otros saldrán al ponernos a madurar la progración antes por supuesto de escribir una sola línea de código.

Piensa que hay productos que si se quedan a mitad de su proceso de fabricación pasan a ser desperdicios cuya recuperación es nula o muy costosa.

Realizar una programación estructurada

El uso de funciones y bucles en la programación es muy importante. No es recomendable en absoluto realizar todo el código sin el uso de estas funcionalidades.

Es una práctica imprescindible que el código que generes lo hagas de forma ordenada y en la medida de lo posible utilices iteracciones y bucles y por supuesto funciones.

Como hemos dicho anteriormente, es muy importante pararse a pensar antes de escribir código; en esta fase de planificación es conveniente que detectes funciones, es decir partes de código que puedes utilizar en varios sitios de tu proyecto de automatización, o por qué no, también las que hayas utilizado en otros proyectos anteriores. La reutilización de código es interesante no solo porque ahorras tiempo sino porque ya sabemos que esa función reutilizada funciona adecuadamente.

Estos son solo algunos de las fases o consejos que hay que, no solo conocer como he pretendido en este artículo, sino dominar para lo cual es importantísimo que el desarrollador conozca en profundidad las técnicas disponibles para lograrlo..

1+

12 Comentarios

  1. David Martínez Castañeda dice:

    Muy buen artículo!; bastante útil para las personas que quieren incursionar en la automatización.

    1+
  2. Eduardo ponce dice:

    Buen trabajo, es difícil encontrar buena literatura en español sobre el tema saludos.Saludos.

    1+
  3. Radeon dice:

    Buenas,Soy un estudiante de ingeniería y estoy llevando a cabo un trabajo en el que tengo que desarrollar una metodología de trabajo en el ámbito de la programación y automatización de proyectos, con el fin de estandarizar el proceso de programación y automatización para poder trabajar con diferentes PLCs de distintas compañías como Siemens, B&R y Omron.El problema es que hoy en día la programación de estos autómatas está externalizada a subcontratas, y claro, cada uno sigue sus propias formas de trabajar y no suele haber un criterio común en el desarrollo. Entonces esto supone una dificultad en el tratamiento…Con lo cual mi objetivo es crear esta “plantilla estándar” de forma que unifique los diferentes criterios (para que los programadores tengan una plantilla donde programar y facilitar su trabajo) y facilite el tratamiento a posterior.Pero claro, nunca he trabajado con una “plantilla” o metodología de este tipo a la hora de programar… Y no se como desarrollarlo… Estoy venga a buscar información pero no encuentro nada útil… y la mayoría me lleva hacia la normativa IEC 61131…Si alguien tuviese un ejemplo o algún trabajo parecido o información, estaría muy agradecido si lo compartiese conmigo.Atentamente,Radeon

    0
    • Rogelio Delgado Rogelio Delgado dice:

      En tu propuesta aunque muy interesante encontraras como dificultad que los fabricantes por razones de competencia serán reacios a compartir o colaborar en conjunto, igualmente existen intereses de lenguajes de programación diferentes según los tipos de trabajo, el realizar un lenguaje común para todos los procesos no es tarea fácil.
      Existen estándares, pseudocódicos, representaciones generales tipo Grafcet que son generales y que la gran mayoría de PLC pueden entender o a través de software traducir al lenguaje maquina adecuado.
      Espero haya despertado alguna idea con mis comentarios y te animo a sigas investigando.

      1+
  4. Francisco Javier dice:

    Buenas Manuel, te felicito por facilitar el aprendizaje y colaborar tan activamente con nosotros; espero poder mejorar conocimientos día a día y aprovechar la ayuda que nos prestas. Gracias de corazón y recibe un cordial saludo.

    0
  5. ramon dice:

    hola me parece un buen desarrollo de tus comentarios, graciasme gustaría que me asesoraras ya que quiero empezar un curso avanzado de plc y robotica, y no se por cual optar. he mirado el de campus seas, ya me dices algo gracias un abrazo.

    0
Ver más comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Descubre MasterClass de INESEM. Una plataforma en la que profesionales enseñan en abierto

Profesionales enseñando en abierto