Los controladores lógicos programables son el núcleo de la automatización industrial, ya que permiten el control y la regulación precisos de máquinas y procesos. Ofrecen flexibilidad, fiabilidad y eficiencia en numerosas aplicaciones. En nuestra sección de preguntas frecuentes encontrarás información detallada y respuestas a las preguntas más habituales.
Los sistemas eléctricos y mecánicos están automatizados en casi todas las plantas de tecnología de procesos. El control automático de los componentes en función de la posición de los interruptores o tras un tiempo determinado son ejemplos de ello. A veces solo se necesitan enlaces binarios simples; sin embargo, a menudo son necesarios controles de secuencia complejos. Para la automatización se suelen utilizar controladores lógicos programables (PLC).
Un controlador lógico programable (PLC) puede considerarse como un pequeño ordenador que realiza salidas basadas en entradas y operaciones. Un PLC consta, como mínimo, de una unidad central de procesamiento (CPU) y módulos de entrada/salida (módulos E/S). Los módulos E/S suelen estar conectados a la unidad central de procesamiento a través de un bus de sistema, que también les suministra tensión.
Unidad central JUMO variTRON 500 con funcionalidad PLC, módulos de entrada/salida y panel web (detrás)
Los PLC están disponibles en varias versiones, que difieren en cuanto a funcionalidad y aplicación:
Estos controladores están integrados en una sola carcasa. Contienen todos los componentes necesarios, como CPU, entradas/salidas e interfaces de comunicación. Son ideales para aplicaciones más pequeñas con requisitos mínimos de espacio.
Estos sistemas constan de una CPU central y módulos de entrada/salida independientes que se pueden añadir o eliminar según sea necesario. Ofrecen flexibilidad y capacidad de ampliación para aplicaciones más complejas. Esto también incluye los sistemas de automatización de la familia JUMO variTRON, incluso cuando tienen un rango funcional mucho más amplio que los PLC estándar.
Estos controladores se han desarrollado especialmente para aplicaciones críticas para la seguridad y cumplen con estrictas normas de seguridad. Se utilizan en áreas donde la protección de las personas y las instalaciones es una prioridad absoluta.
Las señales procedentes de interruptores, sensores, etc. se transmiten a la unidad central de procesamiento a través de módulos de entrada, de modo que luego están disponibles en el PLC. Entre las señales procedentes de la planta se incluyen el estado respectivo de los interruptores de límite, termostatos, monitores de flujo e interruptores de nivel, así como los valores medidos correspondientes de los sensores de temperatura, presión o humedad. El PLC vincula las señales y produce un resultado, que se pone a disposición de los módulos de salida. Por ejemplo, se utilizan relés para activar válvulas solenoides y motores. Por consiguiente, la funcionalidad de un PLC se implementa en la unidad central de procesamiento, que actúa como centro de control, por así decirlo.
Antes de la introducción de los PLC, los sistemas de control se implementaban interconectando relés y relés temporizados. Este tipo de control requería una cantidad significativa de material, y la función solo podía modificarse cambiando los circuitos. Además, los sistemas eran propensos a fallos y la resolución de problemas requería mucho tiempo. La tarea de los primeros PLC era sustituir estas redes de relés.
Todas las señales de entrada son procesadas cíclicamente por un programa PLC y vinculadas en el programa. Para la programación de PLC se dispone de entornos de desarrollo como CODESYS, lo que significa que los programas se desarrollan en CODESYS y luego se transmiten al PLC.
Un PLC se puede programar en varios lenguajes de programación definidos en la norma IEC 61131-3. Por lo tanto, el programador puede elegir el lenguaje de programación que mejor se adapte a los requisitos respectivos.
El lenguaje de programación de lógica ladder, que se utiliza desde la década de 1960, es adecuado para sustituir las redes de relés. Es el lenguaje de programación más antiguo que se conoce. Su representación del programa es similar a la de los circuitos eléctricos.
Imaginemos una aplicación muy sencilla en la que un módulo de entrada adquiere el estado de un interruptor de valor límite en un depósito y el de dos pulsadores. Los respectivos estados están disponibles en el programa del PLC a través de variables con los nombres «LevelBelowTheLimit», «PushbuttonLeft» y «PushbuttonRight». Una bomba se controla a través del relé de un módulo de salida. Se le asigna en el programa el nombre de «PumpActivated» (Bomba activada). La bomba solo debe activarse cuando se pulsan ambos pulsadores (los dos, por razones de seguridad) y el nivel ha descendido por debajo del punto. El sencillo programa en el lenguaje de programación de lógica ladder aparece de la siguiente manera en CODESYS:
Ejemplo de programa en lógica ladder
Se puede observar una estructura similar a la de un diagrama de circuitos, compuesta por interruptores/pulsadores y relés. Una vez creado el programa, se transfiere al PLC y se verifica. A partir de ese momento, el entorno de desarrollo CODESYS ya no es necesario.
Desde muy temprano, el lenguaje de programación de lógica ladder disponía de elementos de temporización que permiten el encendido/apagado retardado o activan su salida durante un determinado periodo de tiempo tras ser activados. Por ejemplo, hay disponible un bloque de funciones con la designación TON. Solo activa su señal de salida cuando su entrada se activa durante un tiempo mínimo. Si, por ejemplo, la bomba debe activarse cuando se pulsan los pulsadores durante un mínimo de 5 segundos, el pequeño programa debe modificarse de la siguiente manera:
Ejemplo de programa modificado en lógica ladder
Los módulos de funciones estándar también incluyen flip-flops RS, contadores, elementos de temporización (como retardos de conexión y desconexión) y detectores de flanco. Los operadores matemáticos también forman parte del equipamiento de programación estándar.
Otro lenguaje muy similar es el diagrama de bloques de funciones orientado a redes. En este lenguaje, el pequeño programa se estructura de la siguiente manera:
Beispielprogramm in Funktionsplan
El CFC (diagrama de funciones continuas) es una evolución del diagrama de bloques de funciones que permite colocar los elementos libremente. Por lo demás, el CFC tiene un aspecto muy similar. El lenguaje de programación es muy común. En él, el programa tiene el siguiente aspecto:
Ejemplo de programa en diagrama de funciones continuas
Un lenguaje que hoy en día se utiliza con relativa poca frecuencia es la lista de instrucciones (IL), muy similar al lenguaje de programación ensamblador. Cada instrucción en IL se basa principalmente en la carga de valores en un acumulador, lo que se realiza mediante la instrucción LD. A continuación, se lleva a cabo la operación correspondiente con el primer parámetro del acumulador. El resultado de esta operación se devuelve al acumulador. El pequeño programa tiene la siguiente estructura en la lista de instrucciones:
Ejemplo de programa en la lista de instrucciones
Otro lenguaje de programación es el código ST (texto estructurado). El código ST es un lenguaje de programación basado en texto que permite realizar tareas de control complejas. Su sintaxis es similar a la del lenguaje de programación Pascal. Permite el uso de variables, funciones, bucles y sentencias condicionales. El código ST es especialmente adecuado para programar secuencias de procesos complejas y cálculos matemáticos. Permite una programación estructurada y clara, lo que facilita el mantenimiento y el desarrollo posterior de los programas de control. Solo se necesitan 2 líneas para el programa de ejemplo en código ST:
Ejemplo de programa en texto estructurado
El lenguaje de diagramas de funciones secuenciales es ideal para implementar controles de secuencia. Imaginemos una planta de tratamiento térmico en la que el material a tratar se transporta a la planta mediante una cinta transportadora. Los tres primeros pasos son los siguientes
En los programas escritos en diagrama de funciones secuenciales, ciertos pasos (por ejemplo, calentamiento y carga) se vinculan entre sí mediante condiciones de conmutación o transiciones. Los tres primeros pasos (+ BasicPosition) del programa necesarios para la aplicación de ejemplo aparecen de la siguiente manera en el lenguaje de diagrama de funciones secuenciales:
Vinculación de pasos de proceso en un diagrama de funciones secuenciales
Los programas se pueden definir para cada paso, pero solo se ejecutan cuando el paso correspondiente está activo. El procesamiento comienza con el paso «BasicPosition». No hay ningún programa almacenado para este paso, por lo que no se realiza ninguna actividad.
Se definen programas separados (por ejemplo, en un diagrama de escalera) para todos los pasos siguientes. Si se pulsa el botón de inicio desde la posición básica, se activa el paso «Calentador», de modo que el generador de calor se habilita mediante el programa almacenado. El paso permanece activo hasta que la temperatura del calentador alcanza los 200 °C y se activa el paso «Retract». El programa del paso «Retract» habilita el control correspondiente para la puerta y el motor de la cinta.
En consecuencia, se añaden más pasos con transiciones. La última transición activa de nuevo el paso «BasicPosition».
Una de las funciones principales de un PLC es la automatización de procesos, lo que requiere programación en uno de los lenguajes de programación mencionados anteriormente. Sin embargo, los PLC actuales son dispositivos de automatización versátiles y ofrecen mucho más: