Automatización

Controlador lógico programable / PLC: preguntas y respuestas clave

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.

Índice

¿Por qué están tan extendidos los sistemas de automatización?

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).

¿Qué es un 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)

Unidad central JUMO variTRON 500 con funcionalidad PLC, módulos de entrada/salida y panel web (detrás)

¿Qué tipos de controladores lógicos programables hay disponibles?

Los PLC están disponibles en varias versiones, que difieren en cuanto a funcionalidad y aplicación:

PLC compacto

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.

PLC modular

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.

PLC de seguridad

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.

¿Por qué un PLC tiene módulos de entrada y salida?

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.

¿Cómo se automatizaban los procesos antes de la introducción de los controladores lógicos programables?

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.

¿Qué es un programa PLC y cómo se crea?

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.

¿Qué lenguajes de programación PLC hay disponibles?

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.

Lógica ladder

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

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

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.

Diagrama de bloques de funciones

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

Beispielprogramm in Funktionsplan

Diagrama de funciones continuas

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

Ejemplo de programa en diagrama de funciones continuas

Lista de instrucciones

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

Ejemplo de programa en la lista de instrucciones

Texto estructurado

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

Ejemplo de programa en texto estructurado

¿Cómo se puede implementar el control de secuencias con un PLC?

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

  1. Al pulsar el botón de inicio, se calienta un calentador. Cuando se alcanza la temperatura objetivo, comienza el siguiente paso.
  2. Se abre la puerta de la cámara de tratamiento y se pone en marcha una cinta transportadora que introduce los productos en la cámara. Una vez que el material se ha cargado por completo (lo que se detecta mediante un interruptor de proximidad), comienza el siguiente paso.
  3. Se cierra la puerta y se regula la temperatura de la cámara a una temperatura específica. Cuando se alcanza una determinada temperatura en el núcleo del producto, el control se apaga y se abre la puerta. Comienza el siguiente paso.
  4. …  

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

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».

¿Qué otras características típicas tienen los controladores lógicos programables?

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:

  • Provisión de diversas interfaces para la comunicación con sistemas de nivel superior.
  • Puesta a disposición de variables en una nube para que se pueda acceder a la planta desde cualquier lugar utilizando diferentes dispositivos finales.
  • Editores para visualizar pantallas de proceso con una apariencia específica para cada cliente.
  • Provisión de un servidor web, al que se puede acceder para visualizar la planta utilizando un navegador o un panel web.