Estructura de un programa de un PLC Projecto POUs Variables globales Estructuras Declaraciones Código 17 Fig. 9
18 ¿Qué es POU? En la IEC 61131-3 los bloques, que constituyen los programas y los proyectos, se denominan Unidades Organizativas de los Programas, POU. Los tres tipos de POU, declarados por el estándar, son Función (FUN), Bloque funcional (FB) y Programa (PROG). La función es POU, y puede tener parámetros fijados (argumentos) pero no tiene variables estáticas, ej. no tiene memoria – siempre se proporcionan los mismos valores de salida con los mismos parámetros de entrada. El bloque funcional tiene variables estáticas (memoria). Sus salidas siempre dependen de la condición de sus variables tanto internas como externas, cuyos valores permanecen iguales entre las ejecuciones individuales del bloque funcional. Estos son también los bloques principales para generar un programa de PLC. El programa es de tipo POU, como el programa principal. Un elevado número de programas principales puede ejecutarse simultáneamente en los PLCs multitareas. 18
Datos y direcciones CoDeSys suporta tres métodos de declaraciones: Validez: local (1 POU) o global (todas POU) texto, tabular y automática Tipos de variables, fijadas a su dirección: A un área de entrada, a un área de salida, a marcadores de área 19
Sintaxis de las variables, fijadas a las direcciones Se designan con ‘%’ Prefijos para el area: I – entrada Q – salida M – marcador Tamaño: X – un solo bit B – un byte (8 bits) W – una palabra (16 bits) D – una palabra doble (32 bits) Ejemplos: %IW215 %QX1.1 %MD48 20
Tipos de datos estándar (1) El estándar IEC 61131-3 define una multitud de tipos de datos estandarizados, denominados tipos de datos elementales. Se caracterizan por tener muchos bits, y un rango de valores admisible. Además, el usuario define los tipos de datos que pueden crearse y utilizarse analógicamente. Son muy similares a los lenguajes utilizados en niveles elevados como C/C++ y PASCAL: BOOL – una variable Booleana (8 bits, valores: VERDADERO, FALSO); SINT – ENTero CORto (8 bits, valores: -128 ÷ 127); INT – ENTero (16 bits, valores: -32768 ÷ 32767); DINT – ENTero DOble (32 bits, valores: -2147483648 ÷ 2147483647); USINT – ENTero CORto Sin designar (8 bits, valores: 0 ÷ 255); UINT – ENTero Sin designar (16 bits, valores: 0 ÷ 65535); UDINT – ENTero Doble Sin designar (32 bits, valores: 0 ÷ 4294967295); BYTE – un byte (8 bits, bit-direccionables, valores: 0 ÷ 255); WORD – una palabra (16 bits, bit-direccionables, valores: 0 ÷ 65535); DWORD – una palabra doble (32 bits, bit-direccionables, valores : 0 ÷ 4294967295); 21
22 Tipos de datos estándar(2) REAL- numeros con punto flotante (32 bits, valores: 1.175494351e-38 ÷ 3.402823466e+38; LREAL – REAL Largo, números con punto flotante (64 bits, valores: 2.2250738585072014e-308 ÷ 1.7976931348623158e+308); STRING – variables de texto (sin tamaño límite); Ejemplo: strText: STRING(35):= ‘Hola mundo!’; TIME – variables de tiempo (tamaño y valores como para los de tipo DWORD); Ejemplo: tTime: TIME:= t#14ms tTime1: TIME:= t#12h34m15s TOD – Tiempo De Día (tamaño y valores como para los de tipo DWORD); DATE – variables de fechas (tamaño y valores como para los de tipo DWORD); Ejemplo: dDate: DATE:= d#1972-03-29; DT – Fecha y Tiempo (tamaño y valores como para los de tipo DWORD). 22
23 Operaciones en CoDeSys asignación; operaciones de tipo Booleano; operaciones analógicas; comparaciones; selección; conversión de tipo; operaciones con números reales; desplazamientos de bits; operaciones especiales.
En las siguientes diapositivas se proporcionan ejemplos de algunas operaciones en ciertos lenguajes de PLC estándar.
Operación de asignación IL: LD, LDN, ST, STN, S, R ST: A := B; FBD: A B A C A D
LD: S ( ) (/) SALIDA 1 SALIDA 2 (S) SALIDA 3 (R) SALIDA 4 IN
Operaciones Booleanas AND, OR, XOR y NOT Las operaciones AND, OR y XOR pueden ser ejecutadas para un número ilimitado de entradas. Cuando se aplican a datos de tipo BOOL, el resultado puede ser o VERDADERO o FALSO. Cuando se aplican a datos del tipo BYTE, WORD, DWORD, el resultado se obtiene tras una ejecución bit a bit de la operación correspondiente. Ejemplo en IL: Var1: BYTE; LD 2#10010011 AND 2#10001010 ST Var1 (* El resultado es 2#10000010 *)
Operaciones analógicas: IL,FBD,LD ST ADD + SUB – MUL * DIV / MOD MOD
Estas operaciones pueden realizarse con cualquier tipo de datos, excepto los Booleanos.
27 Comparación IL,FBD,LD ST EQ = NE <> GE >= GT > LE <= LT < Estas operaciones pueden realizarse con cualquier tipo de datos, excepto los Booleanos.
28 Operaciones con números reales: ABS – valor absoluto SQRT – raíz cuadrada LN – logaritmo neperiano LOG – logaritmo decimal EXP – función exponencial (eX) SIN, COS, TAN, ASIN, ACOS, ATAN – funciones trigonométricas EXPT – función exponencial de una variable, relacionada con otra variable (XY)
29 Desplazamiento de bits SHL (DESplazamiento a la Izquierda)
SHR (DESplazamiento a la Derecha)
ROL (Rotación a la Izquierda)
ROR (Rotación a la Derecha) a d c b e h g f b e d c f 0 h g a a d c b e h g f b e d c f a h g a d c b e h g f 0 c b a d g f e h a d c b e h g f h c b a d g f e
30 Llamada a varios tipos de POU
Creación de un programa PLC El proceso de creación de un programa PLC (fase de modelo) consiste en las siguientes fases (Fig.10): Especificación: descripción de la tarea; Diseño: descripción de la solución; Realización: ejecución de la solución; Integración/revisión: integración en el medio y testeo de la solución. 31 Fig.10
Direccionamiento de los módulos del PLC Las direcciones de las ranuras, módulos y las correspondientes entradas y salidas se tienen en cuanta en el proceso de direcionamiento. La Fig. 11 ofrece un ejemplo del direccionamiento de los módulos del PLC Siemens S7-300 (http://www.automatic-project.eu/Modules_bg/Module%204,%20Chapter%203.pdf ) 32 Fig.11
Ejemplos de diagramas de tipo escalera (1) “Un programa de tipo escalera" consiste en cierta secuencia lógica de instrucciones (“contacto”), por medio de la cual el estado de cada uno de los elementos (los contactos) de los sistemas electro-mecánicos (contacto-relé) se utilizan para identificar el control de las máquinas (y/o un proceso) . La condición real de los contactos del sistema electro-mecánico es reemplazado por una secuencia lógica. Como un elemento separado del control del sistema (contacto) pueden utilizarse todos los bits de las áreas de datos direccionables de un determinado PLC, de acuerdo con el sistema de direccionamiento empleado. Las siguientes diapositivas muestran ejemplos de contactos y diagramas lógicos con sus escaleras equivalentes (peldaños) http://www.plc-course.com/PLC-Basics/introduction-to-ladder-diograms-course.html 33
Ejemplos de diagramas de tipo escalera (2) 34
Ejemplos de diagramas de tipo escalera (3) 35
Instrucciones de salida 36
Funciones lógicas básicas (OR, AND) 37
Funciones lógicas básicas (NOR, NAND) 38
Funciones lógicas básicas (EXOR, EXNOR) 39
LD: ejemplo – representación de la expresión 40 Diagrama de tipo escalera Diagrama equivalente LD Equivalente en lenguaje Booleano
Página anterior | Volver al principio del trabajo | Página siguiente |