Descargar

Controladores inteligentes industriales (página 2)

Enviado por Pablo Turmero


Partes: 1, 2, 3
edu.red

Estructura de un programa de un PLC Projecto POUs Variables globales Estructuras Declaraciones Código 17 Fig. 9

edu.red

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

edu.red

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

edu.red

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

edu.red

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

edu.red

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

edu.red

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.

edu.red

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

edu.red

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 *)

edu.red

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.

edu.red

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.

edu.red

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)

edu.red

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

edu.red

30 Llamada a varios tipos de POU

edu.red

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

edu.red

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

edu.red

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

edu.red

Ejemplos de diagramas de tipo escalera (2) 34

edu.red

Ejemplos de diagramas de tipo escalera (3) 35

edu.red

Instrucciones de salida 36

edu.red

Funciones lógicas básicas (OR, AND) 37

edu.red

Funciones lógicas básicas (NOR, NAND) 38

edu.red

Funciones lógicas básicas (EXOR, EXNOR) 39

edu.red

LD: ejemplo – representación de la expresión 40 Diagrama de tipo escalera Diagrama equivalente LD Equivalente en lenguaje Booleano

Partes: 1, 2, 3
 Página anterior Volver al principio del trabajoPágina siguiente