¿Qué lenguajes de software se utilizan con los controladores lógicos programables?
Una parte importante del uso de controladores lógicos programables (PLC)
IEC 61131-3 es la tercera parte de la norma internacional para controladores lógicos programables. En esta sección de la norma, se presentan la arquitectura del software y los lenguajes de programación válidos de un PLC.
El estándar enumera cinco idiomas diferentes, tres de los cuales son gráficos y dos de ellos están basados en texto. Los idiomas son los siguientes:
El diagrama de escalera, a menudo denominado lógica de escalera, es uno de los lenguajes más prominentes utilizados para programar PLC. Cubrí este lenguaje en un artículo separado con ejemplos de lógica de escalera.
La lógica de escalera ayudó a los ingenieros y técnicos que solían transmitir la lógica a la programación de un PLC. A pesar de esto, los programas de lógica de escalera pueden ser increíblemente difíciles de mantener y modificar cuando la cantidad de peldaños es demasiado grande. Los sistemas grandes pueden tener múltiples subrutinas ejecutándose en una CPU, cada una con cientos de peldaños de lógica de escalera. Una broca interna en el tercer escalón podría usarse más abajo en la escala del escalón ciento tres. Esto tiene problemas obvios y llevó a la creación de lenguajes más modernos.
El diagrama de bloques de funciones, o FBD, es probablemente el lenguaje de programación más extendido usado en control industrial. Es un lenguaje gráfico en el que la funcionalidad del sistema se describe a través de bloques que aceptan variables del sistema como entradas y generan variables del sistema y señales de control como salidas. Por ejemplo, en lugar de poner dos instrucciones XIC en serie, se puede usar un bloque de función AND. Esto puede simplificar enormemente la estructura de programación y agrega un nivel adicional de abstracción cuando sea necesario. La siguiente imagen muestra un ejemplo de diagrama FDB del sitio web de Schneider Electric.
Observe cómo una de las entradas al bloque AND se origina en la salida final del sistema; en casos como este, un diagrama FBD puede ser mucho más fácil de leer que una colección de peldaños de lógica de escalera. Además de los bloques AND y OR, este diagrama también usa retenes SR, un temporizador de retardo de activación y una instrucción de conversión de tipos.
El diagrama de bloques de funciones a menudo puede parecer un diagrama de lógica digital grande. Es importante reconocer que, a pesar de su apariencia, los diagramas de bloques de funciones siempre se dividen en un conjunto secuencial de instrucciones ejecutadas por la CPU. La lógica digital, por el contrario, puede ser combinatoria o secuencial, y dos bloques lógicos no relacionados siempre se ejecutan simultáneamente y pueden tener diferentes velocidades de reloj.
El cuadro de función secuencial (SFC), el texto estructurado (ST) y la lista de instrucciones (IL) son menos comunes que el FBD, pero son valiosos en ciertas aplicaciones y se utilizan en muchos sistemas industriales.
SFC es un lenguaje gráfico en el que un gráfico se divide en una serie de pasos y transiciones. Los pasos realizan acciones en datos y E / S, y las transiciones actúan como sentencias condicionales que controlan el flujo del programa de un paso a otro. Un lugar donde mejor funcionan los SFC es en las unidades de procesamiento por lotes. En el control de lotes, los ingredientes se agregan uno por uno, y luego se realizan acciones sobre esos ingredientes. Es como seguir una receta de cocina, con ingredientes que se agitan, bombean y reaccionan en lugar de mezclar, verter y hornear.
Los otros dos idiomas serán más familiares para aquellos con un fondo de programación. El texto estructurado es un lenguaje de programación de alto nivel para PLC, como C o BASIC. El código es conciso y modular, y admite altos niveles de abstracción. ST se usa a menudo cuando se necesitan grandes cantidades de matemáticas o manipulación de datos. Los bloques, bucles y matrices anidados if-else son a menudo demasiado complicados para ser programados gráficamente.
La lista de instrucciones es básicamente un código de ensamblaje para PLC. Utiliza un conjunto de instrucciones simplificadas pero tiene comandos familiares como cargar, almacenar y saltar. Si bien IL es increíblemente eficiente, ha sido desaprobado por la IEC y es poco probable que se implemente en futuros PLC.
¿Qué nos falta en este resumen de los lenguajes de programación de PLC? Háganos saber en los comentarios a continuación y actualizaremos este artículo.
ga('create', 'UA-1454132-1', 'auto'); ga('require', 'GTM-MMWSMVL'); ga('require', 'displayfeatures'); ga('set',{'dimension1':'digital-ics,industrial,automation,embedded-software,general,automation,industrial'}); ga('set',{'contentGroup1':'digital-ics,industrial,automation,embedded-software,general,automation,industrial'});
ga('set',{'dimension3':"May 10, 2019"});
ga('set',{'dimension4':"Stephen St. Michael"});
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','embedded-software','general','automation','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…