- Lenguaje Ladder
-
El LADDER, también denominado lenguaje de contactos o en escalera, es un lenguaje de programación gráfico muy popular dentro de los autómatas programables debido a que está basado en los esquemas eléctricos de control clásicos. De este modo, con los conocimientos que todo técnico eléctrico posee, es muy fácil adaptarse a la programación en este tipo de lenguaje.
Contenido
Elementos de programación
Para programar un autómata con LADDER, además de estar familiarizado con las reglas de los circuitos de conmutación, es necesario conocer cada uno de los elementos de que consta este lenguaje. A continuación se describen de modo general los más comunes.
Se suele indicar mediante los caracteres B ó M y tienen tanto bobinas como contactos asociados a las mismas de los tipos vistos en el punto anterior. Su número de identificación suele oscilar, en general, entre 0 y 255. Su utilidad fundamental es la de almacenar información intermedia para simplificar esquemas y programación.Los bits de sistema son contactos que el propio autómata activa cuando conviene o cuando se dan unas circunstancias determinadas. Existe una gran variedad, siendo los más importantes los de arranque y los de reloj, que permiten que empiece la ejecución desde un sitio en concreto y formar una base de tiempos respectivamente. Su nomenclatura es muy diversa, dependiendo siempre del tipo de autómata y fabricante.
Temporizadores
El temporizador es un elemento que permite poner cuentas de tiempo con el fin de activar bobinas pasado un cierto tiempo desde la activación. El esquema básico de un temporizador varía de un autómata a otro, pero siempre podemos encontrar una serie de señales fundamentales, aunque, eso sí, con nomenclaturas totalmente distintas.
Podemos observar, en la figura de la derecha, el esquema de un temporizador, Tii, con dos entradas (E y C a la izquierda) y dos salidas (D y R a la derecha con las siguientes características:
- Entrada Enable (E): Tiene que estar activa (a 1 lógico) en todo momento durante el intervalo de tiempo, ya que si se desactiva (puesta a cero lógico) se interrumpiría la cuenta de tibia (puesta a cero temporal).
Contadores
El contador es un elemento capaz de llevar el cómputo de las activaciones de sus entradas, por lo que resulta adecuado para memorizar sucesos que no tengan que ver con el tiempo pero que se necesiten realizar un determinado número de veces.
En la figura de la derecha puede verse el esquema de un contador, Ci, bastante usual, donde pueden distinguirse las siguientes entradas y salidas:- Entrada RESET (R): Permite poner a cero el contador cada vez que se activa. Se suele utilizar al principio de la ejecución asignándole los bits de arranque, de modo que quede a cero cada vez que se arranca el sistema.
- Entrada PRESET (P). Permite poner la cuenta del contador a un valor determinado distinto de cero, que previamente se ha programado en Cip.
- Entrada UP (U): Cada vez que se activa produce un incremento en una unidad de la cuenta que posea en ese momento el contador.
- Entrada DOWN (D): Cada vez que se activa produce un decremento en una unidad de la cuenta que posea en ese momento el contador.
- Salida FULL (F): Se activa al producirse un desbordamiento del valor del contador contando en sentido ascendente.
- Salida DONE (D): Se activa cuando el valor del contador se iguala al valor preestablecido Cip.
- Salida EMPTY (E): Se activa al producirse un desbordamiento del valor del contador contando en sentido descendente.
Monoestables
El monoestable es un elemento capaz de mantener activada una salida durante el tiempo con el que se haya programado, desactivándola automáticamente una vez concluido dicho tiempo. Una de sus principales ventajas es su sencillez ya que sólo posee una entrada y una salida como podemos observar en la siguiente figura.
- Entrada START (S): Cuando se activa o se le proporciona un impulso comienza la cuenta que tiene programada.
- Salida RUNNING (R): Se mantiene activada mientras dura la cuenta y se desactiva al finalizarla. Al igual que con el temporizador, para programar la cuenta hay que introducir los valores de Mip y Mib.
Programación
En este apartado se tratarán, de modo general, los conceptos básicos de programación en LADDER.
Una vez conocidos los elementos que LADDER proporciona para su programación, resulta importante resaltar cómo se estructura un programa y cuál es el orden de ejecución.
El siguiente esquema representa la estructura general de la distribución de todo programa LADDER, contactos a la izquierda y bobinas y otros elementos a la derecha.
En cuanto a su equivalencia eléctrica, podemos imaginar que la línea vertical de la izquierda representa el terminal de alimentación, mientras que la línea vertical de la derecha representa el terminal de masa.
El orden de ejecución es generalmente de arriba a bajo y de izquierda a derecha, primero los contactos y luego las bobinas, de manera que al llegar a éstas ya se conoce el valor de los contactos y se activan si procede. El orden de ejecución puede variar de un autómata a otro, pero siempre se respetará el orden de introducción del programa, de manera que se ejecuta lo que primero se introduce.
Sistemas combinacionales
Aunque en los sistemas industriales la programación se centra en procesos secuenciales, no teniendo demasiado interés los procesos combinacionales, es necesario conocer la lógica combinacionál ya que en muchas ocasiones es necesaria en la programación secuencial.
Una vez obtenida la función lógica de un problema combinacional, el paso a LADDER o esquema de contactos es muy sencillo. De acuerdo con el álgebra de Boole aplicada a la conmutación, las sumas serán contactos en paralelo, los productos contactos en serie y las negaciones contactos normalmente cerrados. En la siguiente figura se muestra un ejemplo de esquema LADDER para una determinada ecuación.
Elementos de memoria
La conexión tradicional para realizar una función de memoria en los circuitos con relés, es el circuito con autoalimentación. Esto se consigue mediante la conexión de un contacto NA del relé (o contactor) en paralelo con el pulsador de marcha. A continuación puede observarse las dos variantes de este circuito: con prioridad a la DESconexión (figura a) y con prioridad a la conexión (figura b).
En la siguiente figura se pueden observar los sus esquemas equivalente en LADDER:
Sin embargo, con LADDER el esquema puede quedar mucho más sencillo si empleamos las bobinas de SET para la marcha y RESET para paro:
En este caso la prioridad dependerá del PLC utilizado, aunque usualmente la función RESET tiene prioridad sobre la SET.
Elementos de tiempo
Como ya se ha comentado, los dos elementos básicos de tiempo son el temporizador y el monoestable. A continuación veremos un ejemplo de programación de un automatismo temporizado.
El esquema siguiente se corresponde con el mando de un motor con marcha temporizada (vea su funcionamiento aquí):
Un posible programa equivalente en LADDER podría ser el siguiente:Elementos de cómputo
Para aclarar la programación con elementos de cómputo, se explicará el funcionamiento del esquema de la derecha:
Como se puede observar, el programa consta de un contador C11 que ha sido programado con el valor 10 (Cp=10). Con la entrada S0 ponemos a cero el contador y con la entrada S1 se preselecciona con el valor de Cp, esto es, 10. Cada impulso dado en S2 incrementa en una unidad el contador y cada impulso en S3 lo disminuya.
Las bobinas KMI y KM2 se activan cuando el contador posee el valor 10 y 6 respectivamente, en cambio, la bobina KM3 está continuamente activada excepto cuando el contador se encuentra con el valor 4.
Sistemas secuenciales
Aunque es posible programar sistemas secuenciales en LADDER, sólo se suele utilizar para el control de sistemas sencillos. En aquellos más complejos se utiliza la programación modular o el GRAFCET.
Categoría:- Lenguajes de programación gráficos
Wikimedia foundation. 2010.