PLC
Norma IEC 61131-3-Comisión Electrotécnica Internacional
El estándar IEC 61131 consiste de cinco partes, una de las cuales hace referencia a los lenguajes de
programación y es referida como la IEC 61131-3.
El estándar IEC 61131-3 define tres lenguajes gráficos utilizan símbolos para programar y dos
lenguajes basados en texto, usan cadenas de caracteres para programar.
Tipos de lenguajes
Lenguajes Gráficos
– Diagrama Ladder (LD): también denominado lenguaje de contactos o de escalera, es un lenguaje
de programación gráfico muy popular dentro de los Controladores Lógicos Programables (PLC),
debido a que está basado en los esquemas eléctricos de control clásicos. La principal ventaja de
este lenguaje es que los símbolos básicos están normalizados según normas NEMA y son
empleados por todos los fabricantes.
– Diagrama de Bloques de Funciones (FBD)
Lenguajes Textuales
– Lista de Instrucciones (IL).
– Texto Estructurado (ST).
el estándar IEC 1131-3 incluye una forma de programación orientada a objetos llamada Sequential Function Chart (SFC)
Variables internas y bits del sistema: son bits auxiliares que pueden ser utilizados según convenga, sin tener que
representar un elemento del autómata. Se indica mediante los caracteres B ó M, tienen bobinas y contactos asociados.
Su número de identificación oscila, entre 0 y 255. Su utilidad es almacenar información intermedia para simplificar
esquemas y programación. Los bits del sistema son contactos que el 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
Lenguaje Booleano-lista de instrucciones, soporta hasta 1000 instrucciones de diversos tipos
El programa en lenguaje Booleano es una serie de expresiones lógicas escritas en forma de secuencias. Cada
instrucción booleana, salvo LOAD, STORE y NOT, actúan en dos operandos (uno explícito y otro implícito). La operación
AND %I1.2, ejecutará una “Y” lógica entre el contenido del acumulador (%I0,1) y la entrada %I1.2, y remplazará el
contenido del acumulador con este resultado.
Las instrucciones LOAD y STORE cargan respectivamente el acumulador con el valor del operando o bien almacenan el
acumulador en el operando. La instrucción NOT no dispone de operando explícito, invierte simplemente el estado del
acumulador
Diagrama de funciones: Es un lenguaje gráfico que permite al usuario programar elementos
(bloque de funciones del PLC) en tal forma que ellos aparecen interconectados al igual que un
circuito eléctrico, generalmente utilizan símbolos lógicos para representar al bloque de función. Las
salidas lógicas no requieren incorporar una bobina de salida, porque la salida es representada por
una variable asignada a la salida del bloque.
El diagrama de funciones lógicas, resulta especialmente cómodo de utilizar, a técnicos habituados a
trabajar con circuitos de puertas lógicas, ya que la simbología usada en ambos es equivalente.
Adicionalmente a las funciones lógicas estándares y específicas del vendedor, el lenguaje FBD de la
Norma IEC 1131-3 permite al usuario construir sus propios bloques de funciones, de acuerdo a los
requerimientos del programa de control
Lenguaje de texto estructurado: Texto estructurado (ST) es un lenguaje de alto nivel que permite la
programación estructurada, lo que significa que muchas tareas complejas pueden ser divididas en unidades
más pequeñas. ST se parece mucho a los lenguajes de computadoras BASIC o PASCAL, que usan
subrutinas para llevar a cabo diferentes partes de las funciones de control y paso de parámetros y valores
entre las diferentes secciones del programa. La programación en Texto Estructurado es apropiada para
aplicaciones que involucran manipulación de datos, ordenamiento computacional y aplicaciones matemáticas
que utilizan valores de punto flotante. ST es el mejor lenguaje para la implementación de aplicaciones de
inteligencia artificial, lógica difusa, toma de decisiones, etc
Lenguaje SFC: Es un “lenguaje” gráfico que provee una representación diagramática de secuencias
de control en un programa. Básicamente, SFC es similar a un diagrama de flujo, en el que se puede
organizar los subprogramas o subrutinas (programadas en LD, FBD, IL y/o ST) que forman el
programa de control. SFC es particularmente útil para operaciones de control secuencial, donde un
programa fluye de un punto a otro una vez que una condición ha sido satisfecha (cierta o falsa).
El marco de programación de SFC contiene tres principales elementos que organizan el programa de
control:
- Pasos (etapas)
- Transiciones (condiciones)
- Acciones
El programa irá activando cada una de las etapas y desactivando la anterior conforme se vayan
cumpliendo cada una de las condiciones. Las acciones se realizarán en función de la etapa activa a
la que están asociadas. Por ejemplo, la etapa 1 activa tras arrancar el programa, al cumplirse la
"Condición 1", se activará la etapa 2, se desactivará la 1, y se realizará la "Acción 1".
El lenguaje SFC tiene su origen en el estándar francés GRAFCET (GRAFica de Control de Etapas
de Transición). El grafcet también utiliza etapas, transiciones y acciones, que operan de la misma
manera como en SFC.