Conceptos básicos del diagrama de escalera en la programación de PLC
La lógica de escalera era originalmente un método escrito para documentar el diseño y la construcción de bastidores de relés utilizados en la fabricación y el control de procesos. Cada dispositivo en el bastidor de relés estaría representado por un símbolo en el diagrama de escalera y se muestran las conexiones entre esos dispositivos. Además, en el diagrama de escalera también se mostrarían otros elementos externos al bastidor de relés, como bombas, calentadores, etc.
La lógica de escalera ha evolucionado hasta convertirse en un lenguaje de programación que representa un programa mediante un diagrama gráfico basado en los diagramas de circuito del hardware de lógica de relé. La lógica de escalera se utiliza para desarrollar software para controladores lógicos programables (PLC) utilizados en aplicaciones de control industrial. El nombre se basa en la observación de que los programas en este lenguaje se parecen a escaleras, con dos rieles verticales y una serie de peldaños horizontales entre ellos. Si bien los diagramas de escalera alguna vez fueron la única notación disponible para registrar programas de controladores programables, hoy en día otras formas están estandarizadas en IEC 61131-3.
La lógica de escalera se usa ampliamente para programar PLC, donde se requiere control secuencial de un proceso u operación de fabricación. La lógica de escalera es útil para sistemas de control simples pero críticos. A medida que los controladores lógicos programables se volvieron más sofisticados, también se han utilizado en sistemas de automatización muy complejos. A menudo, el programa de lógica de escalera se utiliza junto con un programa HMI que funciona en una estación de trabajo informática.
Ejemplo de un programa de lógica de escalera simple
El lenguaje en sí puede verse como un conjunto de conexiones entre controladores lógicos (contactos) y actuadores (bobinas). Si se puede trazar una ruta entre el lado izquierdo del renglón y la salida, a través de contactos afirmados (verdaderos o “cerrados”), el renglón es verdadero y el bit de almacenamiento de la bobina de salida es afirmado o verdadero. Si no se puede rastrear ningún camino, entonces la salida es falsa (0) y la "bobina", por analogía con los relés electromecánicos, se considera "desenergizada".
La lógica de escalera tiene contactos que abren o rompen circuitos para controlar las bobinas. Cada bobina o contacto corresponde al estado de un solo bit en la memoria del controlador programable. A diferencia de los relés electromecánicos, un programa de escalera puede hacer referencia cualquier número de veces al estado de un solo bit, lo que equivale a un relé con un número indefinidamente grande de contactos.
Los llamados "contactos" pueden referirse a entradas físicas ("duras") al controlador programable desde dispositivos físicos como botones pulsadores e interruptores de límite a través de un módulo de entrada integrado o externo, o pueden representar el estado de los bits de almacenamiento interno que pueden generarse. en otras partes del programa.
Cada peldaño del lenguaje de escalera normalmente tiene una bobina en el extremo derecho. Algunos fabricantes pueden permitir más de una bobina de salida en un peldaño.
—( )— Una bobina normal, energizada cada vez que su peldaño está cerrado.
—()— Una bobina “no”, energizada cada vez que su peldaño está abierto.
—[ ]— Un contacto regular, cerrado siempre que se energiza su correspondiente bobina o una entrada que la controla.
—[]— Un contacto “no”, cerrado siempre que su correspondiente bobina o una entrada que la controle no esté energizada.
La “bobina” (salida de un peldaño) puede representar una salida física que opera algún dispositivo conectado al controlador programable, o puede representar un bit de almacenamiento interno para usar en otra parte del programa.
Y lógico
------[ ]--------------[ ]----------------( )
Interruptor de llave 1 Interruptor de llave 2 Motor de puerta
Lo anterior realiza la función: Motor de puerta = Interruptor de llave 1 Y Interruptor de llave 2
Este circuito muestra dos interruptores de llave que los guardias de seguridad podrían usar para activar un motor eléctrico en la puerta de la bóveda de un banco. Cuando los contactos normalmente abiertos de ambos interruptores se cierran, la electricidad puede fluir hacia el motor que abre la puerta.
Lógico Y con NO
------[ ]--------------[]----------------( )
Cerrar la puerta Obstrucción Motor de la puerta
Lo anterior realiza la función: Motor de Puerta = Cerrar puerta Y NO(Obstrucción).
Este circuito muestra un botón que cierra una puerta y un detector de obstrucciones que detecta si algo se interpone en el camino para cerrar la puerta. Cuando el contacto del botón normalmente abierto se cierra y el detector de obstrucción normalmente cerrado se cierra (no se detecta ninguna obstrucción), la electricidad puede fluir hacia el motor que cierra la puerta.
O lógico
--+-------[ ]-------+-----------------( )
| Desbloqueo exterior | desbloquear
| |
+-------[ ]-------+
Desbloqueo interior
Lo anterior realiza la función: Desbloquear = Desbloquear Interior O Desbloquear Exterior
Este circuito muestra las dos cosas que pueden activar los seguros eléctricos de las puertas de un automóvil. El receptor remoto siempre está encendido. El solenoide de bloqueo recibe energía cuando cualquiera de los conjuntos de contactos está cerrado.
PARADA/INICIO industriales
En la lógica industrial común de arranque/parada con enclavamiento, tenemos un botón de "arranque" para encender un contactor de motor y un botón de "parada" para apagar el contactor.
Cuando se presiona el botón de "inicio", la entrada se vuelve verdadera, a través del contacto NC del botón de "parada". Cuando la entrada de “ejecución” se vuelve verdadera, el contacto NO sellado de “ejecución” en paralelo con el contacto NO de “inicio” se cerrará manteniendo la lógica de entrada verdadera (enclavada o sellada). Después de bloquear el circuito, se puede presionar el botón de “parada”, lo que provoca que se abra su contacto NC y, en consecuencia, que la entrada sea falsa. Luego se abre el contacto NA de “ejecución” y la lógica del circuito vuelve a su estado de reposo.
--+----[ ]--+----[]----( )
| inicio | dejar de correr
| |
+----[ ]--+
correr
-------[ ]--------------( )
hacer funcionar el motor
Lo anterior realiza la función: ejecutar = (iniciar O ejecutar) Y (NO detener)
Tenga en cuenta el uso de paréntesis para agrupar la función lógica OR antes de evaluar la función lógica AND (que tiene un orden de prioridad de operación más alto). También tenga en cuenta el uso de NOT para representar la lógica de contacto NC de “parada”.
Esta configuración de pestillo es un modismo común en la lógica de escalera. En lógica de escalera se le conoce como lógica de sellado. La clave para entender el pestillo es reconocer que el interruptor de "inicio" es un interruptor momentáneo (una vez que el usuario suelta el botón, el interruptor se abre nuevamente). Tan pronto como se activa el solenoide de "marcha", cierra el contacto NO de "marcha", que bloquea el solenoide. La apertura del interruptor de “arranque” no tiene ningún efecto.
Por razones de seguridad, se debe cablear una parada de emergencia y/o una parada en serie con el interruptor de arranque, y la lógica del relé debe reflejar esto.
--[]----[]----+--[ ]--+---------( )
ES Parada | Inicio | Motor
| |
+--[ ]--+
Correr
Lógica compleja
A continuación se muestra un ejemplo de cómo se verían dos peldaños en un programa de lógica de escalera. En aplicaciones del mundo real, puede haber cientos o miles de peldaños.
Normalmente, la lógica de escalera compleja se "lee" de izquierda a derecha y de arriba a abajo. A medida que se evalúa cada una de las líneas (o peldaños), la bobina de salida de un peldaño puede alimentar la siguiente etapa de la escalera como entrada. En un sistema complejo habrá muchos “peldaños” en una escalera, que están numerados en orden de evaluación.
1. ----[ ]---------+----[ ]-----+----( )
Cambiar | Alta temperatura | C.A
| |
+----[ ]-----+
Húmedo
2. ----[ ]----[]--------------------( )
A/C Calor Enfriamiento
La línea 1 realiza la función: A/C = Switch AND ( HiTemp OR Humid )
La línea 2 realiza la función: Refrigeración = A/C Y (NO Calor)
Esto representa un sistema un poco más complejo para el peldaño 2. Después de evaluar la primera línea, la bobina de salida "A/C" se alimenta al peldaño 2, que luego se evalúa y la bobina de salida "Refrigeración" podría alimentarse a una salida. dispositivo “Compresor” o en el peldaño 3 de la escalera. Este sistema permite descomponer y evaluar diseños lógicos muy complejos.
Funcionalidad adicional
El fabricante del PLC puede agregar funcionalidad adicional a una implementación de lógica de escalera como un bloque especial. Cuando el bloque especial está encendido, ejecuta código con argumentos predeterminados. Estos argumentos pueden mostrarse dentro del bloque especial.
+-------+
-----[ ]--------------------+ A +----
Desbloqueo remoto +-------+
Contador remoto
+-------+
-----[ ]--------------------+ B +----
Desbloqueo interior +-------+
Mostrador interior
+--------+
-----------+ A + B +-----------
| en C |
+--------+
Sumador
En este ejemplo, el sistema contará la cantidad de veces que se presionan los botones interior y de desbloqueo remoto. Esta información se almacenará en las ubicaciones de memoria A y B. La ubicación de memoria C contendrá el número total de veces que la puerta se ha desbloqueado electrónicamente.
Los PLC tienen muchos tipos de bloques especiales. Incluyen temporizadores, operadores aritméticos y comparaciones, búsquedas de tablas, procesamiento de texto, control PID y funciones de filtrado. Los PLC más potentes pueden operar en un grupo de ubicaciones de memoria interna y ejecutar una operación en un rango de direcciones, por ejemplo, para simular un controlador de tambor secuencial físico o una máquina de estados finitos. En algunos casos, los usuarios pueden definir sus propios bloques especiales, que efectivamente son subrutinas o macros. La gran biblioteca de bloques especiales junto con la ejecución de alta velocidad ha permitido el uso de PLC para implementar sistemas de automatización muy complejos.