CONTROLADORES LÓGICOS PROGRAMABLES
P.L.C.
Introducción:
Genéricamente, un Controlador Lógico Programable, es un dispositivo que puede ser programado para cumplir determinadas tareas de control en sistema automáticos.
Existen variados tamaños de PLC; para pequeñas aplicaciones, pueden ser como un paquete de cigarrillos, pero los hay del tamaño de un acondicionador de aire, o mas grandes, teniendo en cuenta que a esta escala son modulares, es decir que se les pueden agregar tantos módulos como sea necesario de acuerdo a las necesidades. Estos módulos pueden ser de entrada, de salida, o unidades de proceso.
Los PLC son muy utilizados para controlar aquellas máquinas que deben seguir procesos secuenciales a nivel industrial, tales como empaque de productos, control de motores, monitoreo de sensores, monitoreo o control de armado de partes, etc. Su elección depende del tipo de proceso a automatizar, así como de la cantidad de entradas y salidas necesarias para atender todos los sensores y actuadores del sistema.
Un PLC, como cualquier sistema de control, entrega determinados estados en sus salidas dependiendo del estado de sus entradas y de un proceso de corrección, que en este caso sería el programa que tenga cargado en su memoria, que debió ser diseñado para la aplicación en especial.
Figura 1
Por ser un dispositivo programable, el proceso que se desea automatizar debe ser estudiado para generar el programa con sus rutinas, que por medio de una serie de instrucciones, y basado en las señales de entrada, tomen la decisión sobre la acción que se debe ejecutar en los actuadores automáticos del proceso. Este programa se carga al PLC a través de algún tipo de software diseñado para tal fin, ya sea por medio de una computadora convencional, o mediante una unidad programadora manual, que son pequeñas computadoras diseñadas especialmente por los fabricantes de los PLC, para la programación de éstos. (Ver Figura 1. Tamaño aproximado similar al de un multímetro).
Cualquier proceso que involucre encendido o apagado de ciertas máquinas con una secuencia lógica, o bien la lectura de variables análogas o el control de determinados sistemas análogos, puede ser llevado a un PLC como una solución para que tal proceso se ejecute en forma automática.
Los PLC tienen entre sus componentes internos, esencialmente, los mismos constituyentes que los microcontroladores; es lícito preguntarse entonces porque se aborda como un dispositivo diferente, y no como si fuese un microcontrolador. Las razones fundamentales que crean una gran diferencia con éstos, son las siguientes:
- Los PLC vienen diseñados para trabajar en ambientes industriales, con blindajes especiales, con el objeto de no dejarse afectar por las perturbaciones eléctricas que ocurren constantemente debido a los transitorios generados por motores y en general todas las máquinas que forman parte de la red eléctrica y de control de una planta fabril.
- El diseño de los PLC, como se verá más adelante, está orientado fundamentalmente al reemplazo de relés o relevos, que es una pieza fundamental en el control de procesos industriales, y las operaciones estrechamente vinculadas a éstos, tales como el conteo de operaciones y el eventual retardo de tiempo para producir cada operación, entre otras.
El primer punto se refiere en particular a los aspectos constructivos, o de hardware; el segundo plantea una diferencia fundamental en cuanto al análisis de su funcionamiento.
Historia de los PLC:
Hacia fines de la década del 60 la creciente industrialización de los países desarrollados planteó la necesidad de reemplazar los complejos sistemas elaborados con numerosos relés y el consecuente cableado. Este requerimiento en particular se presentó en la industria automotriz, en los EEUU. Por ese entonces, la empresa Bedford Associates propuso al mayor fabricante de automóviles de EEUU, algo llamado Modular Digital Controller (MODICON). Simultáneamente otras compañías hicieron propuestas parecidas, pero se considera al MODICON 084 como el primer PLC producido comercialmente en el mundo.
Estos primeros PLC´s tenían el inconveniente de no poder usarse modularmente (comunicándose entre sí), como tampoco servían en caso de cambiar los requerimientos de la cadena de producción para la que fueron diseñados.
Hacia 1973 aparecen los primeros PLC con posibilidad de comunicarse con otros dispositivos (Modbus, de Modicon). Fue entonces posible conectar varios PLC entre sí, permitiendo que cualquiera de ellos conociera el estado de operación de los demás. También comenzaron a permitir su reprogramación, con lo que se podían reutilizar en caso de producirse cambios en la cadena o proceso de producción.
En la década de los 80, con el surgimiento de las computadoras personales, fue posible la programación de los PLC de una manera más sencilla, gracias a la fácil comunicación e interfase más amigable entre usuario y máquinas.
Para la década de los 90, la estandarización de los protocolos de comunicación y de los lenguajes de programación, ha hecho que prácticamente cualquier PLC pueda integrarse a determinada red sin importar su fabricante. En la actualidad existe una Recomendación Internacional, la IEC 1131-3 (http://www.plcopen.org/iecdocs.htm), muy útil por cuanto normaliza no solo el aspecto hardware sino también los lenguajes de programación de los PLC. Gracias a la IEC 1131-3 en la actualidad se ha logrado independizar del fabricante la utilización de los PLC en la automatización industrial.
Estructura de un PLC:
Un PLC consiste principalmente de una CPU, áreas de memoria externa, y circuitos adecuados para comunicarse con las entradas y salidas del PLC. Veamos esto en el diagrama presentado en la Figura 2:
![]() |
Observamos con mucha frecuencia la palabra relé. Efectivamente, como ya se ha mencionado, los PLC están estrechamente vinculados con los relés o relays, puesto que fueron creados para reemplazarlos cumpliendo con las mismas funciones, aunque no sean parecidos físicamente. Antes de seguir adelante, veamos como está construido un relé tradicional, y un ejemplo de su posible aplicación.
El ejemplo más sencillo de relé lo constituye una bobina y un contacto, como se observa en la figura 3.
Un típico relé puede pensarse como una llave o interruptor electromagnético.
Aplicando una tensión continua a la bobina de la Figura 3, mediante el accionamiento
de un pulsador, se genera un campo magnético. Este campo succiona o chupa
el contacto cerrando el circuito de corriente alterna, por ejemplo, permitiendo
que suene la campanilla BELL. En este sencillo ejemplo, tenemos
tres componentes reales: el pulsador, el relé y la campanilla. Además tenemos
dos circuitos separados: el inferior, de corriente continua, y el superior,
de corriente alterna. En este caso hemos usado un relé de corriente continua,
para controlar un circuito de corriente alterna.
Sabiendo como es un relé real, continuemos ahora analizando ahora los componentes de un PLC (Figura 2), que sin ser físicamente parecidos (insistimos) a un relé del mundo real, debe cumplir con funciones idénticas.
RELES DE ENTRADA (contactos)
Estos contactos están conectados con el mundo exterior del PLC. Físicamente existen, y reciben señales de interruptores, sensores, etc., y en realidad no son relés, sino que tienen componentes del tipo o similares a los mostrados en la Figura 4.
Se observa aquí que este relé de entrada no es muy parecido al visto
antes, pero esta es una típica entrada a un PLC. Las entradas pueden ser analógicas
o digitales, aunque las más utilizadas son las digitales, que por medio de optoacopladores
toman el voltaje entrante y permiten la activación de la variable respectiva
dentro del programa del PLC. Las tensiones de entrada pueden ser de alterna
o continua y de cualquier valor. El optoacoplador puede ofrecer una protección
de hasta 6000 Volts en la entrada sin producir daño alguna en la circuitería
interna del PLC. Se aprecia también en la Figura 4, el símbolo utilizado dentro
del programa del PLC para representar una entrada, que se denomina contacto.
Un módulo típico de PLC puede constar de 8 ó 16 entradas, ofreciendo externamente la cantidad de terminales correspondientes a los contactos de cada uno de los optoacopladores.
RELES DE SALIDA (bobinas)
Son salidas físicas a las cuales se conecta el cableado que llevará la señal
a los actuadores de la máquina o proceso que se está controlando. Cada salida
corresponde a una variable dentro del programa en ejecución. En general, los
módulos de salida están basados en relés (también relevos), como
se observa en la configuración de la Figura 5, por ser dispositivos que soportan
corrientes de cierta importancia a través de sus terminales de contacto, y porque
además ofrecen alto aislamiento para el PLC con respecto a los circuitos externos.
Estos relés son salidas del tipo On/Off, o sea conectan o no un
actuador, que puede ser un motor, un timbre, etc. También hay salidas a través
de optoacopladores, transistores, TRIACs, etc., pero las de relés son las más
usadas. En la Figura 5 se muestra un circuito típico de salida de un PLC por
medio de relé, con el correspondiente símbolo para representarlo en el programa
de control (que veremos más adelante). Al igual que las entradas, un módulo
de salida puede estar compuesto de 8 ó 16 juegos de contactos, en la mayoría
de los casos.
RELES UTILITARIOS INTERNOS (SIMULADOS) (contactos)
Continuando con el análisis de los componentes detallados en la Figura 2, diremos que estos relés no reciben señales desde el mundo exterior al PLC, ni tampoco existen físicamente como relés. Son relés simulados dentro del PLC, y su importancia radica en que permite al PLC eliminar relés externos. Este tema se aclarará completamente cuando veamos su utilización en el ejemplo de la página 10.
CONTADORES (SIMULADOS)
Tampoco existen físicamente; son variables que simulan a los contadores reales. Pueden hacer conteo de entradas y salidas físicas o lógicas, como también, como también pueden hacerlo en forma ascendente o descendente, activando otras variables luego de comparar el valor del conteo en que se encuentren, con un valor que se haya programado previamente. Veremos los contadores en detalle, en la página 14.
TEMPORIZADORES (SIMULADOS)
Los temporizadores o timers, que tampoco existen físicamente, son variables que simulan un temporizador físico al cual se le puede programar el tiempo deseado para la activación o desactivación de otra variable dentro del programa o de entradas y salidas físicas externas. Veremos los temporizadores en detalle, en la página 13.
ALMACENAMIENTO DE DATOS
No es otra cosa que la memoria de datos vista para los microcontroladores. Es decir hay registros asignados para simple almacenamiento de datos, que generalmente se usan también como memoria de almacenamiento temporario de cálculo.
Modo de operación de un PLC:
![]() |
|||
![]() |
|||
Proceso:
Una vez que se han leído las entradas, el PLC ejecuta las órdenes de acuerdo al programa que se tenga en la memoria. Durante este paso se ejecutan operaciones matemáticas, se verifica el estado de los temporizadores al igual que el de los contadores, y se toman decisiones que finalmente han de llegar a los módulos de salida.
Actualización de las salidas:
Una vez concluido el procesamiento del programa cargado en memoria, la CPU ordena la actualización de los valores que deben tener las salidas, o sea la activación (ON) o desactivación (OFF) si se trata de salidas digitales, o un voltaje proporcional si se trata de salidas analógicas.
Tiempo de escaneo:
El tiempo de escaneo (scan time), también llamado tiempo de respuesta, es determinado por el lapso que hay entre la ejecución por parte del PLC del primer paso, ir hasta el tercero y de nuevo llegar al primero (ver diagrama anterior) o sea realizar un ciclo completo. Cuanto más pequeño sea el tiempo de escaneo, mayor será la velocidad de respuesta del PLC.
Programación de un PLC:
En la Recomendación IEC 1131-3 citada precedentemente, se definen cuatro lenguajes de programación, en los que ha sido definida tanto su sintaxis como la semántica, por lo que no caben los dialectos. Estos idiomas o lenguajes consisten en dos expresados en forma textual y dos versiones gráficas:
Los dos textuales son:
- Lista de instrucciones (IL)
- Texto estructurado (ST)
Las dos versiones gráficas:
- Diagrama de Escalera (Ladder Diagram = LD)
- Diagrama de bloques de funciones (Function Block Diagram = FBD)
En el siguiente cuadro se dan como ejemplo las mismas instrucciones en los cuatro idiomas:
![]() |
La elección del lenguaje de programación depende, entre otras cosas, de la experiencia de los programadores, del problema que se deba resolver, del grado de detalle que requiera la descripción del problema, y de la eventual comunicación que se deba mantener con otros programadores o departamentos (esto en grandes fábricas, por supuesto).
Los cuatro lenguajes permiten programar las mismas acciones, teniendo algunos ventajas sobre otros dependiendo de las aplicaciones.
En todos los casos, para programar finalmente el PLC, o para transmitir al mismo el programa realizado en el lenguaje elegido, es necesario una computadora y un software especial como se citó en la introducción. La comunicación física se hace por medio de un cable desde la CPU del PLC hasta algún puerto serial de la PC.
Instrucciones básicas de programación:
Nos referiremos con exclusividad al lenguaje LD (Diagrama de Escalera), por ser uno de los más utilizados, por su claridad para facilitar la comprensión de las diferentes aplicaciones, y porque la mayoría de los PLC tienen el software necesario para transformar un LD en lenguaje de máquina. También, como hicimos en el caso de los microcontroladores, veremos sólo las instrucciones necesarias para comprender un ejemplo sencillo. Éstas, no obstante, constituyen una buena base para quien desee profundizar el tema.
Para entender como funciona un diagrama de escalera y con este propósito, reemplazaremos el pulsador, la batería y la bobina del relé de la Figura 3 por sus correspondientes en un LD. Para ello deberemos considerar los símbolos que el PLC comprende, y no las designaciones habituales que damos nosotros cotidianamente:
-
La batería se reemplaza con algo común a todos los LD, llamadas bus
bars o barras bus, que son simplemente dos barras verticales,
una a cada lado del diagrama. (Serían los laterales o largueros de la escalera)
Debe tenerse presente que siempre el la barra de la izquierda es la de
tensión positiva, y la de la derecha, tierra. También se debe tener presente,
consecuentemente, que la corriente circula por los peldaños de
la escalera, de izquierda a derecha.
- Una instrucción de entrada se representa así: (No confundir con los capacitores). Puede ser un pulsador, un interruptor, o simplemente un contacto de un relé (real o simulado internamente en el PLC). Para el PLC no importa verdaderamente del dispositivo de que se trate. Simplemente es una entrada lógica equivalente a un contacto normalmente abierto, y se utiliza cuando se necesita que una señal de entrada esté presente para conectar. Esa conexión se asume como un estado lógico 1. Analicemos un poco más este tema para evitar malas interpretaciones o confusiones: La instrucción en reposo es un contacto abierto, y como tal, es un 0 lógico. Cuando se acciona el contacto, o, lo que es lo mismo, cuando hacemos el análisis de su funcionamiento, es cuando hacemos la conexión y en consecuencia tenemos el estado lógico 1 o verdadero. En consecuencia, cuando el estado lógico bajo análisis sea un 0, reposo o inactivo, esta entrada es falsa o 0. Contrariamente, si el estado bajo análisis es 1, o activo, esta entrada debe considerarse como verdadera. Esta entrada se usa como entrada externa o interna (de relés internos; recordar que son simulados por el software del PLC) y también para contactos de salida externa. Veamos ahora el caso opuesto:
- La entrada puede ser también entrada negada, o contacto normalmente cerrado. Se utiliza cuando se necesita que el contacto esté conectado (1), con el circuito en reposo. Esta entrada negada puede usarse en los mismos casos citados para la entrada descripta en el párrafo anterior.
Importante: En la mayoría de los PLC, las instrucciones entrada o entrada negada, deben ser el primer símbolo a la izquierda del correspondiente peldaño de la escalera.
- Antes de completar nuestro primer diagrama de escalera para reemplazar un relé, nos queda ver la instrucción salida, que se asocia a la bobina del relé de la Figura 3. La salida, cuando está colocada en un peldaño de escalera, precedida de entrada/s verdadera/s (1), será también verdadera. O sea que cuando en el peldaño sea todo verdadero, la salida está conectada. Puede pensarse esta salida como normalmente abierta o falsa, cuando el circuito correspondiente está inactivo, o es falso. Esta instrucción se usa para bobinas internas del PLC (simuladas), y para salidas externas.
- La opuesta, es la salida negada, que funciona en forma exactamente opuesta a la vista precedentemente. Se asimila a una bobina de relé normalmente cerrada, y tiene las mismas aplicaciones que la anterior.
Resumamos lo anterior en un cuadro:
|
Designación |
Símbolo |
Estado Lógico 0 (Reposo o inactivo) |
Estado Lógico 1 (Con tensión o activo) |
|
Entrada |
|
0 (falso) |
1 (verdadero) |
|
Entrada Negada |
|
1 (verdadero) |
0 (falso) |
|
Salida |
|
0 (falso) |
1 (verdadero) |
|
Salida Negada |
|
1 (verdadero) |
0 (falso) |
En función de lo anterior, el circuito del relé de la Figura 3 representado en un LD, sería sencillamente lo siguiente:
![]() |
En este esquema simple, que tiene el aspecto de una escalera, observamos que la entrada 0000 está en el mismo peldaño que la salida 0500, de manera que, cuando la entrada 0000 esté en 1, también lo estará la salida 0500 y consecuentemente se habrá accionado la bobina del relé. Debe destacarse aquí que la fuente de alterna de la Figura 3, es externa al relé (y al PLC), por lo que no se coloca en el LD. En realidad, el PLC acciona la salida 0500 (o bobina), sin importar que se está comandando con ello, por lo que la fuente de alterna es irrelevante para el PLC.
También debe notarse que tanto la entrada como la salida llevan un número, que más que una identificación se refiere a la dirección del registro de memoria que las identifica. Esto es importante, pues debemos decirle al PLC donde está cada cosa, o, en otras palabras, debemos dar una dirección a cada uno y a todos los dispositivos del PLC. Ampliaremos un poco este tema más adelante.
Ejemplo sencillo de programación mediante LD utilizando los registros
![]() |
Vamos a analizar como sería el funcionamiento de un LD correspondiente a un circuito sencillo, para comparar las diferencias:
El circuito de la Figura 7 energizará la bobina cuando, sin abrir la SW2, cierre la SW1 pues de esta forma quedará aplicado a la bobina el potencial de la batería.
![]() |
Veamos en la Figura 8 como sería este mismo circuito, representado en un LD, incluyendo los números de registros. Recordemos que cada peldaño de la escalera debe contener una o más entradas y una o más salidas. También, la primer instrucción de cada peldaño debe ser siempre una entrada, y la última, una salida o su equivalente.
Obsérvese que con un peldaño de escalera solamente, se reemplazan todos los componentes del circuito de la Figura 7, utilizándose una entrada, una entrada negada, y una salida. Por supuesto que, cuanto más complejo es el circuito, mayor es la conveniencia de utilización del LD. También se advierte la sentencia END, utilizada por la mayoría de los fabricantes de PLC, y que indica que termina el programa y/o la secuencia de los peldaños. Veamos ahora como se utilizan las direcciones. Estas direcciones se vinculan con una cierta área de almacenamiento (archivos de datos) del PLC, de manera que se puede guardar el estado de la instrucción, o sea si es verdadera o falsa. En general, los PLC utilizan direcciones de almacenamiento de 16 bits, que se analizan de esta manera, teniendo en cuenta que en este ejemplo estamos usando dos registros o direcciones de almacenamiento diferentes :
|
registro |
00 |
|||||||||||||||
|
bit |
15 |
14 |
13 |
12 |
11 |
10 |
09 |
08 |
07 |
06 |
05 |
04 |
03 |
02 |
01 |
00 |
|
estado |
1 |
0 |
||||||||||||||
|
registro |
05 |
|||||||||||||||
|
bit |
15 |
14 |
13 |
12 |
11 |
10 |
09 |
08 |
07 |
06 |
05 |
04 |
03 |
02 |
01 |
00 |
|
estado |
0 |
|||||||||||||||
En esta tabla vemos que el registro 00, bit 00 (o sea la entrada 0000) tiene un 0 lógico; mientras que el registro 00, bit 01 (o sea la entrada 0001) tiene un 1 lógico. El registro 05, bit 00 (o sea la salida 0500), tiene un 0 lógico. Como es sabido, el 0 ó 1 lógico, indica si la instrucción es falsa o verdadera.
Nota: En realidad todos los registros vacíos consignados en la tabla, debieron tener un 0, pero se han dejado en blanco para enfatizar las direcciones que nos interesaban.
El PLC sólo energizará la bobina o la salida (la hará verdadera), cuando todas las condiciones (entradas) en el peldaño sean verdaderas. Es decir que la tabla de verdad para este ejemplo, sería:
|
ENTRADAS |
SALIDA |
ESTADO LÓGICO DEL BIT DE REGISTRO |
|||
|
SW1 |
SW2 |
BOBINA |
SW1 |
SW2 |
BOBINA |
|
Falso |
Verdadero |
Falso |
0 |
1 |
0 |
|
Falso |
Falso |
Falso |
0 |
0 |
0 |
|
Verdadero |
Verdadero |
Verdadero |
1 |
1 |
1 |
|
Verdadero |
Falso |
Falso |
1 |
0 |
0 |
Como siempre, la tabla de verdad muestra todas las posibles combinaciones de estados lógicos de las dos entradas.
Ejemplo de aplicación: Control de nivel en un tanque para líquidos
Este es el ejemplo clásico en el cual se debe ejercer control sobre un actuador que regula el abastecimiento de líquido para un tanque.
![]() |
El caso más sencillo, aunque no efectivo, consiste en un contacto único (sensor de nivel alto) el cual, al activarse apaga el motor y al desactivarse lo enciende. pero este sistema tiene el inconveniente que el motor se conmutará muchas veces en poco tiempo, disminuyendo así su vida útil.
La verdadera solución requiere la utilización de dos sensores, que forman una ventana del nivel del líquido, donde se tendrá un nivel alto que servirá de guía para apagar el motor, y un nivel bajo con el que se encenderá. (Ver Figura 9)
En este ejemplo, se pretende que el motor de la bomba de llenado funcione cuando el líquido esté entre los dos niveles, deteniéndose cuando supere el nivel alto y arrancando cuando alcance el nivel bajo. En este caso necesitaremos dos entradas (los sensores de nivel) y una salida (la bobina de comando del motor). Tengamos presente que:
Cuando los sensores NO están sumergidos en líquido, están on (verdadero).
Cuando los sensores SI están sumergidos en líquido, están off (falso).
Debe darse a cada dispositivo (de entrada o salida) una dirección. Esto le permite al PLC, saber donde están físicamente conectados cada uno de estos dispositivos. Asignemos las siguientes direcciones:
|
Dispositivo |
Nivel bajo |
Nivel Alto |
Bobina Motor |
Relé utilitario interno |
|
Dirección |
0000 |
0001 |
0500 |
1000 |
![]() |
En la figura 10 se observa lo que sería el diagrama de escalera (LD) para la programación del PLC de este ejemplo. Nótese que se está usando el relé utilitario interno (ver página 4), designado como 1000, en este caso con una bobina (salida) y dos contactos (entradas). Al ser simulado internamente en el PLC, (no existe físicamente) puede tener tantos contactos como se requiera (o como lo permita la capacidad de memoria del PLC).
![]() |
Debe recordarse siempre que la razón más frecuente para usar PLC en distintas aplicaciones, es el reemplazo de relés físicamente reales. Los relés utilitarios internos hacen posible este reemplazo. La cantidad de relés utilitarios internos es variable dependiendo de la marca, y por supuesto, del tamaño del PLC, pero es común que un PLC pequeño tenga cientos de ellos, y en los mas grandes, cientos de miles. Por lo general, los PLC traen muchos más de los necesarios. Esto es lógico, si pensamos que con unos pocos bits de memoria se simula un relé utilitario interno.
Pero veamos como funciona el PLC que hemos programado para el control del nivel de líquidos. Con referencia a la figura 11, partimos del caso en que el tanque está completamente vacío, de manera que los sensores no están sumergidos; están en un 1 lógico, y en consecuencia ambas entradas, la 0000 y la 0001 están en verdadero y se desprende del LD que la salida 1000 (relé utilitario interno) está igualmente en verdadero, y consecuentemente también lo están los contactos o entradas 1000 y la salida 0500. Si la salida 0500 en verdadero, esto significa que el motor de la bomba está funcionando y gradualmente se va llenando el tanque de la figura 9.
Cuando el líquido alcanza el nivel bajo del tanque, el correspondiente sensor pasa a un 0 lógico, o sea falso, es decir que la entrada 0000 del LD se volvió falso, como se observa en la figura 12. Sin embargo, en esta condición, el relé utilitario interno 1000 se mantiene verdadero pues está conectado a través de su propio contacto 1000 y de la entrada 0001 correspondiente al sensor de nivel alto, y bajo estas condiciones la bomba sigue llenando el tanque. Esto es posible gracias al relé interno 1000 (aquí vemos su utilidad), cuya función en este caso es producir un enclavamiento para mantener en verdadero la salida 0500.
Continuando con el análisis, cuando el nivel de líquido alcanza el sensor de nivel alto, éste transforma la entrada 0001 en falso, y se produce entonces la situación mostrada en la figura 13 y por lo tanto la bomba se detiene dejando de llenar el tanque.
![]() |
![]() |
A medida que se va utilizando el líquido, se va vaciando el tanque; cuando el nivel está por debajo del sensor de nivel alto, se da la situación de la figura 14, de la que se comprende que tampoco funciona el motor de la bomba en estas condiciones. Finalmente, cuando el tanque se vacía completamente, volvemos a la situación analizada en la figura 11, completándose el ciclo.
Con este sencillo ejemplo alcanzamos a comprender la gran utilidad y economía que representa la utilización del PLC a nivel de control de procesos industriales. Sin embargo, el PLC no solo es conveniente desde el punto de vista del reemplazo de relés, sino que es posible, a nivel de software, agregar herramientas valiosísimas para el control de procesos. Veremos las más importantes en los temas siguientes.
Instrucciones Latch o de enclavamiento
![]() |
Con lo visto hasta el momento, comprendemos perfectamente como podemos hacer para reemplazar el relé de la figura 3 por un PLC, para accionar la campanilla. Pero (siempre hay peros) esto tiene un inconveniente. Si se trata de una campanilla que debe sonar mucho tiempo, hay que tener el dedo sobre el pulsador todo el tiempo que deseamos que suene la campanilla. Esto se resuelve mediante la instrucción latch, utilizada para la retención del valor de una posición de memoria en el PLC. Son de uso frecuente en enclavamientos por medio de pulsadores, es decir, con solo activar una entrada por un instante, el PLC captura la señal y la deja permanente dentro del programa aunque dicha señal haya desaparecido. Un latch puede activarse con un pulso a través de su entrada set, y desactivarse por medio de su entrada reset. Cada una de estas entradas al latch se activan a través de contactos, que pueden ser posiciones de memoria, o entradas físicas. El LD de la figura 15 muestra como se usa el latch en un programa: Al pulsar 0000 se activa la entrada SET del latch, que a su vez activa y mantiene en verdadero la entrada L500, energizando la salida 0501, manteniéndose en este estado si no hay otra entrada. Cuando se pulsa 0001, se activa la entrada RESET del latch, que a su vez desactiva y mantiene en falso la entrada L500.
Aquí puede plantearse una pregunta interesante: ¿Qué pasa si se pulsan las entradas 0000 y 0001 simultáneamente? ¿La salida 0500 quedará enclavada en un verdadero o en un falso?
Para respondernos esta pregunta debemos pensar en cómo se realiza la secuencia de escaneo en el LD. La escalera siempre se escanea desde arriba hacia abajo y de izquierda a derecha. Teniendo esto presente, podemos dar respuesta a las preguntas anteriores.
Temporizadores o timers
Esta es una herramienta utilizada para activar y desactivar una variable dentro del programa de acuerdo al tiempo que se haya especificado. Así es posible programar una salida, para que en un determinado tiempos encienda o se apague un dispositivo externo, por medio de un temporizador que solo existe a nivel lógico. Los temporizadores de un PLC se pueden pensar como un cronómetro regresivo, en el cual se debe indicar el tiempo que durará el conteo, se debe dar inicio a dicho conteo, y cuando éste finalice o llegue a cero, da una señal que para el PLC será la activación o desactivación de una variable del programa.
Existen varios tipos de temporizadores; los más comunes son:
- On Delay Timer (TON) o temporizador de retardo de conexión, y
- Off Delay Timer (TOF) o temporizador de retardo de desconexión
![]() |
Veamos por ejemplo como funciona el timer TON. El tiempo del timer se cuenta en función de los tics del reloj del PLC, y cada tic puede ser de 1 ms, 10 ms, 100 ms, etc. Además el timer se programa con una determinada cantidad de tics transcurridos los cuales, es accionado el contacto comandado por ese timer. Además la cantidad de tics puede variar de 0 a 9999 para un PLC de 16 bits trabajando en BCD (decimal codificado en binario) o de 0 a 65535 para el binario de 16 bits. Entonces el temporizador tiene: una entrada enable que inicia el conteo de tiempo, y un contacto comandado por el timer, que se activa cuando el conteo ha alcanzado la cantidad de tics programados para ese timer.
Por ejemplo, el temporizador de la Figura 16 comenzará el conteo de tiempo cuando la entrada 0001 se vuelva activa, y cuando alcance los 100 tics, hará activa entrada T000, por él comandada, que a su vez accionará la bobina de salida 0500. Si el temporizador tiene un incremento de 100 ms (tiempo de cada tic), entonces 0500 será accionada 100 x 100 = 10.000 ms = 10 s después de haber accionado la entrada 0001. En este tipo de temporizador, se cumple este funcionamiento siempre que 0001 se mantenga en verdadero luego de haber sido accionada; es decir, en el momento en que 0001 vuelve a falso, se resetea el contador, volviendo a cero, y por lo tanto desconecta 0500. Es de destacar que no pueden haber en el mismo PLC, dos temporizadores con la misma denominación, pues utilizarían los mismos registros de memoria, lo que no es posible.
Hay otro tipos de temporizadores con funciones un tanto más complejas, pero siempre su principio de funcionamiento es similar al expuesto precedentemente.
Contadores
Un contador funciona de forma parecida a un temporizador, solo que en lugar de que la base de conteo sea el tiempo, en este caso es la activación de una entrada, una salida, o de una posición de memoria.
Un ejemplo de aplicación de este sistema, es el de conteo de productos a ser empacados en una caja. Si un sensor se activa cada vez que un producto pasa frente a él, y en la caja caben solamente 30 de ellos, en el PLC puede programarse un contador que lleve la secuencia de la cantidad de veces que se activa dicho sensor, y cuando llegue a 30 emita una señal que comande el cambio de caja.
Como en el caso de los temporizadores, hay también varios tipos de contadores:
- Contadores Count up (CTU), que cuentan 1,2,3,
- Contadores Count down (CTD), que cuentan 9,8,7,
- Contadores Count up-down (UCD), que cuentan 1,2,3,4,3,2,3,4,5,
Un contador sencillo tipo CTU o CTD, requiere tres cosas para su funcionamiento:
1. Una entrada por donde ingresan los pulsos que deseamos contar.
2. La posibilidad de programar la cantidad de pulsos que deseamos contar hasta que el contador reaccione.
3. Una entrada que al activarse, resetea el contador.
![]() |
El contador UCD requiere una entrada adicional, ya que una cuenta en forma ascendente, y otra descendente.
Por motivos similares a los expuestos para los temporizadores, los contadores cuentan típicamente: de 0 a 9999; - 32.768 a + 32.767; o 0 a 65.535.
![]() |
En la figura 17 se observa el LD de un contador CTU, denominado C000. Este contador está programado para contar 100 pulsos por la entrada 0001, antes de accionar el contacto C000 y consecuentemente la salida 0500. El sensor o entrada 0002, resetea el contador. Es importante destacar que estos contadores cuentan pulsos cuando la entrada pasa de falso a verdadero o de off a on, pero no a la inversa.
En la figura 18 se observa el LD de un UDC, con una entrada adicional respecto del contador de la figura 17. En este caso además, el contador deberá contar hasta 1000 antes de accionar la entrada UDC000. La entrada 0002 se utiliza siempre para resetear; la entrada 0001 cuenta hacia arriba cuando se hace verdadera, y la 0003 hacia abajo (descuenta) en idénticas condiciones. En este conteo, la salida 0500 se hará verdadera, cuando se llegue a 1000.
De nuevo se hace notar que el contador acumula valores solo en transiciones de off a on de los sensores de entrada, pero no a la inversa.
Apunte proporcionado por el Ing. Jorge Javier Ferrero de la U.N.S.J (Filosofía)