840 likes | 1.19k Views
CURSO BASICO PLC TWIDO. QUINTA PARTE: LENGUAJES DE PROGRAMACION. Modulo de llenado Instrucción 1 Instrucción 2. Modulo de mezclado Instrucción 1 Instrucción 2. Modulo de riego Instrucción 1 Instrucción 2. 5.1. Estructura de un Programa.
E N D
CURSO BASICOPLC TWIDO QUINTA PARTE: LENGUAJES DE PROGRAMACION
Modulo de llenado Instrucción 1 Instrucción 2 Modulo de mezclado Instrucción 1 Instrucción 2 Modulo de riego Instrucción 1 Instrucción 2 5.1. Estructura de un Programa • La estructura de un programa facilita la depuración y el mantenimiento. • Para mejorar la legibilidad, los programas son separados en módulos con módulos que comprenden instrucciones asignadas a una función dada. Módulo 1 (LD) Módulo 2 (ST) . Procesamiento básico . Módulo n (LD)
5.1. Estructura de un Programa • Cada módulo puede ser programado en el lenguaje más adecuado al proceso requerido. • Algunos son corridos cíclicamente. • Otros son disparados por algún evento. Ej: un fallo de potencia.
5.2. Lenguajes de Programación • Los lenguajes de programación fueron establecidos en la norma IEC 61131-3. • Esta estandarización limita el número de lenguajes de programación usados por las distintas plataformas de PLC. • Los lenguajes estandarizados son: • Ladder (LD) • Bloques de función (FBD) • Literal Estructurado (ST) • Listas (IL) • Grafcet (SFC)
5.2. Lenguajes de Programación • Sin embargo, para crear programas de control con Twido sólo se pueden utilizar los siguientes lenguajes de programación: • Diagramas Ladder Logic (LD): Un diagrama Ladder Logic es una forma gráfica de mostrar una expresión lógica. • Lenguaje de lista de instrucciones (IL): Un programa de lista de instrucciones se compone de una serie de expresiones lógicas escritas como una secuencia de instrucciones boolearias. • Grafcet: Twido admite las instrucciones de lista Grafcet, pero no Grafcet gráfico. • Se puede utilizar un ordenador personal (PC) para crear y editar programas de control Twido mediante estos lenguajes de programación. • La función de reversibilidad de Lista/Ladder Logic permite pasar un programa de Lista a Ladder Logic y viceversa, según convenga.
5.2.1. Lenguaje Ladder (LD) • El Lenguaje Ladder abarca una serie de redes o escalones que son ejecutados por el PLC secuencialmente. • Un escalón comprende un juego de elementos gráficos que representan las entradas o salidas del PLC (botones de presión, detectores, relés, luces de indicación, etc.) así como las variables internas del PLC. • También contiene funciones de automatización. Ej: temporizadores, contadores, operaciones aritméticas y lógicas, etc. • Estos elementos gráficos son unidos entre ellos por unas conexiones horizontales (funciones AND) y conexiones verticales (funciones OR). • Un escalón contiene especialmente: • Contactores y bobinas. • Bloques de función • Bloques de operación
5.2.1. Lenguaje Ladder (LD) ESCALON o RUNG R E S Cu Cd ESCALON o RUNG Barras de potencial
5.2.1. Lenguaje Ladder (LD) Los diagramas Ladder Logic (lógica de escalón) son similares a los diagramas de lógica de relé que se utilizan para representar los circuitos de control de relé. Los elementos gráficos, como bobinas, contactos y bloques, representan las instrucciones. A continuación aparece un ejemplo de diagrama Ladder Logic:
Instrucciones básicas enLenguaje Ladder • Contactos • Normalmente abiertos • Normalmente cerrados • Bobinas • Directas • Inversas • SET • RESET • Temporizadores/Timers • TON • TOF • TP • Contadores • Representación gráfica • Entradas • Salidas
a. Contactos • Normalmente abiertos • Normalmente cerrados
b. Bobinas • Directas • Inversas
b. Bobinas • SET • RESET
5.2.1. Instrucciones básicas con TwidoSoft • Procesamiento booleano • Bloques de función básicos • Procesamiento numérico • Instrucciones del programa
5.3.1. El editor de lenguaje Ladder • Un programa escrito en lenguaje Ladder está formado por redes de elementos gráficos unidos que se organizan en escalones que el controlador ejecuta de forma secuencial. Un diagrama Ladder es una representación gráfica de un programa Ladder similar a un diagrama lógico de relé. Cada escalón está formado por una red de elementos gráficos unidos que se organizan en un reticulado de programación que comienza con una barra potencial a la izquierda y finaliza con otra a la derecha.
5.3.1. El editor de lenguaje Ladder Escalones: Cada escalón está formado por: • Una cabecera de escalón que indica la función del escalón. • Un reticulado de programación de celdas con un máximo de siete filas y once columnas. • Las dimensiones de una celda son una fila de alto por una columna de ancho. • Los elementos gráficos se insertan en el reticulado y se unen mediante líneas conectoras horizontales y verticales.
5.3.1. El editor de lenguaje Ladder Elementos gráficos: Los elementos gráficos representan: • Entradas y salidas del controlador, como sensores, botones y relés: • Todas las entradas están representadas por símbolos de contactos: • Todas las salidas están representadas por símbolos de bobinas: • Operaciones aritméticas, numéricas y de comparación. • Funciones de sistema predefinidas, como temporizadores y contadores. • Variables internas del controlador, como bits y palabras.
5.3.1. El editor de lenguaje Ladder Reticulado de programación: El reticulado de programación de un diagrama Ladder se divide en dos áreas: • Área de prueba • Contiene las condiciones que se han de probar a fin de realizar acciones. Está formada por las columnas 1 a 10 y contiene contactos, bloques de función y bloques de comparación. • Área de actividad • Contiene la salida u operación que será realizada según sean los resultados de las pruebas llevadas a cabo en el área de prueba. Está formada por las columnas 9 a 11 y contiene bobinas y bloques de operación.
5.3.1. El editor de lenguaje Ladder Reticulado de programación:
5.2.2. Lenguaje de lista de instrucciones (IL) • Se trata de una sucesión de expresiones que son ejecutadas secuencialmente por el PLC. • Cada sentencia puede comprender comentarios, una o más instrucciones y pueden ser identificadas por una etiqueta.
5.2.2. Lenguaje de lista de instrucciones (IL) Un programa escrito en lenguaje de lista de instrucciones es ejecutado de manera secuencial por el controlador. A continuación aparece un ejemplo de programa de Lista.
Número de línea: • Los números de línea se generan automáticamente al introducir una instrucción. Las líneas vacías y las líneas de comentario no tienen números de línea. Código de instrucción: • El código de instrucción es un símbolo para un operador que identifica la operación que se va a realizar utilizando los operandos. Los operadores típicos especifican operaciones numéricas y booleanas. Por ejemplo, en el programa de ejemplo anterior, LD es la abreviatura del código de instrucción para una instrucción LOAD. La instrucción LOAD coloca (carga) el valor del operando %I0.1 en un registro interno llamado el acumulador. Hay dos tipos de instrucciones básicas: Instrucciones de prueba • Estas instrucciones configuran o comprueban las condiciones necesarias para realizar una acción. Por ejemplo, LOAD (LD) y AND. Instrucciones de acción • Estas instrucciones realizan acciones como resultado de las condiciones configuradas. Por ejemplo, instrucciones de asignación como STORE (ST) y RESET (R).
Operando: • Un operando es un número, dirección o símbolo que representa un valor que puede manipular un programa en una instrucción. Por ejemplo, en el programa de ejemplo anterior, el operando %I0.1 es una dirección que tiene asignado el valor de una entrada del controlador. Una instrucción puede tener de 0 a 3 operandos dependiendo del tipo de código de instrucción. • Los operandos pueden representar los siguientes elementos: • Entradas y salidas del controlador, como sensores, botones y relés. • Funciones de sistema predefinidas, como temporizadores y contadores. • Operaciones aritméticas, numéricas y de comparación. • Variables internas del controlador, como bits y palabras.
INSTRUCCIONES BASICAS PROCESAMIENTO BOOLEANO • Instrucciones de carga (LD, LDN, LDR, LDF) • Instrucciones de almacenamiento (ST, STN, R, S) • Instrucciones lógicas: • Instrucciones AND lógicas (AND, ANDN, ANDR, ANDF) • Instrucciones OR lógicas (OR, ORN, ORR, ORF) • Instrucciones de OR exclusivo (XOR, XORN, XORR, XORF) • Instrucción NOT (N)
Procesamiento booleano • Las instrucciones booleanas pueden compararse con los elementos gráficos de Ladder. En la tabla siguiente se muestran estas instrucciones. • El resultado booleano de los elementos de prueba se aplica a los elementos de acción como muestran las siguientes instrucciones: • LD %I0.0 • AND %I0.1 • ST %Q0.0
Instrucción NOT (N) • La instrucción NOT (N) niega el resultado booleano de la instrucción anterior.
5.3.2. Editor de listas Instrucciones básicas para la reversibilidad • Las instrucciones que aparecen a continuación son necesarias para la estructura de un bloque de función reversible en lenguaje de lista. • BLK: indica el comienzo del bloque y define el inicio del escalón y de la parte de entrada al bloque. • OUT_BLK : indica el comienzo de la parte de salida del bloque. • END_BLK: indica el final del bloque y del escalón. • El uso de las instrucciones del bloque de función reversible no es obligatorio cuando el programa de lista funciona correctamente. Es posible programar en lista algunas instrucciones, lo cual no es reversible.
Principios para programar bloques de función estándar Se pueden usar cualquiera de los siguientes métodos: • Instrucciones de bloque de función (por ejemplo, BLK %TM2): método reversible de programación en lenguaje Ladder Logic reversible que permite que las operaciones que se van a realizar en el bloque se lleven a cabo en un único lugar del programa. • Instrucciones específicas (por ejemplo, CU %Ci): método no reversible que permite que las operaciones que se van a realizar en las entradas del bloque se lleven a cabo en varias partes del programa (por ejemplo, line 100 CU %C1, line 174 CD %C1, line 209 LD %C1.D).
Programación reversible Se pueden usar las instrucciones BLK, OUT_BLK y END_BLK para programación reversible. • BLK: Indica el principio de un bloque. • OUT_BLK: Se utiliza para cablear directamente las salidas de bloque. • END_BLK: Indica el final de un bloque.