Descargar

PLC – Software y lenguajes de programación (página 2)

Enviado por Pablo Turmero


Partes: 1, 2, 3
edu.red

Sistema de programación CoDeSys CoDeSys (SIStema de D?sarrollo COntrolado) es un entrono de desarrollo de programas de PLC, creado por la empresa Alemana 3S GmbH (1994 ?.). Desde 2012 se ha escrito como CODESYS (http://en.wikipedia.org/wiki/CoDeSys ) CODESYS permite el funcionamiento de los PLC producidos por las empresas como IFM, OVEN y otras muchas. Se instala por medio de un PC, con la ayuda de interfaces en serie normales (RS232), interfaz CAN-PC (ej. EC2070). Soporta tres funciones básicas: Establecer todos los parámetros del PLC en cuestión. Programar un PLC en uno de los lenguajes estándar, definido por la IEC 61131-3: Lista de instrucciones (IL), diagrama de función secuencial (SFC), diagrama de funciones por bloques (FBD) diagrama de lógica en escalera (LD) o texto estructurado (ST); Testeando y ajustando los programas creados. Diagnostico/visualización de los datos recibidos en el controlador. Contiene una librería de funciones integrada: El sistema se descarga de manera gratuita. 15

edu.red

Relación entre CODESYS y un PLC PLC Fábrica CODESYS Respuesta Pregunta E/S s 16 Fig.7

edu.red

17 Reglas para la programación en PLCs Retorno a la función de llamada Llamar la atención utilizando ciclos (para tener en cuenta el tiempo de ejecución) Incrementar el interés hacia el uso de índices para los matrices y punteros Programa PLC Entrada Salida 17 Fig.8

edu.red

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

edu.red

19 ¿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. 19

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 20

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 21

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); 22

edu.red

23 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). 23

edu.red

24 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

28 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

29 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

30 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

31 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. 32 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 ) 33 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 34

edu.red

Ejemplos de diagramas de tipo escalera (2) 35

edu.red

Ejemplos de diagramas de tipo escalera (3) 36

edu.red

Instrucciones de salida 37

edu.red

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

edu.red

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

edu.red

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

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