You are on page 1of 37

Introduccin a los PLC Hasta no hace mucho tiempo el control de procesos industriales se haca de forma cableada por medio

de contactores y rels. Al operario que se encontraba a cargo de este tipo de instalaciones, se le exiga tener altos conocimientos tcnicos para poder realizarlas y posteriormente mantenerlas. Adems, cualquier variacin en el proceso supona modificar fsicamente gran parte de las conexiones de los montajes, siendo necesario para ello un gran esfuerzo tcnico y un mayor desembolso econmico. En la actualidad, no se puede entender un proceso complejo de alto nivel desarrollado por tcnicas cableadas. El ordenador y los autmatas programables ha intervenido de forma considerable para que este tipo de instalaciones se hayan visto sustituidas por otras controladas de forma programada. El Autmata Programable Industrial (API) naci como solucin al control de circuitos complejos de automatizacin. Por lo tanto se puede decir que un API no es ms que un aparato electrnico que sustituye los circuitos auxiliares o de mando de los sistemas automticos. A l se conectan los captadores (finales de carrera, pulsadores,...) por una parte, y los actuadores (bobinas de contactores, lmparas, peque os receptores,...) por otra.

Esquema de un autmata programable, el TSX17-10

Definicin de autmata programable Se entiende por Controlador Lgico Programable (PLC), o Autmata Programable, a toda mquina electrnica diseada para controlar en tiempo real y en medio industrial procesos secuenciales. Esta definicin se est quedando un poco desfasada, ya que han aparecido los microplc's, destinados a pequeas necesidades y al alcance de cualquier persona. Campos de aplicacin

Un autmata programable suele emplearse en procesos industriales que tengan una o varias de las siguientes necesidades: Espacio reducido. Procesos de produccin peridicamente cambiantes. Procesos secuenciales. Maquinaria de procesos variables. Instalaciones de procesos complejos y amplios. Chequeo de programacin centralizada de las partes del proceso.

Aplicaciones generales: Maniobra de mquinas. Maniobra de instalaciones. Sealizacin y control.

Tal y como digimos anteriormente, esto se refiere a los autmatas programables industriales, dejando de lado los pequeos autmatas para uso ms personal (que se pueden emplear, incluso, para automatizar procesos en el hogar, como la puerta de un cochera o las luces de la casa). Ventajas e inconvenientes de los PLC's Entre la ventajas tenemos: Menor tiempo de elaboracin de proyectos. Posibilidad de aadir modificaciones sin costo aadido en otros componentes. Mnimo espacio de ocupacin. Menor costo de mano de obra. Mantenimiento econmico. Posibilidad de gobernar varias mquinas con el mismo autmata. Menor tiempo de puesta en funcionamiento. Si el autmata queda pequeo para el proceso industrial puede seguir siendo de utilidad en otras mquinas o sistemas de produccin.

Y entre los inconvenientes: Adiestramiento de tcnicos. Costo.

A dia de hoy los inconvenientes se han hecho nulos, ya que todas la carreras de ingeniera incluyen la automatizacin como una de sus asignaturas. En cuanto al costo tampoco hay problema, ya que hay autmatas para todas las necesidades y a precios ajustados. Existen desde pequeos autmatas por poco ms de 10000 pesetas hasta PLC's que alcanzan cifras escandalosas

Estructura y conceptos generales

La mejor opcin para el control de procesos industriales es el empleo de autmatas programables. Estos aparatos se basan en el empleo de un microcontrolador para el manejo de las entradas y salidas. La memoria del aparato contendr tanto el programa de usuario que le introduzcamos como el sistema operativo que permite ejecutar secuencialmente las instrucciones del programa. Opcionalmente, en la mayora de los autmatas, tambin se incluyen una serie de funciones pre-implementadas de uso general (como reguladores PID). La mayor ventaja es que si hay que variar el proceso basta con cambiar el programa introducido en el autmata(en la mayora de los casos). Otra ventaja es que el autmata tambin nos permite saber el estado del proceso, incluyendo la adquisicin de datos para un posterior estudio. Estructura externa

Todos los autmatas programables, poseen una de las siguientes estructuras: Compacta: en un solo bloque estn todos lo elementos. Modular: o Estructura americana: separa las E/S del resto del autmata. o Estructura europea: cada mdulo es una funcin (fuente de alimentacin, CPU, E/S, etc.).

Exteriormente nos encontraremos con cajas que contienen una de estas estructuras, las cuales poseen indicadores y conectores en funcin del modelo y fabricante. Para el caso de una estructura modular se dispone de la posibilidad de fijar los distintos mdulos en railes normalizados, para que el conjunto sea compacto y resistente. Los micro-autmatas suelen venir sin caja, en formato kit, ya que su empleo no es determinado y se suele incluir dentro de un conjunto ms grande de control o dentro de la misma maquinaria que se debe controlar. Estructura interna

Los elementos esenciales, que todo autmata programable posee como mnimo, son: Seccin de entradas: se trata de lneas de entrada, las cuales pueden ser de tipo digital o analgico. En ambos casos tenemos unos rangos de tensin caractersticos, los cuales se encuentran en las hojas de caractersticas del fabricante. A estas lneas conectaremos los sensores. Seccin de salidas: son una serie de lneas de salida, que tambin pueden ser de caracter digital o analgico. A estas lneas conectaremos los actuadores. Unidad central de proceso (CPU): se encarga de procesar el programa de usuario que le introduciremos. Para ello disponemos de diversas zonas de memoria, registros, e instrucciones de programa.

Adicionalmente, en determinados modelos ms avanzados, podemos disponer de funcones ya integradas en la CPU; como reguladores PID, control de posicin, etc

Tanto las entradas como las salidas estn aisladas de la CPU segn el tipo de autmata que utilicemos. Normalmente se suelen emplear optoacopladores en las entradas y rels/optoacopladores en las salidas. Aparte de estos elementos podemos disponer de los siguientes: Unidad de alimentacin (algunas CPU la llevan incluida). Unidad o consola de programacin: que nos permitir introducir, modificar y supervisar el programa de usuario. Dispositivos perifricos: como nuevas unidades de E/S, ms memoria, unidades de comunicacin en red, etc. Interfaces: facilitan la comunicacin del autmata mediante enlace serie con otros dispositivos (como un PC).

En los siguientes apartados comentaremos la estructura de cada elemento. Memoria Dentro de la CPU vamos a disponer de un rea de memoria, la cual emplearemos para diversas funciones: Memoria del programa de usuario: aqu introduciremos el programa que el autmata va a ejecutar cclicamente. Memoria de la tabla de datos: se suele subdividir en zonas segn el tipo de datos (como marcas de memoria, temporizadores, contadores, etc.). Memoria del sistema: aqu se encuentra el programa en cdigo mquina que monitoriza el sistema (programa del sistema o firmware). Este programa es ejecutado directamenrte por el microprocesador/microcontrolador que posea el autmata. Memoria de almacenamiento: se trata de memoria externa que empleamos para almacenar el programa de usuario, y en ciertos casos parte de la memoria de la tabla de datos. Suele ser de uno de los siguientes tipos: EPROM, EEPROM, o FLASH.

Cada autmata divide su memoria de esta forma genrica, haciendo subdivisiones especficas segn el modelo y fabricante. CPU La CPU es el corazn del autmata programable. Es la encargada de ejecutar el programa de usuario mediante el programa del sistema (es decir, el programa de usuario es interpretado por el programa del sistema). Sus funciones son: Vigilar que el tiempo de ejcucin del programa de usuario no excede un determinado tiempo mximo (tiempo de ciclo mximo). A esta funcin se le suele denominar Watchdog (perro guardin). Ejecutar el programa de usuario. Crear una imagen de las entradas, ya que el programa de usuario no debe acceder directamente a dichas entradas. Renovar el estado de las salidas en funcin de la imagen de las mismas obtenida al final del ciclo de ejecucin del programa de usuario. Chequeo del sistema.

Para ello el autmata va a poseer un ciclo de trabajo, que ejecutar de forma continua:

------------|Imagen de las| <--- Entradas | entradas | ------------|| \/ ------------|Ejecucin del| | programa de | | usuario | ------------|| \/ ------------|Imagen de las| ---> Salidas | salidas | ------------|| \/ ------------| WATCHDOG | ------------Unidades de E/S (Entrada y salida de datos)

Generalmente vamos a disponer de dos tipos de E/S: - Digital. - Analgica. Las E/S digitales se basan en el principio de todo o nada, es decir o no conducen seal alguna o poseen un nivel mnimo de tensin. Estas E/S se manejan a nivel de bit dentro del programa de usuario. Las E/S analgicas pueden poseer cualquier valor dentro de un rango determinado especificado por el fabricante. Se basan en conversores A/D y D/A aislados de la CPU (pticamente o por etapa de potencia). Estas seales se manejan a nivel de byte o palabra (8/16 bits) dentro del programa de usuario. Las E/S son leidas y escritas dependiendo del modelo y del fabricante, es decir pueden estar incluidas sus imgenes dentro del rea de memoria o ser manejadas a travs de instrucciones especficas de E/S. Interfaces

Todo autmata, salvo casos excepcionales, posee la virtud de poder comunicarse con otros dispositivos (como un PC). Lo normal es que posea una E/S serie del tipo RS-232 / RS-422. A travs de esta lnea se pueden manejar todas las caractersticas internas del autmata, incluida la programacin del mismo, y suele emplearse para monitorizacin del proceso en otro lugar separado. Equipos o unidades de programacin

El autmata debe disponer de alguna forma de programacin, la cual se suele realizar empleando alguno de los siguientes elementos: Unidad de programacin: suele ser en forma de calculadora. Es la forma ms simple de programar el autmata, y se suele reservar para pequeas modificaciones del programa o la lectura de datos en el lugar de colocacin del autmata. Consola de programacin: es un terminal a modo de ordenador que proporciona una forma ms cmoda de realizar el programa de usuario y observar parmetros internos del autmata. Desfasado actualmente. PC: es el modo ms potente y empleado en la actualidad. Permite programar desde un ordenador personal estndar, con todo lo que ello supone: herramientas ms poetentes, posibilidad de almacenamiento en soporte magntico, impresin, transferencia de datos, monitorizacin mediante software SCADA, etc.

Para cada caso el fabricante proporciona lo necesario, bien el equipo o el software/cables adecuados. Cada equipo, dependiendo del modelo y fabricante, puede poseer una conexin a uno o varios de los elementos anteriores. En el caso de los micro-plc se escoge la programacin por PC o por unidad de programacin integrada en la propia CPU. Dispositivos perifricos El autmata programable, en la mayora de los casos, puede ser ampliable. Las ampliaciones abarcan un gran abanico de posibilidades, que van desde las redes internas (LAN, etc.), mdulos auxiliares de E/S, memoria adicional... hasta la conexin con otros autmatas del mismo modelo.

Cada fabricante facilita las posibilidades de ampliacin de sus modelos, los cuales pueden variar incluso entre modelos de la misma serie. Ciclo de trabajo de un autmata El autmata va a ejecutar nuestro programa de usuario en un tiempo determinado, el cual va a depender sobre todo de la longitud del programa. Esto es debido a que cada instruccin tarda un tiempo determinado en ejecutarse, por lo que en procesos rpidos ser un factor crtico. En un sistema de control mediante autmata programable tendremos los siguientes tiempos: 1. 2. 3. 4. 5. Retardo de entrada. Vigilancia y exploracin de las entradas. Ejecucin del programa de usuario. Transmisin de las salidas. Retardo en salidas.

Los puntos 2,3 y 4 sumados dan como total el tiempo de ciclo del autmata. Tras este ciclo es cuando se modifican las salidas, por lo que si varian durante la ejecucin del programa tomarn como valor el ltimo que se haya asignado. Esto es as debido a que no se manejan directamente las entradas y las salidas, sino una imagen en memoria de las mismas que se adquiere al comienzo del ciclo (2) y se modifica al final de ste (retardo). En la etapa de vigilancia (watchdog) se comprueba si se sobrepas el tiempo mximo de ciclo, activndose en caso afirmativo la seal de error correspondiente.

Sistemas lgicos

Funciones generales

Las operaciones combinacionales ms comunes se realizan con los bloques de funciones bsicas, conexin serie, paralelo, negacin, etc. Todas las funciones AND, OR, XOR, NAND y NOR tienen tres entradas y una salida. Si deseamos realizar operaciones con ms de tres entradas, se conectan varios bloques en cascada:

La funcin inversora, NOT, tiene una entrada y una salida. Y la funcin OR exclusiva (XOR) posee dos entradas y una salida. Funciones especiales

Temporizador con retardo a la conexin


Activa la salida Q una vez que ha transcurrido el tiempo programado.

Temporizador con retardo a la desconexin

Desactiva la salida una vez transcurrido el tiempo programado. El temporizador se pone en marcha en flanco descendente

Rel de impulsos

Tiene el mismo funcionamiento que un telerruptor. La salida cambia de estado, de 0 a 1, cada vez que cambia la seal en la entrada Trg.

Reloj

Permite controlar los instantes de activacin y desactivacin de la salida en un da de la semana y a una hora determinada.

Rel de automantenimiento

Funcin biestable R-S. Permite realizar la funcin paromarcha tpica de los automatismos a contactores. La situacin no permitida R=1 S=1 se soluciona dando preferencia a R.

Generador de pulsos

Genera pulsos de reloj a intervalos iguales. Funcionamiento

similar a un intermitente.

Temporizador a la conexin con memoria

De funcionamiento similar al temporizador a la conexin, pero con la caracterstica que no es necesario mantener la seal en Trg.

Contador progresivo/regresivo

Permite contar y descontar los pulso aplicados a su entrada CNT.

Contador de horas de servicio

Permite medir el tiempo que est activada la entrada En. Esta funcin solamente se puede utilizar como bloque inicial.

Rel de supresin

Activa la salida hasta que haya transcurrido el tiempo de T. Si ste no ha terminado y Trg se pone a 0 la salida tambin lo hace. Esta funcin solamente se puede utilizar como bloque inicial.

Conmutador de valor de umbral para frecuencias

Permite contar los impulsos aplicados a su entra y dependiendo de stos conmutar la salida. En el Logo! L con entras a 24v, la entrada I12 esta preparada para procesos de cmputo rpidos: mx. 150 Hz Esta funcin solamente se puede utilizar como bloque inicial.

Registros y acumuladores Todas las operaciones que hagamos con las entradas y las salidas se deben efectuar en algn sitio. Para ello, se definen: Registro de estado (VKE): Su tamao es de 1 bit. Aqu es donde efectuaremos las instrucciones combinacionales, la carga de entradas y la asignacin de salidas a nivel de bit. Acumuladores (AKKU1 y AKKU2): Sus tamaos son de 16 bits cada uno. Cada vez que carguemos un dato en los acumuladores se seguir la siguiente secuencia: Contenido de AKKU2 ===> Se pierde el contenido Contenido de AKKU1 ===> AKKU2 DATO ===> AKKU1 A su vez, cuando realicemos una operacin entre AKKU's (como suma o resta) el resultado se introducir en el AKKU1, perdindose el valor antes all contenido. Temporizadores y contadores Varan en funcin de marcas y modelos, pero los ms usados suelen incorporar 32 temporizadores: T0 ... T31 y 32 contadores: Z0 ... Z31

De los 32 contadores, 8 no se borran al desconectar el autmata (son remanentes), dichos contadores son Z0 a Z7. Para consultar el estado de cada uno de ellos podremos usarlos como si fueran entradas (mediante operaciones combinacionales) o introduciendo su valor en los AKKU. Constantes A la hora de cargar datos en acumuladores, temporizadores, registros, etc. tendremos varias posibilidades en la forma de introducir el dato: KB: 8 bits (0 a 255 en decimal). KC: 8 bits (2 caracteres alfanumricos). KF: 16 bits (n en coma fija, +32768 a -32768). KH: 16 bits (n hexadecimal, 0000 a FFFF). KM: 16 bits (binario natural). KY: 16 bits (2 bytes, 0 a 255 en decimal cada uno). KT: 16 bits (valor de preseleccin de temporizadores, 0.0 a 999.3 en decimal). KZ: 16 bits (valor de preseleccin de contadores, 0 a 999 en decimal).

Estructura del programa Vamos a tener dos opciones para escribir el programa: Lineal: Se emplea un nico mdulo de programa (OB1). Este mdulo se procesa cclicamente, es decir, tras la ltima instruccin se volver a ejecutar la primera. Si la tarea a controlar es simple esta es la mejor forma. Estructurada: Para el caso de tareas complejas es ms conveniente dividir el programa en mdulos. Mediante esta forma logramos un programa ms claro y adquirimos la posibilidad de poder llamar a un mdulo desde distintas partes del programa (lo que evita repetir cdigo). +-----+ | | ===> | | | | <=== | OB1 | | | ===> | | | | | | | | <=== +-----+

+-----+ | | +-----+ +-----+ | | ===> +-----+ | | | | | | <=== +-----+ +-----+

En la programacin estructurada se comienza y termina en el mdulo OB1, desde el cual saltaremos y retornaremos a los mdulos que nos interesen. Por supuesto se podr saltar desde un mdulo a otro (anidado), siempre que no superemos los 16 niveles de salto que permite como mximo el autmata. Otras limitaciones son: El salto de un mdulo a otro debe ser siempre hacia adelante (ej. Se podr saltar de PB1 a PB2, pero no a la inversa). No se pueden dar dos saltos a un mismo mdulo desde el mdulo actual. (ej. No se podr saltar dos veces a PB3 desde PB2, pero si puede saltarse a PB3 desde distintos mdulos). Tanto en la programacin lineal como en la estructurada los mdulos acabarn mediante la instruccin BE.

La memoria del autmata S5-90U est limitada a 2K bytes. Cada instruccin ocupa generalmente 2 bytes, por lo que dispondremos de 1000 lineas de programa aproximadamente.

Tipos de mdulos Generalmente, existen cuatro tipos de mdulos en cualquier autmata programable: Mdulos de organizacin (OB): Son los que gestionan el programa de usuario. Numerados OB1, OB3, OB21 y OB22. Destacar el OB1, que es el mdulo del programa principal, el OB3, que es el que contiene el programa controlado por alarma, y el OB13, que es el mdulo para programas controlados por tiempo. El OB22 es empleado por el sistema operativo. Mdulos de programa (PB): Son los que incluyen el programa de usuario dividido, normalmente, segn aspectos funcionales o tecnolgicos. PB0 ... PB63 Mdulos funcionales (FB): Son mdulos de programa especiales. Aqu se introducen las partes de programa que aparecen con frecuencia o poseen gran complejidad. Poseen un juego de instrucciones ampliado. FB0 ... FB63 Mdulos de datos (DB): En ellos se almacenan datos para la ejecucin del programa, como valores reales, textos, etc. Adoptan los valores: DB0 ... DB63 Los mdulos DB1 y DB2 se emplean para definir las condiciones internas del autmata, por lo que no deben emplearse. 256 palabras de datos. Para emplear un mdulo de datos es necesario activarlo previamente (como se ver ms adelante). La mayor ventaja que aportan es la facilidad para variar el proceso que controlan, ya que basta con cambiar el programa introducido en el autmata (en la mayora de los casos). Otra ventaja es que el autmata tambin nos permite saber el estado del proceso, incluyendo la adquisicin de datos para un posterior estudio.

Lenguajes de programacion La incremente complejidad en la programacin de los autmatas programables requiere ms que nunca de la estandarizacin de la misma. Bajo la direccin del IEC el estndar IEC 1131-3 (IEC 65) para la programacin de PLC's ha sido definida. Alcanz el estado de Estndar Internacional en Agosto de 1992. Los lenguajes grficos y textuales definidos en el estndar son una fuerte base para entornos de programacin potentes en PLC's. Con la idea de hacer el estndar adecuado para un gran abanico de aplicaciones, cinco lenguajes han sido definidos en total: Grfico secuencial de funciones (grafcet) Lista de instrucciones (LDI o AWL) Texto estructurado Diagrama de flujo Diagrama de contactos

Grfico secuencial de funciones (grafcet) El grfico secuencial de funciones (SFC o Grafcet) es un lenguaje grfico que

proporciona una representacin en forma de diagrama de las secuencias del programa. Soporta selecciones alternativas de secuencia y secuencias paralelas. Los elementos bsicos son pasos y transiciones. Los pasos consisten de piezas de programa que son inhibidas hasta que una condicin especificada por las transisciones es conocida. Como consecuencia de que las aplicaciones industriales funcionan en forma de pasos, el SFC es la forma lgica de especificar y programar el ms alto nivel de un programa para PLC. Lista de instrucciones La lista de instrucciones (IL o AWL) es un lenguaje de bajo nivel, similar al lenguaje ensamblador. Con IL solo una operacin es permitida por lnea (ej. almacenar un valor en un registro). Este lenguaje es adecuado para pequeas aplicaciones y para optimizar partes de una aplicacin. Texto estructurado El texto estructurado (structured text o ST) es un lenguaje de alto nivel estructurado por bloques que posee una sintaxis parecida al PASCAL. El ST puede ser empleado para realizar rpidamente sentencias complejas que manejen variables con un amplio rango de diferentes tipos de datos, incluyendo valores analgicos y digitales. Tambin se especifica tipos de datos para el manejo de horas, fechas y temporizaciones, algo importante en procesos industriales. El lenguaje posee soporte para bucles iterantes como REPEAR UNTIL, ejecuciones condicionales empleando sentencias IF-THEN-ELSE y funciones como SQRT() y SIN(). Diagrama de contactos El diagrama de contactos (ladder diagram LD) es un lenguaje que utiliza un juego estandarizado de smbolos de programacin. En el estndar IEC los smbolos han sido racionalizados (se ha reducido su nmero). Diagrama de funciones El diagrama de funciones (function block diagram o FBD) es un lenguaje grfico que permite programar elementos que aparecen como bloques para ser cableados entre si de forma anloga al esquema de un circuito. FBD es adecuado para muchas aplicaciones que involucren el flujo de informacin o datos entre componentes de control. Organizacin de tareas El estndar tambin define una nueva arquitectura para la organizacin e interaccin de tareas con PLC's. Una tarea controla la ejecucin de un programa ejecutandolo peridicamente o en respuesta a un especfico evento. Para optimizar los recursos del controlador, una aplicacin puede ser fragmentada en un nmero de pequeos programas concretos. Cada programa est bajo el control de una tarea que se ejecuta a la velocidad que requiera la E/S asociada. Bloques de funciones Los bloques de funciones (FB's) son bloques estndar que ejecutan algoritmos como reguladores PID. El estndar IEC asegura que los FB's son definidos empleando una metodologa estndar. Hay controles empleando parmetros externos, mientras que los algoritmos internos permanecen ocultos empleando Programacin Orientada a Objetos.

Funciones Bsicas AWL KOP

// // Funciones bsicas // NETWORK 1 //Activacin de una salida // //COMENTARIOS DE SEGMENTO // LD I0.0 = Q0.0 NETWORK 2 //Circuito serie // LD I0.0 A I0.1 A I0.2 = Q0.1 NETWORK 3 //Circuito paralelo // LD I0.0 O I0.1 O I0.2 = Q0.2 NETWORK 4 //Circuito combinacional 1 // LD I0.0 A I0.1 LD I0.2 AN I0.3 OLD = Q0.3 NETWORK 5 //Circuito combinacional 2 // LD I0.0 O I0.2 LD I0.1 ON I0.3 ALD = Q0.4 = Q0.5

Funciones Memoria AWL KOP

// //Funciones memoria // NETWORK 1 //Memoria monoestable // Paro prioritario LD I0.0 LD I0.1 O Q0.0 ALD = Q0.0 NETWORK 2 //Memoria monoestable //Marcha prioritaria LD I0.1 LD I0.0 A Q0.1 OLD = Q0.1 NETWORK 3 //Memoria biestable //Paro prioritario LD I0.1 S Q0.2, 1 NETWORK 4 LDN I0.0 R Q0.2, 1 NETWORK 5 //Memoria biestable //Marcha prioritaria LDN I0.0 R Q0.3, 2 NETWORK 6 LD I0.1 S Q0.3, 2

Inversor de giro de un motor asncrono trifsico.


Como ejemplo de aplicacin se desarrolla a continuacin la forma de programar un inversor de giro de un motor asncrono trifsico. En el esquema elctrico se puede se dispone del esquema de fuerza y el de mando con lgica cableada. Al realizar la aplicacin con un autmata programable se sustituye el esquema de mando por el conexionado del autmata programable. En un primer lugar se tiene el programa desarrollado con elementos memoria monoestables y en segundo lugar con elementos de memoria biestables (RS).

Esquema de conexionado PLC

Entradas
I0.0 I0.1 I0.2 I0.3 F2 P S1 S1 NC NC NA NA Rel trmico Pulsador de paro Pulsador marcha I Pulsador marcha II

Salidas
Q0.0 Q0.1 KM1 KM2 Contactor giro I Contactor Giro II

Inversin de giro (Monoestable) AWL


NETWORK 1 //Inv. Giro (Monoestable) // // LD I0.0 A I0.1 LD I0.2 O Q0.0 ALD AN Q0.1 = Q0.0 NETWORK 2 LD I0.0 A I0.1 LD I0.3 O Q0.1 ALD AN Q0.0 = Q0.1

KOP

Observar que el rel trmico (I0.0) y el pulsador de paro no se niegan en el programa ya que se utilizan contactos negados en la entrada del autmata. Inversin de giro (Biestable) AWL KOP

NETWORK 1 //Inv. de Giro (Biestable) LD I0.2 S Q0.0, 1 NETWORK 2 LDN I0.0 ON I0.1 O Q0.1 R Q0.0, 1 NETWORK 3 LD I0.3 S Q0.1, 1 NETWORK 4 LDN I0.0 ON I0.1 O Q0.0 R Q0.1, 1

En este caso por disponer de elementos biestables tanto el rel trmico (I0.0) como el pulsador de paro (I0.1) si se tienen que negar ya que de lo contrario estaran siempre dando la seal de reset. Compara los dos programas anteriores.

Divisor Binario

Temporizador a la conexion TON AWL KOP

NETWORK 1 LD TON I0.0 T37, +50

NETWORK 2 LD T37 = Q0.0

Temporizador a la desconexion TOF (CPU 221, 222, 224, 226) AWL KOP

NETWORK 1 LD I0.0 TOF T37, +50 NETWORK 2 LD T37 = Q0.0

Temporizador a la desconexion con TON (CPU 212, 214, 215, 216) AWL
NETWORK 1 LD I0.0 O Q0.0 AN T37 = Q0.0 NETWORK 2 LDN I0.0 A Q0.0 TON T37, +50

KOP

Temporizador TONR AWL KOP

NETWORK 1 LD TONR I0.0 T5, +50

NETWORK 2 LD I0.1 R T5, 1 NETWORK 3 LD T5 = Q0.0

Temporizador intermitente AWL KOP

NETWORK 1 LD I0.0 LPS AN T38 TON T37, +10 LPP A T37 TON T38, +5 = Q0.0

Base de tiempo de temporizadores AWL KOP

// // Temporizadores // NETWORK 1 //Temp. de 100 ms // LD I0.0 TON T37, +50 NETWORK 2 LD T37 = Q0.0 NETWORK 3 //Temp. de 10 ms // LD I0.0 TON T33, +500 NETWORK 4 LD T33 = Q0.1 NETWORK 5 //Temp. de 1ms // LD I0.0 TON T32, +5000 NETWORK 6 LD T32 = Q0.2

Contadores AWL KOP

NETWORK 1 //Contador ascendente LD I0.0 LD I0.1 CTU C0, +5 NETWORK 2 LD C0 = Q0.0 NETWORK 3 //Contador ascendente/descendente LD I0.0 LD I0.1 LD I0.2 CTUD C1, +5 NETWORK 4 LD C1 = Q0.1

Flanco ascendente y Flanco descendente AWL KOP

NETWORK 1 //Flanco ascendente // LD I0.0 EU S Q0.0, 1 NETWORK 2 LD I0.1 R Q0.0, 1 NETWORK 3 //Flanco descendente // LD I0.0 ED S Q0.1, 1 NETWORK 4 LD I0.1 R Q0.1, 1

Control de aceso. Un recinto tiene un lmite de persona que entran y sale por la misma puerta. Para el control del aceso se dispone de dos barreras fotoelctricas conectadas a las entradas I0.0 y I0.1, tal como se muestra en la siguiente figura . Cuando se supera el nmero de personas en el interior se activa la correspondiente sealizacn por medio de la salida Q0.0 Se detecta que una persona entra cuando la entrada I0.0 esta a nivel alto y se da un flanco ascendente en I0.1 Se detecta que una persona sale cuando la entrada I0.0 esta a nivel alto y se da un flanco descendente en I0.1. El control de nmero de persona se cuenta por medio de un contador ascendente/descendente. Se dispone adems de la entrada I0.2 para resetear en cualquier momento el contador.

Control de acceso AWL KOP

NETWORK 1 //Control de acceso // //COMENTARIOS DE SEGMENTO // LD I0.1 EU A I0.0 LD I0.1 ED A I0.0 LD I0.2 CTUD C0, +5 NETWORK 2 LD C0 = Q0.0

Subritinas AWL KOP

ORGANIZATION_BLOCK PRINCIPAL:OB1 TITLE= BEGIN NETWORK 1 // Programa Principal LD = CALL I0.0 Q0.0 SBR_1

NETWORK 2 LD = CALL I0.1 Q0.1 SBR_2

END_ORGANIZATION_BLOCK SUBROUTINE_BLOCK SBR_1:SBR1 TITLE= BEGIN NETWORK 1 // Subrutina 1 LD = I0.2 Q0.2

END_SUBROUTINE_BLOCK SUBROUTINE_BLOCK SBR_2:SBR2 TITLE= BEGIN NETWORK 1 // Subrutina 2 LD = I0.3 Q0.3

END_SUBROUTINE_BLOCK INTERRUPT_BLOCK INT_0:INT0 TITLE= BEGIN NETWORK 1 END_INTERRUPT_BLOCK

Subrutinas AWL
ORGANIZATION_BLOCK PRINCIPAL:OB1 TITLE= BEGIN NETWORK 1 // Programa principal LD = CALL I0.0 Q0.0 SBR_0

KOP

NETWORK 2 END_ORGANIZATION_BLOCK SUBROUTINE_BLOCK SBR_0:SBR0 TITLE= BEGIN NETWORK 1 // Subrutina 0 LD = CALL I0.1 Q0.1 SBR_1

NETWORK 2 // END_SUBROUTINE_BLOCK SUBROUTINE_BLOCK SBR_1:SBR1 TITLE= BEGIN NETWORK 1 // Subrutina 1 LD = I0.2 Q0.2

END_SUBROUTINE_BLOCK INTERRUPT_BLOCK INT_0:INT0 TITLE= BEGIN NETWORK 1 //TTULO DE SEGMENTO (una lnea) END_INTERRUPT_BLOCK

Comparadores AWL KOP

NETWORK 1 LDB= = IB0, 50 Q0.0

NETWORK 2 LDB>= IB0, 50 = Q0.1 NETWORK 3 LDB<= IB0, 50 = Q0.2

Programador cclico.
Al activar la entrada I0.0 a nivel alto se desarrolla la secuencia especificada en el siguiente grfico. Si la seal de la entrada I0.0 pasa a nivel bajo la secuencia se detiene, pudindose continuar en el punto de partida al volver a nivel alto. Si la seal de reset esta a nivel alto se desactivarn todas las salidas. La secuencia se repetir una vez finalizada de forma cclica. Para modificar el tiempo de la secuencia basta con modificar la fase de tiempos del temporizador.

Programador AWL KOP

// // Programador Ciclico // NETWORK 1 //Base de tiempo // LD I0.0 AN M0.0 TON T37, +10 NETWORK 2 // LD T37 = M0.0 NETWORK 3 //Contador de pasos // LD T37 LD I0.1 O C0 CTU C0, +9 NETWORK 4 //Paso 1 // LDW= C0, +1 = M0.1 NETWORK 5

Reloj de tiempo real.


VB400 Ao VB401 Mes VB402 Da VB403 Hora VB404 Minuto VB405 Segundo VB406 Milisegundo VB407 Da de la semana

Todos los valores de la fecha y hora se deben de codificar en BCD.

Potencimetros analgicos AWL KOP

NETWORK 1 LDB>= SMB28, SMB29 = Q0.0 NETWORK 2 LDB>= SMB28, 100 = Q0.1 NETWORK 3 LDB>= SMB29, 100 = Q0.2

Potencimetros analgicos AWL KOP

NETWORK 1 LDB>= SMB28, SMB29 = Q0.0 NETWORK 2 LDB>= SMB28, 100 = Q0.1 NETWORK 3 LDB>= SMB29, 100 = Q0.2

Intrermitente Variable.
Una seal intermitente se regula a trabes del potencimetro alalgico integrado en la CPU. El valor del potencimetro se carga en el byte de marcas variable VB1 ya que es la parte baja de la palabra VW0. La palabra VW0 sera el tiempo de preseleccin en los temporzadores

Intermitente variable AWL KOP

// // Intermitente variable // NETWORK 1 // LD I0.0 MOVB SMB28, VB1 NETWORK 2 // LD I0.0 AN T38 TON T37, VW0 NETWORK 3 LD T37 TON T38, VW0 = Q0.0

You might also like