Documente Academic
Documente Profesional
Documente Cultură
Clave: CDS-10
Presentacin
Nombre Empresa o institucin educativa Giro Puesto Conocimientos sobre PLC Experiencia con lenguajes de programacin
Objetivos
Comprender la funcin y las posibles aplicaciones de un PLC en la industria. Instalar, conectar y poner en marcha sistemas controlados por PLC. Optimizar procesos productivos aplicando las herramientas que ofrece CoDeSys. Reducir tiempos de paro en maquinaria con mando por PLC detectando y corrigiendo fallas de manera eficaz. Aumentar la productividad seleccionando la herramienta de CoDeSys ms adecuada para su proceso industrial. Conocer los cinco lenguajes de programacin segn la norma IEC-61131-3.
Contenido
Introduccin e instalacin de CoDeSys. Conceptos y bases de la norma IEC 61131-3. Lenguajes y operadores en el estndar IEC. Definicin y declaracin de variables. Libreras y Targets. La estructura de un proyecto. Programacin de funciones lgicas. La sintaxis y la semntica de los cinco diferentes lenguajes de programacin segn el estndar: IL, FBD, LD, ST y SFC. Visualizacin, simulacin y graficador de seales. Solucin de ejercicios prcticos en el entorno de programacin CoDeSys. Puesta en marcha de sistemas controlados por PLC.
Horario
Introduccin
Qu es un PLC?
Controlador Lgico Programable (Programmable Logic Controller) Inicios en la dcada de los 70s en la industria automotriz Alternativa a los sistemas de control basados en relevadores
Diseados especficamente para tareas de automatizacin Fcil modificacin de operacin Bajo costo en comparacin a un diseo especfico
1. 2. 3. 4. 5.
Informacin general y definiciones (61131-1) Hardware (61131-2) Lenguajes de programacin (61131-3) Lineamientos de usuario (61131-4) Comunicacin (61131-5)
10
Da las definiciones e identifica las caracteristicas bsicas que son relevantes para la seleccin y uso de controladores programables y perifricos. Esta parte no indica nada sobre seguridad de funcionamiento. En esta parte, los trminos usados en este estndar son definidos.
Aqu es donde las caractersticas bsicas y los principios de un controlador programable son definidos.
11
Requerimientos elctricos, mecnicos y funcionales Programables (PLCs) y perifricos relacionados. Condiciones de servicio, almacenamiento y transporte. Informacin tcnica a ser suministrada por el fabricante.
de
Controladores
Lgicos
Mtodos de prueba y procedimientos necesarios para trabajar con el PLC y perifricos relacionados.
12
Tipos de dato y variables como Boolean, Integer, Real, Date, Time, etc.
Configuracin de comunicacin y PLC. Componentes de programacin: o Funciones o Bloques de funcin o Programas o Tareas
13
ST (Structured Text)
A_plus := start AND a0 AND b0; A_min := b1; B_plus := a1 AND b0; B_min := b1;
Start . a0 . b0
A_plus a1 A_min; B_plus a0 B_min b0
LD (Ladder Diagram)
in_0 in_1 out_0
in_2
in_3
14
Lenguaje de programacin creado para permitir que un programa sea cargado al PLC usando un dispositivo de programacin manual. Programacin complicada y sin soporte grfico. Una sola operacin, como cargar un valor a un registro acumulador, es permitida por lnea de cdigo.
LD Push-button_a AND Push-button_b OR(Push-button_b AND Push-button_c ) OR(Push-button_c AND Push-button_a ) ST Press_P
15
Lenguaje de programacin de alto nivel, estructurado en bloques con sintaxis similar a PASCAL.
Soporte para: -Ciclos (REPEAT-UNTIL; WHILE-DO) -Ejecucin condicional (IF THEN-ELSE; CASE) -Funciones matemticas (SQRT( ), SIN( ))
A_plus := start AND a0 AND b0; A_min := b1; B_plus := a1 AND b0; B_min := b1;
16
INIT Start . a0 . b0
A_plus a1
3
Permite dar un vistazo, muy til para un diagnstico rpido cuando se busca detectar errores.
A_min; B_plus
a0
B_min b0
Lenguaje grfico, muy utilizado en Europa. Permite que incluso elementos complejos de programa, representados por bloques, sean unidos en un diagrama simple y claro. Comunmente utilizado en aplicaciones en las que se tiene que lidiar con el flujo de informacin o datos de controladores.
18
in_0
in_1
out_0
Basado en el estilo de programacin muy familiar en Norteamrica, que es similar a la norma de diagramas de circuitos elctricos estadounidense.
in_2
in_3
19
IL
LD
SFC
Aplicacin
Festo Didactic Mxico Ing. Diego Hoyos Robles
20
Estndar aceptado internacionalmente. Poco a poco, todos los fabricantes lo usarn en el futuro.
Permite el uso del mejor lenguaje de programacin para cada situacin particular Funciones y bloques de funcin estndar Ahorra tiempo, al haber menos malentendidos y errores, y mediante la reutilizacin de programas Aprender a programar es una inversin de esfuerzo nica
21
CoDeSys V2.3
3S-Software
Tu licencia al xito
Festo Didactic Mxico Ing. Diego Hoyos Robles
CoDeSys V2.3
Qu significa CoDeSys?
Controller Development System (Sistema de Desarrollo para Controladores) Qu es CoDeSys?
Software de programacin Herramienta de prueba Herramienta de depuracin Herramienta de simulacin Herramienta de documentacin Ambiente de desarrollo de visualizacin
CoDeSys es un ambiente completo de desarrollo
23
CoDeSys V2.3
El sistema de ejecucin Ejecuta el ciclo con la actualizacin de E/S Se comunica con el ambiente de desarrollo Arranca la aplicacin cuando la fuente de alimentacin se enciende
24
Fundamentos de CoDeSys
Proyecto abierto
Editor de visualizacin
Editor de programa
25
Fundamentos de CoDeSys
Ayuda en lnea La ayuda en lnea siempre est disponible. El contenido est agrupado por tema. El ndice es alfabtico. Bsqueda puede ser utilizado para buscar en todo el texto de ayuda.
F1
26
POUs
Data types
Visualisations
Resources
Declaraciones
Variables globales
Cdigo
Libreras
27
Rango
01 -128 127, -32768 32767, -2147483648 2147483647 0 255, 0 65535, 0 4294967295 0 255, 0 65535, 0 4294967295 -1.2 x 10-38 3.4 x 1038 -2.3 x 10-308 1.7 x 10308 0ms 1193h2m47s295ms 00:00:00 23:59:59 01.01.1970 a aprox. 06.02.2106 1 255 caracteres
Ejemplo
FALSE, TRUE, 0, 1
0, 24453, -38099887
200, 47453, 138099887 8450, 16#EA3F, 2#11_0011_0101 1.34996 2.8377E-15 T#1d8h12m8s125ms TOD#12:34:17 D#2001-03-15 DT#2001-03-15-12:17:03 Paro de emergencia
STRING
28
Programa
Un programa es una POU que regresa varios valores durante su operacin. Los programas son reconocidos globalmente en todo el proyecto. Todos sus valores son retenidos desde la ltima vez que se ejecut el programa hasta la siguiente. Los programas pueden ser llamados. Una llamada a un programa desde una funcin no est permitida. No existen instancias de programas. Si una POU llama a un programa, y sus valores son cambiados, estos cambios permanecen hasta la siguiente vez que sea llamado, aun cuando el programa sea llamado por otra POU.
30
Bloque de funcin
Un bloque de funcin es una POU que entrega uno o ms valores durante su ejecucin. Contrario a una funcin, un bloque de funcin no regresa valores con return. El llamado a un bloque de funcin se realiza mediante una instancia de dicho bloque de funcin.
31
Qu es una instancia?
Una instancia es una copia de un bloque de funcin o estructura. Cuando uno agrega un bloque de funcin o una estructura a un programa, en realidad est creando una estructura de datos que contiene las entradas, salidas y variables internas de dicho objeto con un identificador propio. Dicha instancia heredar las propiedades del objeto original. Una instancia es declarada como una variable local o global con un tipo de dato correspondiente al nombre del objeto que copiar, lo que permite tener varias instancias de un mismo objeto trabajando independientemente, cada uno con sus parmetros propios.
32
Ejemplo de instancia
Crearemos una estructura de tipo Futbolista, que contar con las siguientes propiedades: Equipo : string Nombre: string Nmero: usint Pierna dominante: bool Rcord (partidos ganados partidos perdidos): int goles anotados / tiros a gol: real
33
Ejemplo de instancia
Futbolista sera el molde, del que podemos crear a Cuauthmoc, chicharito, Gio, Rafa, etc. Cada uno de ellos sera una instancia de Futbolista, con sus caractersticas heredadas de dicha estructura, pero con valores propios para cada uno de ellos.
34
Funcin
Una funcin es una POU, que regresa exactamente un dato (el cual puede consistir de varios elementos, como campos o estructuras) cuando es procesado, y que su llamado en lenguajes textuales puede ocurrir como operador en expresiones. Cuando se declara una funcin, sta debe de recibir un tipo de dato.
35
Ejecuta la aplicacin de CoDeSys Llama a los sig. programas, funciones, bloques de funcin,
36
Las variables de E/S de hardware que son declaradas mediante un identificador va el configurador de PLC son visibles como variables de sistema.
37
Debe comenzar con letra Letras y nmeros Solo guin bajo sencillo Sin espacios No palabras u operandos reservados de IEC Maysculas/minsculas son indistintas
38
Las variables locales se declaran entre VAR y END_VAR. Las variables locales que pueden ser usadas en otros programas como entradas o salidas de dichos programas aparecen entre VAR_INPUT y END_VAR o VAR_OUTPUT y END VAR.
39
40
41
Instruction List Structured Text Sequential Function Chart Function Block Diagram Ladder Diagram
42
Qu es un target?
CoDeSys tiene la capacidad de crear cdigo nativo para cientos de controladores de ms de 250 distintos fabricantes. Por sto, es necesario que CoDeSys cuente con informacin del controlador en especfico que se va a programar. Toda esta informacin, viene contenida en una carpeta comprimida, que es necesario instalar antes de poder utilizar CoDeSys para programar un controlador dado.
43
Instalacin de un target
El target para programar un controlador es proporcionado por el fabricante, y viene englobado en un archivo comprimido. Es necesario descomprimir dicho archivo en el disco duro de la computadora. En nuestro caso, el archivo se llama CPX-CEC.zip, el cual se les proporcionar a continuacin.
CPX-CEC.zip
Festo Didactic Mxico Ing. Diego Hoyos Robles
44
Instalacin de un target
45
Instalacin de un target
Para instalar un target, es necesario ejecutar la aplicacin InstallTarget, que se encuentra en la misma carpeta que el ejecutable de CoDeSys. Danco clic en Open, se abre la carpeta que se descomprimi anteriormente, y se selecciona el archivo con extensin .tnf que se encuentra dentro de sta.
46
CPX
47
Procesador CoDeSys
Conector handheld
48
Entradas analgicas
2 entradas analgicas 12 bits de resolucin Configurable a voltaje (0-10V) o a corriente (0-20mA y 4-20mA) Seleccin por DIP-switch o por software
49
Salidas analgicas
2 salidas analgicas 12 bits de resolucin Configurable a voltaje (0-10V) o a corriente (0-20mA y 4-20mA) Seleccin por DIP-switch o por software
50
Entradas/salidas digitales
51
1er ejercicio
Al presionar un botn pulsador B1, se activar una lmpara L1, y permanecer encendida mientras dicho botn se encuentre presionado.
52
Seleccin de target
Al realizar un proyecto nuevo, se debe seleccionar el equipo sobre el que se cargar el programa. Para el primer ejercicio, seleccionaremos None.
53
Configuracin de POU
En esta ventana, se selecciona el nombre, tipo y lenguaje del POU que se va a disear. Es importante recordar que nuestro proyecto debe contener un programa con el nombre PLC_PRG, que es la que se cargar al energizar el PLC.
54
Programacin
Una vez seleccionado el target y configurado el POU, el sistema est listo para empezar a programar.
55
Visualizacin
Las visualizaciones son herramientas muy tiles para depurar un programa, ya que nos permiten simular tanto entradas como salidas sin necesidad de realizar conexiones fsicas, y probarlas en un entorno grfico, lo que facilita su comprensin.
56
Ejercicio
Lenguaje: CFC y LD Realice un programa con el que pueda realizar las funciones lgicas NOT, AND y OR, y una visualizacin en la que pueda probarlo.
57
Ejercicio
S_2
Crear un programa en IL, ST o LDR que permita controlar una lmpara desde cualquiera de los dos extremos de una escalera. S_1 y S_2 son botones con enclavamiento mecnico, y cuando uno de ellos cambie su estado, la lmpara tambin deber de hacerlo. Se cuenta adems con un switch principal F_1, el cul tiene que estar encendido para que la lmpara pueda funcionar. Realizar una visualizacin similar a la que se muestra que permita comprobar el funcionamiento correcto del programa.
L_1
F_1
S_1
Ejercicio
Realizar un programa que cuente con tres entradas B1, B2 y B3, y 3 salidas L1, L2 y L3, y que cumpla con las siguientes caractersticas: Al presionar B1, B2 B3 (un solo pulsador) se encender L1. Al presionar cualquier combinacin de dos pulsadores a la vez, se encender L2. Al presionar los tres pulsadores, se encender L3. Slo una lmpara puede estar activa a la vez. Cargar el programa en el PLC y realizar las conexiones fsicas necesarias.
59
60
Al realizar un proyecto nuevo, se debe seleccionar el equipo sobre el que se cargar el programa.
61
Posteriormente, se realizan las configuraciones del equipo en la opcin PLC Configuration, que se encuentra en la pestaa Resources
62
Primero se debe buscar el PLC en la red, asegurndonos que nos encontramos en la misma subred de ste, y posteriormente se selecciona con la opcin Set as active PLC.
63
Es importante agregar los mdulos que se encuentran conectados fsicamente al PLC. Esto se puede hacer de forma manual o automtica.
64
Cada mdulo puede configurarse de forma independiente, lo que nos permite activar o desactivar mensajes de error, agregar un identificador a una entrada o salida, entre muchas otras opciones.
65
Ejercicio
Disear un programa para distribuir la piezas que llegan a cuatro transportadores por medio de una seccin mvil. La posicin requerida deber ser seleccionada por 4 botones pulsadores, y podr ser seleccionada en cualquier orden. El cilindro A y B son de doble efecto
66
1 Carrera corta
Corta Retraer
Larga Retraer
Carrera larga
Extender
Retraer
Retraer
Extender
Extender
Extender
68
Temporizadores
En el estndar IEC, existen 3 tipos de temporizadores, diseados para cumplir diferentes tareas en las que es necesario un retardo de una seal. Estos son: Temporizador de impulso (TP) Temporizador con retardo a la conexin (TON) Temporizador con retardo a la desconexin (TOF) Las seales de las que consta un temporizador son las siguientes:
TP
entrada (bool) tiempo (time)
Festo Didactic Mxico Ing. Diego Hoyos Robles
IN PT
Q ET
IN
timer1
TP
IN
PT
Q
ET
IN
timer1
TP
IN
PT
Q
ET
IN
timer1
TON
IN
PT
Q
ET
IN
timer1
TOF
IN
PT
Q
ET
Ejercicio
El encendido de un motor requiere que est presente la seal del alimentador principal y la del botn de arranque, y que no est presente la seal de paro. Para lograr un arranque ptimo, el motor se va alimentando progresivamente, de la sig. manera: En cuanto se cumplen las condiciones de marcha, un alimentador entrega corriente. 3 segundos despus, se activa un segundo alimentador para incrementar la corriente del motor. 4.55 segundos despus, se activa un ltimo alimentador, con lo que el motor correr a mxima potencia.
K1 +24V
R1
R2
K2
K3
0V
74
Ejercicio
Una vez se han vertido las pinturas lquidas con los correspondientes colores en un bote, se mezclan en la mquina vibradora. Al accionar un pulsador, el cilindro que se halla avanzado retrocede completamente y ejecuta un movimiento alternativo de vaivn en la zona posterior de la carrera. El vaivn est limitado por los sensores que se encuentran en la posicin final retraida, y en el centro de la carrera. Despus de un tiempo determinado, la vibracin se desconecta. El cilindro de doble efecto avanza completamente y acciona un tercer sensor. Tiempo de vibracin t=5 segundos.
76
Contadores
En el estndar IEC, existen 3 tipos de contadores, diseados para cumplir diferentes tareas en las que es necesario contar la cantidad de veces que ocurre un evento. Estos son: Contador incremental (CTU) Contador decremental (CTD) Contador incremental/decremental (CTUD) Las seales de las que consta el contador incremental son las siguientes:
CTU
Q CV
77
Ejercicio
CTUD
CU CD RESET LOAD PV QU QD CV
Con la informacin brindada en la diapositiva anterior, descifre el funcionamiento de los otros dos contadores (decremental e incremental/decremental), y haga un programa en el que pruebe la diferencia entre los tres.
CTD
CD LOAD PV
Q CV
78
Ejercicio
Realice el ejercicio anterior, en ST, de tal forma que al presionar el botn pulsador B1 se realicen 10 ciclos de vaivn, al presionar B2 se realicen 20 ciclos, y al presionar B3 se realicen 30 ciclos.
Ejercicio
Un sistema automtico deber contar la cantidad de personas que entran a un saln de eventos con capacidad para 150 personas. El saln cuenta con dos puertas giratorias, una para entrar y otra para salir. Al haber alguien presente dentro del saln, las luces debern encenderse automticamente. Si el saln se encuentra a ms del 90% de su capacidad, una luz de advertencia deber de parpadear continuamente, y si se llega a las 150 personas, una traba activada neumticamente deber bloquear la puerta de entrada. Cuando el nmero de personas disminuya por debajo del 90%, la traba se desactivar. Al no haber nadie presente, las luces se apagarn automticamente.
80
81
Permite agrupar funciones complejas en una caja negra con entradas y salidas, cuyo funcionamiento ser transparente para el programador. Se trabaja con ellos a travs de instancias, lo que nos permite tener varias copias de un mismo elemento trabajando independientemente.
Nombre de la instancia
Nombre
Entrada 1 Salida 1 Salida 2
Entrada 2
Entrada 3
Bloques de funcin
Para crear un bloque de funcin, en la ventana de nuevo POU, se selecciona la opcin Function Block en Type of POU, adems del lenguaje de programacin y el nombre que se le dar.
83
Bloques de funcin
Las variables que entran al bloque de funcin, se dan de alta en VAR_INPUT, las variables de salida en VAR_OUTPUT, y las variables internas del bloque de funcin (las que no se escriben ni se leen desde fuera de l), se dan de alta en VAR. Una vez dadas de alta las variables, se procede con la programacin de forma normal.
84
Sistemas secuenciales
85