Cada vez más frecuentemente las tareas de automatización de procesos quedan en manos de ordenadores en lugar de convencionales PLC´s. Veamos un poco de historia sobre el tema y sigamos su evolución para llegar a las actuales tendencias.
El comienzo de la historia de la automatización se remonta a tiempos donde la lógica de un proceso se define por medio de ecuaciones donde las señales de entrada se evalúan para definir el estado de una salida. Así típicamente, por medio de relés y contactores se materializan estas ecuaciones. Para ello y a medida que las ecuaciones se fueron complicando y empezaron a ser también dominio del tiempo, otros elementos como contadores y temporizadores se fueron uniendo al conjunto de aparellaje eléctrico que podemos encontrar en los cuadros de la automatización convencionales.
Con la aparición de los transistores y más aún con los circuitos integrados, estos elementos eléctricos tuvieron sus homónimos en puertas del tipo «AND» «OR», la electrónica irrumpía con fuerza en la automatización y enormes cuadros con infinidad de contactos y cables se veían reemplazados por tarjetas con varios IC (circuitos integrados). La lógica cableada (como se denominó a este modo de automatizar) tenía enormes ventajas tales como mantenimiento cero, mínimo espacio, rapidez de proceso…, pero también inconvenientes: su estructura rígida hacía muy difícil realizar cambios en las ecuaciones, desde luego no tan sencillo como agregar o invertir un contacto en un relé.
Los microprocesadores y el concepto de programación abrieron, allá por los años 70, el camino de la lógica programada y de ellos su más popular exponente: el PLC – «Programmable Logic Control».
Como natural evolución de la «Lógica cableada», los PLC aglutinaban las ventajas de esta, haciéndola flexible por medio de la programación, asumiendo además para su programación, analogías con el mundo de relés. Ahora los contactos se «ven» en una pantalla, son entidades virtuales, se pueden cambiar, ver su estado… ¡Formidable logro!
PLC
Pero, veamos cómo se consiguieron semejantes avances y con qué compromisos. El tema ha cambiado radicalmente, es ahora un solo elemento que debe realizar toda la lógica, una sola «ALU» (Arithmetic Logic Unit) del microprocesador debe ir definiendo consecutivamente el estado de las salidas en función a unas entradas y unas condiciones. Así el evaluar varias ecuaciones es básicamente un proceso paralelo que debe ser abordado secuencialmente.
Como trivial solución al problema, se hace que el microprocesador resuelva la primera ecuación programada, memorice su resultado y pase a resolver la siguiente. Así ecuación por ecuación, hasta llegar a resolver la última ecuación programada, llegado a ese punto se comienza a evaluar otra vez la primera ecuación.
El proceso se repite en un bucle infinito, el concepto de ciclo «SCAN TIME» define entonces el tiempo en el cual el microprocesador resuelve todas las ecuaciones del programa. Pero recordemos, aunque externamente el proceso simula un funcionamiento continuo en realidad es discreto y la resolución de las ecuaciones es verdadera siempre que el «SCAN TIME» sea despreciable para nuestro proceso.
Para dar coherencia a los lenguajes de programación (a LADER básicamente es el más parecido a un cuadro de cableado real), se requiere una consistencia de las entradas y salidas reales durante todo el ciclo. Para ello, antes de cada comienzo del ciclo se leen y memorizan las entradas y se mantienen constantes durante todo el ciclo. Al final de este se escriben las salidas y de igual forma se memorizan hasta el final del siguiente ciclo.
En el transcurso de estos años, los PLC han evolucionado. Veamos algunos avances:
- Reducción de tiempos de ciclo «SCAN TIME» del orden de cientos de Microsegundos.
- «SCAN TIME» fijo e independiente de la duración de evaluación de las ecuaciones (introducción del concepto de «Preempt able» comportamiento predictivo).
- Varios ciclos «Paralelos» configurables con distintos «SCAN TIME» según los requisitos (introducción al concepto de «Multitarea»).
- Procesadores paralelos que en este caso si físicamente procesan la información en paralelo.
- Ciclos de Interrupción o código que no se ejecuta secuencialmente.
- Etc.
Pero básicamente, por concepto y herencia lo que define a un PLC es el hecho de tener «SCAN TIME» (uno o varios), y el procesar la información secuencialmente.
En el mundo real de la automatización, la gran mayoría de procesos son secuenciales, lo que para el concepto de PLC resulta al menos incómodo. No es muy «racional» el evaluar toda una tarea y llegar al final de ella cuando en realidad, y en función del estado del proceso en que nos encontremos, solo unas cuantas líneas de ese código son significativas. Por supuesto los distintos lenguajes de PLC tienen multitud de ardides para solventar esto. Pero fundamentalmente los PLC y su concepto congenian con la programación lineal y no es esta la mejor manera de abordar un problema actual de automatización.
Ordenador
Con esta distinción, más que una diferencia de Hardware, existe una diferencia de concepto de Software y de programación. Los PLC actuales pueden tener recursos físicos y potencia de cálculo semejante a un ordenador, pero más importante que ello, es el cómo se hace uso de ellos y cuál es su aprovechamiento.
Todos los automatismos, por complejos que sean, se pueden dividir en una o varias tareas o procesos simples, dependientes entre ellos o no. Imaginemos por un momento que asignamos a cada tarea un procesador, entonces podríamos detenernos en un punto del programa a la espera de una condición, programar cosas como «While Entrada <> 1; EndWhile;» lo que haría de un código secuencial algo muy sencillo de depurar. Además esto obliga al programador a realizar un programa estructurado, a definir las tareas de un proceso.
Las técnicas de virtualización de procesadores han avanzado presurosamente y los sistemas operativos cada vez ofrecen más recursos para «Simular» procesadores virtuales., pero dejemos para la segunda parte de esta entrega los nuevos conceptos, en el dominio de Linux: Rt, threads, prioridades…
Para finalizar y refiriéndonos al sistema físico – Hardware- comentemos que cada vez más, el objetivo es minimizar los gastos de instalación, cableados etc y esto abre camino a la descentralización de I/O, entradas – salidas o accionamientos que comunican por un bus, y que son (lo serán o deberían serlo) independientes del tipo de control o CPU usada.
Sumado a esto, la visualización: HMI y sus pantallas cada vez más grandes, de mayor resolución y profundidad de color, marcan como claro y actual sucesor de los PLC a los ordenadores industriales.
En la segunda parte de este artículo abordaremos los conceptos de hardware y software que gobiernan las actuales tendencias de automatización.
Por BLA – Larraioz Elektronika