En tu camino aprendiendo automatización industrial te encontrarás con innumerables dificultades, bajadas y subidas de ánimo, etc. Consejo: Mantén el foco en tu objetivo y no pierdas de vista estas cuatro reglas que he escrito para ti.
Persevera
Primera regla: Persevera. Como casi todo en la vida: se necesita perseverancia para lograr un objetivo. Hay muchísimos momentos en los que podemos ponernos a dudar de si el camino que estamos siguiendo es el correcto. Por ejemplo, podemos pensar que estamos perdiendo el tiempo, que estamos malgastando dinero, etc.
Los sacrificios forman parte inherente del proceso de aprender automatización. Por poner pocos ejemplos, pueden ser dejar de estar horas con los amigos, viendo alguna película o saliendo a pasear. Pero mantén algo siempre presente, por cada sacrificio realizado, tendrás una recompensa.
Segunda regla: Fracciona en metas. La meta “aprender automatización” es casi imposible de lograr. La automatización es un mundo en el que confluyen tantas tecnologías e innovaciones, que aprenderlo todo es casi imposible. En lugar de ponerse metas tan grandes, la clave está en saber fraccionarlas. Por ejemplo, aprender un protocolo de comunicación como Modbus es una meta lograble en un tiempo determinado, iniciarse en el mundo de Codesys también.
No te agobies poniéndote metas que sean imposibles: ¿Irías a hacer una maratón sin antes haberte probado que puedes correr 1 hora sin problemas? ¿No sería mejor marcarte un conjunto de pequeños objetivos, como correr 15 min, luego 30, etc? En la automatización pasa exactamente lo mismo. Ya sabes lo que dicen: divide y vencerás.
Tercera regla: Celebra y disfruta. No todo es trabajo, celebrar las pequeñas victorias que vayas consiguiendo es algo absolutamente necesario para mantenernos en el camino. Por ello, cada vez que aprendamos algún concepto nuevo, logremos que un proyecto funcione o simplemente hagamos algún progreso desdeñable, es muy saludable pararse a descansar y celebrarlo como nos guste.
Cuarta regla: Comparte, comenta. Una práctica que debes seguir siempre: Trabajar en proyectos con otros ingenieros siempre que puedas. Te enriquecerá porque podrás aprender nuevas formas de enfocar un mismo problema, ver alguna forma de programar diferente de la que podrás sacar provecho, comentar u opinar sobre temas específicos.
Ya lo sabes, por muy bueno que seas, en equipo los resultados pueden multiplicarse.
En Opiron tenemos recursos para que puedas lograr tus objetivos: desde cursos online hasta cursos in company, pero también servicios de programación y consultoria. No lo dudes, contáctanos, sabremos cómo ayudarte 😉
El término escalabilidad está muy de moda. Se emplea en campos tan diversos como en el mundo de los negocios, finanzas, software y como no, también empleamos el término de escalabilidad en automatización industrial.
Empecemos por lo básico, ¿Qué es escalabilidad?. En la ingeniería podríamos decir que escalabilidad es la propiedad de un sistema para poder ampliarse, sin perder calidad en los servicios ofrecidos. Por ejemplo, un PLC con entradas / salidas escalables, es un PLC que es capaz de poder ampliar la cantidad de entradas / salidas conectadas sin perder calidad en el control que realiza.
La escalabilidad por lo tanto implica flexibilidad y es una característica deseable para el usuario final. Sobretodo, porque ayuda a proteger las inversiones a largo plazo.
Si lo pensamos, nuestra fábrica puede tener expansiones, puede cambiar de proveedores de tecnología o incluso puede requerir de nuevas funcionalidades. Poe lo tanto, necesitamos una fabrica flexible. ¿Qué tecnología nos lo puede permitir, sobre todo a largo plazo?
La escalabilidad no puede ser agregada a un sistema si no tiene esta propiedad. Esto implica que debemos ser cuidadosos en la elección de la tecnología y que nuestra mente no debe limitarnos en las miras a corto plazo. Algunas preguntas que nos pueden ayudar son:
Por ejemplo, cuando nosotros elegimos un driver de comunicación para comunicar un SCADA con un sistema de hardware propietario. Elegir un driver que esté altamente atado a la tecnología del hardware y a la del SCADA nos limitará en el tiempo. (Imaginemos por un momento qué ocurriría si el proveedor no da más soporte al driver, por citar un ejemplo). En cambio, si elegimos un driver que pueda permitirnos comunicar ese SCADA pero ademas con muchas otras aplicaciones al mismo tiempo, obtendremos escalabilidad (ya que ese PLC podrá comunicar los datos con varias aplicaciones al mismo tiempo) y flexibilidad, dado que podremos sustituir aplicaciones sin necesidad de cambiar el driver. En este sentido, OPC y OPC UA son tecnologías escalables y flexibles, puedes leer más de estas tecnologías en este post.
Lo mismo ocurre cuando pensamos en la tecnología de los PLC: es mejor utilizar PLC’s que utilicen software no ligado al hardware que otra tecnología propietaria. En este sentido, Codesys es un gran aliado – puedes ver qué es Codesys aquí -.
Las tecnologías escalables se distinguen por su capacidad de ser independientes de proveedores y por garantizar la calidad de los servicios en su expansión.
La escalabilidad en automatización industrial, así como la funcionalidad son características deseables que garantizan una protección de la inversión para el usuario final en el futuro.
Antes de hablar si merece la pena plantearse programar en texto estructurado en Codesys ® – ST, de Structured Text- empecemos diciendo que este lenguaje está disponible conforme a la norma IEC 61131-3 – puedes saber más sobre la norma en este post-. La norma define 5 lenguajes de programación en automatización.
Los PLC se idearon en un principio para poder ser programados por personal que venía de la lógica de contactos. Por eso, lo más normal en el mundo de la automatización era, y es, encontrar PLC’s que se programan en lenguaje de escalera o Ladder. Sin embargo, éste es un lenguaje que puede ser muy engorroso para realizar tareas complejas como moverse por arrays, hacer cálculos complejos, etc.
El texto estructurado es un lenguaje de alto nivel con orígenes en el Pascal y ´C´. Puede ser utilizado para codificar expresiones complejas con funciones condicionales como el IF-THEN-ELSE; CASE, etc, funciones de cálculo como SQRT, SIN, etc.
De acuerdo, vamos al grano. ¿Debería aprender texto estructurado en Codesys ® si ya sé Ladder?.La respuesta corta es sí… pero déjame explicarte por qué :). Como comentaba en la anterior sección de este post, los primeros PLC se dejaban programar en Ladder por una cuestión del conocimiento del usuario final. El Ladder es un lenguaje adecuado, pero las CPU actuales, mucho más potentes que las de antaño, pueden permitir realizar operaciones mucho más complejas, y ahí ST resulta muchísimo más flexible en la programación.
Las ventajas del Texto Estructurado respecto a lenguajes más gráficos radican justamente en la programación estructurada. Para programas con bucles secuenciales, ST ofrece más claridad al programador, lo cual es una ventaja para evitar y corregir errores de programación.
¿Deberías aprenderlo? Sí, tanto si ya tienes experiencia como no en C o C++ es altamente recomendable tener conocimientos de ST. Por ejemplo, para aquellos que habéis hecho algunos pinitos con Arduino, os resultará fácil e intuitivo el ST. Y para los que no, es como todo, empezar y aprender poco a poco.
La versatilidad de IEC 61131-3 radica, entre otras, en poder usar simultáneamente varios lenguajes de programación. Cada lenguaje tiene sus ventajas e inconvenientes . Para sacar el máximo rendimiento en proyectos de automatización, es altamente recomendable estar familiarizado en varios, entre los que incluimos, como no, texto estructurado.
¿Os gustaría algún curso sobre Texto Estrcturado en Codesys ® específico? ¡Esperamos vuestros comentarios!
Llevas tiempo escuchando en la televisión, la radio o incluso en el trabajo sobre la automatización y los robots. A día de hoy se habla mucho del impacto que tiene la automatización en las fábricas y la sociedad en relación a los puestos de trabajo que pueden perderse. ¿Qué es realmente la automatización? ¿Cuál es el elemento clave? ¿Qué son los PLC?
La automatización industrial es el uso de dispositivos electrónicos para conseguir hacer tareas repetitivas dentro de fabricas. Dentro de las fabricas, cada uno de los procesos destinados a hacer los productos finales se componen de tareas repetitivas. Estas tareas han sido realizadas historicamente por humanos, pero con el desarrollo de la electrónica y otras técnicas, los operadores han sido sustituidos por sistemas electrónicos. En general, estos sistemas constan básicamente de 3 partes: sensores para captar la información del entorno, actuadores para poder actuar sobre el proceso, y controladores para procesar la información. Estos controladores son los PLC
El nombre viene del inglés Programmable Logic Controller o en español, Controlador de Lógica Programable. Un PLC en una fábrica es un cerebro a nuestro cuerpo, para hacer una analogía. El PLC tiene dentro un programa que se ejecuta todo el tiempo, y el programa interactúa con el entorno mediante interfaces de entrada (entradas digitales o analógicas) para poder leer desde los sensores el estado actual de un proceso, y actuar sobre ellos mediante las interfaces de salida (salidas digitales o analógicas). Por lo tanto, a grandes rasgos podríamos decir que un PLC es como un ordenador convencional, pero preparado para poder actuar sobre un proceso industrial en tiempo real.
Los PLC además tienen una tercera y una cuarta interfaz: la tercera es usada exclusivamente por el programador, y es allí donde carga nuevos programas que haya desarrollado para controlar el proceso industrial. La cuarta, es utilizada para que envíe información del proceso en tiempo real a un ordenador o alguna pantalla, para que algún operador pueda saber qué está ocurriendo en el proceso
La pregunta del millón, ¿Cómo puedo programarlos? Es una pregunta que en realidad requiere múltiples respuestas. En primer lugar, hay muchos PLC en el mercado y también muchos lenguajes de programación. Por otro lado, hay procesos industriales tan diferentes que es casi obligatorio especializarse en alguno.
Pero basta de ambigüedades, la respuesta que te daré es: La forma más efectiva de aprender a programar PLC’s es aprender el estándar IEC 61131. ¿Por qué? Debes leer este post.
¿Sabéis qué? Cuando empezaba a hacer proyectos de IoT muchas veces me preguntaba qué placa y componentes necesitaba para aprender rápido y de la mejor manera posible. Pero internet ofrece un tan amplio rango de posibilidades que a veces es difícil saber qué se necesita iniciarse… ¿Qué placa es mejor? ¿Con qué componentes? Estas son sólo algunas de las múltiples que se te pasan por la cabeza mientras navegas por páginas. Desde la tienda de Opiron lanzamos hace unos meses un curso y un kit para aprender a hacer proyectos de IoT: El IoT Starter Kit,
Este kit se compone de una placa Arduino Yún y un conjunto de componentes electrónicos con los que monitorizar y controlar situaciones cotidianas desde internet. En concreto, los componentes que se encuentran el kit son una Placa Arduino Yun, una protoboard, cables, resistores, LED’s, un sensor de luz LDR y un sensor de movimiento PIR.
El curso, que es online, se compone de diferentes unidades donde se explica teoría y practica del mundo IoT, desde el hardware, los sistemas operativos, las plataformas y los protocolos de comunicación. Te dejo la página del curso a continuación por si quieres echarle un vistazo: http://cursointernetdelascosas.es/. En el curso, los objetivos son reales:
El kit tiene un descuento del 20% para los alumnos de Campus tecnológico virtual que se hayan apuntado al curso de internet de las cosas a través del código de descuento que les proporcionamos.
Como ya comentamos en el último post, hay 5 lenguajes de programación diferentes de Codesys ® para el programador, que son IL, SFC, LD, CFC y ST. ¿Cuál elegir? Cada uno tienes sus ventajas e inconvenientes y tratamos de desgranarlo en este artículo:
Es un lenguaje de programación que resultará cómodo a aquellos que vengan de programar microcontroladores en ensamblador. Abreviado lo encontraremos como IL, de Instruction List. Seguramente es el lenguaje apropiado si buscamos funciones que se ejecuten lo más rápido posible. Sin embargo, IL tiene la desventaja de ser poco habitual en la automatización, lo que implica que sea difícil de mantener y compartir.
Este lenguaje de programación se asemeja al lenguaje ladder, y es que visualmente consiste en un conjunto de bloques conectados que se pueden leer de izquierda a derecha. Abreviado lo encontraremos como FBD, de Function Block Diagram. Es un lenguaje ideal para programas simples para leer entradas de sensores pero no lo es tanto para programas complejos.
Es un lenguaje de programación muy habitual en automatización de PLC’s. Abreviado lo encontraremos como LD, de Diagrama Ladder. Visualmente, lo vemos como un diagrama de contactos eléctricos, ya que justamente sus orígenes se relacionan con la lógica de contactos previa al mundo de los PLC’s, muy habitual y comprensible para el personal de aquellas epocas. Hoy en día más del 95% de las aplicaciones del mundo son Ladder, lo que lo convierte en el lenguaje más universal y por lo tanto mantenible de todos (incluso para personal sin experiencia en programación, pero con conocimientos eléctricos).
Es un lenguaje de programación muy habitual en automatización y tiene su origen en los diagramas Grafcet.
Abreviado lo encontraremos como SFC , de Sequential Function Chart. Es ideal para hacer secuencias, pero poco apropiado para programas con cálculos.
La principal ventaja es que seguramente es el lenguaje más apropiado para realizar algoritmos complejos que se deben hacer en automatización, combinando cálculos trigonométricos con secuencias, condiciones ,etc. Sin embargo, puede que no sea muy fácil de mantener, sobretodo para personal poco habituado con este tipo de programación. Por todo esto, la tendencia con texto estructurado es hacer funciones complejas específicas que se puedan encapsular en una sola función y usarla como un sólo bloque en Ladder. En Codesys ®, abreviado lo encontraremos como ST, de Structured Text.
En cuestiones de universalidad, el lenguaje Ladder es sin duda el mejor. Sin embargo, por cuestiones de velocidad de procesamiento ST o IL son mejores. SFC es el lenguaje para secuencias.
La elección del lenguaje de programación depende de varios factores.En un primer lugar, nuestro background y experiencia nos pueden hacer decantar por uno u otro. En segundo lugar, si el cliente final va a hacer el mantenimiento en la instalación, debemos considerar sus conocimientos para que pueda entender el programa.
Por cierto, no os perdáis la nota que hemos publicado esta misma semana en InfoPLC sobre los 7 tips para empezar a programar en Codesys ®