Anda di halaman 1dari 83

ndice ndice Introduccin Capitulo 1 Descripcin de los PLCs 1.1 Introduccin 1.2 FEC Compacto 1.

3 FEC Standard 1.4 IPC Capitulo 2 Operando de los PLCs de Festo 2.1 Introduccin 2.2 Operndos de bit vs. Operndos de multibit 2.3 Entradas 2.4 Salidas 2.5 Banderas 2.6 Registros 2.7 Temporizadores 2.7.1 Temporizador de impulso 2.7.2 Temporizador de retrazo a la conexin 2.7.3 Temporizador de retrazo a la desconexin 2.8 Contadores 2.9 Constantes 2.10 Bandera de ejecucin inicial Capitulo 3 Estructura de programacin en LDR 3.1 Introduccin 3.2 Que es un escaln 1 3 3 4 5 7 11 11 11 12 13 14 15 15 16 18 20 22 24 25 26 26 26

II

ndice 3.3 Parte ejecutiva y condicional 3.4 Como se procesan los escalones Capitulo 4 Referencia de instrucciones en LDR 4.1 Funciones lgicas 4.1.1 Funcin NOT 4.1.2 Funcin OR 4.1.3 Funcin AND 4.1.4 Funcin OR exclusiva 4.2 Funciones aritmticas 4.2.1 Adicin 4.2.2 Substraccin 4.2.3 Multiplicacin 4.2.4 Divisin 4.3 Funciones de rotacin 4.3.1 Rotacin a la izquierda 4.3.2 Rotacin a la derecha 4.4 Funciones de Corrimientos 4.4.1 Corrimiento a la izquierda 4.4.2 Corrimiento a la derecha 4.5 Saltando a una etiqueta 4.6 Bobinas 4.6.1 Set 4.6.2 Reset 4.6.3 Asignacin 27 27 29 29 29 30 31 31 32 33 33 33 34 34 34 35 36 36 36 37 38 38 38 39

III

ndice 4.6.4 Asignacin negada 4.7 Funciones de comparacin 4.7.1 Igual que... 4.7.2 Mayor que... 4.7.3 Menor que... 4.7.4 Mayor o igual que... 4.7.5 Menor o igual que... 4.7.6 Diferente que... 4.8 Nmeros 4.8.1 Conversin BCD a binario 4.8.2 Conversin binario a BCD 4.9 Contadores 4.10 Temporizadores Capitulo 5 Programando entradas y salidas digitales, y banderas 5.1 Programando entradas y salidas 5.2 Programando banderas Capitulo 6 Programando temporizadores Capitulo 7 Programando contadores y registros Capitulo 8 Llamando a programas, CMP y CFM 8.1 Programas 8.2 Mdulos de programa 8.3 Mdulos de funcin 8.4 Importando mdulos Conclusiones 39 40 40 40 41 41 42 42 43 43 44 44 45 47 47 50 52 55 58 58 59 60 61 64

IV

ndice Apndice A Principales mdulos de programa A.1 F10 A.2 F11 A.3 F30 A.4 F31 A.5 F9 A.6 GETCOM A.7 PUTCOM A.8 PRINTCOM A.9 READCOM Apndice B Creando proyectos Bibliografa ndice de Figuras Figura 2.1 Figura 2.2 Figura 2.3 Figura 2.4 Figura 3.1 Figura 3.2 Figura 3.3 Figura 4.1 Figura 4.2 Figura 4.3 Figura 4.4 Operandos simblicos y absolutos Temporizador de impulso Temporizador de retrazo a la conexin Temporizador de retrazo a la desconexin Escaln Cajas Ramas paralelas y bobinas paralelas Funcin NOT de entrada Funcin NOT de salida Funcin INV Funcin OR 11 17 19 21 26 26 27 29 29 30 30 65 65 65 66 67 67 68 68 68 68 70 76

ndice Figura 4.5 Figura 4.6 Figura 4.7 Figura 4.8 Figura 4.9 Figura 4.10 Figura 4.11 Figura 4.12 Figura 4.13 Figura 4.14 Figura 4.15 Figura 4.16 Figura 4.17 Figura 4.18 Figura 4.19 Figura 4.20 Figura 4.21 Figura 4.22 Figura 4.23 Figura 4.24 Figura 4.25 Figura 4.26 Figura 4.27 Figura 4.28 Funcin OR multibit Funcin AND Funcin AND multibit Funcin OR exclusiva con 2 operandos Funcin OR exclusiva con 3 operandos Funcin EXOR Funcin + Funcin Funcin * Funcin / Rotacin a la izquierda Rotacin a la derecha Funcin ROL y ROR Corrimiento a la izquierda Corrimiento a la derecha Funcin SHR y SHL Funcin de salto Instruccin de SET Instruccin de RESET Arranque y paro de motor con SET y RESET Asignacin Asignacin negada Funcin igual que Funcin mayor que 31 31 31 32 32 33 33 33 34 34 35 35 35 36 36 37 37 38 38 39 39 40 40 41

VI

ndice Figura 4.29 Figura 4.30 Figura 4.31 Figura 4.32 Figura 4.33 Figura 4.34 Figura 4.35 Figura 4.36 Figura 4.37 Figura 4.38 Figura 5.1 Figura 5.2 Figura 5.3 Figura 5.4 Figura 5.5 Figura 5.6 Figura 5.7 Figura 5.8 Figura 5.9 Figura 6.1 Figura 6.2 Figura 6.3 Figura 6.4 Figura 7.1 Funcin menor que Funcin mayor o igual que Funcin menor o igual que Funcin diferente que Conversin de BCD a binario Comando DEB Conversin de binario a BCD Comando BID Inicializacin del contador Inicializacin de temporizadores Configuracin de entradas y salidas Palabras de entradas Lista de localidades Arranque y paro de un motor Motor apagado Motor encendido con el pulsador de arranque presente Motor encendido memorizado Banderas como detectores de flanco Bandera de ejecucin inicial Solucin con TON Solucin con TOFF Solucin con T Solucin con T y comparacin Solucin con contador 41 42 42 43 43 44 44 44 45 46 47 48 48 49 49 49 50 50 51 52 53 53 54 55

VII

ndice Figura 7.2 Figura 7.3 Figura 8.1 Figura 8.2 Solucin con registro Temporizador con preseleccin desde registro Llamando programas Llamado de mdulo de programa 56 57 58 60

VIII

ndice de Tablas Tabla 2.1 Tabla 2.2 Tabla 2.3 Tabla 2.4 Tabla 2.5 Tabla 2.6 Tabla 2.7 Tabla 2.8 Tabla 2.10 Direccionamiento de entradas Direccionamiento de salidas Direccionamiento de banderas Direccionamiento de registros Direccionamiento de temporizador de impulsos Direccionamiento de temporizador de retrazo a la conexin Direccionamiento de temporizador de retrazo a la desconexin Direccionamiento de contadores Direccionamiento de bandera de ejecucin inicial 12 13 14 15 18 20 22 25 25

Introduccin INTRODUCCIN.

Desde finales de los aos sesenta, los PLCs han tenido gran aceptacin en el sector industrial para realizar las tareas de automatizacin. Los PLCs sin duda han simplificado en gran medida a los tableros de control, antes de la existencia de los PLCs, estos tableros eran de grandes dimensiones, donde los relevadores electromagnticos eran la base para ejecutar las operaciones lgicas que los controles necesitaban. Sin duda, las personas que han trabajado con estos tipos de controles, se han encontrado con las grandes dificultades que representa en algunas ocasiones localizar fallas o implementar modificaciones por requerimientos de produccin. Es aqu donde los PLCs tienen su mayor ventaja sobre los controles electromecnicos. Existen muchas marcas comerciales de PLCs, tales como Festo, Siemens, Allen Bradley, Modicon, Moeller, etc. Todos con sus caractersticas muy especiales segn su arquitectura y filosofa de diseo, pero hay algo que los hace muy semejantes, su programacin. Bsicamente existen tres lenguajes de programacin de PLCs, Diagrama de escalera, Lista de instrucciones y Diagrama de funciones, aunque algunos fabricantes fabrican PLCs que pueden ser programados en lenguajes de computadoras como Pascal, C o Basic. En este trabajo se pretende dar una referencia de la programacin en el lenguaje de diagrama de escalera utilizado por los PLCs de la marca Festo. En esta monografa se dar una explicacin de los diferentes PLCs que Festo fabrica, de tal manera que el lector pueda tomar la decisin de que PLC es adecuado para determinada aplicacin.

Introduccin

Posteriormente se dar la descripcin de los operandos de los PLCs, aqu es donde empezaremos a comprender el funcionamiento de las entradas, salidas, banderas, temporizadores, contadores, registros, etc. Luego empezaremos a entrar en materia de programacin, es aqu donde se expondrn la estructura de programacin, las instrucciones y la manera de usar cada uno de los operandos. En cada tema se dar un pequeo ejemplo para mejorar la comprensin.

Capitulo 1 CAPITULO 1 DESCRIPCIN DE LOS PLCS 1.1 Introduccin.

El trmino PLC de amplia difusin en el medio significa en ingles, Controlador Lgico Programable. Originalmente se denominaban PCs (Programable Controllers), pero, con la llegada de las IBM PCs, para evitar confusiones, se emplearon definitivamente las siglas PLC. En Europa, el mismo concepto es llamado Autmata Programable. Segn la norma IEC-1131 el PLC se define como: Un sistema electrnico de funcionamiento digital, diseado para ser utilizado en un entorno industrial, que utiliza una memoria programable para el almacenamiento interno de instrucciones orientadas al usuario, para la realizacin de funciones de: enlaces lgicos, secuenciacin, temporizacin, recuento y clculo, para controlar a travs de entradas y salidas digitales o analgicas, diversos tipos de mquinas o procesos. En 1969 la divisin Hydramatic de la General Motors instal el primer PLC para reemplazar los sistemas inflexibles alambrados usados entonces en sus lneas de produccin. En 1971, los PLCs se extendan a otras industrias y, en los ochentas, ya los componentes electrnicos permitieron un conjunto de operaciones de 16 bits en un pequeo volumen, lo que los populariz en todo el mundo. En los primeros aos de los noventas, aparecieron los microprocesadores de 32 bits con posibilidades de operaciones matemticas complejas, y de comunicaciones entre PLCs de diferentes marcas y PCs, los que abrieron la posibilidad de fbricas completamente automatizadas y con comunicacin directamente a la gerencia en tiempo real.

Capitulo 1 1.2 FEC Compacto.

El FEC Compacto es ms que una unidad de control sencilla y econmica de la marca Festo. El FEC Compacto demuestra que una solucin econmica se puede combinar perfectamente con tecnologa avanzada y gran funcionalidad. Las caractersticas bsicas son tpicas para un control sencillo y pequeo: 12 entradas a 24 Vdc. 8 salidas a 24 Vdc o relevador. 2 interfaces serie. Contador rpido para uso de tareas de posicionamiento sencillas. Las versiones de 110/230 Vac permiten prescindir de alimentacin de 24 Vdc. Las entradas pueden estar conectadas a positivo o negativo y los relevadores de salida a corriente alterna o continua. Una unidad de control pequea no solamente debe tener dimensiones compactas, sino tambin debe integrarse apropiadamente en el sistema. Para conseguirlo, se puede recurrir al FEC Compacto con conexin a red Ethernet. Mecnica. El FEC Compacto tiene una ranura para montaje en riel DIN. O tambin la opcin de montaje con tornillos, ya que cuenta con orificios para montaje en placa. Alimentacin de tensin. El FEC Compacto es verstil con sus versiones de 24 Vdc y de 110/230 Vac. Las seales de entrada siempre estn conectadas a 24 Vdc; en el caso de las versiones de corriente alterna, la alimentacin de la tensin para los sensores est integrada en la unidad de mando. Entradas. Las entradas pueden ser PNP o NPN. Basta con conectar a 0 Vdc o +24 Vdc los bornes marcados con S0 y S1.

Capitulo 1

Salidas. Todos los FEC Compacto tienen salidas de relevador conectables a mximo 230 Vac. Los controles FC2X disponen de 8 salidas de relevadores. Los controles FC3X tienen 2 salidas a relevadores y 6 de transistores. Interfaces serie. Todos los FEC Compacto disponen de 2 interfaces serie (COM y EXT). La interface COM se utiliza para la programacin, mientras que la EXT puede aprovecharse para una unidad de indicacin y control HMI, una ampliacin, un mdem o para otros equipos provistos de interface serie. Interface Ethernet. Las versiones del FEC Compacto con interface Ethernet incluyen una interface Ethernet 10 BaseT con conexin RJ45 para una velocidad de transmisin de 10Mbits/s. Este controlador permite la transmisin de datos, la programacin y la localizacin de fallos a travs de la interface Ethernet. Programacin. El FEC Compacto puede programarse con FST o Multiprog. FST es el nico lenguaje de programacin ampliamente difundido y sencillo que permite programar tal como se piensa. Adems, FST acepta el comando STEP (paso) para la programacin de secuencias. Con FST se puede programar a travs de Ethernet, adems de poderle integrar una pgina WEB al controlador utilizando su WEB Server. Multiprog es un sistema de programacin segn la norma IEC 6 1131-3 que incluye los 5 lenguajes de programacin normalizados. MWT facilita la programacin en concordancia con la norma mediante ayudas integradas para las operaciones y los mdulos, as como para la administracin de variables. 1.3 FEC Standard. El FEC Standard no es tan slo un mini control. Demuestra que an es posible la in novacin en mini controles , en los albores del siglo 21.

Capitulo 1

Con su robusto cuerpo de aluminio anodizado, demuestra que el diseo compacto y la resistencia pueden ser compatibles. Las caractersticas bsicas son muy similares al FEC Compacto. 16 o 32 entradas a 24 Vdc. 8 o 16 salidas a 24 Vdc. 2 interfaces serie. Contador rpido para uso de tareas de posicionamiento sencillas. El FEC standard al igual que el FEC compacto puede integrarse apropiadamente en el sistema. Para conseguirlo, se puede recurrir al FEC Standard con conexin a red Ethernet. Mecnica. El FEC Standard tiene un clip para montaje en riel DIN y agujeros en las esquinas para fijacin atornillada, utilizando una placa de montaje. Todas las conexiones son accesibles desde la parte frontal, no hay necesidad de espacio adicional para conexiones desde abajo o desde arriba Alimentacin de tensin. El FEC Standard siempre se alimenta con 24 Vdc al igual que sus entradas y salidas.. Entradas. Las entradas digitales son a 24 Vdc PNP y las analgicas son de 0 a 20 mA con 12 bits de resolucin. Salidas. Las salidas digitales son de 24 Vdc a 400 mA, a prueba de corto circuito y para cargas de baja resistencia. Las salidas analgicas son de 0 a 20 mA con 12 bits de resolucin. Interfaces serie. Todos los FEC Standard disponen de 2 interfaces serie (COM y EXT) universales TTL con una velocidad mxima de transmisin de 115 kbits/s. La interface COM se utiliza para la programacin, mientras que la EXT puede aprovecharse para una unidad de indicacin y control HMI, una ampliacin, un mdem o para otros equipos provistos de interface serie.

Capitulo 1

Interface Ethernet. Las versiones del FEC Standard con interface Ethernet incluyen una interface Ethernet 10 BaseT con conexin RJ45 para una velocidad de transmisin de 10Mbits/s. Este controlador permite la transmisin de datos, la programacin y la localizacin de fallos a travs de la interface Ethernet. Programacin. El FEC Standard puede programarse con FST o Multiprog. FST es el nico lenguaje de programacin ampliamente difundido y sencillo que permite programar tal como se piensa. Adems, FST acepta el comando STEP (paso) para la programacin de secuencias. Con FST se puede programar a travs de Ethernet, adems de poderle integrar una pgina WEB al controlador utilizando su WEB Server. Multiprog es un sistema de programacin segn la norma IEC 6 1131-3 que incluye los 5 lenguajes de programacin normalizados. MWT facilita la programacin en concordancia con la norma mediante ayudas integradas para las operaciones y los mdulos, as como para la administracin de variables. 1.3 IPC. El PC IPC PS1 es todo en una sola unidad: un PC de alto rendimiento y un PLC. Es capaz de adaptarse a la estructura de una red y superar los limites establecidos por la tcnica convencional de la automatizacin, ya que es capaz de administrar y capturar datos y, a la vez, controlar un cilindro neumtico o contactor elctrico. Se sobreentiende que es diagnosticable por la lnea telefnica. El IPC PS1 conjuga de modo consecuente el mundo de los PLC con el mundo de los PC. Conoce todos los mdulos digitales de los PLC, necesarios para la conexin de detectores y actuadores. Pero tambin conoce los mdulos de posicionamiento para ejes paso a paso, servopilotados y neumticos.

Capitulo 1

Y, por supuesto, conoce el mundo completo de los bus de campo, incluyendo el bus de Festo, CP-CAN, Profibus-DP, InterBus, AS-Interface y otros. Del mundo de los PC, el IPC PS1 conoce todos los tipos de memorias masivas de datos, conexiones de tarjetas grficas, PCCard y tambin USB. Asi usted podr elegir siempre el mdulo preciso que necesite para su aplicacin concreta.

Sistemticamente Modular. El IPC PS1 Profesional est constituido por mdulos y permite ms de 200 combinaciones. Su Hardware y Software estn preparados para el futuro. Hardware por mdulos significa conectar el mdulo en el Busboard y atornillarlo.As de sencillo! Con el sistema modular el sistema operativo y el lenguaje de programacin se adaptan a la aplicacin del cliente, pudindose hacer los cambios necesarios sobre el terreno. La comunicacin modular permite acceder a todos los bus de campo modernos y a Ethernet, el estndar mundial en el mundo de los PC. Mecnica. Debido a que la IPC es modular, es necesario disponer de un busboard para insertar en los slots la CPU y los mdulos de entrada y salida. El busboard puede ser de 3, 5, 8, 14 o 20 slots. En los busboard de 3 y 5 slots la alimentacin de backplane viene integrada, para los restantes es necesario instalar en uno de los slots la fuente de backplane. Alimentacin de tensin. La IPC siempre se alimenta a 24 Vdc, y la fuente de backplane se encarga de realizar la alimentacin necesaria para los circuitos lgicos, esta se alimenta con 24 Vdc. Entradas. Existen diversos mdulos de entradas, tanto analgicos como digitales. Los mdulos de entradas digitales siempre van a ser de 24 Vdc, la cantidad de entradas por modulo

Capitulo 1

pueden ser de 8, 16 o 32. Los mdulos de entradas analgicos pueden ser de 0 a 20 mA, 4 a 20 mA o 0 a 10 Vdc, los cuales son los estandares ms conocidos. Salidas. Existen diversos mdulos de salidas, tanto analgicos como digitales. Los mdulos de salidas digitales pueden ser de 24 Vdc o a relevadores, la cantidad de entradas por modulo pueden ser de 8, 16 o 32. Los mdulos de salidas analgicos pueden ser de 0 a 20 mA, 4 a 20 mA o 0 a 10 Vdc, los cuales son los estandares ms conocidos. Unidad Central de Proceso. La unidad central de proceso o CPU es la que se encarga de realizar todas las tareas de operacin del PLC, en si, se encarga de leer el estado de las entradas, salidas y de memoria, y segn el programa modificar el estado de las salidas y/o memorias. a) CPU HC01. La CPU HC01 se basa en el microprocesador AM186, el sistema operativo es DOS, ampliable para multitarea o Kernel para PLC. Posee al igual que el FEC Standard dos interfaces serie con las mismas caractersticas. Adems tiene 8 puntos configurables como entradas o como salidas. b) CPU HC02. La CPU HC02 tiene las mismas caractersticas que la HC01, la unica diferencia es que la HC02 posee una interface Ethernet 10 Base T con las mismas caractersticas de la interface Ethernet del FEC Standard. c) CPU HC2X. Las CPU de la familia HC2X se basan en el microprocesador de 32 bits 486 0 586, con mdulos intercambiables mediante tarjetas para PC de Epson. El sistema operativo puede ser DOS, Windows, Windows NT, Linux entre otros. d) CPU HC50. La CPU HC50 ofrece rendimiento Pentium. Ampliable para la periferia de PC mediante dos interfaces USB, ampliable para la periferia PC-Card mediante dos slots integrados, ampliable para la tcnica de automatizacin mediante el clsico ISABus.

Capitulo 1

10

Programacin. Para comunicarse con la IPC puede prescindir de interprete, ya que entiende todos los lenguajes de programacin ms difundidos en el mundo. La IPC es programada igual que una PC, por ejemplo en lenguaje C/C++ o Pascal, o igual que un PLC mediante herramientas de software estandarizadas segn IEC 61131-3 o con otros programas conocidos y de probada eficiencia, tales como el software FST.

Capitulo 2 CAPITULO 2 OPERANDOS DE LOS PLCS DE FESTO 2.1 Introduccin.

11

Este capitulo introduce a los identificadores usados en los PLCs de Festo para referirse a los diferentes elementos del sistema, ya sea software o hardware. Estos identificadores del sistema (ejemplo: entradas, salidas, banderas) sern referenciados como Operndos. Los operndos son elementos contenidos en el controlador y que pueden ser interrogados o manipulados usando instrucciones de programa. El software de Festo, de ahora en adelante llamado FST, permite que los programas puedan ser escritos utilizando operandos absolutos y/o operandos simblicos. Un operando absoluto es la descripcin especfica del operando del PLC, independientemente de la aplicacin (ejemplo: I0.0, F3.1, R3, etc.). El operando simblico se especifica de acuerdo a la aplicacin y va referenciado al operando absoluto (ejemplo: Start, Stop, Motor1, etc.).

Figura 2.1 Operandos simblicos y absolutos.

2.2 Operndos de bit vs. Operndos de multibit. Una distincin debe hacerse entre Operndos de bit y Operndos de multibit. Un operando de bit puede ser evaluado como falso o verdadero en la parte condicional de las

Capitulo 2

12

instrucciones del programa y puede ser puesto a 0 o a 1 en la parte ejecutiva. Durante al interrogacin y operaciones de carga, el operando de bit es guardado en el acumulador de bit. Los Operndos de multibit pueden ser verificados por valor utilizando instrucciones de comparacin o bien comparado a otro operando multibit en la parte condicional. En la parte ejecutiva los Operndos multibit pueden ser cargados con un valor, decerementados y incrementados va operaciones aritmticas o lgicas. Durante la interrogacin y operacin de carga, los Operndos multibit son cargados en el acumulador de multibit. 2.3 Entradas. Los PLC de Festo poseen 256 palabras de entradas (0 a 255), cada una de 16 bits (0 a 15), pueden ser direccionados como bits o como palabras. Las entradas son el medio por el cual el PLC recibe las seales del sistema, dichas seales pueden ser sensores, retro avisos de magneto trmicos, botoneras, etc.

Operando Entrada bit

Identificador I

Sintaxis Iw.b

Parte Condicional

Ejemplo

Entrada multibit

IW

Condicional

Tabla 2.1 Direccionamiento de entradas.

Capitulo 2

13

En la tabla 2.1 podemos apreciar las caractersticas del direccionamiento de las entradas, donde w es el nmero de la palabra y b es el nmero de bit. 2.4 Salidas. Los PLC de Festo poseen 256 palabras de salidas (0 a 255), cada una de 16 bits (0 a 15), pueden ser direccionados como bits o como palabras. Las salidas son el medio por el cual el PLC comanda a los diferentes elementos que van a realizar un trabajo en la mquina, por ejemplo, la bobina de un contactor, la bobina de una Electrovlvula neumtico o hidrulica o un piloto luminoso.

Operando Salida bit

Identificador O

Sintaxis Ow.b

Parte Condicional

Ejemplo

Ejecutiva

Salida multibit

Oww

Condicional

Ejecutiva

Tabla 2.2 Direccionamiento de salidas.

Capitulo 2

14

En la tabla 2.2 podemos apreciar las caractersticas del direccionamiento de las salidas, donde w es el nmero de la palabra y b es el nmero de bit. 2.5 Banderas. Los PLC de Festo poseen 10000 palabras de banderas (0 a 9999), cada una de 16 bits (0 a 15), pueden ser direccionados como bits o como palabras. Las banderas son localidades de memoria del PLC en las cuales se pueden almacenar informacin.

Operando Bandera bit

Identificador F

Sintaxis Fw.b

Parte Condicional

Ejemplo

Ejecutiva

Bandera multibit

FWw

Condicional

Ejecutiva

Tabla 2.3 Direccionamiento de banderas.

Capitulo 2

15

En la tabla 2.3 podemos apreciar las caractersticas del direccionamiento de las banderas, donde w es el nmero de la palabra y b es el nmero de bit. 2.6 Registros. Los registros son localidades de memoria de 16 bits, estos registros solo pueden ser direccionados como palabras, el total de los registros de los PLC de Festo es 256 (0 a 255).

Operando Registro multibit

Identificador R

Sintaxis Rw

Parte Condicional

Ejemplo

Ejecutiva

Tabla 2.4 Direccionamiento de registros.

En la tabla 2.4 podemos apreciar las caractersticas del direccionamiento de los registros, donde w es el nmero de la palabra. 2.7 Temporizadores. Los temporizadores son parte esencial de un programa, ya que con ellos logramos poner en sincronia los diferentes movimientos que ejecuta una mquina, bien es cierto que podemos prescindir el uso de temporizadores, pero esto incrementa el uso de sensores. Los PLCs de Festo manejan tres tipos de temporizadores, el temporizador de impulso, el temporizador de retraso a la conexin y el temporizador de retraso a la desconexin. Podemos

Capitulo 2

16

manejar hasta 256 temporizadores (0 a 255), cada contador ofrece los siguientes operandos para permitir una programacin flexible. a) La palabra de temporizador (Timer Word-TWnn-) es el operando en el cual el valor actual es guardado y este es cambiado continuamente en la operacin del temporizador. La palabra de temporizador se carga con el valor de la palabra de preseleccin al inicio de la operacin del temporizador. b) La palabra de preseleccin (Timer Preselect-CPnn-) es el operando en elcual el valor nominal es guardado. c) Bobina del temporizador (Tnn, TONnn, TOFFnn ) es el operando en el cual se realizan las operaciones de inicio o fin del temporizador. d) Contacto del temporizador (Tnn, TONnn, TOFFnn ) es el operando en el cual es guardado el estado del temporizador. 2.7.1 Temporizadores de Impulso. El temporizador de impulso reacciona al flanco de subida, en el instante en que la condicin se hace verdadera el temporizador se hace uno y el registro de tiempo predefinido (TPnn) se carga en el regisro de tiempo actual o palabra de cuenta (TWnn) y este empieza a decrecer, cuando el TWnn se hace cero, en ese instante el temporizador se hace cero, nn es el nmero del temporizador. En la figura 2.2 se puede apreciar el funcionamiento de este temporizador.

Capitulo 2

17

Figura 2.2 Temporizador de impulso

Operando Temporizador de impulso bit

Identificador T

Sintaxis Tnn

Parte Condicional

Ejemplo

Ejecutiva

Temporizador de impulso

TW

TWnn

Condicional

multibit

Capitulo 2 Ejecutiva

18

TP

TPnn

Condicional

Ejecutiva

Tabla 2.5 Direccionamiento de temporizador de impulso. 2.7.2 Temporizador de retrazo a la conexin. En el instante en que la condicin se hace verdadera el registro de tiempo predefinido (TPnn) se carga en el regisro de tiempo actual o palabra de cuenta (TWnn) y este empieza a decrecer, cuando el TWnn se hace cero, en ese instante el temporizador se hace uno, el temporizador se hace cero cuando la condicin se hace falsa, si por alguna circunstancia la condicin se hace falsa antes de haber transcurrido el tiempo predefinido, entonces el temporizador no se har uno, nn es el nmero del temporizador. En la figura 2.3 se puede apreciar el funcionamiento de este temporizador.

Capitulo 2

19

Figura 2.3 Temporizador de retrazo a la conexin

Operando Temporizador de retrazo a la conexin bit

Identificador TON

Sintaxis TONnn

Parte Condicional

Ejemplo

Ejecutiva

Temporizador de retrazo a la conexin multibit

TW

TWnn

Condicional

Capitulo 2 Ejecutiva

20

TP

TPnn

Condicional

Ejecutiva

Tabla 2.6 Direccionamiento de temporizador de retrazo a la conexin

2.7.3 Temporizador de retrazo a la desconexin. En el instante en que la condicin se hace verdadera el temporizador se hace verdadero, el registro de tiempo predefinido (TPnn) se carga en el regisro de tiempo actual o palabra de cuenta (TWnn), en el momento que la condicin se haga falsa TWnn empieza a decrecer y al llegar ste a cero el temporizador se hace cero, si por alguna circunstancia la condicin se hace verdadera antes de haber transcurrido el tiempo predefinido, entonces el temporizador no se har cero. En la figura 2.4 se puede apreciar el funcionamiento de este temporizador.

Capitulo 2

21

Figura 2.3 Temporizador de retrazo a la desconexin

Operando Temporizador de retrazo a la desconexin bit

Identificador TOFF

Sintaxis TOFFnn

Parte Condicional

Ejemplo

Ejecutiva

Temporizador de retrazo a la desconexin multibit

TW

TWnn

Condicional

Capitulo 2 Ejecutiva

22

TP

TPnn

Condicional

Ejecutiva

Tabla 2.7 Direccionamiento de temporizador de retrazo a la desconexin

2.8 Contadores. Todos los PLCs de Festo ofrecen la posibilidad de ser programados como contadores incrementales o decrementales en diagrama de escalera. Adems, cada elemento del contador puede ser accesado directamente. Similarmente, todas las palabras de los operandos pueden ser utilizados para contar a excepcin de las palabra de entradas y las palabras de tiempo actual. Para permitir flexibilidad en la programacin de contadores, el diagrama de escalera de Festo ofrece los siguientes operandos para contadores: a) La palabra de cuenta (Counter Word-CWnn-) es el operando en el cual el valor actual es guardado y este es cambiado con cada pulso de cuenta. La palabra de cuenta debe reiniciarse al inicio de la operacin de cuenta. b) La palabra de preseleccin (Counter Preselect-CPnn-) es el operando en elcual el valor nominal es guardado.

Capitulo 2

23

c) Bobina del contador (Cnn) es el operando en el cual se realizan las operaciones de cuenta hacia arriba o hacia abajo por medio de flancos de subida. d) Contacto del contador (Cnn) es el operando en el cual es guardado el estado del contador, si el valor de CWnn es menor al valor de TPnn el contacto del contador es verdadero. Operando Contador bit Identificador C Sintaxis Cnn Parte Condicional Ejemplo

Ejecutiva

Contador multibit

CW

CWnn

Condicional

Ejecutiva

CP

CPnn

Condicional

Ejecutiva

Capitulo 2 Tabla 2.8 Direccionamiento de contador

24

2.9 Constantes. Las contantes en los PLCs de Festo son de 16 bits, por lo que estos valores pueden oscilar entre 0 a 65535 para enteros sin signo y entre 32767 y 32767 para enteros con signo, asimismo es posible representar a las contantes en hexadecimal. Operando Constante signo sin Identificador V Sintaxis Vnnnnn Parte Condicional Ejemplo

Ejecutiva

Constante signo

con

V-

V-nnnnn

Condicional

Ejecutiva

Constante hexadecimal

V$

V$nnnn

Condicional

Capitulo 2 Ejecutiva

25

Tabla 2.9 Direccionamiento de constante

2.10 Bandera de ejecucin inicial. La bandera de ejecucin inicial es una bandera nica por cada uno de los programas que existan en el proyecto, esta bandera siempre es igual a cero, a excepcin del primer ciclo de operacin del programa en que es igual a uno.

Operando Bandera de

Identificador FI

Sintaxis FI

Parte Condicional

Ejemplo

ejecucin inicial

Tabla 2.10 Direccionamiento de bandera de ejecucin inicial

Capitulo 3 CAPITULO 3 ESTRUCTURA DE PROGRAMACIN EN LDR 3.1 Introduccin

26

En este capitulo veremos cual es la estructura de programacin en diagrama de escalera, esto con el fin de tener las bases suficientes para poder explicar en el siguiente capitulo la referencia de instrucciones.

3.2 Que es un escaln Un escaln o rung es la parte ms simple del diagrama de escalera, el diagrama de escalera es un imagen del diagrama de circuito alemn, pero se lee siempre de izquierda a derecha.

Figura 3.1 Escaln El diagrama de escalera se compone de escalones, ramas paralelas, contactos, cajas, bobinas y bobinas paralelas. Una caja puede ser usada para reemplazar un contacto o una bobina. Las cajas son usadas por funciones que son difciles o imposibles de representar en el diagrama de escalera, por ejemplo una operacin aritmtica.

Figura 3.2 Cajas

Capitulo 3

27

Las ramas paralelas pueden ser insertadas en cualquier lugar del escaln y las bobinas paralelas se insertan a la derecha del escaln.

Figura 3.2 Ramas paralelas y bobinas paralelas Los escalones contienen operaciones y no son mas que uniones lgicas de elementos binarios. Cada operacin que es cada contacto, cajas y/o bobina requiere de un operando. Si el operando no se encuentra, el WinFST rechaza el programa, marca los errores y no carga el programa en el PLC. El WinFST es el software de Festo para editar, compilar y cargar los programas de PLC. Cada operacin tiene un lugar asignado para los operandos.

3.3 Parte ejecutiva y condicional Como todas las operaciones lgicas o booleanas, los escalones pueden ser divididos en una parte condicional y una parte ejecutiva. La parte condicional contiene las condiciones para que la accin sea dada; la parte ejecutiva contiene la accin que se llevar a cabo si la parte condicional es verdadera. Esto es lo mismo que un circuito de diagrama elctrico. Una carga elctrica representa la parte ejecutiva. Los contactos en serie y en paralelo representa la parte condicional.

3.4 Como se procesan los escalones

Capitulo 3

28

Los escalones estn numerados. La numeracin se lleva acabo en forma automtica. Por esta razn es clara la secuencia de los escalones. Antes de la carga del programa en diagrama de escalera en el PLC, el programa es trasladado al cdigo de mquina usado por el PLC. Los escalanes son trasladados consecutivamente en su nmero de secuencia. Incluso dentro del escaln el cdigo de mquina usa la secuencia programada por el usuario. Es por eso que una segunda bobina en un escaln aparecer en segundo sitio en el cdigo de mquina. Como vimos anteriormente, el programa es ejecutado estrictamente en secuencia. Cuando se enciende el PLC o se inicia el programa con el switch de RUN, el programa inicia con las operaciones del primer escaln. Es por esto que el programador sabe siempre que instrucciones se ejecutarn primero.

Capitulo 4 CAPITULO 4 REFERENCIA DE INSTRUCCIONES EN LDR 4.1 Funciones lgicas

29

Las funciones lgicas son sin lugar a duda la parte bsica para realizar un programa, en gran medida el conocimiento de ellas representa la diferencia entre hacer un programa eficiente y hacer un programa largo e intil. En este capitulo veremos la manera de representar las diferentes funciones lgicas desde el lenguaje de PLC de diagrama de escalera, ms no se pretende hacer un repaso de la tabla de verdad de cada funcin porque se entiende que estas ya se conocen. 4.1.1 Funcin NOT La funcin NOT puede ser asignada para seales de entrada o seales de salida, en el caso de seales de entrada, la funcin NOT es similar a utilizar un contacto normalmente cerrado de un relevador elctrico.

Figura 4.1 Funcin NOT de entrada

Figura 4.2 Funcin NOT de salida

Capitulo 4

30

En la figura 4.1 vemos que cuando la seal de la entrada I0.0 es cero, entonces la salida O0.0 es uno. En la figura 4.2 vemos que cuando la seal de la entrada I0.0 es uno, entonces la salida es cero. Para el caso de la funcin NOT multibit, existe una caja que realiza la funcin en operandos de 16 bits llamada INV, la funcin NOT es aplicada bit a bit y el resultado puede ser guardado en el mismo operando o en otro.

Figura 4.3 Funcin INV 4.1.2 Funcin OR La funcin OR no es mas que tener contactos en paralelo, en esta funcin con que uno de los operandos sea igual a uno la funcin se hace uno. Para que la funcin sea igual a cero, todos los operandos debern ser igual a cero.

Figura 4.4 Funcin OR Para el caso de la funcin OR multibit existe una caja llamada de la misma manera, la funcin OR para este caso se realiza bit a bit entre dos operandos de 16 bits y el resultado es guardado en un tercero.

Capitulo 4

31

Figura 4.5 Funcin OR multibit

4.1.3 Funcin AND La funcin AND no es mas que tener contactos en serie, en esta funcin todos los operandos deben ser igual a uno para que la funcin sea igual a uno. Para que la funcin sea igual cero, solo basta con que un o de los operandos sea igual a cero.

Figura 4.6 Funcin AND Para el caso de la funcin AND multibit existe una caja llamada de la misma manera, la funcin AND para este caso se realiza bit a bit entre dos operandos de 16 bits y el resultado es guardado en un tercero.

Figura 4.7 Funcin AND multibit

4.1.4 Funcin OR exclusiva

Capitulo 4

32

La funcin OR exclusiva es mas elaborada que las funciones anteriores, sin embrago sigue siendo una combinacin de contactos abiertos y cerrados utilizando las funciones NOT, OR y AND. La funcin OR exclusiva es verdadera cuando uno y solo uno de los operandos es uno. En el caso que dos o ms operandos sea igual a uno la funcin es igual a cero.

Figura 4.8 Funcin OR Exclusiva con 2 operandos

Figura 4.9 Funcin OR Exclusiva con 3 operandos Para el caso de la funcin OR exclusiva multibit existe una caja llamada EXOR, la funcin EXOR para este caso se realiza bit a bit entre dos operandos de 16 bits y el resultado es guardado en un tercero.

Figura 4.10 Funcin EXOR 4.2 Funciones aritmticas

Capitulo 4

33

Las funciones aritmticas en un PLC no son muy utilizadas, sin embargo la mayoria de los PLCs las poseen y los de Festo no son la excepcin. 4.2.1 Adicin La adicin se realiza entre dos operandos de 16 bits y es guardado en un tercero utilizando la caja que lleva por nombre +, cabe sealar que la operacin se realiza entre operandos enteros, no es posible usar operandos de punto flotante.

Figura 4.11 Funcin + 4.2.2 Substraccin La substraccin se realiza entre dos operandos de 16 bits y es guardado en un tercero utilizando la caja que lleva por nombre -, cabe sealar que la operacin se realiza entre operandos enteros, no es posible usar operandos de punto flotante.

Figura 4.12 Funcin 4.2.3 Multiplicacin La multiplicacin se realiza entre dos operandos de 16 bits y es guardado en un tercero utilizando la caja que lleva por nombre *, cabe sealar que la operacin se realiza entre operandos enteros, no es posible usar operandos de punto flotante.

Capitulo 4

34

Figura 4.13 Funcin * 4.2.4 Divisin La divisin se realiza entre dos operandos de 16 bits y es guardado en un tercero utilizando la caja que lleva por nombre /, cabe sealar que la operacin se realiza entre operandos enteros, no es posible usar operandos de punto flotante.

Figura 4.14 Funcin / 4.3 Funciones de rotacin Las funciones de rotacin son comandos que corren los bits individual de una palabra. Si una palabra es rotada 16 veces se obtiene el valor origina. 4.3.1 Rotacin a la izquierda Para este caso los bits de la palabra son corridos un lugar hacia la izquierda, el bit ms significativo se inserta en el extremo derecho como el bit menos significativo como se muestra en la figura 4.15.

Capitulo 4

35

Figura 4.15 Rotacin a la izquierda 4.3.2 Rotacin a la derecha Para el caso de la rotacin a la derecha los bits de la palabra son corridos un lugar hacia la derecha, el bit menos significativo se inserta en el extremo izquierdo como el bit ms significativo como se muestra en la figura 4.16.

Figura 4.16 Rotacin a la derecha Para ambos casos existen cajas llamadas ROL y ROR, en la figura 4.17 vemos un ejemplo de cmo se utilizan estas.

Figura 4.17 Funcin ROL y ROR Como se puede apreciar las funciones de rotacin se realiza en una palabra y el resultado se guarda en una segunda, pero esta segunda palabra puede ser la primera.

Capitulo 4 4.4 Funciones de Corrimientos

36

Las funciones de corrimientos son muy similares a las funciones de rotacin, con la diferencia de que en el caso de del corrimiento a la izquierda el bit ms significativo y en el corrimiento a la derecha el bit menos significativo se pierden. 4.4.1 Corrimiento a la izquierda Para el caso del corrimiento a la izquierda los bits de la palabra son corridos un lugar hacia la izquierda, el bit menos significativo se carga con un cero y el bit ms significativo se pierde como se muestra en la figura 4.18.

Figura 4.18 Corrimiento a la izquierda. 4.4.2 Corrimiento a la derecha Para el caso del corrimiento a la derecha los bits de la palabra son corridos un lugar hacia la derecha, el bit ms significativo se carga con un cero y el bit menos significativo se pierde como se muestra en la figura 4.19

Figura 4.19 Corrimiento a la derecha Para ambos casos existen cajas llamadas SHR y SHL, en la figura 4.20 vemos un ejemplo de cmo se utilizan estas.

Capitulo 4

37

Figura 4.20 Funcin SHR y SHL Como se puede apreciar las funciones de rotacin se realiza en una palabra y el resultado se guarda en una segunda, pero esta segunda palabra puede ser la primera. 4.5 Saltando a una etiqueta La funcin de salto es una posibilidad para modificar el flujo natural del programa, la funcin de salto tiene una etiqueta como destino, no un nmero de escaln. Cuando se programe un salto ser necesario colocar la etiqueta a la que se deba hacer el salto, de lo contrario el compilador marcar error de sintaxis. La instruccin de salto es insertada en la parte ejecutiva del escaln. En la figura 4.21 se ve un ejemplo sencillo de utilizacin de salto, como se puede apreciar, si la entrada I0.0 es igual a uno, se ejecuta el salto hacia la etiqueta Destino sin ejecutar el escaln 9. Si la entrada I0.0 es igual a cero, el programa sigue su flujo normal.

Figura 4.21 Funcin de salto

Capitulo 4 4.6 Bobinas

38

Las bobinas son utilizadas para modificar el estado de los operandos de bit en la parte ejecutiva del escaln. Existen cuatro instrucciones de bobina, el SET, el RESET, la asignacin y la asignacin negada. 4.6.1 Set La instruccin de SET energiza retentivamente a una bobina, en el momento que el escaln se hace igual a uno la instruccin de SET coloca en valor uno a la bobina y aunque posteriormente el escaln tome el valor de cero la bobina queda con el valor de uno. La manera de colocar a cero la bobina es utilizando la instruccin de RESET.

Figura 4.22 Instruccin de SET 4.6.2 Reset Cuando previamente una bobina fue puesta en valor uno mediante la instruccin de SET, la funcin de RESET es necesaria para lograr poner en cero a dicha bobina. Si no se utiliza la instruccin de RESET la bobina quedar siempre con el valor de uno.

Figura 4.23 Instruccin de RESET Las instrucciones de SET y RESET son utilizadas cuando es necesario memorizar el estado momentneo del escaln, por ejemplo cuando se quiere arrancar y parar un motor con un solo botn pulsador como se muestra en la figura 4.24.

Capitulo 4

39

Figura 4.24 Arranque y paro de motor con SET y RESET 4.6.3 Asignacin A diferencia del SET que memoriza el estado del escaln cuando este se hizo verdadero, la asignacin contiuamente sigue al estado actual del escaln, es decir, si el escaln es igual a uno la bobina asignada es igual a uno, si el escaln es cero la bobina es cero. Como regla general solo debe existir una asignacin por bobina en todo el programa y si se tiene asignacin no se debe tener SET, RESET o asignacin negada de la misma bobina en todo el programa.

Figura 4.25 Asignacin. 4.6.4 Asignacin negada La asignacin negada es similar a la asignacin, con la nica diferencia de que cuando el escaln es uno la bobina es cero y cuando el escaln es cero la bobina es uno. La regla general de asignacin es aplicada tambin para la asignacin negada, por lo que si existe una asignacin negada de una bobina ya no debe existir una asignacin, un SET o un RESET.

Capitulo 4

40

Figura 4.26 Asignacin negada

4.7 Funciones de comparacin Las operaciones de comparacin son bsicas en cualquier PLC. Las comparaciones permiten procesar valores analgicos, realizar mltiples comparaciones de contadores y temporizadores y tomar decisiones en base a valor, etc. 4.7.1 Igual que... Esta funcin se realiza entre dos palabras de 16 bits o constantes. Se inserta en la parte condicional y es verdadera cuando ambas palabras son iguales en valor.

Figura 4.27 Funcin igual que 4.7.2 Mayor que... Esta funcin se realiza entre dos palabras de 16 bits o constantes. Se inserta en la parte condicional y es verdadera cuando la primera palabra es mayor a la segunda.

Capitulo 4

41

Figura 4.28 Funcin mayor que 4.7.3 Menor que... Esta funcin se realiP0 ..

Capitulo 4

42

Figura 4.30 Funcin mayor o igual que 4.7.5 Menor o igual que... Esta funcin se realiza entre dos palabras de 16 bits o constantes. Se inserta en la parte condicional y es verdadera cuando la primera palabra es menor o igual a la segunda.

Figura 4.31 Funcin menor o igual que 4.7.6 Diferente que... Esta funcin se realiza entre dos palabras de 16 bits o constantes. Se inserta en la parte condicional y es verdadera cuando ambas palabras son diferentes entre si.

Capitulo 4

43

Figura 4.32 Funcin diferente que 4.8 Nmeros Cuando se utilizan interruptores en las entradas para codificar nmeros o cuando se utilizan displays de 7 segmentos es necesario realizar conversiones entre cdigo BCD y decimal. Es por esto que los PLCs de Festo poseen dos instrucciones para realizar estas conversiones. 4.8.1 Conversin BCD a binario El comando DEB realiza la conversin de BCD a binario en palabras de 16 bits. En la figura 4.33 vemos un ejemplo donde se demuestra como se realiza la conversin, en la figura 4.34 vemos un ejemplo de programacin utilizando el comando DEB.

Figura 4.33 Conversin de BCD a binario

Capitulo 4

44

Figura 4.34 Comando DEB 4.8.2 Conversin binario a BCD El comando B ID realiza la conversin de binario a BCD en palabras de 16 bits. En la figura 4.35 vemos un ejemplo donde se demuestra como se realiza la conversin, en la figura 4.36 vemos un ejemplo de programacin utilizando el comando BID.

Figura 4.35 Conversin de binario a BCD

Figura 4.36 Comando BID

4.9 Contadores

Capitulo 4

45

Como vimos en el capitulo 2, los contadores poseen dos palabras de 16 bits, el counter word (CW) y el counter preset (CP). La manera de inicializar el contador es utilizando la caja de contador en la parte ejecutiva del escaln.

Figura 4.37 Inicializacin del contador En la figura 4.37 se puede apreciar la inicializacin del contador C4, cuando la entrada I0.0 es uno, el valor constante 10 se carga en CP4, CW4 se carga con cero y el estado del contador C4 es uno. Cada ves que la entrada I0.1 tenga un flanco de subida el contador C4 se incrementara en uno y cada ves que la entrada I0.2 tenga un flanco de subida el contador C4 se decrementara en uno. La manera de inspeccionar el estado del contador es utilizando el contacto C4 en la parte condicional. Cuando CW4 llegue a ser igual a CP4 mediante pulsos de incrementos, el estado del contador se har igual a cero. Cuando CW4 llegue a ser igual a cero mediante pulsos de decrementos, el estado del contador se har igual a cero. 4.10 Temporizadores

Capitulo 4

46

Para inicializar los temporizadores es necesario utilizar la caja ya predefinida para dicho fin. Como vimos en el capitulo 2 existen tres tipos de temporizadores, el temporizador de impulso, el temporizador de retrazo a la conexin y el temporizador de retrazo a la desconexin.

Figura 4.38 Inicializacin de temporizadores. En la figura 4.38 se puede apreciar el mtodo de inicializacin e inspeccin de un temporizador. La caja del temporizador siempre se colocar en la parte ejecutiva y el contacto en la parte condicional. Es muy importante tener cuidado en no repetir un nmero de temporizador aunque sean de diferentes tipos y que el contacto corresponda al tipo y nmero del temporizador en cuestin. La preseleccin del temporizador se encuentra en la parte izquierda del temporizador y es necesario lleve al final la s de segundos. El dato numrico puede estar entre 0 y 655.35.

Capitulo 5 CAPITULO 5 PROGRAMANDO ENTRADAS Y SALIDAS DIGITALES, Y BANDERAS 5.1 Programando entradas y salidas

47

El nmero de entradas y salidas disponibles depende del tamao del PLC. Para poder usar las entradas y las salidas es necesario configurar en el WinFST que entradas y que salidas tenemos en el PLC.

Figura 5.1 Configuracin de entradas y salidas En la figura 5.1 vemos la pantalla de IO Configuration que se desplega al hacer doble clic sobre el mismo nombre en la ventana de FST Project. Debajo de la etiqueta IW tenemos el valor 0, esto quiere decir que la primera palabra de entradas del PLC ser la IW0. En el capitulo 1 vimos que el FEC Compacto posee 12 entradas, por lo que las entradas toman las direcciones desde I0.0 hasta I0.7 y desde I1.0 hasta I1.3. Si debajo de la etiqueta IW estuviera el valor de 1, entonces las direcciones de entrada serian de I1.0 hasta I1.7 y desde I2.0 hasta I2.3. Las mismas consideraciones son vlidas para las direcciones de salidas. El PLC internamente tiene un total de 256 palabras de entradas y 256 palabras de salidas de 16 bits. Las entradas y salidas que no se encuentren ligadas a Hardware pueden ser utilizadas como memorias internas.

Capitulo 5

48

Figura 5.2 Palabras de entradas Veamos un pequeo problema donde es necesario arrancar y parar un motor con dos botones pulsadores normalmente abiertos. La lista de localidades es como se muestra en la figura 5.3.

Figura 5.3 Lista de localidades Al editar el programa se pueden utilizar los operandos absolutos o los operandos simblicos, es conveniente utilizar los simblicos, ya que si se cambian las direcciones en que se colocaran los elementos elctricos, solo bastar realizar los cambios en la lista de localidades y el programa seguir igual.

Capitulo 5

49

Figura 5.4 Arranque y paro de un motor En la figura 5.4 vemos la solucin del problema, aqu se puede notar que para memorizar el estado del escaln utilizamos un contacto de la salida O0.0 en la parte condicional del escaln en funcin OR con la entrada I0.0. Debido a que la entrada I0.1 corresponde a un contacto normalmente abierto, en el programa se coloca un contacto cerrado para que siempre conduzca energa y el arranque del motor se haga con el pulsador de arranque. Cuando se presione el pulsador de paro, se abrir el contacto cerrado y dejar de pasar energa hacia la bobina, provocando el paro del motor. En las figuras 5.5, 5.6 y 5.7 vemos los estados con el motor encendido y con el motor apagado respectivamente.

Figura 5.5 Motor apagado

Figura 5.6 Motor encendido con el pulsador de arranque presente

Capitulo 5

50

Figura 5.7 Motor encendido memorizado En las tres figuras anteriores, los objetos en azul significan que circula energa por ellos o se encuentran en estado lgico 1. 5.2 Programando banderas Las banderas pueden utilizarse como detectores de flancos, recordadores de pasos, como memorias de estados operativos del proceso y en donde se requiera memorizar ciertos eventos. En la figura 5.8 vemos un programa en que se utiliza un botn pulsador para arrancar y parar un motor. En este caso, las banderas son utilizadas como detectores de flanco, ya que cada ves que se pulse el botn de arranque se realizar un cambio de estado en la salida O0.0

Capitulo 5 Figura 5.8 Banderas como detectores de flanco

51

Es conveniente utilizar en este programa el escaln 1 con una instruccin de puesta en cero de las dos banderas, con el fin de asegurarse que siempre que arranque el PLC, estas banderas sean igual a cero. Para realizarlo se utiliza la bandera FI como se muestra en la figura 5.9.

Figura 5.9 Bandera de ejecucin inicial Cabe recordar que la bandera FI es igual a uno solamente en el primer ciclo de operacin del PLC.

Capitulo 6 CAPITULO 6 PROGRAMANDO TEMPORIZADORES

52

Para estudiar la programacin de temporizadores, veremos un ejemplo con tres soluciones, con temporizador de pulso, con temporizador de retrazo a la conexin y con temporizador de retrazo a la desconexin. Problema: Una lmpara se enciende y apaga a intervalos de un segundo cuando un selector de arranque se energiza.

Figura 6.1 Solucin con TON

Capitulo 6

53

Figura 6.2 Solucin con TOFF

Figura 6.3 Solucin con T Una cuarta solucin a este problema es utilizar las funciones de comparacin, dividiendo el tiempo total de ciclo en dos partes iguales y encender la salida en una de las partes y en la otra mantenerla apagada.

Capitulo 6

54

Figura 6.4 Solucin con T y comparacin

Capitulo 7 CAPITULO 7 PROGRAMANDO CONTADORES Y REGISTROS

55

En un estacionamiento se cuenta con 10 lugares para estacionar automviles. En frente del estacionamiento se encuentran colocadas dos lmparas de trfico, cuando la luz verde est encendida existen lugares vacos, cuando la luz roja se enciende el estacionamiento esta lleno.

Figura 7.1 Solucin con contador

Capitulo 7

56

Figura 7.2 Solucin con registro Como se puede apreciar en la figura 7.1 y 7.2 las soluciones son prcticamente iguales, sin embargo la solucin con contadores utiliza 831 bytes y la solucin con registro utiliza 791 bytes, esto por el hecho de que los contadores utilizan mas memoria. De ah que muchos programadores prefieren utilizar registros para realizar cuentas. Los registros pueden utilizarse para muchas aplicaciones en donde sea necesario intercambiar o guardar datos. Por ejemplo, en la figura 7.3 se utiliza el registro R0 para especificar el tiempo que correr el temporizador con ayuda de un selector.

Capitulo 7

57

Figura 7.3 temporizador con preseleccin desde registro

Capitulo 8 CAPITULO 8 LLAMANDO A PROGRAMAS, CMP Y CFM 8.1 Programas

58

Los programas son las rutinas en la cual el usuario desarrolla la lgica de comportamiento del PLC ante los diferentes eventos que suceden en la operacin del sistema de control. El primer programa que se debe realizar es el programa 0, ya que el PLC siempre buscar a este programa cuando arranque, si no existe este programa el PLC se pondr en modo de fallo. Desde los programas se pueden llamar a otros programas, a mdulos de programa o mdulos de funciones. El total de programas que se pueden realizar son 64 (P0 a P63). Para habilitar a un programa se utiliza la instruccin SET, para detenerlo se utiliza la instruccin RESET.

Figura 8.1 Llamado de programas En la figura 8.1 vemos la manera de habilitar a dos programas P1 y P2 desde el programa de organizacin P0. Cuando se encuentre en estado lgico 1 la entrada I0.0, se

Capitulo 8

59

activa el programa P1 que es el programa de secuencia en automtico y se detiene el programa P2 que es el programa de secuencia en manual. Cuando la entrada I0.0 tiene estado lgico 0 sucede lo contrario. Es interesante comprender que la idea de tener varios programas funcionando es permitir dividir las diferentes tareas y mantener legibles nuestro programas. Los PLC trabajan en modo de multitareas o multitaskin, permitiendo que diferentes programas estn trabajando en conjunto al mismo tiempo.

8.2 Mdulos de Programa Los mdulos de programa pueden ser considerados como subrutinas. Los mdulos de programa pueden ser escritos en diagrama de escalera, lista de instrucciones o C. Algunos mdulos de programa pueden usar unidades de funcin (FU) para pasar informacin desde programas hacia mdulos de programa y viceversa. La instruccin para llamar a los mdulos de programa es CMP. Los CMP pueden poseer la instruccin STEP, propia del lenguaje de lista de instrucciones, que permite detener el flujo de un programa hasta que la ultima condicin antes del siguiente STEP sea verdadera y permita continuar en el siguiente STEP. Los CMP permiten cambiar la tarea que se este ejecutando, por tal motivo, al ejecutarse una instruccin CMP el PLC sigue trabajando en modo de multitarea. Desde un mdulo de programa no se puede llamar a otro mdulo de programa. El total de mdulos de programa que se pueden tener es 100 (CMP0 a CMP99).

Capitulo 8

60

Figura 8.2 Llamado de mdulo de programa En la figura 8.2 vemos como se llama a un mdulo de programa. En este caso cuando la entrada I0.2 es igual a 1, el mdulo de programa CMP10 se activa. Aqu el CMP10 est utilizando el cdigo de la rutina F10 de la librera de Festo que se encarga de fijar la hora del PLC en 8:25:00:00 horas segn los datos puestos por el programador en los parmetros a la izquierda de la caja del CMP.

8.3 Mdulos de funcin Los mdulos de funcin pueden ser considerados similar a llamadas de funciones especiales. Mdulos de funcin pueden ser escritos en diagrama de escalera, lista de instrucciones o C. Algunos mdulos de funcin pueden usar unidades de funcin (FU) para pasar informacin desde programas hacia mdulos de funcin y viceversa. La instruccin para llamar a los mdulos de funcin es CFM. Los CFM no poseen la instruccin STEP, propia del lenguaje de lista de instrucciones, que permite detener el flujo de un programa hasta que la ultima condicin antes del siguiente STEP sea verdadera y permita continuar en el siguiente STEP. Los CFM no permiten cambiar la tarea que se este ejecutando, por tal motivo, al ejecutarse una instruccin CFM el PLC deja de trabajar en modo de multitarea. El total de mdulos de funcin que se pueden tener es 100 (CFM0 a CFM99). Los CFM se llaman de la misma manera que los CMP.

Capitulo 8

61

8.4 Importando mdulos Existen una amplia variedad de mdulos ya realizados y probados por Festo. Estos mdulos se encuentran en el WinFST como una librera y estn ah esperando ser utilizados. Para utilizar un mdulo de Festo hay que importarlos siguiendo los siguientes pasos: a) En el Program Window hacer clic derecho sobre CMP o CFM para que aparezca el men de New CMP/CFM o Import.

b) Seleccionar importar

c) Seleccionar el mdulo a importar y hacer clic en OK

Capitulo 8

62

d) Escoger el tipo entre Program, CMP o CFM. Escoger el nmero, versin y hacer un comentario. Hacer clic en OK.

e) Queda listo el mdulo para ser utilizado. En la parte ejecutiva de un escaln del programa puede hacer clic en el icono de Module Call o en el men Insert para insertar un mdulo.

Capitulo 8

63

f) Seleccionar el mdulo. Observe que desde esta pantalla tambin se pueden importar mdulos.

g) El mdulo queda insertado en el escaln. Es necesario escribir los datos de configuracin del mdulo. Si no se conocen, puede apretar F1 teniendo seleccionada la caja del mdulo para que aparezca la ayuda en lnea.

Conclusiones CONCLUSIONES

64

En las visitas que he realizado a las empresas del sureste de la republica Mexicana, he visto muchos ingenieros en electrnica que no saben programar PLCs. Siendo que, en la actualidad para realizar la automatizacin de una mquina es indispensable el uso de los PLCs. Al no existir ingenieros que programen PLCs las empresas pequeas se tienen que conformar con tener mquinas que operen en forma semiautomtica o totalmente manuales y las empresas grandes tienen que invertir fuertes sumas de dinero para tener mquinas automticas. Un ingeniero en electrnica que sabe programar PLCs tiene mayores oportunidades de obtener un empleo mejor remunerado. Bien es cierto que una mquina podra ser automatizada con un sistema mnimo a base de microcontroladores o PICs, pero tambin es cierto que esto llevara a tener muchas horas de diseo y programacin, con los PLCs la programacin es ms sencilla y el diseo es mucho mas rpido. El costo no es limitativo para proyectos con PLCs, ya que existen PLCs en el mercado tan baratos que comparndolos con el costo de desarrollo de un sistema mnimo con microcontrolador, la opcin del PLC es ms barato. Sin duda como hemos visto a trabes del desarrollo de la monografa, la programacin de los PLCs de Festo es muy sencilla y muy poderosa para realizar automatizaciones, y si a eso le sumamos que se pueden tener comunicaciones a trabes del puerto Ethernet y se tienen mdulos de Web Server, entonces los PLCs se pueden utilizar para realizar adquisicin de datos.

ANEXO A ANEXO A PRINCIPALES MODULOS DE PROGRAMA

65

Para pasar parmetros hacia y desde un mdulo de programa es necesario hacer uso de las unidades de funcin FU32 a FU38, los cuales son palabras de 16 bits. En las cajas de los mdulos de programa, las unidades de funcin que necesita el mdulo como parmetros de entrada se colocan a la izquierda, siendo el de la parte superior el FU32, el inmediato de abajo el FU33 y as consecutivamente. Las unidades de funcin que regresa el mdulo de salida se colocan a la derecha de la caja del mdulo ordenados de la misma manera que los parmetros de entrada. A.1 F10 El mdulo F10 establece la hora del reloj interno del PLC.
Parmetros de entrada Hora (0 a 23) Minutos (0 a 59) Segundos (0 a 59) Centsimas de segundo (0 a 99)

FU32 FU33 FU34 FU35 FU36 FU37 FU38 Ninguno

Parmetros de salida

A.2 F11 El mdulo F11 establece la fecha del PLC


Parmetros de entrada Ao (1980 a 2099) Mes (1 a 12) Da (1 a 31)

FU32 FU33 FU34 FU35 FU36 FU37 FU38

ANEXO A
Parmetros de salida Ninguno

66

A.2 F30 El mdulo F30 configura los puertos seriales, la mayora de los PLCs de Festo poseen dos puertos seriales, el COM que es por donde se realiza la descarga de los programas y el EXT utilizados para establecer comunicacin con dispositivos seriales. El COM se identifica como 255 y el EXT como 0.
Parmetros de entrada Interface Serial (COM=255, EXT=0) Parmetros de la Interface

FU32 FU33 FU34 FU35 FU36 FU37 FU38 Ninguno

Parmetros de salida

Parmetros de la Interface Bit Baud Rate Carcter Paridad 7 6 5 4 3 2 1 0 Baud Rate Bit 7 1 1 1 1 1 1 1 1 6 0 0 0 0 1 1 1 1 5 0 0 1 1 0 0 1 1 4 Baud 0 19200 1 9600 0 1 0 1 0 1 4800 2400 1200 600 300 110

Longitud del carcter Bit 3 0 0 2 Bits por carcter 0 5 1 6

ANEXO A
1 1 0 1 7 8

67

Bit

1 0 0 1 1

Paridad 0 Paridad 0 Ninguna 1 ODD 0 Ninguna 1 EVEN

A.4 F31 El mdulo F31 activa el CI, el CI es una aplicacin que siempre est corriendo en el PLC y permite acceder para leer o escribir en los parmetros del PLC mediante una lnea de comandos por el puerto serial COM, sin embargo es posible configurar el puerto EXT para que en el pueda correr el CI.
Parmetros de entrada Interface Serial (COM=255, EXT=0) 0 = Desabilita el CI 1 = Habilita el CI Parmetros de salida Ninguno

FU32 FU33

A.5 F9 El mdulo F9 borra los operandos de la memoria del PLC, este mdulo es muy necesario para asegurarse de borrar toda la basura que pueda trae el PLC de fbrica.
Parmetros de entrada FU32 0 = Borra todos los registros, contadores, temporizadores y banderas 1 = Borra todos los registros 2= Borra todos los contadores 3 = Borra todos los temporizadores 4 = Borra todas las banderas Parmetros de salida

ANEXO A
Ninguno

68

A.6 GETCOM El mdulo GETCOM lee un carcter desde el puerto serial.


Parmetros de entrada FU32 Interface Serial (COM=255, EXT=0) Parmetros de salida FU32 0 = Listo 1 = Error -1 = Nada recibido FU33 Si FU32 = 0 entonces FU33 = carcter Recibido

A.7 PUTCOM El mdulo PUTCOM enva un carcter por el puerto serial.


Parmetros de entrada FU32 Interface Serial (COM = 255, EXT = 0) FU33 Carcter que se enviar Parmetros de salida FU32 0 = Listo 1 = Error

A.8 PRINTCOM El mdulo PRINTCOM enva un string FST por el puerto serial.

Parmetros de entrada FU32 Interface Serial (COM = 255, EXT = 0) FU33 Nmero del string FST Parmetros de salida FU32 0 = Listo 1 = Error

A.9 READCOM

ANEXO A

69

El mdulo READCOM lee una cadena de caracteres desde el puerto serial y los grava en un string FST.
Parmetros de entrada Interface Serial (COM = 255, EXT = 0) Nmero del string FST Mxima longitud Delimitador de datos (0 a 255)

FU32 FU33 FU34 FU35

Parmetros de salida FU32 0 = Listo 1 = Error

ANEXO B ANEXO B CREANDO PROYECTOS

70

Antes de crear los programas para ser cargados en el PLC es necesario crear un proyecto. Cada proyecto se compone de uno o ms programas (mnimo el programa 0) y de otros archivos como son los mdulos de programas, los string, el alocation list, etc. Para crear un proyecto es necesario seguir los siguientes pasos. a) Hacer click en New del menu Project.

b) Ponerle nombre al nuevo proyecto, el nombre no debe ser mayor de 8 caracteres.

ANEXO B

71

c) Definir el tipo de PLC que se va a utilizar.

d) Seleccionar Alocation List para definir los operandos.

ANEXO B

72

e) Seleccionar IO Configuration para definir las palabras de entradas y salidas.

f) Seleccionar Driver Configuration segn sea necesario de acuerdo a los mdulos de programa que se vayan a utilizar.

ANEXO B

73

g) Para crear un nuevo programa hacer clic derecho en Programs y seleccionar New Program.

h) Seleccionar Ladder Diagram.

ANEXO B

74

i) Seleccionar el nmero de programa, recuerde que el PLC siempre busca el programa 0 al arranque, por lo que se recomienda que el primer programa sea el programa 0.

j) Ya que se encuentre editado el programa es necesario compilarlo.

ANEXO B

75

k) Si al compilarlo no marco errores, se procede hacer la descarga del proyecto al PLC.

l) Ahora solo basta poner en RUN el PLC de acuerdo al hardware de cada modelo.

Bibliografa BIBLIOGRAFA Libros B. Plagemann Ladder diagram for Festo controllers Edicin 02/97 Festo KG

76

E. V. Terzi, H. Regber, C. Loffler, F. Ebel Controles lgicos programables Edicin 03/1999 Festo Didactic KG

Manuales Info 804 Controlador FEC estndar Festo AG & Co

Productos 2000 parte 2, Vlvulas / tcnica de mando Festo AG & Co

Software FST 4.10.50 Festo AG & Co