El diagrama de escalera, más conocido como lógica de escalera, es un lenguaje de programación utilizado para programar PLC (controladores lógicos programables). Este artículo describirá brevemente qué es la lógica de escalera y repasará algunos ejemplos de cómo funciona.
Los controladores lógicos programables o PLC son computadoras digitales que se utilizan para realizar funciones de control, generalmente para aplicaciones industriales. De los diversos idiomas que se pueden usar para programar un PLC, la lógica de escalera es la única modelada directamente después de los sistemas de relé electromecánicos.
Utiliza largos peldaños dispuestos entre dos barras verticales que representan la potencia del sistema. A lo largo de los peldaños hay contactos y bobinas, modelados a partir de los contactos y bobinas que se encuentran en los relés mecánicos. Los contactos actúan como entradas y, a menudo, representan interruptores o pulsadores; Las bobinas se comportan como salidas, como una luz o un motor.
Sin embargo, las salidas no tienen que ser físicas y pueden representar un solo bit en la memoria del PLC. Este bit se puede usar más adelante en el código como otra entrada. Los contactos se colocan en serie para representar la lógica AND y en paralelo cuando se usa la lógica OR. Al igual que con los relés reales, normalmente hay contactos abiertos y contactos normalmente cerrados.
Veamos un ejemplo de programación de lógica de escalera:
Este programa de lógica de escalera es de tres peldaños largos. El programa es "escaneado" o ejecutado por la CPU de izquierda a derecha y de arriba a abajo. Los símbolos colocados a lo largo de los peldaños son en realidad instrucciones gráficas. Los nombres de estas instrucciones son:
Mirando el primer peldaño, note las primeras dos entradas I: 1/1 e I: 1/2. El símbolo es un XIC, y el I denota que se trata de una entrada. Esta instrucción representa una entrada física que se encuentra en una de las tarjetas de entrada discreta.
I: 1 significa que esta tarjeta de entrada se ha colocado en la ranura 1, directamente adyacente al procesador. El / 1 indica el bit de interés. Las tarjetas de entrada tienen más de un canal, y si la instrucción especifica / 1, la instrucción accede al canal 1.
La segunda entrada representa el canal 2 en la misma tarjeta. Una instrucción XIC realmente significa verdadero si está cerrado. Es decir, esta instrucción será verdadera si el dispositivo de entrada que representa está cerrado. Si una instrucción es verdadera, se resalta en verde. La única forma de energizar una salida es si se puede rastrear una trayectoria de instrucciones verdaderas desde el riel izquierdo hasta el riel derecho. Por lo tanto, la salida en el renglón uno será verdadera porque existe una ruta de instrucciones verdaderas, I: 1/1 e I: 1/2. Esto es efectivamente una operación AND.
La salida en este caso, B: 0/1, es en realidad un bit interno almacenado en la memoria del PLC. Es por eso que está etiquetado como B en lugar de O para "salida". Estos bits internos funcionan bien cuando se necesita grabar un determinado estado o conjunto de entradas sin activar realmente una salida física.
En el segundo renglón, tenemos una tercera entrada etiquetada I: 1/3 y nuestro bit interno ahora se usa con una instrucción de entrada en lugar de una salida.
Estas dos entradas se colocan en paralelo y representan una condición OR. O: 2/1 es una instrucción de salida que representa el canal 1 en una tarjeta de salida física discreta colocada en la ranura 2. Este segundo peldaño se podría reescribir sin el bit interno reemplazando B: 0/1 con las dos entradas del peldaño uno. Por lo tanto, la salida O: 2/1 será verdadera si I: 1/3 es verdadera O si ambas I: 1/1 E I: 1/2 son verdaderas. Esta es la estructura básica de todos los programas de lógica de escalera.
El tercer peldaño introduce la instrucción XIO. Una instrucción XIO se describe mejor como verdadera si está abierta.
El XIO será verdadero solo si la entrada conectada a él está abierta. En el caso de los bits internos, esta instrucción es verdadera si el bit interno está desactivado. Por lo tanto, como I: 1/1 y I: 1/2 están cerrados, las instrucciones XIO que representan esas entradas son falsas. El XIO que representa I: 1/3 es verdadero porque el dispositivo de entrada que representa está abierto. Sin una ruta de instrucciones verdaderas de izquierda a derecha, la salida en el renglón tres, O: 2/2, está desactivada.
Las instrucciones explicadas anteriormente son las instrucciones más fundamentales en los sistemas PLC, pero representan una pequeña parte de todo el conjunto de instrucciones. La mayoría de los PLC incluyen instrucciones de temporizador, contador, enclavamiento y lógica avanzada.
La Figura 5 muestra un programa de control de nivel un poco más complicado escrito por el autor para un PLC de Allen-Bradley.
Para empezar, puede notar la entrada I: 1/0. Confusamente, Allen-Bradley nombra el primer canal en cualquier canal de tarjeta 0. Esto es similar a la forma en que los índices de matriz comienzan en cero.
Este programa utiliza dos interruptores de nivel, conectados a un tanque, para activar dos bombas que deben comenzar a funcionar una después de la otra en lugar de hacerlo simultáneamente. Tenga en cuenta que las mismas dos entradas XIC controlan la bomba A y B. Sin embargo, se utiliza una broca interna con un XIC para controlar la bomba A y con un XIO para controlar la bomba B. Si el renglón 0000 es verdadero, la bomba A se bloquea mediante una instrucción de cierre .
Si el renglón 0001 es verdadero, la bomba B se bloquea. Una vez que una instrucción de retención se hace verdadera, la salida permanece activada hasta que se activa una instrucción de desbloqueo complementaria. El último peldaño controla la palanca de la bomba, usando una instrucción de un disparo y XOR.
El one-shot, cuando se activa, permanece verdadero para un solo programa de escaneo, mientras que el XOR se comporta como siempre. Esta es una manera fácil de alternar un poco con una sola entrada.
Las instrucciones utilizadas aquí son solo una fracción de lo que está disponible. La lógica de escalera se puede usar para construir máquinas de estado, manipular valores analógicos e incluso realizar el control PID.
Para una visión más profunda de la lógica de escalera, consulte el capítulo 6 del volumen IV del libro de texto AAC, dedicado al historial de lógica de escalera, funciones de lógica digital y aplicaciones de lógica de escalera.
ga('create', 'UA-1454132-1', 'auto'); ga('require', 'GTM-MMWSMVL'); ga('require', 'displayfeatures'); ga('set',{'dimension1':'digital-ics,industrial,automation,electromechanical,industrial'}); ga('set',{'contentGroup1':'digital-ics,industrial,automation,electromechanical,industrial'}); ga('send', 'pageview');
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '1808435332737507'); // Insert your pixel ID here. fbq('track', 'PageView'); fbq('track', 'ViewContent', { content_ids: ['digital-ics','industrial','automation','electromechanical','industrial'], content_type: 'category'});
_linkedin_data_partner_id = "353081"; (function(){var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true; b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);})(); } if(jstz.determine().name().indexOf("Europe") === -1) { showSocialCode(); // NOT EU } else { showSocialCode(); window.addEventListener("load", function () { window.cookieconsent.initialise({ "palette": { "popup": { "background": "#252e39" }, "button": { "background": "#14a7d0" } }, "type": "opt-out", "content": { "message": "This website uses tracking cookies to ensure you get the best experience on our website.", "href": "https://www.allaboutcircuits.com/privacy-policy/", "dismiss": "OK, GOT IT" }, onInitialise: function (status) { var type = this.options.type; var didConsent = this.hasConsented(); if (type == 'opt-out' && didConsent) { console.log("eu"); //showSocialCode(); } },
onStatusChange: function (status, chosenBefore) { var type = this.options.type; var didConsent = this.hasConsented(); if (type == 'opt-out' && didConsent) { console.log("eu"); //showSocialCode(); } },
onRevokeChoice: function () { var type = this.options.type; if (type == 'opt-out') { console.log("eu"); //showSocialCode(); } },
}) }); }
Los días felices de la PDA y Blackberry han quedado definitivamente atrás, pero el factor…
Tutorial sobre cómo pronosticar usando un modelo autorregresivo en PythonFoto de Aron Visuals en UnsplashForecasting…
Si tienes un iPhone, los AirPods Pro son la opción obvia para escuchar música, ¡aunque…
Ilustración de Alex Castro / The Verge Plus nuevos rumores sobre el quinto Galaxy Fold.…
Se rumorea que los auriculares premium de próxima generación de Apple, los AirPods Max 2,…
El desarrollador Motive Studio y el editor EA han lanzado un nuevo tráiler de la…