You are on page 1of 268

AUTOMATISMOS

TEMA 1 : INTRODUCCIN A LOS AUTOMATISMOS 1 INTRODUCCIN 1.1 Definicin de automatizacin 1.2 Introduccin EL PROCESO TCNICO 2.1 Procesos continuos 2.2 Procesos discretos 2.3 Procesos discontinuos o por lotes FORMAS DE REALIZAR EL CONTROL SOBRE UN PROCESO 3.1 Control en lazo abierto ( bucle abierto ) 3.2 Control en lazo cerrado ( bucle cerrado ) OPCIONES TECNOLGICAS 4.1 Lgica cableada 4.2 Lgica programada 4.3 Organigramas para desarrollar el control de un proceso 4.4 Fases de estudio en la elaboracin de un automatismo ANLISIS DE LOS AUTOMATISMOS 5.1 Lgica combinacional 5.2 Lgica secuencial

TEMA 2 : REPRESENTACIN DE LOS AUTOMATISMOS 1 LGICA DE CONTACTOS 1.1 Elementos de entrada 1.2 Elementos de salida 1.3 Asociacin de elementos 1.3.1 Funcin lgica O 1.3.2 Funcin lgica Y 1.3.3 Funcin O lgica de funciones Y 1.3.4 Funcin Y lgica de funciones O LGICA DE FUNCIONES 2.1 Funcin "O" u "OR" ( Suma lgica ) 2.2 Funcin "Y" O "AND" ( Producto lgico ) 2.3 Funcin NOT ( Negacin, inversin o complemento ) 2.4 Funcin NOR ( NO-O ) 2.5 Funcin NAND ( NO - Y ) 2.6 Funcin OR - Exclusiva ( XOR ) 2.7 Funcin NOR - Exclusiva ( XNOR ) 2.8 Funcin IGUALDAD

LGICA NEUMTICA 3.1 Funcin "O" u "OR" ( Vlvula selectora de circuito ) 3.2 Funcin "Y" O "AND" ( Vlvula de simultaneidad ) 3.3 Funcin NO ( Negacin, inversin o complemento ) 3.4 Funcin NOR ( NO-O ) 3.5 Funcin NAND ( NO - Y ) 3.6 Funcin OR - Exclusiva ( XOR ) 3.7 Funcin NOR - Exclusiva ( XNOR ) 3.8 Funcin IGUALDAD IMPLEMENTACIN DE FUNCIONES 4.1 Implementacin de funciones lgicas con contactos 4.2 Implementacin de funciones con puertas lgicas 4.2.1 Implementacin de funciones con puertas NAND 4.2.2 Implementacin de funciones con puertas NOR 4.3 Implementacin de funciones con elementos neumticos

TEMA 3 : LGEBRA DE BOOLE 1 2 3 4 5 AXIOMAS DEL LGEBRA DE BOOLE 1.1 Postulados y teoremas TEOREMA DE DE MORGAN FORMAS DE UNA FUNCIN BOOLEANA CONVERSIN ENTRE FORMAS SIMPLIFICACIN DE FUNCIONES 5.1 Mtodo algebraico 5.2 Mtodos tabulares de simplificacin 5.2.1 Tablas de Karnaugh Simplificacin de ecuaciones en tablas de Karnaugh Estados indiferentes Azares o " Aleas tecnolgicas " 5.2.2 Tablas de Quine-McCluskey

TEMA 4 : GRAFCET 1 2 3 INTRODUCCIN EL GRAFCET 2.1 Principios bsicos DEFINICIN DE CONCEPTOS Y ELEMENTOS GRFICOS ASOCIADOS 3.1 Etapa 3.2 Accin asociada Reales, Virtuales Incondicionales Condicionales 3.3 Transicin y receptividad 3.4 Arco 3.5 Trazos paralelos

4 5

CONDICIONES EVOLUTIVAS ESTRUCTURAS EN EL GRAFCET 5.1 Estructuras bsicas Secuencia nica Secuencias paralelas 5.2 Estructuras Lgicas Divergencia en OR Convergencia en OR Posibilidades de utilizacin de estas estructuras Divergencia en AND Convergencia en AND Saltos condicionales. Retencin de secuencia Repeticin de secuencias. Concepto de macroetapa Situaciones Especiales 5.3.1 Evoluciones simultneas 5.3.2 Acciones y receptividades temporizadas 5.3.3 Transiciones temporizadas 5.3.4 Accin mantenida

5.3

IMPLEMENTACIN DE UN AUTOMATISMO A TRAVS DEL GRAFCET 6.1 Mdulo secuenciador de etapa 6.2 Obtencin de las funciones lgicas a partir del diagrama GRAFCET 6.2.1 Ecuacin de activacin / desactivacin 6.2.2 Ecuaciones de activacin de operaciones de mando 6.3 Funciones lgicas de activacin / desactivacin y estructuras lgicas 6.3.1 Divergencia en OR 6.3.2 Convergencia en OR 6.3.3 Divergencia en AND 6.3.4 Convergencia en AND CICLOS DE EJECUCIN : TIPOS 7.1 Marcha ciclo a ciclo 7.2 Marcha automtica / Parada de ciclo 7.3 Marcha automtica / Marcha ciclo a ciclo 7.4 Marcha de verificacin en el orden del ciclo TRATAMIENTO DE ALARMAS Y EMERGENCIAS 8.1 Sin secuencia de emergencia 8.2 Con secuencia de emergencia

TEMA 5 : TEORA BINODAL 1 2 INTRODUCCIN CONCEPTOS BINODALES BSICOS 2.1 Definicin general de binodo. Variables de accin 2.2 Binodo " mono " o " monodo ". Grfico representativo 2.2.1 Obtencin de la ecuacin lgica del binodo mono 2.3 Binodo " bi ". Grafo de secuencia representativo 2.4 Teoremas del binodo " bi " 1 Teorema ( prioridad de la v.d.a. negadora ) 2 Teorema ( prioridad de la v.d.a. creadora ) 2.5 Multinodo. Grafo de secuencia 2.6 Condicionantes parciales y generales

DISEO BINODAL DE AUTOMATISMOS SECUENCIALES 3.1 Variables de accin ( v.d.a ) 3.2 Estados de accin 3.2.1 Estados de accin idnticos 3.2.1.1 Estados de accin idnticos compatibles 3.2.1.2 Estados de accin idnticos incompatibles 3.2.3 Estados de accin no idnticos e incompatibles DISEO BINODAL DE AUTOMATISMOS SECUENCIALES QUE NO PRESENTAN ESTADOS IDNTICOS INCOMPATIBLES DISEO BINODAL DE AUTOMATISMOS SECUENCIALES QUE ESTADOS IDNTICOS INCOMPATIBLES 5.1 Automatismos con variable auxiliar 5.2 Variables auxiliares 5.3 Variables directivas 5.3 Discriminacin de estados de accin incompatibles 5.4 Dominio de una variable 5.5 Dominio de una situacin binodal 5.6 Estados inoperantes o transitorios 5.7 Estados inoperantes o transitorios PRESENTAN

4 5

DISEO BINODAL DE AUTOMATISMOS SECUENCIALES GOBERNADOS POR LOS CAMBIOS DE NIVEL ( FLANCOS ) EN SUS ENTRADAS a) Solucin mediante variable P diferenciada b) Solucin actuando P por flanco explcito b) Solucin actuando P por flanco implcito DISEO BINODAL DE AUTOMATISMOS SECUENCIALES CON TEMPORIZADOR 7.1 Introduccin 7.2 Tipos de temporizacin 7.2.1.- Temporizacin en la activacin Ata 7.2.2.- Temporizacin en la desactivacin Atd 7.2.3.- Temporizacin en la activacin y en la desactivacin Atad A.- Inversin a la salida B.- Inversin a la entrada 7.3 Deteccin de monodos con apariencia de binodos AUTOMATISMOS CON BINODOS DE APOYO

TEMA 6 : AUTMATA PROGRAMABLE FESTO FPC 404 1 OPERANDOS DE LOS FPC DE FESTO 1.1 1.2 1.3 Operandos monobit y multibit 1.1.1 Operandos Monobit 1.1.2 Operandos Multibit Operandos locales y globales 1.2.1 Operandos Globales 1.2.2 Operandos Locales Operadores

ESTRUCTURA DE PROGRAMACIN AWL 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 Jerarqua de los elementos awl Instruccin step ( paso ) Frases 2.3.1 Frases tpicas Instruccin step Reglas de ejecucin Influencia en el flujo del programa Instruccin nop Instruccin jmp Instruccin othrw

3 4

RESUMEN DE INSTRUCCIONES AWL REFERENCIA DE LAS INSTRUCCIONES AWL AND BID CFM CMP CPL DEB DEC EXOR INC INV JMP TO LOAD...TO NOP OR PSE RESET ROL ROR SET SHIFT SHL SHR SWAP

TEMPORIZADORES 5.1 El temporizador 5.2 Funcionamiento de un temporizador 5.3 Utilizacin de un temporizador 5.3.1 Inicializacin de un preselector de temporizador Ejemplo: Inicializacin de un Preselector de Temporizador con una base de tiempo Ejemplo : Inicializacin de un Preselector de Temporizador sin una base de tiempo 5.3.2 Activacin de un temporizador 5.3.3 Interrogacin del estado de un temporizador 5.3.4 Paro de un temporizador 5.4 Ejemplos 5.4.1 Retardo de la conexin 5.4.2 Retardo de la desconexin 5.4.3 Impulso de temporizacin 5.4.4 Impulso de desconexin

5.5

5.4.5 Impulso secuencial 5.4.6 Luz intermitente 5.4.7 Eliminacin de rearranques no deseados utilizando la estructura step de awl 5.4.8 Eliminacin de continuos rearranques de temporizadores en procesos paralelos Programas de enlaces lgicos para la ejecucin de funciones de temporizadores 5.5.1 Ejemplo : retardo de conexin 5.5.2 Ejemplo relacionado a la funcin de temporizador

CONTADORES 6.1 Generalidades 6.1.1 Contadores de hardware 6.1.2 Contadores rpidos 6.1.3 Indicacin del estado efectivo del contador 6.1.4 Mtodo multiplexor 6.1.5 Programa para visualizar el estado del contador 6.2 6.3 Funciones de los contadores 6.2.1 Aplicacin 6.2.2 Programacin de una funcin de contador Utilizacin de contadores 6.3.1 Contadores estndar 6.3.2 Utilizacin de Contadores estndar 6.3.3 Inicializacin de un Preselector de Contador Ejemplo: Inicializacin de un Preselector de Contador con un valor absoluto Ejemplo : Inicializacin de un Preselector de Contador con un MBO 6.3.4 Activacin de un Contador 6.3.5 Interrogacin del estado de un Contador 6.3.6 Conteo de eventos 6.3.7 Parada de un Contador Ejemplos 6.4.1 Contadores estndar 6.4.2 Contadores ASCENDENTES / DESCENDENTES Ejemplo : Utilizacin de un Registro como contador Programas de enlaces lgicos para la ejecucin de funciones de contadores y temporizadores 6.5.1 Ejemplo relacionado a la funcin de contador

6.4

6.5

UTILIZACIN DE REGISTROS 7.1 EJEMPLOS Utilizacin de Registros en la parte condicional de una frase Utilizacin de Registros en la parte ejecutiva de una frase

FLAGs Y FLAG WORD 8.1 Similitudes con otros operandos multibit 8.2 Diferencias otros operandos multibit 8.3 Ejemplos 8.3.1 Ejemplos en la parte Condicional 8.3.2 Ejemplos en la parte Ejecutiva 8.3.3 Registros de desplazamiento

ACCESO A LAS ENTRADAS Y SALIDAS 9.1 Organizacin de las e/s ( i/o ) 9.2 Palabras de e/s ( i/o words ) 9.3 Entradas discretas de i/o 9.4 Uso de entradas en programas 9.4.1 Entradas discretas 9.4.2 Palabras de entrada ( Input Words ) 9.5 Uso de salidas en programas 9.5.1 Salidas discretas 9.5.2 Palabras de Salida ( Output Words ) DETECCIN DE FLANCOS 10.1 Flancos 10.1.1 Flancos positivos y negativos 10.2 Recordador de flancos 10.3 Programacin de la evaluacin de flancos positivos y negativos MULTITAREA 11.1 Funcionamiento automtico y manual 11.2 Funciones 11.3 Realizacin con orden de salto ( recuperacin de subprogramas ) 11.3.1 rdenes de salto / rdenes de salto hacia atrs 11.4 11.5 11.3.2 Orden de salto con retorno automtico ( recuperacin de subprograma ) Realizacin con la tcnica de procesadores Procesadores y programas Activacin de un programa Cancelacin de un programa Activacin de un procesador Cancelacin de un procesador

10

11

12

PROGRAMAS DE EJEMPLO Ejemplo 1. Completamente secuencial Ejemplo 2. Principalmente secuencial con algunas acciones aleatorias Ejemplo 3. Acciones completamente aleatorias Ejemplo 4. Secuencias mltiples y acciones aleatorias Mquina Transfer rotativa multi-estacin

TEMA 1 : INTRODUCCIN A LOS AUTOMATISMOS

Firma no verificada

JMGO

Firmado digitalmente por JMGO Nombre de reconocimiento (DN): cn=JMGO, o=EDUCACION, ou=ELECTRICIDAD/EL ECTRONICA, c=ES Fecha: 2003.11.11 12:00:21 +01'00'

1 1.1

INTRODUCCIN Definicin de automatizacin

La Real Academia de Ciencias Exactas Fsicas y Naturales define la Automtica como el estudio de los mtodos y procedimientos cuya finalidad es la sustitucin del operador humano por un operador artificial en la generacin de una tarea fsica o mental previamente programada. Partiendo de esta definicin y cindonos al mbito industrial, puede definirse la Automatizacin como " El estudio y aplicacin de la Automtica al control de los procesos industriales " 1.2 Introduccin

La automatizacin de un proceso industrial ( mquina, conjunto o equipo industrial ) consiste en la incorporacin al mismo, de un conjunto de elementos y dispositivos tecnolgicos que aseguren su control y buen comportamiento. Dicho automatismo, en general, ha de ser capaz de reaccionar frente alas situaciones previstas de antemano, y por el contrario, frente a imponderables, tener como objetivo situar al proceso y a los recursos humanos que lo asisten en una situacin ms favorable. Histricamente, los objetivos de la automatizacin han sido el procurar la reduccin de costes de fabricacin, la calidad constante en los medios de produccin, y liberar al ser humano de las tareas tediosas, peligrosas o insalubres. Sin embargo, desde los aos 60, debido a la alta competitividad empresarial y a la internacionalizacin creciente de los mercados, estos objetivos han sido ampliamente incrementados. Tngase en cuenta que como resultado de dicha competencia, cualquier empresa actualmente se ve sometida a grandes y rpidos procesos de cambio en bsqueda de su adecuacin a las demandas del mercado, neutralizacin de los avances de su competencia, o, simplemente como maniobra de cambio de estrategia al verse acortado el ciclo de vida de alguno de sus productos. Esto obliga a mantener medios de produccin adecuados que posean una gran flexibilidad y puedan modificar oportunamente la estrategia de produccin. La aparicin de la microelectrnica y el computador, ha tenido como consecuencia el que sea posible lograr mayores niveles de integracin entre el Sistema Productivo y los centros de decisin y poltica empresarial, permitiendo que la produccin pueda ser contemplada como un flujo de material a travs del Sistema Productivo y que interacciona con todas las reas de la empresa.

Este concepto es la base de la Automatizacin Integrada - CIM- ( Computer Integrated Manufacturing ), que tiene como objetivos : * Reducir los niveles de stock y aumentar su rotacin Disminuir los costes directos Control de los niveles de stock en tiempo real Reducir los costes de material Aumentar la disponibilidad de las mquinas mediante la reduccin de los tiempos de preparacin y puesta a punto * Incrementar la productividad * Mejorar el control de calidad * Permitir la rpida introduccin de nuevos productos * Mejorar el nivel de servicio * * * *

En este contexto, lo que se pretende, es que las denominadas islas de automatizacin, tales como PLC's, mquinas de control numrico, robots etc. se integren en un sistema de control jerarquizado que permita la conversin de decisiones de poltica empresarial en operaciones de control de bajo nivel.

EL PROCESO TCNICO

Segn la norma DIN 66201, un proceso es un procedimiento para la conversin y/o transporte de material, energa y/o informaciones.

Conversin Transporte Material Energa Informacin Proceso Material Energa Informacin

El punto principal de la automatizacin se encuentra en el sector de la produccin. De acuerdo con su funcionamiento puede distinguirse, de forma general, entre cuatro clases de procesos : * * * * Procesos de transformacin Procesos de fabricacin Procesos de distribucin Procesos de medicin y de verificacin

En los procesos de transformacin se producen materiales o energa partiendo de materias primas; tienen lugar transformaciones fsicas o qumicas. Los campos de aplicacin son la industria qumica ( p.ej. produccin de fibras sintticas ), la industria siderrgica ( p.ej. produccin de acero ), fbricas de cemento, centrales elctricas etc. En los procesos de fabricacin se modifica la forma del material por medio de elaboracin mecnica. Destacan en este sector las mquinas-herramienta de control numrico, mquinas transfer y mquinas especiales en la construccin de maquinaria, vehculos y mquinas para trabajar la madera. En los procesos de distribucin, el material, la energa o las informaciones, se distribuyen con respecto al espacio o al tiempo. Por ejemplo, existen sistemas de almacenamiento que clasifican, agrupan y entregan el material almacenado de forma totalmente automtica. En redes de energa y en centrales telefnicas automticas se controlan distribuidores de energa. En los procesos de medicin y de verificacin se analizan las propiedades mecnicas, fsicas y qumicas de los objetos. Estos procesos son tpicos en los bancos de pruebas ( p.ej. bancos de pruebas de motores ), en la tcnica de los anlisis y en ensayos de comprobacin para la aviacin y la navegacin espacial ( p.ej. simuladores de vuelo ). Un aspecto muy interesante, es clasificar los procesos industriales, en funcin de su evolucin con el tiempo. Se pueden clasificar en : * * * Continuos Discontinuos o por lotes Discretos

Tradicionalmente, el concepto de automatizacin industrial se ha ligado al estudio y aplicacin de los sistemas de control empleados en los procesos discontinuos y los procesos discretos, dejando los procesos continuos a disciplinas tales como : regulacin o servomecanismos

2.1

Procesos continuos

Un proceso continuo se caracteriza porque las materias primas estn constantemente entrando por un extremo del sistema, mientras que en el otro extremo se obtiene de forma continua un producto terminado.

Un ejemplo tpico de proceso continuo puede ser un sistema de calefaccin para mantener una temperatura constante en una determinada instalacin industrial. La materia prima de entrada es la temperatura que se quiere alcanzar en la instalacin; la salida ser la temperatura que realmente existe. El sistema de control, teniendo en cuenta la temperatura de consigna y las informaciones recibidas del proceso, ha de ejecutar las oportunas acciones para que la temperatura de la instalacin controlada se mantenga en el punto ms cercano a la de referencia.

SISTEMA DE CONTROL + Regulador

ACTUADOR Valvula de gas

PROCESO Instalacin a temperatura constante

TEMPERATURA EN LA INSTALACIN

Caldera

FLUIDO DE CONTROL PERDIDAS DE CALOR SENSOR DE TEMPERATURA EN INSTALACIN SENSORES

SELECTOR DE TEMPERATURA DE REFERENCIA

OPERARIO Selecciona la temperatura

A la vista de la instalacin se comprueban dos caractersticas propias de los sistemas continuos : * * El proceso se realiza durante un tiempo relativamente largo Las variables empleadas en el proceso y sistema de control son de tipo analgico. Dentro de unos lmites determinados, las variables pueden tomar infinitos valores

2.2

Procesos discretos

El producto de salida se obtiene a travs de una serie de operaciones, muchas de ellas con gran similitud entre s. La materia prima sobre la que se trabaja es habitualmente un elemento discreto que se trabaja de forma individual. Un ejemplo de proceso discreto es la fabricacin de una pieza metlica rectangular con dos taladros. El proceso para obtener la pieza terminada puede descomponerse en una serie de estados que han de realizarse secuencialmente, de forma que para realizar un estado determinado es necesario que se hayan realizado correctamente los anteriores. Para el ejemplo propuesto estos estados son : * * * * * Corte de la pieza rectangular con unas dimensiones determinadas, a partir de una barra que alimenta la sierra Transporte de la pieza rectangular a la base del taladro Realizar el taladro A Realizar el taladro B Evacuar la pieza S1 S1 C1 S2 S2 C3 A B

S1 M1 S2

C2

M2 C4 A

S2

S1

C5 M3 S1 S2 C4 S2 S1

C5

Cada uno de estos estados supone a su vez una serie de activaciones y desactivaciones de los actuadores ( motores y cilindros neumticos ), que se producirn en funcin de : * * 2.3 Los sensores de posicin ( colocados sobre la cmara de los cilindros ), y contactos auxiliares situados en los contactores que activan los motores elctricos Variable que indica que se ha realizado el estado anterior Procesos discontinuos o por lotes

A B C D B E

Se reciben a la entrada del proceso las cantidades de las diferentes piezas discretas que se necesitan para realizar el proceso. Sobre este conjunto se realizan las operaciones necesarias para producir un producto acabado o un producto intermedio listo para un procesamiento posterior. Por ejemplo, se trata de formar una pieza de una mquina partiendo de las piezas representadas en la figura, que se han obtenido a partir de una serie de procesos discretos. Las piezas se ensamblarn como se indica en la figura; una vez colocadas se remacharn los cilindros superiores de las piezas C, D y E de forma que pueda obtenerse la pieza terminada.

El proceso puede descomponerse en estados, que, por ejemplo, podran ser : * * * * Posicionar piezas C, D y E Posicionar piezas B Posicionar pieza A Remachar los cilindros superiores de C, D y E

Estos estados se realizarn de forma secuencial, y para activar los dispositivos encargados de posicionar las diferentes piezas, sern necesarias : * * Seales de sensores Variables de estados anteriores

FORMAS DE REALIZAR EL CONTROL SOBRE UN PROCESO

Existen dos formas bsicas de realizar el control de un proceso industrial. 3.1 Control en lazo abierto ( bucle abierto )

OPERARIO - Consignas - rdenes

SISTEMA DE CONTROL

ACTUADORES

PRODUCTO DE ENTRADA

PROCESO

PRODUCTO TERMINADO

El control en lazo abierto se caracteriza porque la informacin o variables que controlan el proceso circulan en una sola direccin, desde el sistema de control al proceso. El sistema de control no recibe la confirmacin de que las acciones que a travs de los actuadores se han de realizar sobre el proceso, se hayan ejecutado correctamente.

3.2

Control en lazo cerrado ( bucle cerrado )

El control en lazo cerrado se caracteriza porque existe una realimentacin de los sensores desde el proceso hacia el sistema de control, que permite a este ltimo conocer si las acciones ordenadas a los actuadores se han realizado correctamente sobre el proceso

OPERARIO - Consignas - rdenes

SISTEMA DE CONTROL PRODUCTO DE ENTRADA

ACTUADOR

PROCESO

PRODUCTO TERMINADO

SENSORES

La mayora de procesos existentes en la industria utilizan el control en lazo cerrado, bien, porque el producto que se pretende obtener o la variable que se controla necesita un control continuo en funcin de unos determinados parmetros de entrada, o bien, porque el proceso a controlar se subdivide en una serie de acciones elementales de tal forma que, para realizar una determinada accin sobre el proceso, es necesario que previamente se hayan realizado otra serie de acciones elementales.

OPCIONES TECNOLGICAS

El desarrollo de los automatismos, su complejidad y eficacia, ha ido parejo al desarrollo experimentado a lo largo de los tiempos. Bsicamente se puede establecer la clasificacin mostrada en el cuadro siguiente, partiendo de dos conceptos principales : el de lgica cableada y lgica programada

CLASIFICACIN TECNOLGICA

LGICA CABLEADA

LGICA PROGRAMADA

Neumtica

Fludica

Elctrica

Autmata programable

Microprocesador

Rels

Electrnica esttica

Computador

4.1

Lgica cableada

Su denominacin viene dada por el tipo de elementos que intervienen en su implementacin, en la cual las uniones fsicas se realizan mediante cables elctricos, pero tambin rels electromagnticos, interruptores, pulsadores etc., en el caso de la tecnologa elctrica. En lo referente a la tecnologa electrnica, las puertas lgicas son los elementos fundamentales mediante los cuales se realizan los automatismos. En el caso de la tecnologa fluidica, sus conexiones vienen siendo efectuadas por tuberias de acero, cobre, pvc etc. junto con elementos tales como vlvulas, presostatos, manorreductores etc. La tecnologa cableada, ha sido y es an utilizada en los automatismos industriales, aunque va quedando relegada a los accionamientos de cierta potencia, ya que frente a la lgica programada presenta los siguientes inconvenientes : * * * * 4.2 Imposibilidad de realizacin de funciones complejas de control Gran voluminosidad y peso Escasa flexibilidad frente a modificaciones Reparaciones costosas Lgica programada

Se trata de una tecnologa desarrollada a partir de la aparicin del microprocesador, y de los sistemas programables basados en ste : computador, controladores lgicos y autmatas programables.

Constantemente, debido a los altos niveles de integracin alcanzados en la microelectrnica, el umbral de rentabilidad de esta tecnologa decrece y frente a la lgica cableada presenta : * * Gran flexibilidad Posibilidad de clculo cientfico e implementacin de tareas complejas de control de procesos, comunicaciones y gestin

Como inconvenientes a corto y medio plazo, presenta la necesidad de formacin en las empresas de personal adecuado para su programacin y asistencia, al tratarse de verdaderas herramientas informticas; tambin, su relativa vulnerabilidad frente a las agresivas condiciones del medio industrial

4.3

Organigramas para desarrollar el control de un proceso

ORGANIGRAMA PARA EL DESARROLLO DE UN PROCESO CON LGICA CABLEADA

Inicio Documentacin del proceso: Especificaciones funcionales Interpretacin del proceso Esquemas de potencia, mando, etc, Especificaciones de material, aparatos y sus valoraciones Determinacin de tiempos Montaje y sus pruebas Puesta en funcionamiento Fin

ORGANIGRAMA PARA EL DESARROLLO DE UN PROCESO CON AUTMATA PROGRAMABLE

Inicio Documentacin del proceso * Memoria de func. * Planos, etc.

Interpretacin del proceso a controlar

Diagrama del proceso

Determinacin de E/S, temp. Cont. etc

Eleccin del autmata

Asignacin de E/S tem. Cont. etc.

Programacin * Diagrama de contactos * Lista de instrucciones

Esquema electrico de potencia

Puesta en funcionamiento PLC

Plano distribucin componentes del automatismo

Esquema de conexionado de E/S del autmata Puesta en modo RUN Montajes

Proceso a controlar

Fin

4.4

Fases de estudio en la elaboracin de un automatismo

Para el desarrollo y elaboracin correcta de un automatismo por el tcnico o equipo encargado de ello, es necesario conocer previamente los siguientes datos : a) b) c) Las especificaciones tcnicas del proceso y su correcta interpretacin La parte econmica asignada para no caer en el error de elaborar una buena opcin desde el punto de vista tcnico, pero inviable econmicamente Los materiales, aparatos, etc. existentes en el mercado que se van a utilizar para disear el automatismo. En este apartado es importante conocer tambin : * * Calidad de la informacin tcnica de los equipos Disponibilidad y rapidez en cuanto a recambios y asistencia tcnica

ORGANIGRAMA GENERAL PARA EL ESTUDIO Y ELABORACIN DE AUTOMATISMOS


Inicio

ESTUDIO PREVIO

Especificaciones funcionales

ESTUDIO TCNICO ECONMICO

Resolucin de las opciones tecnolgicas ms eficaces

Estudio econmico opciones

Toma de decisiones

DECISIN FINAL Lgica cableada Lgica programada

Fin

a)

Estudio previo

Es importante antes de acometer cualquier estudio medianamente serio de un automatismo, el conocer con el mayor detalle posible las caractersticas, el funcionamiento, las distintas funciones etc. de la mquina o proceso a automatizar. Esto lo obtenemos de las especificaciones funcionales; base mnima a partir de la cual podremos iniciar el siguiente paso, es decir, estudiar cuales son los elementos ms idneos para la construccin del automatismo.

b)

Estudio tcnico-econmico

Es la parte tcnica de especificaciones del automatismo : relacin de materiales, aparatos, su adaptacin al sistema y al entorno en el que se haya inscrito, etc. Tambin aqu se ha de valorar la parte operativa del comportamiento del automatismo en todos sus aspectos, como mantenimiento, fiabilidad, etc. Es obvio que la valoracin econmica, que ser funcin directa de las prestaciones del mismo, ha de quedar incluida en esta parte del estudio.

c)

Decisin final

En el apartado anterior se han debido estudiar las dos posibilidades u opciones tecnolgicas posibles : lgica cableada y lgica programada. Con esta informacin y previa elaboracin de los parmetros que se consideren necesarios tener en cuenta, se procede al anlisis del problema. Los parmetros que se deben valorar para una decisin correcta pueden ser muchos y variados, algunos de los cuales sern especficos del problema concreto que se va a resolver, pero otros sern comunes, tales como los siguientes : * * * * Ventajas e inconvenientes que se le asignan a cada opcin en relacin a su fiabilidad, vida media y mantenimiento Posibilidades de ampliacin y de aprovechamiento de lo existente en cada caso Posibilidades econmicas y rentabilidad de la inversin realizada en cada opcin Ahorro desde el punto de vista de necesidades para su manejo y mantenimiento

Una vez realizado este anlisis solo queda adoptar la solucin final elegida.

ANLISIS DE LOS AUTOMATISMOS

El mtodo de anlisis de los automatismos se establece a partir de la naturaleza de las variables que intervienen en stos. En los sistemas de automtica secuencial, las variables toman en todo momento un nmero finito de valores manteniendo dos estados claramente diferenciados, por lo que su naturaleza es discreta y binaria. Por ello, para establecer las relaciones funcionales entre las variables intervinientes se toma el lgebra de Boole, como ente matemtico capaz de definir las leyes que relacionan un conjunto de variables discretas binarias. En general, un controlador lgico programable ejecuta unas acciones de control en base a una funcin lgica, que resulta de la observacin y posterior tratamiento de una serie de variables. Con frecuencia los controladores lgicos son sistemas que requieren la memorizacin de variables de entrada en forma de estado interno, de manera que se puedan tomar decisiones lgicas en un instante determinado, en funcin de secuencias de los valores de las variables de entrada en el pasado. Por ello disponemos de una serie de variables provenientes de consignas de mando, lecturas efectuadas por los captadores o bien, variables de estado. Dichas funciones lgicas pueden ser representadas por un conjunto de ecuaciones booleanas de la forma :

ST = f1 ( ET . QT ) Q ( T + T ) = f2 ( ET . QT )
Siendo : ET el conjunto de variables de entrada al circuito en el instante T ST el conjunto de salidas QT el conjunto de variables internas

Donde la primera ecuacin ST representa las salidas del circuito como combinacin de las variables de entrada e internas y Q (T + T ) representa la actualizacin del estado interno

5.1

Lgica combinacional

Si ocurre la no existencia de variables de estado, el anlisis del automatismo puede ser tratado segn la lgica de circuitos combinacionales, por lo cual el conjunto de ecuaciones booleanas anteriores queda reducido a la ecuacin :

ST = f ( ET )
Por tanto, la salida de un automatismo de lgica combinacional, depende nica y exclusivamente de la combinacin de las variables de entrada ( ET )

5.2

Lgica secuencial

Si la salida del automatismo en un instante determinado, depende de la secuencia de valores de las variables de entrada en instantes anteriores, es decir, existen variables de estado, entonces estamos en el caso general descrito por las dos ecuaciones lgicas enunciadas anteriormente. En este caso, el sistema deber ser analizado segn la lgica secuencial. Se comprueba que los procesos discretos y continuos, tienen una gran similitud entre s. Ambos procesos podrn controlarse mediante el mismo tipo de sistema de control; es decir, mediante un controlador secuencial. Se pueden indicar algunas de las caractersticas propias de los procesos que se controlan de forma secuencial : * El proceso puede descomponerse en una serie de estados que se activarn de forma secuencial ( variables internas ) * Cada uno de los estados, cuando est activo realiza una serie de acciones sobre los actuadores ( variables de salida ) * Las seales procedentes de los captadores ( variables de entrada ) controlan la transicin entre estados * Las variables empleadas en el proceso y sistema de control ( entrada, salida e internas ), son mltiples y generalmente de tipo discreto, solo toman 2 valores, activado y desactivado. En funcin de como se realice la transicin entre estados, los controladores secuenciales pueden ser de dos tipos : * Asncronos * Sncronos Los circuitos secuenciales asncronos son aquellos en los que las variables de entrada actan sobre el estado interno del sistema en el mismo instante en que pasan a un determinado estado, o cambian de estado. Para sistemas de control de relativa sencillez estos circuitos pueden ser adecuados, no as cuando existan problemas de fenmenos aleatorios, difcilmente controlables cuando cambia de estado ms de una variable de entrada o de estado interno simultneamente. CONTROLADOR SECUENCIAL ASNCRONO Sistema Combinacional Estados Eo+1...En+1 Clulas de Memoria Variables de salida Yo...Yn

Variables de entrada Xo...Xn Sensores

Actuadores

PROCESO Estados Eo...En

En los controladores sncronos la transicin a un estado determinado se produce en funcin de las variables de entrada y de la variable asociada al estado anterior. Las variables de entrada y la variable interna estn sincronizadas mediante una seal de reloj de frecuencia fija, de forma que la transicin entre estados solo se produce para un flanco de la seal de reloj. Las clulas de memoria que almacenan las variables de entrada se activan todas, de forma conjunta con la seal de reloj, permitiendo el paso al circuito combinacional de las Xn variables; las clulas que almacenan las variables asociadas a los estados se activan mediante la seal del contador de forma individual; a cada impulso de la seal de reloj, el contador se incrementa en una unidad permitiendo el acceso a una sola clula Los controladores sncronos y asncronos descritos podran construirse empleando lgica cableada y elementos discretos de tecnologas como electrnica, electricidad o neumtica. El nico requisito que tendra que cumplir el controlador sera que el tiempo que necesita el circuito combinacional para tomar decisiones ( ciclo de trabajo ), en funcin de las variables de entrada y estados anteriores, tendra que ser mucho menor que el tiempo de evolucin del proceso.

Variables de entrada Xo...Xn Sensores

CONTROLADOR SECUENCIAL SNCRONO Clulas de Memoria Lect. paralelo Sistema Combinacional

Variables de salida Yo...Yn

Actuadores

Clulas de Memoria Lect. serie

Reloj

Contador

PROCESO

Al emplear lgica cableada, la configuracin del circuito combinacional y las operaciones lgicas que ha de realizar, dependen de la cantidad de variables necesarias para controlar el proceso ( variables de entrada y salida ) y del nmero de estados en que se ha desglosado ( variables internas ). Una modificacin del proceso que suponga una modificacin del n de variables anteriores o en su orden de actuacin, significa disear de nuevo el controlador secuencial.

Basndose en el microprocesador puede construirse un controlador secuencial sncrono cuya configuracin es independiente del n de variables y del orden en que stas actan en el proceso. El circuito combinacional se sustituye por la memoria del programa y la unidad operativa del microprocesador. La memoria del programa de usuario almacena las operaciones lgicas y con que variables se han de realizar; la unidad operativa se encarga de realizarlo: El contador de programa del microprocesador acceder secuencialmente a las posiciones de memoria de programa de usuario.

TEMA 2 : REPRESENTACIN DE LOS AUTOMATISMOS

Toda funcin lgica puede ser representada grfica y simblicamente, dependiendo de la tecnologa utilizada en su implementacin. Dejando para un tema posterior la representacin simblica nemotcnica propia de la lgica programable, la representacin grfica de la lgica cableada puede ser bien a travs de los diagramas de contactos, si lo que se utiliza es tecnologa elctrica, o bien la representacin puede ser a travs de diagramas de funciones lgicas, si lo que se utiliza es la tecnologa electrnica de puertas lgicas. 1 LGICA DE CONTACTOS

Se trata de la representacin grfica de esquemas de automatismos elctricos, en los cuales, el elemento fundamental es el interruptor electromagntico denominado rel, junto con pulsadores, interruptores y contactores. Este mtodo de representacin ha tenido profusa difusin entre los automaticistas elctricos en la poca inmediata anterior, donde los dispositivos automticos han estado basados en armarios de rels. Este tipo de representacin grfica se sigue manteniendo ampliamente por los fabricantes de dispositivos basados en lgica programable, procurando de esta manera salvar el inconveniente de tener que formar a personal no expresamente informtico en lenguajes evolucionados de alto nivel. Por ello pasamos a mostrar los elementos fundamentales de la lgica de contactos y la representacin mediante el siguiente cuadro :
FUNCIN Nemnicos Y AND O OR Complemento

Representacin Booleana . + X

Norma CEI

Norma & Francesa Norma NEMA

DIN 40713 16

1.1

Elementos de entrada

Los elementos de entrada pueden ser pulsadores, interruptores, captadores tales como finales de carrera, detectores de proximidad, etc. Son los dispositivos fsicos mediante los cuales el automatismo realiza la observacin de las variables de entrada. Por tanto, se debe asociar a dichos elementos las variables de entrada de cuya combinacin resultar una funcin lgica que activar o no la salida correspondiente. Las variables de entrada pueden ser clasificadas como : * Variables de entrada directa * Variables de entrada inversa La variable de entrada directa, da un "1" lgico cuando es activada. La variable de entrada inversa, da un "0" lgico cuando es activada. Se representar pues como una variable negada. Segn donde se realice la observacin del automatismo, las variables de entrada pueden clasificarse como : * * Variable de entrada pura Variable de salida realimentada

La variable de entrada pura, proviene de acciones de mando del operador, o bien de la lectura de los elementos de entrada. La variable de salida realimentada, proviene de la realimentacin de una variable de salida y posterior consideracin como variable de entrada. Esto puede tener lugar en automatismos que deban ser tratados segn la lgica secuencial sncrona o asncrona.

Norma DIN Variable de entrada directa ( normalmente abierta ) Variable de entrada inversa ( normalmente cerrada ) Yo Xo

Norma NEMA Xo

Norma CEI Xo

Xo

Xo

Xo

Yo

Yo

Variable de salida

1.2 Elementos de salida Los elementos de salida debern ser asociados a las variables de salida de las funciones lgicas. Casi siempre vendrn implementadas fsicamente por el circuito de mando de un rel o de un contactor

1.3 Asociacin de elementos Los diversos elementos bien sean normalmente abiertos o normalmente cerrados, pueden conectarse de forma asociada formando diversas funciones lgicas 1.3.1 Funcin lgica O Se trata de la conexin en paralelo de diversos elementos de entrada a1 a2 a3 y = a1 + a2 + a3 y

1.3.2 Funcin lgica Y Se trata de la conexin en serie de diversos elementos de entrada

a1

a2

a3

y = a1 . a2 . a3

1.3.3 Funcin O lgica de funciones Y Corresponde a la conexin en paralelo de dos o ms ramas en serie a1 a2 a3 y a4 a5 a6

y = ( a1 . a2 . a3 ) + ( a4 . a5 . a6 )

1.3.4 Funcin Y lgica de funciones O Corresponde a la conexin en serie de conjuntos de dos o ms ramas en paralelo

a1

a3 y

a2

a4

y = ( a1 + a2 ) . ( a3 + a4 ) A partir de las funciones bsicas enumeradas, se pueden establecer combinaciones entre ellas de diversa complejidad 2 Lgica de funciones

Los sistemas digitales se caracterizan por funcionar de modo binario, es decir, emplean dispositivos mediante los cuales solo son posibles dos estados. Por tanto, al transistor solo le vamos a permitir trabajar en la zona de corte o en la de saturacin, nunca en la zona activa ( ideal para el uso del transistor como amplificador ). Esta naturaleza biestable ( todo - nada ) o nivel alto - nivel bajo de muchos dispositivos industriales hace posible tratar su funcin mediante un clculo matemtico que solo opere con dos valores "0" y "1" Existen dos sistemas lgicos distintos : Lgica positiva : Cuando el estado alto coincide con el "1" lgico y el estado bajo con el "0" lgico Lgica negativa : Cuando el estado alto coincide con el "0" lgico y el estado bajo con el "1" lgico El desarrollo de los distintos bloques lgicos se puede realizar con elementos de alguna de las siguientes familias lgicas : * * * * * Familia RTL : Familia DTL : Familia TTL : Familia ECL : Familia C-MOS Lgica transistor - resistencia Lgica transistor - diodo Lgica transistor - transistor Lgica acoplada por emisor

2.1

Funcin "O" u "OR" ( Suma lgica ) La funcin, puerta o dispositivo OR se caracteriza porque proporciona una salida "1" siempre que sea "1" el estado de al menos una de las variables de entrada, es decir, realiza la suma lgica

S=A+B

Los smbolos ms generalizados para la representacin de la funcin lgica "OR " son : S=A+B A B C S=A+B+C

A B

La representacin de todas las combinaciones posibles de las variables de entrada y su repercusin en las salidas se expresa mediante una tabla llamada " Tabla de verdad " Tabla de verdad A 0 0 0 0 1 1 1 1 2.2 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S 0 1 1 1 1 1 1 1 Representacin grfica de una ecuacin lgica con todas las combinaciones posibles de sus variables binarias ( 0, 1 ) y el resultado final N combinaciones = 2n

Funcin "Y" O "AND" ( Producto lgico ) La funcin AND se caracteriza porque la salida es "1" solamente cuando todas las variables de entrada son "1", realiza pues el producto lgico

S=AB

A B

&

S=AB

A B C

S=ABC

Tabla de verdad

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

S 0 0 0 0 0 0 0 1

2.3

Funcin NOT ( Negacin, inversin o complemento ) Representa el valor inverso de la variable o funcin. Grficamente, se expresa mediante una rayita o barra colocada encima de la variable o funcin Si A = 1, Si A = 0, A A A ser A = 0 ser A = 1 A

S=A

Tabla de verdad

A 0 1

S 1 0

2.4.-

Funcin NOR ( NO-O ) Si despus de efectuar una operacin "OR", realizamos una inversin, obtendremos la funcin NO - O o NOR S= A+B=AB A 0 0 1 1 B 0 1 0 1 S 1 0 0 0 A B 1 S=A+B

Tabla de verdad

A B

S=A+B

2.5

Funcin NAND ( NO - Y ) Si despus de efectuar una operacin AND, realizamos una inversin, obtenemos la funcin NO - Y o NAND S= AB=A+B

A B

&

S=AB

A B S=AB

S=AB

A B A 0 0 1 1 B 0 1 0 1 S 1 1 1 0

Tabla de verdad

2.6

Funcin OR - Exclusiva ( XOR ) La salida es "1" cuando las entradas estn en distinto estado S= AB=AB+AB

A B

=1

S=A + B

A B

S=A + B

Tabla de verdad

A 0 0 1 1

B 0 1 0 1

S 0 1 1 0

2.7

Funcin NOR - Exclusiva ( XNOR ) La salida es "1" cuando las entradas estn en el mismo estado S= A B=AB+AB

A B A 0 0 1 1 B 0 1 0 1

S=A

Tabla de verdad

S 1 0 0 1

2.8

Funcin IGUALDAD Se trata de una puerta lgica de igualdad, lo que quiere decir que su salida siempre tiene el mismo valor que su entrada. Es utilizada como amplificador digital S= A

Tabla de verdad

A 0 1

S 0 1

LGICA NEUMTICA

Las vlvulas neumticas realizan distintas funciones lgicas conectndolas adecuadamente. Las funciones lgicas ms complejas pueden realizarse tambin mediante la conexin de varias vlvulas El esquema lgico contiene todos los elementos necesarios y sus lneas para el funcionamiento de la mquina. En neumtica, se indican adems, todos los acoplamientos de aire comprimido ( P ) y sus escapes.

3.1

Funcin "O" u "OR" ( Vlvula selectora de circuito )

La vlvula selectora de circuito es necesaria cuando desde dos o ms puntos de emisin de seal ha de quedar accionado el mismo proceso. S=A+B Los smbolos ms generalizados para la representacin de la funcin lgica "OR " son : A B S=A+B A B C S=A+B+C

La representacin neumtica de la funcin OR es la siguiente :


2 (A) 12 ( X ) 14 ( Y )

Tabla de verdad

A 0 0 1 1

B 0 1 0 1

S 0 1 1 1

Ejemplo : Mando de un cilindro de simple efecto desde dos puntos diferentes


1.0

2 12 1.6 14

2 1.2 1 3 1

2 1.4 3

No es posible la conexin en paralelo de vlvulas para obtener la funcin "OR", ya que de no existir la vlvula selectora de circuito, al accionar las vlvulas 1.2 1.4, el aire escapara a travs de la purga de la otra vlvula.

Si se desea llevar varias seales hacia la misma salida, es necesario conectar vlvulas selectoras en paralelo ( ya que siempre existen solo dos entradas por vlvula ) Ejemplo : 4 seales e1......e4 han de accionar el mismo proceso Nmero necesario de vlvulas Nv en una salida S Nv = Ne - 1 Ne = n de seales de entrada

Las posibilidades de conexionado de vlvulas selectoras que se representan en la siguiente figura son totalmente equivalentes en cuanto a la lgica. En la prctica sin embargo, conviene aplicar preferentemente la posibilidad a), ya que aqu las seales de entrada han de pasar por el mismo nmero de resistencias ( vlvulas ). Una composicin totalmente simtrica sin embargo, slo es posible con 2, 4, 8, 16 ... etc. seales de entrada. Se tienen las dos posibilidades de conexin siguientes
Posibilidad A 12 2 12 14 12 S 2 14 2 14

e1

e2 e3

e4

Posibilidad B

S 2 12 2 12 14 14

2 12 14

e1

e2

e3

e4

3.2

Funcin "Y" O "AND" ( Vlvula de simultaneidad ) La funcin AND se caracteriza porque la salida es "1" solamente cuando todas las variables de entrada son "1", realiza pues el producto lgico S=AB

A B

&

S=AB

A B C

S=ABC

La representacin neumtica de la funcin AND es la siguiente 2 12 14

Tabla de verdad

A 0 0 1 1

B 0 1 0 1

S 0 0 0 1

En neumtica existen en principio, 3 posibilidades de realizar la funcin Y 1 Posibilidad : Por conexin en serie S 2 1.4 1 2 1.2 1 Ventajas : 3 Coste ms bajo de elementos, solucin ms econmica 3

Desventajas : En la prctica, a menudo conducciones muy largas entre los rganos de seal. La seal de la vlvula 1.4 no se puede co-utilizar en otras combinaciones de seales, ya que slo tiene energa en conexin Y con la vlvula 1.2

2 Posibilidad : Por vlvula de simultaneidad


S 2 12 1.6 2 1.2 1 3 1 3 2 1.4 14

Ventajas :

Las seales de las vlvulas 1.2 y 1.4 pueden co-utilizarse a voluntad en otras combinaciones de seales, ya que ambos rganos de seal quedan abastecidos directamente con energa. Ambas lneas de seal pueden llevarse por el trecho ms corto a la vlvula de simultaneidad 1.6

Desventajas : El gasto en componentes es mayor que en la 1 posibilidad. En cuanto a la energa resulta que en la salida de la vlvula de simultaneidad aparece siempre la seal ms dbil 3 Posibilidad : Con vlvula de accionamiento neumtico de 3/2 vas cerrada en reposo
S 2 1.6 1 3

2 1.2 1 3 1.4

2 3

Ventajas :

Todas las ventajas de la 2 posibilidad. Adicionalmente existe aqu la posibilidad de conectar la seal dbil en el empalme 12 y la seal fuerte en el empalme 1 de la vlvula 1.6. Con ello est garantizado que la seal fuerte aparezca en la salida 2 ( efecto de amplificacin )

Desventajas : Mayor gasto de componentes Cuando en la prctica hace falta una operacin Y con ms de dos entradas, rige anlogamente lo mismo que en el accionamiento de vlvulas selectoras de circuito.

Ejemplo : El proceso debe realizarse solamente cuando existan 5 seales e1...e5 El nmero de vlvulas de simultaneidad necesarias resulta ser : Nv = Ne - 1 = 5-1 = 4 Ne = nmero de seales de entrada

La siguiente figura muestra las dos posibilidades de conexionado de vlvulas de simultaneidad. Tambin aqu conviene dar la preferencia a la posibilidad a), como en las vlvulas selectoras de circuito. Posibilidad a

S 2 14 2 14 12 12 14 2 14

12 2 12

e1

e2

e3

e4

e5

Posibilidad b 12 2 12 2 12 2 12 14 14 14

S 2 14

e1

e2

e3

e4

e5

Ejemplo de funcin Y : El vstago de un cilindro de doble efecto ha de salir nicamente en el caso en que se accione un pulsador y al mismo tiempo se disponga de la informacin de un estado determinado de la instalacin ( por ejemplo presencia de material ). El retroceso del cilindro se producir por medio de un final de carrera situado en la posicin final delantera del vstago.
1.3 1.0

4 12 1.1 2 12 1.6 1.2 1 2 3 1.4 1 2 14 1

2 14 3

1.3 3 1

2 3

3.3

Funcin NO ( Negacin, inversin o complemento )

Representa el valor inverso de la variable o funcin. Grficamente, se expresa mediante una rayita o barra colocada encima de la variable o funcin. En neumtica, si se ha de realizar un proceso cuando la seal de mando tenga valor "0", hace falta una vlvula que emita seal "1" por la salida cuando la seal de mando es "0" Si A = 1, Si A = 0, A A A ser A = 0 ser A = 1 A

S=A

La representacin neumtica de la funcin NO es la siguiente : S 10 1 2 Vlvula de 3 vias abierta en reposo 3

S S = 1, si A = 0 B A Smbolo funcin NO de Parker A 0 1

S S=A.B S = 1, si B = 1 y A = 0 A Conexionado en inhibicin S 1 0

&

&

Tabla de verdad

Ejemplo de funcin NO : Ha de sonar una seal acstica si un dispositivo de proteccin no est cerrado. Bocina 1.0

1.1 10 1 1.2 2

3.4

Funcin NOR ( NO-O )

La funcin se obtiene por inversin de la funcin OR S= A+B=AB A 0 0 1 1 B 0 1 0 1 S 1 0 0 0 A B 1 S=A+B

Tabla de verdad

A B

S=A+B

Neumticamente la funcin NOR se puede realizar con el siguiente montaje S 2 10 2 A 12 14 B 1 3

3.5

Funcin NAND ( NO - Y ) La funcin se obtiene por inversin de la puerta AND S= AB=A+B

A B

&

S=AB

A B B 0 1 0 1 S 1 1 1 0

S=AB

Tabla de verdad

A 0 0 1 1

Con elementos neumticos, la funcin NAND se realiza con el siguiente montaje S 1 Posibilidad 2 10 1 2 A 12 14 B A 1 B 3 3 2 2 Posibilidad 2 10 1 3 S

3.6

Funcin OR - Exclusiva ( XOR ) La salida es "1" cuando las entradas estn en distinto estado S= AB=AB+AB

A B

=1

S=A + B

A B

S=A + B

Tabla de verdad

A 0 0 1 1

B 0 1 0 1

S 0 1 1 0

Con elementos neumticos, la funcin XOR se realiza con el siguiente montaje S 2 1 14 10 2 1 3 1 2 3 3

2 12

3.7

Funcin NOR - Exclusiva ( XNOR ) La salida es "1" cuando las entradas estn en el mismo estado S= A B=AB+AB

A B A 0 0 1 1 B 0 1 0 1

S=A

Tabla de verdad

S 1 0 0 1

Con elementos neumticos, la funcin XNOR se puede realizar con el siguiente montaje
S 2 12 14

2 10 1 2 12 14 3 10 1

3.8

Funcin IGUALDAD La salida siempre tiene el mismo valor que la entrada. Es utilizada como regenerador

S= A

Tabla de verdad

A 0 1

S 0 1

En neumtica, la funcin igualdad puede obtenerse, bien con una clula lgica o bien utilizando una vlvula 3/2 vas cerrada en reposo, tal como se indica en la siguiente figura S 2 A 10 1 S 3 Vlvula de 3 vias cerrada en reposo

S=A ( regenerado ) A

Smbolo funcin SI de Parker

IMPLEMENTACIN DE FUNCIONES

Se denomina implementar una funcin, a realizar el circuito que cumpla la ecuacin de dicha funcin. Obtenida la ecuacin lgica de funcionamiento del circuito de mando de un automatismo, se puede elegir la tecnologa a utilizar ( contactos, puertas lgicas, neumtica, hidrulica ), teniendo en cuenta que cada una de estas tecnologas tiene elementos para realizar las distintas funciones lgicas, pero asimismo, no todas las funciones pueden realizarse de forma econmica con cualquier tecnologa. Cada tecnologa posee funciones caractersticas que son ptimas desde el punto de vista econmico y tecnolgico 4.1 Implementacin de funciones lgicas con contactos

Cuando se desea implementar la ecuacin de funcionamiento del circuito de mando de un automatismo con contactores y pulsadores, se deben tener en cuenta las siguientes normas : * Cada ecuacin se implementar con un contactor o rel * Las entradas de la ecuacin se realizan con contactos ( interruptores, pulsadores o contactos auxiliares de los contactores ) * Cuando en una ecuacin aparece como entrada una salida, dicha entrada se realiza con un contacto auxiliar del contactor que implementa dicha ecuacin * Las multiplicaciones de variables en una ecuacin equivalen a poner en serie los elementos que representan dichas variables * Las sumas de variables en una ecuacin equivalen a poner en paralelo los elementos que componen dicha suma * Las negaciones de variables en una ecuacin equivalen al empleo de elementos ( pulsadores o contactos ) normalmente cerrados * Las negaciones de grupos de variables no pueden implementarse directamente, precisando de la aplicacin del lgebra de Boole para su reduccin a variables simples. Ejemplo : A+B+C=ABC Problema : Implementar, con pulsadores solamente, la siguiente ecuacin lgica de un automatismo : S=A.B.(C+D) Solucin : Cuando se implementa un circuito slo con pulsadores, cada una de las variables de entrada estar representada por un pulsador que, segn se encuentre negada o no, corresponder a un pulsador normalmente cerrado o normalmente abierto

La implementacin del circuito se realiza representando en primer lugar la alimentacin. En serie con ella se representa el circuito equivalente en pulsadores - a la ecuacin de funcionamiento - y, por ltimo, tambin en serie, el receptor cuya funcionamiento define la ecuacin. En nuestro caso, tenemos 4 variables de entrada asociadas de la siguiente forma : Las variables C y D bajo la forma de suma que se representarn, por tanto, con dos pulsadores en paralelo. El correspondiente a C ser normalmente cerrado, por encontrarse esta variable negada, mientras que el correspondiente a D ser normalmente abierto Las variables A y B bajo la forma de producto en conjunto con el bloque ( C + D ) sern representadas por dos pulsadores en serie, en conjunto con el bloque anterior. El pulsador de A ser normalmente cerrado

C Receptor S

D Alimentacin

4.2

Implementacin de funciones con puertas lgicas

A partir de la ecuacin de funcionamiento del automatismo, se puede implementar la funcin con la utilizacin de las puertas lgicas ya descritas. Sin embargo, ello requerira la disponibilidad de toda la serie de circuitos integrados digitales. De otra parte, todas las funciones bsicas pueden ser sustituidas por las puertas NAND y NOR. Este aspecto es muy importante dado que casi todos los circuitos tienden a realizarse mediante este tipo de puertas, con el fin de simplificar el montaje de aquellos problemas digitales en los que intervienen sumas, productos, negaciones, etc., que supondran bastantes tipos de funciones especficas a realizar por un solo elemento que la ejecute, complicando sobremanera su montaje. Mediante la correcta utilizacin del teorema de De Morgan, se puede resolver cualquier ecuacin con estas dos funciones.

Equivalencias entre puertas lgicas

Funcin

Puertas NAND

Puertas NOR

a b

a b

a S b S

a a b S b S a b S

a a b S b S

a a b S b S

4.2.1 Implementacin de funciones con puertas NAND El proceso es el siguiente : 1.- Una vez obtenida la expresin correspondiente del problema, se realiza a todo el conjunto una doble inversin o negacin 2.- Si en la expresin resultante existe algn producto, las dos negaciones deben dejarse tal cual. Si por el contrario, es una suma, aplicaremos el teorema de De Morgan sobre dicha suma 3.- Se continua realizando el proceso anterior hasta la obtencin de una funcin compuesta exclusivamente por productos negados.

Como ejemplo, vamos a realizar la implementacin mediante puertas NAND de la funcin OR Funcin OR ----------- S = a + b Con puertas NAND : S = a + b ............ ( 1 ) S = a b............... ( 2 ) y ( 3 )

que, representado lgicamente, sera la funcin existente en la tabla de equivalencias 4.2.2 Implementacin de funciones con puertas NOR El proceso es el siguiente : 1.- Una vez obtenida la expresin correspondiente del problema, se realiza a todo el conjunto una doble inversin o negacin 2.- Si en la expresin resultante existe alguna suma, las dos negaciones deben dejarse tal cual. Si por el contrario, es un producto, aplicaremos el teorema de De Morgan sobre dicho producto 3.- Se continua realizando el proceso anterior hasta la obtencin de una funcin compuesta exclusivamente por sumas negadas. Como ejemplo, vamos a realizar la implementacin con puertas NOR de la funcin Y Funcin Y ----------- S = a b Con puertas NOR : S = a + b ............ ( 1 ) S = a b............... ( 2 ) y ( 3 )

obteniendo la representacin lgica mostrada en la tabla de equivalencias de puertas 4.3 Implementacin de funciones con elementos neumticos Cuando se desea implementar la ecuacin de funcionamiento del circuito de mando de un automatismo con elementos neumticos, se deben tener en cuenta las siguientes normas : * * Las entradas de la ecuacin se realizan con vlvulas distribuidoras ( vlvulas de vas, en sus diversas disposiciones ) Las multiplicaciones de variables en una ecuacin equivalen a poner en serie los elementos que representan dichas variables. Se puede utilizar : bien la conexin en serie de vlvulas, o bien usar las vlvulas de simultaneidad Las sumas de variables en una ecuacin equivalen a poner en paralelo los elementos que componen dicha suma. En este caso conviene utilizar las vlvulas selectoras de circuito

Las negaciones de variables en una ecuacin equivalen al empleo de elementos ( vlvulas ) normalmente abiertas. Aqu, para realizar la funcin, se dispone de : vlvulas de vas normalmente abiertas, funcin NO y funcin Inhibicin. Las negaciones de grupos de variables no pueden implementarse directamente, precisando de la aplicacin del lgebra de Boole para su reduccin a variables simples. Ejemplo : A+B+C=ABC

Problema : Implementar, con elementos neumticos solamente, la siguiente ecuacin lgica de un automatismo : S = P1 . I1 + P0

P1

I1

P0

TEMA 3 : LGEBRA DE BOOLE

El fin de toda lgebra o sistema matemtico es el de representar, mediante una serie de smbolos y operaciones un grupo de objetos o elementos con el fin de obtener una serie de ecuaciones escritas en forma simblica, que mediante su manipulacin y/o simplificacin correctas nos den la solucin de un sistema con el menor nmero de elementos posible, de modo que sea idntica a la dada. El filsofo y matemtico George Boole desarroll a mediados del siglo XX un sistema matemtico basado en relaciones lgicas, estableciendo una serie de postulados y operaciones con la misin de resolver los automatismos o procesos a ejecutar. La diferencia entre el lgebra convencional y el lgebra de Boole es que esta ltima est relacionada con dos operaciones binarias lgicas, como son la suma ( + ) y el producto ( . ) lgicos, y con las variables "0" y "1"; mientras que la convencional necesita de relaciones cuantitativas, es decir, necesitamos saber si X es mayor que Y por ejemplo. Basado en estas relaciones lgicas, su lgebra da a todos sus elementos dos nicos valores ( 0 y 1 ) que son opuestos entre s. 1 AXIOMAS DEL LGEBRA DE BOOLE

En este punto, se indican todos aquellos postulados o teoremas que relacionan el lgebra de Boole, apoyndonos en la representacin de contactos elctricos para una mayor comprensin. Recordemos que el signo suma (+) en el lgebra de Boole equivale, traducido al lgebra de contactos elctricos, a un circuito paralelo, mientras que el signo producto (.) equivale al circuito serie.

Operacin

Expresin Booleana a+b

Contactos elctricos a

Suma

b a Producto a.b b

Significar que la operacin producto se indica generalmente mediante la ausencia de smbolo entre dos variables. Tambin : a b = ab 1 lgico equivale a contacto cerrado 0 lgico equivale a contacto abierto

1.1 1.-

Postulados y teoremas Las operaciones suma y producto son conmutativas : a a) a+b=b+a b a b b = a a b

b)

ab = ba

2.-

Ambas operaciones son asociativas : a) b) (a+b)+c=a+(b+c)=a+b+c ( ab ) c = a ( bc ) = abc

3.-

Ambas operaciones son distributivas : a a = b c b = c a c b a b c a

a)

a + bc = ( a + b ) ( a + c )

b)

a ( b + c ) = ( ab ) + ( ac )

4.-

La suma o producto de dos variables iguales equivale a la misma variable a a) a+a= a a a a a = = a

b)

a.a = a

5.-

Existe elemento complementario para cada operacin : a a) a+ a=1 a a a 0 = = 1

b)

a.a = 0

6.-

Ley de absorcin a a) a + ab = a a a b a = b a = a

b)

a(a+b)= a

7.Existen dos elementos neutros, el 0 y el 1, cumplindose la propiedad en dos de los casos, quedando como 1 y 0 lgicos en los otros dos :

a)

a.1= a

a =

a b) a+0= a 0 a c) a.0= 0 0 =

a d) a+1= 1 1 =

8.-

Para todo elemento del lgebra de Boole se cumple que : = a = a Lo que queda perfectamente aclarado comprobando su tabla de verdad _ a 1 0 = a 0 1

a 0 1

9.-

Postulado noveno a a) a+ab=a+b a a a = b Demostracin a) b) a+ab=(a+a)(a+b)=1(a+b)=a+b a(a+b)=aa+ab=0+ab=ab b a = b b a

b)

a(a+b)= ab

TEOREMA DE DE MORGAN

Permite transformar funciones " suma " en funciones " producto " y viceversa.

a)

A+B=AB

c)

A+B=AB

b)

AB=A+B

d)

AB=A+B

* * * *

La ecuacin a) nos demuestra que podemos conseguir una puerta NOR invirtiendo las entradas de una puerta AND La ecuacin b) nos demuestra que podemos obtener una puerta NAND invirtiendo las entradas de una puerta OR La ecuacin c) nos demuestra que podemos obtener una puerta OR invirtiendo las entradas de una puerta NAND La ecuacin d) nos demuestra que podemos obtener una puerta AND invirtiendo las entradas de una puerta NOR

Los teoremas del lgebra de Boole son demostrables por el mtodo de induccin completa que consiste en comprobar que la relacin entre los elementos que el teorema define, se cumplen en todos los casos posibles. Para poder realizar esto, se utilizan las tablas de verdad. Por ejemplo : Vamos a demostrar la ley de absorcin a+a.b=a Cuya tabla de verdad es la siguiente :

a 0 0 1 1

b 0 1 0 1

a+a.b 0+0.0=0 0+0.1=0 1+1.0=1 1+1.1=1

a 0 0 1 1

Existen infinidad de teoremas en el lgebra de Boole, tantos como puedan ser demostrados por el mtodo referido, sin embargo, los indicados anteriormente se encuentran entre los ms importantes por su utilidad. Por otra parte, siempre que se cumple una ley o teorema en el lgebra de Boole, se cumple tambin su forma dual; es decir, la expresin que se obtiene cambiando solamente las operaciones de suma por las de producto y las de producto por las de suma. Las formas duales de las leyes y teoremas bsicos se indican en la siguiente tabla.

Nombre de la Ley Ley de absorcin Teorema Morgan de

Forma bsica a+a.b=a

Forma dual A.(a+b)=a _______ _ _ _ ( a . b . c ... ) = a + b + c + ... _ _ (a+b).(a+c)=a.c+a.b _ _ _ _ (a+b).(a+b)=a.b+a.b _ a.(a+b)=a.b _ _ a.(a+b)=a.b _ ( a+b ) . ( a + b + c ) = ( a+b ) . ( a+c) _ _ (a + b) (a + c) (b + c ) = (a + b) (a+ c) _ (a+b).(a+b)=a (a+b).(a+c)=a+(b.c)

De __________ _ _ _ ( a + b + c + ... ) = a . b . c ... _ _ a.b+a.c=(a+c).(a+b) _ _ _ _ a.b+a.b=(a+b).(a+b) _ a+a.b=a+b _ _ a+a.b=a+b _ a.b+a.b.c=a.b+a.c _ _ a.b+a.c+b.c=a.b+a.c _ a.b+a.b=a a.b+a.c=a.(b+c)

Leyes de transposicin

Leyes varias

FORMAS DE UNA FUNCIN BOOLEANA

Una funcin Booleana se puede expresar de las siguientes formas : a) b) Mediante la expresin lgica : F = c + b a Mediante la tabla de verdad. Ejemplo : F ( c, b, a ) = c b + c a

c 0 0 0 0 1 1 1 1

b 0 0 1 1 0 0 1 1

A 0 1 0 1 0 1 0 1

F 0 1 0 1 0 0 1 1

c)

Mediante los trminos cannicos. Se tienen las siguientes estructuras : * Ecuacin con estructura minterms : Esta ecuacin est estructurada como una suma de trminos en forma de productos de las diferentes variables que intervienen en la ecuacin. Por ejemplo : x=abc+abc+abc * Ecuacin con estructura maxterms : Se dispone como un producto de trminos en forma de suma de las diferentes variables que intervienen en la ecuacin. Por ejemplo : y = ( a + b + c ) . ( a + b + c ) .( a + b + c )

Tanto en una estructura como en la otra, todos los trminos han de contener todas las variables que intervienen en la ecuacin Suele utilizarse tambin una segunda forma cannica, llamada numrica. Se asigna a cada trmino cannico un nmero decimal que es el equivalente binario que se obtiene de sustituir las variables segn el siguiente criterio : A las variables que aparecen de forma directa 1 A las variables que aparecen de forma negada 0 Ejemplo : Supongamos una funcin F expresada en minterms :

F = c b a + c b a + c b a + c b a = ( 1, 3, 5, 7 ) 3

111 (7) 101 (5) 011 (3) 001 (1) Si viene expresada en forma de maxterms : F = ( c + b + a ) . ( c + b + a ) . ( c + b + a ) . ( c + b + a ) = II ( 1, 3, 5, 7 ) 3

4 a)

CONVERSIN ENTRE FORMAS Para pasar de la tabla de verdad a la expresin cannica algebraica en forma de suma de productos, se parte de la tabla de verdad y, aquellas combinaciones que hacen "1" la funcin se toman con el criterio expuesto anteriormente.
c 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 a 0 1 0 1 0 1 0 1 F 0 1 0 1 0 0 1 1

c.b.a c.b.a

c.b.a c.b.a

luego b)

F = c . b . a + c . b . a + c . b . a + c . b . a = ( 1, 3, 6, 7 ) 3 Para pasar de la forma cannica algebraica o numrica de minterms a la tabla de verdad se procede al contrario, poniendo un "1" en las combinaciones correspondientes a los minitrminos. Para pasar de la tabla de verdad a la expresin cannica algebraica producto de sumas, se parte de la tabla de verdad y aquellas combinaciones que hacen "0" la funcin se toman con el criterio inverso al anterior ( las variables que valgan "0" se toman directas y las que valgan "1" complementadas. En el ejemplo anterior : F = ( c + b + a ) . ( c + b + a ) . ( c + b + a ) . ( c + b + a ) = II ( 2, 3, 5, 7 ) 3

c)

d)

Para pasar directamente de una forma cannica de minterms a maxterms y viceversa, se obtiene la conversin mediante el complemento a 2n-1 de los trminos que no pertenecen a la funcin, siendo n el nmero de variables de la funcin Ejemplo : ( 1, 3, 6, 7 ) ----- faltan los trminos 0, 2, 4, 5 3 2n-1 = 23 - 1 = 8 - 1 = 7....... 7 - 0 = 7 7-2=5 7-4=3 7-5=2

F = II ( 2, 3, 5, 7 ) 3

e)

Para convertir una expresin no cannica en cannica se procede de la siguiente manera : * * A los productos que no sean cannicos se les multiplica por la forma directa y complementada de las variables que faltan A las sumas que no sean cannicas se les suma el producto de la forma directa y complementada de las variables que falten

Ejemplo : Transformar en la forma cannica minterms la siguiente ecuacin : F=a.b.c + a + b.d Solucin : A los productos que no sean cannicos, por faltarles algn trmino, se les multiplica por el trmino ( a + a ), ( b + b ), (c + c ) o ( d + d ), que les falte. Por tanto, la funcin anterior se transforma en : F = a . b . c . ( d + d ) + a . ( b + b ) (c + c ) ( d + d ) + b . d . ( a + a ) . ( c + c )

SIMPLIFICACIN DE FUNCIONES

Existen dos procedimientos bsicos para simplificar las ecuaciones Booleanas : * * 5.1 Mtodo algebraico Mtodos tabulares y grficos Mtodo algebraico

Este mtodo consiste en ir aplicando las propiedades del lgebra de Boole hasta conseguir la reduccin total. El criterio ms extendido consiste en obtener una expresin de un sistema cualquiera de las dos formas ya conocidas : como sumas de productos o como productos de sumas; de forma que tenga el menor nmero de trminos y de variables, para obtener una expresin que realice exactamente la misma funcin planteada en el problema. Ejemplo : Simplificar la funcin F=abcd+abcd+abcd+abcd

Aplicando los axiomas del lgebra de Boole, obtenemos : abcd+abcd=abc(d+d)=abc(1)=abc abcd+abcd=abc (d+d)=abc (1)=abc F=abc+abc y repitiendo el proceso anterior de donde

abc+abc =ab(c+c)=ab (1)=ab

F=ab

5.2

Mtodos tabulares de simplificacin

Los mtodos ms empleados en la simplificacin de funciones son : * Tablas de Karnaugh : Se pueden utilizar para simplificar funciones de dos a seis variables, aunque habitualmente slo se emplee para funciones de dos a cinco variables. Tablas de Quine-McCluskey : Se puede emplear en la simplificacin de ecuaciones de cualquier nmero de variables, pero se suelen utilizar solamente a partir de cinco variables

5.2.1 Tablas de Karnaugh Es un mtodo de simplificacin de funciones sencillo y rpido de manejar. Se aconseja no utilizarlo para ms de 4-5 variables puesto que entraa ms dificultades que ventajas a la hora de resolverlo. Para epigrafiar las tablas de Karnaugh se hace uso de un cdigo progresivo, normalmente se emplea el cdigo Gray. El cdigo Gray se caracteriza porque dos nmeros consecutivos solo se diferencian en un dgito o bit, lo que no ocurre con el cdigo binario natural

Decimal 0 1 2 3 4 5 6 7

Binario natural 000 001 010 011 100 101 110 111

Binario Gray 000 001 011 010 110 111 101 100

El cdigo binario natural es til para el clculo matemtico, pero no para ciertas aplicaciones, por ejemplo para la codificacin de las informaciones procedentes de los transductores analgicos, ya que el retraso de alguno de los bits dara lugar a una codificacin transitoria errnea. El cdigo Gray es continuo y cclico porque el ltimo trmino, como veremos, cumple la progresividad con el, primero. Tambin es reflexivo porque puede generarse por reflexin sobre un eje, siendo precisamente la propiedad reflexiva la que utilizaremos para obtener el cdigo Gray : Para una sola variable se tiene : 0 1 ---------1 0

Haciendo girar el cdigo anterior sobre el eje "X" y aadiendo " ceros " a la izquierda de las posiciones antiguas y " unos " a la izquierda de las reflejadas, se tiene el cdigo para 2 variables : 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0

0 0 1 1

0 1
Para 3 variables

0 0 0 0 1 1 1 1

0 0 1 1 1 1 0 0

0 1 1 0 0 1 1 0

----------------

--------------------------- Para 4 variables

-------------------------------

1 0

Siguiendo con el mismo procedimiento se puede obtener el cdigo Gray para cualquier nmero de variables Las tablas de Karnaugh estn constituidas por una cuadrcula en forma de encasillado cuyo nmero de casillas depende del nmero de variables que tenga la funcin a simplificar. Cada una de las casillas representa las distintas combinaciones de las variables que puedan existir. ab cd a b 0 1 0 1 c 0 1 ab 00 01 11 10 00 01 11 10 Para 2 variables Para 3 variables Para 4 variables

00

01

11

10

Cada una de las casillas que forman la tabla puede representar trminos tanto minterms como maxterms. En la siguiente figura aparece, a modo de ejemplo, la equivalencia de cada una de las casillas de una tabla de 4 variables expresada en trminos minterms y maxterms

cd

ab

00 abcd abcd abcd abcd

01 abcd abcd abcd abcd

11 abcd abcd abcd abcd

10 abcd abcd abcd abcd

00 01 11 10

Trminos Minterms

cd

ab

00 a+b+c+d a+b+c+d a+b+c+d a+b+c+d

01 a+b+c+d a+b+c+d a+b+c+d a+b+c+d

11 a+b+c+d a+b+c+d a+b+c+d a+b+c+d

10 a+b+c+d a+b+c+d a+b+c+d a+b+c+d

00 01 11 10

Trminos Maxterms Cuando se vaya a representar una ecuacin en forma minterms, se pondr un "1" en la casilla correspondiente a cada trmino. Por el contrario, si se representa en forma maxterms, colocaremos un "0" en la casilla correspondiente a cada trmino. Hay que tener en cuenta, que al representar una ecuacin Booleana, sta tiene que estar en su forma cannica ( minterms o maxterms ) completa y, por tanto, todos los trminos han de contener todas las variables que intervienen en la funcin Simplificacin de ecuaciones en tablas de Karnaugh El principio de simplificacin de las tablas se basa en una de las leyes del lgebra de Boole. a.b+a.b=a Como se puede observar en la tabla anterior, todas las casillas contiguas, segn los ejes coordenados, se caracterizan por diferenciarse slo en una variable, que se encuentra negada en una de ellas y sin negar en la otra. Esta caracterstica, que se cumple en todas las tablas, permite aplicar de una forma automtica la ley anterior, consiguiendo as simplificar las casillas contiguas por sus variables comunes El proceso de simplificacin consta de las siguientes etapas : 1 .- Se hace una tabla de 2n celdillas ( siendo n el nmero de variables de entrada ) y se epigrafa con el cdigo Gray 2.- Se numeran los trminos de la ecuacin y este nmero de referencia se coloca en la celdilla cuyo epigrafiado corresponda al trmino considerado. Cuando se desea simplificar una funcin desde su tabla de verdad, no es preciso obtener previamente la ecuacin de la funcin sin simplificar para seguidamente representarla en la tabla y proceder a su simplificacin. En la prctica, se suele representar la funcin, directamente desde la tabla de verdad al mapa de Karnaugh, sin ms que ir colocando los unos o los ceros en las casillas correspondientes a los valores que toma la funcin para cada una de las combinaciones binarias de las variables que forman dicha funcin

3.- Se enlazan con un bucle los grupos de 2, 4, 8, celdillas ( potencias de 2 ) ocupadas si son adyacentes no oblicuas. Cada celdilla puede formar parte de ms de un bucle. Se considera que los lados opuestos de la tabla se estn tocando como si su superficie formara un toroide. Se debe procurar conseguir grupos del mximo nmero de casillas 4.- Los trminos agrupados por los bucles son simplificables entre s y cada grupo dar lugar a un solo trmino, que se obtiene por la regla siguiente : Regla : Cada bucle proporciona un trmino que contiene las variables que no invierten a lo largo de todo el dominio del bucle. Las variables epigrafiadas con "0" llevarn la barra de inversin Ejemplo : Simplificar la siguiente ecuacin S=ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+ABCD 1 2 3 4 5 6 7

ab cd 00 01 11 10

00

01

11 1 2

10

3 4

7 5 6

El bucle 1-2 proporciona el trmino : ABCD ABC ABCD El bucle 3-7-4-5 proporciona el trmino : ABCD ABCD AC ABCD ABCD

El bucle 4-6 proporciona el trmino : ABCD BCD ABCD Luego el resultado es : S=ABC+BCD+AC

Ejemplo 2 : Dada la tabla de verdad de una funcin, obtener la ecuacin ms simplificada

a 0 0 0 0 1 1 1 1

b 0 0 1 1 0 0 1 1

c 0 1 0 1 0 1 0 1

F 1 1 0 0 1 1 1 1

Un punto a tener en cuenta al simplificar una funcin Booleana desde su tabla de verdad es si debemos representar la ecuacin bajo la forma de minterms o maxterms. La norma prctica consiste en representar la ecuacin en la forma cannica que menos trminos tenga en la salida de dicha tabla. Esta norma no impide que a veces se obtengan ecuaciones ms simplificadas representando la forma cannica que ms trminos tiene en la tabla de verdad En este ejemplo, representaremos la forma cannica maxterms por ser la de menos trminos en la tabla de verdad

c 0 1

ab 00

01 0 0

11

10 a+b+c a+b+c (a+b)

Siendo la simplificacin final de la funcin

F=a+b

Estados indiferentes En algunos casos existen combinaciones de variables de entrada que, por razones tecnolgicas o de programa, no se pueden producir, o bien nos encontramos con alguna salida inhibida aunque exista la combinacin de entradas que pueda producirla A estas combinaciones de entrada que, apareciendo en la tabla de verdad de funcionamiento del circuito, no producen en la salida ni 0 ni 1, las denominamos combinaciones indiferentes y se representan en la tabla de verdad mediante los smbolos X o . A su vez estas combinaciones indiferentes dan lugar a trminos indiferentes, que pueden ser representados en las tablas de Karnaugh y se los puede considerar bien como 0 o como 1, segn convenga para la simplificacin Ejemplo : Simplificar por Karnaugh la funcin definida en la siguiente tabla de verdad

a 0 0 0 0 1 1 1 1

b 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

F X 1 0 1 0 1 0 X

Si analizamos la tabla, comprobamos que el nmero de trminos minterms es igual al nmero de trminos maxterms. En estos casos debe intentar simplificarse por ambos tipos de ecuaciones y decidir cual de los resultados es el ms simplificado. c 0 1 ab 00 X 1 1 X 1 01 11 10 c 0 1 ab 00 X 01 0 11 0 X 10 0

abc abc abc abc c

a+b+c a+b+c a+b+c a+b+c c

Azares o " Aleas tecnolgicas " Tericamente la expresin F = A + A = 1 es totalmente cierta, pero en la prctica, debido a las caractersticas de los elementos utilizados en la conmutacin, se puede producir un estado transitorio, conocido por azar o " alea tecnolgica ", durante el cual F=A+A=0 Veamos un ejemplo : Si materializamos con contactos la funcin F = A + A , resulta el circuito siguiente : A 1 F

Puede verse que, al conmutar A, antes de cerrarse el contacto 2 se abre el contacto 1; por tanto, existe un pequeo intervalo de tiempo durante la conmutacin en el que F=A+A=0 La duracin de este transitorio es del orden de milisegundos en los contactores elctricos y del orden de nanosegundos en los elementos electrnicos. Si el receptor es de respuesta lenta no acusar este fenmeno, sin embargo, el citado transitorio puede ocasionar el disparo no deseado de un biestable, un contactor, etc. dando lugar a una maniobra no prevista en el diseo. La forma de eliminar los azares al simplificar una funcin por las tablas de Karnaugh, es aadir a los trminos obtenidos de los bucles normales, otros trminos derivados de nuevos bucles que solapen las celdillas adyacentes pertenecientes a bucles normales distintos. Otra solucin si el circuito se materializa con puertas lgicas consiste en poner un condensador entre la salida del circuito y masa para filtrar los impulsos transitorios. Asimismo, existen sensores electromecnicos ( como pulsadores ) que cierran el contacto abierto antes de abrirse el contacto cerrado. En expresiones del tipo A A = 0 tambin cierta, tericamente, se puede presentar un fenmeno anlogo y su solucin es semejante

5.2.2 Tablas de Quine-McCluskey Cuando las ecuaciones tienen 5 o ms variables es complicado utilizar las tablas de Karnaugh, siendo el mtodo de Quine-McCluskey el ms idneo. Consiste este mtodo en ordenar segn el nmero de "1" que tengan las combinaciones de variables que cumplen la ecuacin. A continuacin se buscan las combinaciones que comparadas con los grupos adyacentes, con un "1" ms o menos, difieran solo en una variable, que en una combinacin estar negada y en la otra sin negar, eliminndose la misma. La funcin Booleana a simplificar ha de venir expresada bajo la forma minterms. El proceso de simplificacin de ecuaciones se lleva a cabo a travs de una serie de operaciones, obtenindose las siguientes tablas : Tabla de agrupamientos base Tabla de agrupamientos de orden : primero, segundo, tercero, etc. Tabla reductora final Para poder comprender el proceso de reduccin, veamos un ejemplo. Supongamos que se desea simplificar la ecuacin ( representada en este caso en forma algebraica ) : X = ABC + ACD + ABCD + ACD 1 Fase.Todos los trminos de la ecuacin lgica han de contener todas las variables ( es decir la ecuacin debe representarse en su forma cannica ). Los trminos que carezcan de alguna variable, sta se incluye realizando la operacin AND del trmino por la variable directa ms la variable negada, teniendo en cuenta que (U+U)=1 Al aplicar esta regla en nuestro ejemplo, se obtiene : X = ABC ( D+D ) + ACD ( B+B ) + ABCD + ACD ( B+B )

X = ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD

2 Fase : Se determina el " ndice " de cada trmino, siendo dicho ndice el nmero de variables sin negar, o de valor "1", que contenga el trmino. As por ejemplo, el primer trmino ABCD ( 0101 ) tiene de ndice 2 y le corresponde el valor decimal de 5, obtenindose por este procedimiento la tabla de agrupamientos base, que representaremos ordenada de menor a mayor por su ndice Trmino ABCD ABCD ABCD ABCD ABCD ABCD ABCD Estado de las Variables 0100 0011 0101 0110 0111 1011 1111 Valor decimal 4 3 5 6 7 11 15 4 3 2 ndice 1

3 Fase :

Se forma una segunda tabla de agrupamientos de primer orden. Esta tabla se obtiene combinando los trminos expresados en la tabla de agrupamientos base, siguiendo la siguiente regla : " Los trminos a combinar no difieren entre s, ms que en el estado de una de las variables, la cual ser sustituida por un guin " Trminos combinados ( valor decimal ) ( 4, 5 ) ( 4, 6 ) ( 5, 7 ) ( 3, 7 ) ( 3, 11 ) ( 6, 7 ) ( 7, 15 ) ( 11, 15 ) Combinacin 01001-0 01-1 0-11 -011 011-111 1-11 ndice 1 2 3

4 Fase :

Se forma una nueva tabla de agrupamientos de segundo orden. Las nuevas combinaciones dispondrn por lo tanto de dos guiones, uno correspondiente a la lista anterior ms el de la nueva variable que cambia de estado en la nueva tabla. Cuando en una tabla aparecen trminos repetidos, se pueden eliminar, si bien, conservando siempre su procedencia Trminos combinados ( valor decimal ) ( 4, 5 ) , ( 6, 7 ) ( 4, 6 ) , ( 5, 7 ) ( 3, 7 ) , ( 11, 15 ) ( 3, 11 ) , ( 7, 15 ) Combinacin 01-01-- ( Se elimina ) --11 --11 ( Se elimina ) ndice 1 2

El proceso de reduccin debe realizarse hasta que no sea posible realizar ms agrupamientos; obtenindose en ese momento la tabla reductora final 5 Fase : Se forma la tabla reductora final con los agrupamientos de orden superior realizados. Si con ellos no estn cubiertos todos los trminos de la tabla de agrupamientos base, se aadirn agrupamientos del orden inmediatamente inferior, y as sucesivamente, hasta que estn cubiertos todos los trminos A B C D 0 1 - - - 1 1 3 4 5 6 7 11 15 X X X X X X X X

La ecuacin simplificada se forma mediante la suma lgica de los trminos no eliminados, empleando el convenio de las ecuaciones minterms ( 0 = variable negada y 1 = variable sin negar ), de manera que todos los trminos de la tabla de agrupamientos base estn incluidos. Por tanto, en nuestro caso la ecuacin final es : X = AB + CD

TEMA 4 : GRAFCET

INTRODUCCIN

Los mtodos de sntesis basados en automatismos vistos en los textos de electrnica digital son adecuados bajo el punto de vista pedaggico. Sin embargo su adecuacin resulta poco eficaz cuando el nmero de variables de entrada supera el nmero de 5 6. Teniendo en cuenta que en los procesos industriales reales, el nmero de entradas/salidas puede ser de varios millares, resulta obvio que deben buscarse mtodos de diseo ms eficaces y adecuados para la sntesis de dichos sistemas basados en automatismos. En este mdulo temtico se trata el mtodo de diseo mediante el Diagrama de Mando Etapa-Transicin ( GRAFCET ) ( GRAphe Fonctionnel de Commande EtapesTransitions ), por ser de gran utilidad y creciente implantacin en los dispositivos controladores lgicos programables industriales, si bien resulta igualmente eficaz para el diseo de automatismos basados en lgica cableada. 2 EL GRAFCET

Se trata de un mtodo de anlisis y diseo de los sistemas basados en automatismos, derivado de las Redes de Petri y desarrollado por la Asociacin Francesa para la Ciberntica, Economa y Tcnica ( AFCET ) y por la tambin francesa Agencia para el Desarrollo de la Produccin Automatizada. La norma francesa UTE NF C030-190 precisa los principios del Grafcet y codifica sus smbolos. La norma alemana DIN 40719 propone un lenguaje grfico idntico en sus principios pero ligeramente diferente en su forma. El Grafcet fue homologado en el ao 1988 por la Comisin Electrotcnica Internacional ( Norma IEC 848 ). Una de las caractersticas a destacar en los automatismos, sobre todo en los dedicados al control de medianos y grandes procesos industriales, es el elevado nmero de variables de entrada que en ellos intervienen. A consecuencia de ello, los mtodos clsicos de anlisis vistos tradicionalmente en la electrnica digital se muestran inadecuados para su tratamiento, ya que la intervencin de ms de 5 6 variables de entrada complica sobremanera su resolucin. En los Controladores Lgicos Programables, y en general en la implementacin de dispositivos basados en lgica programada no resulta ya rentable buscar una ley de mando con un nmero mnimo de "puertas lgicas". El coste de dicha bsqueda excede al de la memoria disponible en el dispositivo programable, ya que sta experimenta abaratamientos constantes debidos a los altos niveles de integracin alcanzados con los avances tecnolgicos en la microelectrnica. El Grafcet no busca la minimizacin de las funciones lgicas que representan la dinmica del sistema, bien al contrario, su poder radica precisamente en que impone una metodologa rigurosa y jerarquizada de solucin en los problemas, evitando as las incoherencias, los bloqueos o los conflictos durante el funcionamiento del automatismo.

Habra que destacar adems en este mtodo ciertas cualidades tales como : * * * Claridad Legibilidad Presentacin sinttica

2.1

Principios bsicos

El Grafcet es un diagrama funcional que describe la evolucin del proceso que se pretende automatizar, indicando las acciones que hay que realizar sobre el proceso y que informaciones las provocan. Accesible tanto para el usuario como para el diseador, facilita la comunicacin y el dilogo entre las personas implicadas en el automatismo, tanto en el momento del anlisis del proceso a automatizar, como posteriormente en el mantenimiento y reparacin de averas. El Grafcet es independiente de las tcnicas secuenciales " todo o nada ", neumtica, elctrica o electrnica, cableadas o programadas, pudiendo utilizarse para realizar el automatismo de mando, pero la utilizacin de secuenciadores, por una parte, y de autmatas programables por otra, permite una transcripcin directa del diagrama funcional. Entre sus principales caractersticas podemos destacar que : * * Ofrece una metodologa de programacin estructurada " top-down " ( de forma descendente ) que permite el desarrollo conceptual de los general a lo particular Introduce un concepto de "tarea " de forma jerarquizada

El proceso se descompone en etapas, que se activarn unas despus de otras. A una etapa se asocian una o varias acciones. Estas acciones no son efectivas ms que en la etapa que es activa. Una etapa se activa si la etapa precedente est activa y si la condicin lgica o receptividad asociada a la transicin de etapa se verifica. El cumplimiento de esta transicin provoca la activacin de la etapa siguiente y la desactivacin de la etapa anterior

Ejemplo :

Accin asociada a la etapa 1 1 sv 2 d 3 m Traspaso de pieza Condicin de transicin Descenso pieza Condicin de transicin Subida prensa

Etapa 1

Con el fin de definir el cuaderno de cargas de un equipo, el Grafcet se utiliza en 2 niveles Nivel 1 Nivel 2 Permite comprender lo que debe hacer el automatismo, de cara a las diferentes situaciones que puedan presentarse Estando hecha la eleccin tecnolgica, establece la descripcin de las precisiones necesarias para la realizacin prctica del equipo

El ejemplo que se da a continuacin muestra la ayuda aportada a lo largo del estudio por el empleo del Grafcet : El Grafcet del ciclo se va determinando a medida que se eligen las tecnologas a emplear ( accionadores, captadores, preaccionadores, etc. ) evolucionando del Grafcet funcional al Grafcet de mando Marcado

Alimentaci 0 Pulsador marcha Pieza 1 Alimenta Pieza li d Marcar

Retorno alimentaci Pieza marcada y final retorno alimentador Retorno marcado Final del retorno de marcado

1.Desde el pliego de condiciones, el Grafcet determina el ciclo ordenando las funciones a realizar, estando estas ltimas expresadas de forma literal

b0 B a0 A B+ A+ a1 b1

Pieza

0 m 1 a1 2 b1 a0 3 b0 BB+ AA+

2.Escogidos los accionadores ( cilindros A y B ), el Grafcet utiliza entonces los smbolos de movimientos ( A+, A-,...) y las referencias de los captadores de fin de carrera ( a0, a1,...)

b+ a+ ab-

B b0

b1 a1

a0

A Pieza

0 m 1 a1 2 b+ b1 a0 3 b0 b3 b0 m a2 b1 a0 ba+ 1 a1 b+ aa+

3.-

Escogidos los preaccionadores ( 4.distribuidores biestables en este caso )el Grafcet determina entonces las seales emitidas ( a+, a-...) o recibidas (a0, a1,..) por la parte de mando

Finalmente, comprobando que pueden mantenerse los retornos de los cilindros, se utiliza la ltima etapa 3, como etapa inicial, suprimiendo as la etapa 0

DEFINICIN ASOCIADOS

DE

CONCEPTOS

ELEMENTOS

GRFICOS

3.1

Etapa

Se define a la Etapa como la situacin del sistema en la cual todo o una parte del rgano de mando es invariante con respecto a las entradas/salidas del sistema automatizado. Una etapa corresponde a un periodo de funcionamiento del automatismo de mando, durante el cual, en espera de la satisfaccin de una receptividad, las acciones engendradas y la receptividad del sistema no varan. La receptividad representa la facultad para el automatismo, de distinguir entre todas las informaciones que le llegan, nicamente aquellas que deben modificar su comportamiento en un instante dado. Durante el desarrollo del proceso, las Etapas se activan unas despus de otras. Entre estas etapas, la primera se activa inicialmente al principio del funcionamiento. Grficamente la Etapa, se representa por un cuadrado que se numera en su interior, dando de esta manera una secuencialidad a las etapas representadas. Igualmente, la numeracin puede representarse por la letra E con un nmero como subndice. En ambos casos el nmero indica el orden que ocupa la etapa dentro del Grafcet. Para distinguir el comienzo del Grafcet, la primera etapa ( etapa de inicializacin ) se representa con un " doble cuadrado "

E 2

Representacin de

E0

Representacin de etapas iniciales

3.2

ACCIN ASOCIADA

La accin o acciones elementales a realizar durante la etapa en el sistema, vienen indicadas mediante las etiquetas, que son rectngulos conectados a las etapas y situados a la derecha de las mismas.

10

Abrir vlvula

A+

B-

Estas acciones elementales, pueden ser clasificadas como sigue : * Reales : Se trata de acciones concretas que se producen en el automatismo, tales como abrir/cerrar una vlvula, arrancar/parar un motor, etc. A su vez se clasifican en : Internas : Son acciones que se producen en el interior del dispositivo de control, tales como temporizaciones, conteos etc.

Fin de descenso 3 CICLO 1 TEMPORIZACIN Fin temporizacin

Externas : Se producen sobre el proceso en s

M 4 P ACTIVAR MOTOR 1 PARAR MOTOR 2

* Virtuales :

No se realiza ninguna accin sobre el sistema. Suelen utilizarse como situaciones de espera a que se produzcan determinados eventos ( activacin de determinadas seales ) que permitan la evolucin del proceso. En estas etapas la etiqueta est vaca o sin etiqueta.
mac

1 b 2 a 3

A derecha

11 d

B Derecha

A Izquierda

12 c

B Izquierda

Espera

13

Espera

E3 . E13

Cuando se realizan dos secuencias simultneas, es posible que el tiempo que cada una de estas secuencias tarda en realizarse sea distinto, en funcin del nmero de tareas asociadas a las etapas, de cuando se activen las condiciones de transicin, etc. Para finalizar dos secuencias simultneas es necesario que las etapas ltimas de cada una de ellas estn activas; una o las dos pueden ser etapas de espera para que la secuencia ms rpida aguarde el final de la secuencia ms lenta.

* Incondicionales:

Son acciones que se producen con slo quedar activadas las etapas correspondientes M 4 P ACTIVAR MOTOR 1

Estas acciones pueden ser activas mientras la etapa est activa o pueden activarse en una etapa y desactivarse en otra posterior

M 4 ACTIVAR MOTOR 1

P 10 PARAR MOTOR 1

* Condicionales :

Son aqullas que requieren el cumplimiento de una condicin adicional a la propia activacin de la etapa correspondiente. Estas condiciones suplementarias se anotan al lado de un trazo vertical encima de la accin

d 34 f 35

T / 0 / 5 seg ABRIR VLVULA 1

La vlvula 1 se abrir si la etapa 34 est activa y han transcurrido 5 seg. desde que se activ el temporizador T0

3.3

Transicin y receptividad

El concepto de Transicin se asocia a la barrera existente entre dos etapas consecutivas y cuyo franqueamiento hace posible la evolucin lgica del sistema. A toda transicin le corresponde una receptividad, que es la condicin lgica necesaria para que se produzca el franqueamiento, si bien ste se producir siempre que adems, la etapa precedente est activa. La condicin lgica viene expresada mediante una funcin lgica booleana. Si se verifica la receptividad, estando activada la etapa precedente, entonces se realiza la transicin, y se produce la activacin de la etapa siguiente y la desactivacin de la etapa precedente. Las receptividades se pueden expresar bajo diferentes formas : * * * * * * * Captadores, fin de carrera Valor de contador ( C = 20 ) Temperatura ( 800 C ) Nivel de velocidad ( 1000 r.p.m. ) Fin de una temporizacin Resultado de una comparacin ( >, <, = ) etc.

Activar

CT ( condicin de transicin ) Condicin de transicin 3 Parar motor asociada a la etapa posterior

En la figura anterior hay dos etapas y una condicin de transicin entre ellas. Para que el proceso evolucione de la etapa 2 a la etapa 3, es necesario que la etapa 2 est activa y adems que se cumpla la activacin de la condicin de transicin ( CT ); entonces se produce la activacin de la etapa 3 y la desactivacin de la etapa 2. La condicin de transicin CT est siempre asociada a la etapa posterior, en este caso a la 3.

La condicin de transicin puede ser una o varias variables de las que intervienen en el proceso. Se emplea la lgica positiva, pudiendo tomar 2 valores CT = 1 y CT = 0 Ejemplo :

6 CT 7

ACTIVAR CINTA 1

ETAPA DE ESPERA

Condicin de Transicin Seal "1" Seal "0" Por tiempo Varias variables Incondicional Flanco descendente Flanco ascendente

Expresin CT = A __ CT = A CT = T / 3 / 10 s. __ CT = A B F1 CT = 1 CT = A CT = A

La activacin de la etapa 7 se produce cuando A ( f.d.c por ejemplo ) est activo cuando el f.d.c A est inactivo cuando hayan transcurrido 10 segundos desde que se activ el temporizador 3 Si las variables A y F1 estn activas y la variable B est inactiva Al activarse la etapa 6 Cuando la seal A pasa de "1" a "0" Cuando la seal A pasa de "0" a "1"

3.4

Arco

Un arco es un segmento de recta que une una Transicin con una Etapa o viceversa, pero nunca entre elementos homnimos entre s.

10 CT 11

3.5

Trazos paralelos

Se utilizan para representar a varias etapas cuya evolucin est condicionada por una misma transicin 17 18

ab+c

19

20

CONDICIONES EVOLUTIVAS

La dinmica evolutiva del Grafcet viene dada por un conjunto de reglas : * * El proceso se descompone en etapas, que sern activadas de forma secuencial La etapa de inicializacin se activa de forma incondicional antes de que se inicie el ciclo del Grafcet. Un ciclo est formado por todas las etapas posteriores a la etapa inicial Una o varias acciones se asocian a cada etapa. Estas acciones solo estn activas cuando la etapa est activa Un etapa se hace activa cuando la precedente lo est y la condicin de transicin entre ambas etapas ha sido activada La activacin de una condicin de transicin implica la activacin de la etapa siguiente y la desactivacin de la precedente ESTRUCTURAS EN EL GRAFCET

* * *

Consisten en una serie de estructuras que dotan al Grafcet de una gran capacidad de representacin grfica de los automatismos. A grandes rasgos pueden ser clasificadas en estructuras bsicas y lgicas. Las bsicas atienden a conceptos tales como secuencialidad y paralelismo y permiten realizar el anlisis del sistema mediante su descomposicin en subprocesos. Las estructuras lgicas atienden a conceptos de concatenacin entre s de las anteriores estructuras

5.1

Estructuras bsicas

Secuencia nica Una secuencia nica est compuesta de un conjunto de etapas que van siendo activadas una tras otra, sin interaccin con ninguna otra estructura

En la secuencia nica, a cada etapa le sigue una sola transicin y cada transicin es validada por una sola etapa. La secuencia se dice que est activa, si una de sus etapas lo est. Se dice que est inactiva si todas sus etapas lo estn Secuencias paralelas Se denominan secuencias paralelas al conjunto de secuencias nicas que son activadas de forma simultnea por una misma transicin. Despus de la activacin de las distintas secuencias su evolucin se produce de forma independiente

5.2

Estructuras lgicas

Las operaciones lgicas OR y AND son ampliamente utilizadas en la estructura grfica del Grafcet, por ello pasamos seguidamente a realizar un anlisis de las mismas Divergencia en OR La Etapa n pasa a ser activa si estando activa la etapa n-1 se satisface la Receptividad de la Transicin a La Etapa n+1 pasa a ser activa si, estando activa la Etapa n-1 se satisface la Receptividad de la Transicin b

n- 1

a n n+1

Esta estructura lgica nos permite optar por secuencias alternativas cuando la implementacin del automatismo as lo requiera Convergencia en OR La Etapa n pasa a ser activa, si estando activa la Etapa n-1 se satisface la Receptividad de la Transicin c, o si estando activa la Etapa n-2 se satisface la Receptividad de la Transicin d

n- 1 c

n- 2 d

Posibilidades de utilizacin de estas estructuras Un Grafcet est constituido generalmente por varias secuencias, es decir, de varios grupos de etapas a ejecutar unas despus de otras y a menudo es necesario efectuar una seleccin exclusiva de una de estas secuencias
5

x 6 a 7 g Accin G Accin A 8

y Accin C c 10 9 f

Accin D

11 e

Accin E

En la ramificacin formada por la eleccin de la secuencia a realizar, las diferentes transiciones corresponden a las receptividades x, y, z siendo validadas simultneamente por la misma etapa 5, pudiendo ejecutarse simultneamente. En la prctica, a menudo se adoptan estas receptividades como exclusivas. Se pueden introducir prioridades igualmente

12

12

ab 13 16

ab 13

a 16

ab

Receptividades exclusivas. Si a y b se presentan a la vez, no podr realizarse ninguna transicin a partir de la etapa 12

Prioridad a la receptividad a. La prioridad dada a la transicin 12-13 permite ejecutar sta si a y b se presentan a la vez

Divergencia en AND Las etapas n+1 y n+2 pasan al estado activo, si estando activa la etapa n se satisface la receptividad de la transicin F

n F

n+1

n+2

Esta estructura hace posible el disparo simultneo de dos o ms secuencias paralelas

Convergencia en AND La etapa n pasa al estado activo, si estando las etapas n-1 y n-2 activas, se satisface la receptividad de la transicin F

n- 1

n- 2

F n

Mediante esta estructura se hace posible la convergencia de dos o ms secuencias paralelas

Saltos condicionales. Retencin de secuencia El salto condicional es una ramificacin que permite saltar una o varias etapas si las acciones a realizar no son tiles, mientras que la retencin de secuencia permite, al contrario, efectuar una o varias veces la misma secuencia en tanto que una condicin fijada no se ha obtenido

12 F 13 G 14 H 15 F

Accin E

16 K

Accin K

Accin G

17 L

Accin L

Accin H M

18 M

Accin M

Accin J

19

Accin P

En el Grafcet de la figura se producir un salto de la etapa 12 a la etapa 15 si la receptividad representada por la variable F es F = 0. Si F=1 se prosigue la secuencia 13, 14, 15

En el Grafcet de la figura, se producir una retencin de la secuencia de etapas 17, 18, mientras se mantenga el valor de la variable M en M=0

Repeticin de secuencias. Concepto de macroetapa Un conjunto de etapas cuya aparicin puede repetirse en varias ocasiones a lo largo del diagrama Grafcet, puede ser representado a travs de un rectngulo con bordes verticales de doble trazo y conteniendo los nmeros de la etapa inicial y final. De esta forma solo habr que detallar de manera explcita la secuencia una sola vez

5 a

6 b 7

15- 20

c 8 d

15- 20

e 10

5.3

SITUACIONES ESPECIALES

Se tratan en este apartado, algunos modos de representacin normalizada Grafcet de situaciones especiales de evolucin de los sistemas, tambin la forma de escritura de acciones asociadas de naturaleza interna. Algunas de especial inters son : Evoluciones simultneas Acciones y receptividades temporizadas Transiciones temporizadas Acciones mantenidas

5.3.1 Evoluciones simultneas Una de las reglas del Grafcet indica que varias transiciones simultneamente franqueables son franqueadas simultneamente. Esta regla de franqueamineto simultneo permite descomponer un diagrama Grafcet en varios diagramas asegurando de forma rigurosa sus interconexiones. Ello debe conseguirse, haciendo intervenir en las receptividades los estados activos de las etapas, de tal forma que el estado activo de la etapa " n " ser representado mediante " En " y el estado inactivo mediante " En " negado. Esta regla, permite particularmente, el franqueamiento simultneo de transiciones validadas por etapas situadas en diagramas separados, excluyendo de esta forma, posibles ambigedades en cuanto al franqueamiento de la transicin 6 antes que la transicin 14 o viceversa ( ver figura )

6 T6 E14 7

14 T14 E6 15

5.3.2 Acciones y receptividades temporizadas Este tipo de acciones y receptividades temporizadas son de uso frecuente. En el caso de acciones temporizadas, se trata de acciones de carcter virtual, pero tambin pueden ser un caso particular de las acciones condicionales. La indicacin de la temporizacin se realiza por : t/n/q donde t n q representa la temporizacin representa la etapa en que tiene lugar representa el tiempo en segundos

Su representacin puede realizarse de forma que se considere la ejecucin de la accin asociada durante la temporizacin o a partir de la temporizacin

E8 Accin A si t / 8 / 10 Accin B si t / 8 / 15 B 15 s A 10 s

5.3.3 Transiciones temporizadas Su representacin se realiza de idntica forma a lo expuesto anteriormente en las acciones temporizadas. de tal forma que en el diagrama de la figura, la etapa n 9 se activar transcurridos 5 segundos desde la activacin de la etapa n 8

8 Etapa 8 t/8/5s 9 Etapa 9 5 seg

5.3.4 Accin mantenida Se estudia el tratamiento a realizar con acciones cuya ejecucin ha de prolongarse durante dos o ms etapas consecutivas. A este respecto pueden contemplarse mediante dos modalidades de representacin :

a)

Efecto mantenido por acciones continuas no memorizadas

En este caso, la accin a mantener se repetir en cada una de las etapas afectadas lo cual, asegura la continuidad de la operacin asociada

Etapa 8 8 T8 9 Accin A Accin B Accin A Accin B Accin A Etapa 9

b)

Efecto mantenido por accin memorizada

En este caso, las acciones se precisarn en las etapas de comienzo y final del efecto mantenido, tal y como se refleja en la figura

10 T10 11

Accin A = 1

Etapa 10 Etapa 30

Accin A =1 T11 Accin A = 0 30 Accin A = 0

Accin A

IMPLEMENTACIN DE UN AUTOMATISMO A TRAVS DEL GRAFCET

La implementacin de un automatismo mediante lgica programada o cableada, a partir del Grafcet se realizar teniendo en cuenta las siguientes consideraciones : El Diagrama Grafcet, nos permite realizar una divisin del funcionamiento del automatismo por Etapas, y en cada una de ellas se ejecutarn, por lo general, una o ms acciones asociadas. El concepto de etapa se asociar al de una memoria binaria, que puede estar activa o inactiva segn dicha memoria est en estado lgico "1" o "0". Cuando la memoria se encuentre en estado lgico "1" se ejecutarn todas las acciones asociadas de carcter incondicional. Las acciones condicionales, debern ejecutarse cuando adems del estado lgico "1" de la memoria, se encuentre en estado lgico "1" la condicin asociada. La interaccin de las diferentes etapas y la receptividad asociada a cada una de ellas se realiza a travs del denominado mdulo secuenciador de etapas.

6.1

Mdulo secuenciador de etapa

La relacin funcional existente entre etapas contiguas queda establecida por lo que se denomina el mdulo secuenciador de etapa, que podemos definir como el elemento tecnolgico capaz de interaccionar con su/s etapa/s anterior/es y posterior/es. El mdulo secuenciador de etapa es un concepto funcional pero tambin tecnolgico, ya que existen en el mercado mdulos secuenciadores de diversa naturaleza : elctricos, neumticos etc. Dicho mdulo secuenciador, bsicamente est formado por una memoria binaria ( biestable o rel de enclavamiento ),a cuya entrada de activacin se conecta una puerta AND con tantas entradas como nmero de etapas deban activar la citada etapa, ms otra entrada para conectar la receptividad asociada. En su entrada de desactivacin lleva conectada una puerta OR, con tantas entradas como etapas cuya activacin debe provocar la desactivacin de la primera

Entradas de activacin Entradas de desactivacin

&

Memoria Salida binaria

Mdulo secuenciador de etapa

Su descripcin grfica se muestra en la siguiente figura, y contribuir a clarificar la dinmica inter-etapas


Salida mdulo n-1 Transicin n-1 Reset mdulo n+1 Salida n Activacin mdulo n+1 A reset mdulo n-1

Mdulo Secuenciador n

Tn- 2

&

S En- 1 R Salida

Tn- 1

&

S En R Salida

Tn

&

S En+1 R Salida

El citado elemento tecnolgico, en el supuesto de una secuencia nica, posee tres entradas y una salida y el objeto de cada una de ellas para un mdulo de etapa de orden n, es respectivamente : 1 Entrada : 2 Entrada : 3 Entrada : 1 Salida : Se utiliza para hacer activable la etapa n, a travs de la seal proveniente de la salida de la etapa n-1 Se utiliza para efectuar la activacin de la etapa y la seal de activacin proviene del franqueamiento de la transicin n-1 Se utiliza para la puesta a cero ( Reset ) de la Etapa n, y la seal proviene de la salida realimentada de la Etapa n+1 Se utiliza para que realice tres funciones distintas y simultneas que son : * * * Hacer activable la etapa n+1 Desactivar la etapa n-1 Ejecutar la orden de mando prevista

El mdulo secuenciador de etapa de orden n se hace activable por el mdulo n-1 y se hace activo por el franqueamiento de la transicin. Su paso al estado activo hace activable al mdulo n+1 y desactiva al mdulo n-1. En la siguiente figura se muestra la implementacin fsica de un mdulo secuenciador de etapa mediante un biestable RS. A la entrada SET se conecta una puerta Y, y a ella se conecta la salida y receptividad de E ( n-1 ) y T ( n-1 ) respectivamente. A su entrada RESET se conecta la salida de la etapa ( n+1 )

&

Salida

6.2

Obtencin de las funciones lgicas a partir del diagrama GRAFCET

A partir de cada Etapa de un diagrama GRAFCET, deben obtenerse dos tipos diferentes de funciones lgicas : * * Funcin lgica de activacin / desactivacin de la etapa correspondiente Funciones lgicas de activacin de las operaciones de mando

La funcin lgica de activacin / desactivacin es nica por etapa. Sin embargo el nmero de funciones lgicas de operacin de mando, depende de la cantidad de acciones asociadas a cada etapa.

6.2.1 Ecuacin de activacin / desactivacin La ecuacin de activacin / desactivacin asociada a cada una de las etapas del diagrama Grafcet tiene la siguiente expresin : __ Y=R(S+Y) donde : Y R S es la salida ( estado de la etapa ) es la condicin de desactivacin es la condicin de activacin

La expresin concreta de R y S, depender de la estructura bsica y lgica del diagrama GRAFCET. En general pueden ser funciones OR y AND donde intervienen las variables representativas de Etapas y Transiciones. Las condiciones de activacin de una etapa En, viene dada por la funcin lgica : __ En = En + 1 ( En - 1 . Tn - 1 + En ) __ En = En - 1 . Tn - 1 + En + 1 En En la cual, para una secuencia nica de etapas se relaciona la activacin de la etapa En, en funcin de la etapa anterior, la etapa posterior y la receptividad asociada

En- 1 T n- 1 En Tn En+1

La etapa En se activar, si estando la etapa En-1 activada y la En+1 desactivada se satisface la transicin Tn-1. Despus permanecer activada hasta que la En+1 se active. 6.2.2 Ecuaciones de activacin de operaciones de mando El nmero de ecuaciones de activacin de operaciones de mando, depende del nmero de acciones asociadas a cada etapa ( nmero de variables de salida ). Su expresin depender del carcter condicional o incondicional de stas. Para una mejor comprensin de lo expuesto en los apartados anteriores, veamos un ejemplo.

Ejemplo : Sea el Grafcet de la siguiente figura, donde vamos a proceder a la obtencin y clasificacin del total de funciones lgicas a generar por el citado diagrama.

T4 5 T5 6 T6 7 T7 Accin G Accin H Accin D Accin A Accin B m Accin F Accin C

En la etapa n 5 tenemos 3 acciones asociadas de carcter incondicional representadas por las variables de salida A, B, y C respectivamente. En la etapa n 6 tenemos asociadas dos acciones, una incondicional D, y otra de carcter condicional F. En la etapa n 7 dos acciones asociadas la G y la H. Por tanto, las funciones lgicas a generar son : Funciones lgicas de la etapa n 5 : __ E5 = E6 ( E4 . T4 + E5 ) A = E5 B = E5 C = E5 Funciones lgicas de la etapa n 6 : __ E6 = E7 ( E5 . T5 + E6 ) D = E6 F = m . E6 Funciones lgicas de la etapa n 7 : __ E7 = E8 ( E6 . T6 + E7 ) G = E7 H = E7

Activacin de la etapa

Activacin de la etapa

Activacin de la etapa

En la siguiente figura se ha realizado la implementacin de las ecuaciones lgicas generadas, mediante el lenguaje de programacin de diagrama de contactos.

E6

E4 E5

T4 E5

E5 E5 E5

Ecuaciones asociadas A B C a Etapa n 5

E7

E5

T5 E6 E6 Ecuaciones asociadas D a Etapa n 6

E6 E6 E8 m E6 E7 E7 E7 T6

F E7 Ecuaciones asociadas G H a Etapa n 7

Como se ha podido comprobar la obtencin de las funciones lgicas resulta de gran facilidad, si bien su obtencin a partir de las distintas estructuras lgicas, bucles, saltos y macroetapas conlleva mayor dificultad, por ello pasamos a detallar su obtencin a partir de las estructuras referidas anteriormente.

6.3

Funciones lgicas de activacin / desactivacin y estructuras lgicas

La obtencin de las funciones lgicas de activacin / desactivacin de las etapas, cuando no se trata de una estructura simple de secuencia nica, requiere de cierta reflexin teniendo en cuenta la estructuracin de las distintas etapas a travs de las diversas estructuras lgicas. Seguidamente pasamos a realizar su anlisis

63.1

Divergencia en OR

La estructura lgica de Divergencia en OR, requiere que en las condiciones de desactivacin de la etapa divergente se reflejen las diversas etapas que, alternativamente, pueden producir la desactivacin de la primera.

a n+1 n+2

Reset prioritario Set prioritario 63.2

__ __ En = En + 1 En + 2 ( En - 1 . Tn - 1 + En ) __ __ En = En - 1 . Tn - 1 + En En + 1 En + 2

Convergencia en OR

La estructura lgica de Convergencia en OR, en lo que respecta a la etapa de convergencia, su condicin de activacin debe tener en cuenta las posibles etapas anteriores que alternativamente, pueden provocar la activacin de dicha etapa.

n- 1 c

n- 2 d

Reset prioritario Set prioritario

__ En = En + 1 ( En - 1 . c + En - 2 . d + En ) __ En = En - 1 . c + En - 2 . d + En En + 1

63.3

Divergencia en AND

En una estructura de Divergencia en AND, tendremos que tener en cuenta en la funcin lgica asociada a la etapa a partir de la cual se produce la divergencia, el nmero de etapas posteriores que intervienen en su condicin de desactivacin.

n Tn

n+1

n+2

Reset prioritario Set prioritario

__ __ En = En + 1 En + 2 ( En - 1 . Tn - 1 + En ) __ __ En = En - 1 . Tn - 1 + En + 1 En + 2 En

63.4

Convergencia en AND

Finalmente, en la estructura de Convergencia en AND, deber tenerse en cuenta en la etapa de convergencia, en las condiciones de activacin de su funcin lgica, las etapas cuya activacin simultnea deber provocar la activacin posterior de dicha etapa.

n-1

n-2

F n __ En = En + 1 ( En - 1 . En - 2 . F + En ) __ En = En - 1 . En - 2 F + En En + 1

Reset prioritario Set prioritario

CICLOS DE EJECUCIN : TIPOS

Dependiendo de las caractersticas de funcionamiento del automatismo, ste requerir distintas modalidades de ejecucin de ciclo Por ello atendiendo a diversos criterios los ciclos pueden clasificarse como sigue : * * * * 7.1 Marcha ciclo a ciclo Marcha automtica / Parada de ciclo Marcha automtica / Marcha ciclo a ciclo Marcha de verificacin en el orden del ciclo

Marcha ciclo a ciclo


ACI = Arranque de ciclo 0 ACI CI 1 CI = Condiciones iniciales

Cada ciclo se ejecuta automticamente, pero necesita la intervencin del operador ( arranque de ciclo ) para poder ejecutar el ciclo siguiente

CICLO

n Tn

Un accionamiento permanente del arranque de ciclo ( ACI ) produce la repeticin de los ciclos En este caso el ciclo se ejecuta una sola vez aunque el operador mantenga presente la informacin de arranque. Es necesario accionar de nuevo el arranque de ciclo ( ACI ) para volver a iniciar el ciclo

ACI = Arranque de ciclo 0 ACI CI 1 CI = Condiciones iniciales

CICLO

n Tn ACI

7.3

Marcha automtica / Parada de ciclo

En esta modalidad, el ciclo se repetir indefinidamente tras su arranque, hasta que se active una seal de parada tras lo cual, el ciclo en curso acabar su ejecucin y se detendr.

0 10 E20 . CI 1 20 CICLO ACI . pcl . CI Marcha automtica

pcl

n Tn ACI = Arranque de ciclo CI = Condiciones iniciales pcl = Parada del ciclo

7.4

Marcha automtica / Marcha ciclo a ciclo

El operador puede elegir por medio de un conmutador entre dos tipos de marcha. El ciclo se inicia por una accin ( arranque de ciclo ). El posterior bloqueo se ejecuta en funcin de la posicin del conmutador.

auto

ciclo a ciclo

0 ACI . CI 1

CICLO

n Tn . auto Tn . ciclo a ciclo

ACI = Arranque de ciclo CI = Condiciones iniciales

7.5

Marcha de verificacin en el orden del ciclo

Esta marcha etapa por etapa, tiene como fin verificar la conformidad del desarrollo del ciclo teniendo en cuenta todas las condiciones reales de una marcha de produccin, efectundose el desarrollo bajo el control permanente del operador
a 0 ACI . CI . a 1 T1 . a ACI = Arranque de ciclo CI = Condiciones iniciales a = pulsador avance 1 paso T2 . a a n Tn . a a

Esta disposicin tiene el inconveniente de que se hace difcil la manipulacin en los movimientos rpidos ( posible evolucin de varias etapas segn el tiempo de pulsado del botn )

TRATAMIENTO DE ALARMAS Y EMERGENCIAS

La tendencia actual en lo que respecta a los dispositivos de control basados en lgica programada, es que una gran parte del cuerpo de programa implementado en el mismo est dedicado al objetivo de garantizar un buen comportamiento del sistema en el caso de situaciones imprevistas, averas, emergencias etc. Con ello deben asegurarse niveles adecuados de seguridad para los operadores humanos al cargo de los sistemas, cuando no de las propias instalaciones industriales cuya reparacin puede suponer la dedicacin de grandes recursos econmicos. En lo que respecta al tratamiento de alarmas y situaciones de emergencia, es conveniente su clasificacin a partir de criterios de implementacin tecnolgica de los sistemas a tratar. Por ello las alarmas deben ser clasificadas como : * * Alarmas locales Alarmas generales.

Las alarmas locales, slo afectarn parcialmente al sistema, de forma que su efecto slo debe repercutir sobre un conjunto delimitado de dispositivos tecnolgicos o subsistema en concreto. Por el contrario, las alarmas generales afectarn a la totalidad del sistema y por lo general van a disponer de prioridad frente a las locales anteriormente citadas. Tanto las alarmas locales como las generales, pueden ser implementadas mediante la colocacin de una nueva variable en las condiciones de desactivacin de la funcin lgica activadora / desactivadora de una Etapa. __ __ __ En = Zp . Zt .En + 1 ( En - 1 . Tn - 1 + En ) Donde Zp representa a una alarma de carcter local y Zt a una alarma de carcter total. Obviamente la variable representativa de la alarma de carcter total tendr presencia en la totalidad de las ecuaciones de activacin de etapas del diagrama funcional. No as la variable representativa de la alarma local, cuya aparicin se restringe a un conjunto determinado de ecuaciones de activacin. Existe otro criterio para el tratamiento de las alarmas. Este consiste en la intervencin de las variables representativas de alarmas en las receptividades asociadas a cada transicin. Ello permite de forma relativamente fcil, hacer evolucionar el sistema a determinadas situaciones de parada o espera ante situaciones de emergencia. De forma rigurosa, las variables de alarma deberan aparecer en cada una de las etapas del Grafcet, y tener prevista cada una de las situaciones de seguridad en funcin del tramo en ejecucin y de los niveles de seguridad solicitados. Algunos autores, desaconsejan el tratamiento de las paradas de emergencia como una informacin de entrada ms, puesto que argumentan que ello es contrario al propio espritu de " emergencia ". La posible formalizacin del comportamiento de los sistemas frente a situaciones de emergencia se podra sintetizar mediante los siguientes criterios : Sin secuencia de emergencia Con secuencia de emergencia 8.1 Sin secuencia de emergencia

Ante una situacin de alarma, el sistema se limita a detener su evolucin y suspende las operaciones bsicas asociadas a la etapa donde se produce la suspensin. Adems, pueden establecerse a partir de este criterio diversas variantes. Dos de ellas seran : * * Congelacin del automatismo Inhibicin de acciones

En la modalidad de congelacin del automatismo, la seal de alarma participa en cada una de las receptividades asociadas a las transiciones, de forma que su activacin impide la puesta a "1" de la receptividad y tambin la evolucin del sistema. Cuando la seal de alarma desaparece, el sistema puede continuar su evolucin a partir de la etapa donde se produjo el paro.

En- 1 Tn- 1 . Zt En Tn . Zt En+1 Tn+1 . Zt

Obsrvese que en este caso, las acciones asociadas a las etapas pueden permanecer activas, los movimientos iniciados continan, lo que puede resultar peligroso en s mismo o por consiguiente bloqueo en la evolucin. En la modalidad de inhibicin de acciones, aparicin de la seal de alarma, no detiene directamente la evolucin del automatismo, sino que inhibe a las propias acciones asociadas a las etapas
Zt En-1 Tn-1 Zt En Tn Zt En+1 Tn+1 C B A

En este caso debe estudiarse detenidamente el gobierno de los accionadores segn el tipo de accin deseada en caso de parada de emergencia. Por ejemplo : Para distribuidores que gobiernan cilindros * Control monoestable, si se desea retornar a una posicin determinada * Control biestable, si se desea parar al finalizar el movimiento * Distribuidor de tres posiciones, si se desea una detencin en ese lugar Para contactores que gobiernan motores * Control monoestable * Cableado incorporando dispositivos de seguridad

Tambin podemos realizar una combinacin de ambas opciones

Zt E 1 nTn-1 Zt Zt En Tn Zt Zt E +1 n Tn+1 Zt C B A

8.2

Con secuencia de emergencia En este caso la evolucin del sistema deriva hacia una secuencia de emergencia ante la activacin de la seal de alarma prevista de Zt antemano, cuya naturaleza estar lgicamente condicionada por aspectos de implementacin tecnolgica. En la figura se ofrece un ejemplo de representacin de un diagrama Grafcet de esta opcin de tratamiento de emergencia

E 1 nTn 1 Zt En Tn Zt E+ n Tn+ Zt Zt Secuencia de emergencia Zt

TEMA 5 : APLICACIN DE LA TEORA BINODAL

INTRODUCCIN

La aplicacin de la " Teora Binodal " a los procesos de sntesis de sistemas secuenciales asncronos y sincronizados proporciona un mtodo rpido e intuitivo en el que sin perder en ningn momento la imagen global del sistema tratado, y a travs de un grfico representativo de la dinmica del sistema, se obtienen las ecuaciones lgicas que rigen el comportamiento del sistema. En la sntesis de sistemas asncronos ( que evolucionan sin precisar el control de una seal de reloj ), resulta sencillo evitar las transiciones crticas y los deslizamientos de secuencia, ya que el " grafo de secuencia " contiene todas las evoluciones internas del sistema y, por tanto, las anomalas citadas pueden ser eliminadas a medida que se vaya construyendo el grafo.

CONCEPTOS BINODALES BSICOS

El planteamiento de la teora binodal se inicia con la definicin de " binodo " y " multinodo ", y con la descripcin de un diagrama designado con el nombre de " grafo de secuencia ". A partir de las definiciones de estas estructuras, se deducen los teoremas binodales, que permiten obtener las ecuaciones de salida de cualquier binodo, resultando adems dichas ecuaciones simplificadas en la mayora de los casos, o pendientes de una mnima y directa simplificacin

2.1

Definicin general de binodo. Variables de accin

Se dice que un dispositivo cualquiera posee estructura de binodo, cuando nicamente puede encontrarse en dos situaciones ( representadas por B yB ), pasando de la una a la otra, por efecto de unas variables de accin ( v.d.a. ), independientemente de que el efecto de dichas variables quede o no memorizado al desaparecer stas. Se distinguen dos tipos fundamentales de binodos : Binodo " bi " Binodo " mono " o " monodo ".

2.2

Binodo " mono " o " monodo ". Grfico representativo

Se denomina as a todo aquel binodo que necesita la presencia de una, al menos, de las variables de accin ( v.d.a. ) creadoras Mr ( r = 1, 2,....n ) y la ausencia de todas las v.d.a. negadoras Pu ( u = 1, 2, ... m ) para sostener una de sus dos situaciones ( B ), a la que se denomina situacin principal B Monodo Activo

Monodo desactivo

P1 M1 Mr Mn

Pu

Pm

Como se puede observar en el grafo, la situacin principal ( B ) existir cuando estando presente alguna de las v.d.a. ( Mr ), no exista ninguna de las v.d.a ( Pu ). Es decir, el efecto de las v.d.a. anulatorias o negadoras de la situacin ( B ) tiene prioridad sobre el de las v.d.a. creadoras de dicha situacin, en el supuesto de que variables de ambos grupos acten simultneamente. 2.2.1 Obtencin de la ecuacin lgica del binodo mono La ecuacin lgica de un binodo mono se obtiene multiplicando a la suma de las variables de accin creadoras las inversas de las variables de accin negadoras

B = ( M1 + M2 + ..... + Mn ) P1 P2 ....Pm

El monodo carece de memoria puesto que es una estructura combinacional, y nicamente aparecer en los grafos como elemento accesorio de alguna salida de binodo

2.3

Binodo " bi ". Grafo de secuencia representativo

Se denomina binodo "bi" a todo aquel binodo que se mantiene en la situacin en la que se encuentra aunque desaparezca la v.d.a. que la origin, siempre y cuando no exista otra v.d.a de efecto contrario que la haga vascular a la situacin opuesta En este caso, no hay prioridad de unas v.d.a sobre otras ( creadoras o negadoras ). La prioridad depender de cual de los dos teoremas del binodo "bi" utilicemos para obtener las ecuaciones lgicas El grafo de secuencia del binodo "bi " puede expresarse de la forma que se indica

v.d.a. creadoras B v.d.a. negadoras B

2.4

Teoremas del binodo " bi "

1 Teorema ( prioridad de la v.d.a. negadora ) La ecuacin lgica de salida de una situacin cualquiera de un binodo, independiente o integrado en un multinodo, se halla sumando a la propia situacin, las v.d.a. que la crean, y multiplicando este resultado por las inversas de las v.d.a. que hacen conmutar al binodo a la situacin complementaria de la considerada.

m n B ( t ) = [ ( B + Mr ) Pu ] ( t - ) u=1 r=1

donde y son el sumatorio y el productorio booleano respectivamente, t el instante considerado y el tiempo de conmutacin del binodo en cuestin.

Aplicando el teorema enunciado al grafo de secuencia del binodo "bi" se obtiene la ecuacin lgica siguiente :

v.d.a. creadoras ( A ) B v.d.a. negadoras ( C ) B

B=(B+A).C

2 Teorema ( prioridad de la v.d.a. creadora ) La ecuacin lgica de salida de una situacin cualquiera de un binodo independiente o integrado en un multinodo se halla, multiplicando la propia situacin binodal por las inversas de las variables que la niegan y sumando las v.d.a. que la crean

m n Pu ) + Mr ] B(t)=[(B ( t - ) r=1 u=1

Las ecuaciones obtenidas para una situacin binodal mediante los dos teoremas, son equivalentes, aunque tienen distinta estructura, siempre que se verifique la hiptesis de no simultaneidad de v.d.a. de efectos antagnicos. En los casos en que se admita la simultaneidad de v.d.a. antagnicas, se demuestra que el 1 teorema proporciona una ecuacin lgica que da prioridad al efecto de las v.d.a. de borrado sobre las de creacin de la situacin, en tanto que el segundo teorema da prioridad a las v.d.a creadoras de la situacin. No obstante, debe quedar claro que por medio de condicionantes en el grafo de secuencia puede imponrsele a cualquiera de los dos enunciados del teorema binodal la prioridad que se desee; es decir, cualquiera de los dos teoremas responde a las exigencias de los condicionantes de prioridad introducidos en el grafo de secuencia. As pues, las ecuaciones lgicas, una vez simplificadas sern idnticas.

Ejemplo.- En el binodo de la figura se ha dado, por medio del condicionante M , prioridad a la v.d.a. M sobre P en el caso de que exista simultaneidad :

M A P.M A

Aplicando el 1 teorema y simplificando la ecuacin obtenida, resulta :

A=(A+M)PM=(A+M)(P+M)=AP+AM+MP+M=AP+M

Aplicando el 2 teorema y simplificando la ecuacin obtenida, resulta :

A=APM+M=A(P+M)+M=AP+AM+M=AP+M

2.5

Multinodo. Grafo de secuencia

Bajo la denominacin de multinodo se incluye a toda estructura constituida por varios binodos influenciados entre s Como consecuencia aparecern numerosas situaciones que a su vez podrn actuar como v.d.a o bien como condicionantes de otras v.d.a de los diferentes binodos. Nos encontraremos pues, con v.d.a internas, externas, temporizadas, diferenciadas, etc., as como compuestas; es decir, en forma de expresiones booleanas de varias variables simples. Cada una de las mltiples situaciones parciales del multinodo pueden proporcionar al exterior, de forma simultnea, una accin fsica que se denomina salida En la siguiente figura, se muestra, a modo de ejemplo, el grafo de secuencia de un multinodo, el cual nos proporciona una visin global y dinmica de todas las evoluciones del programa operacional que representa.

P3 M (S+T).B A N (F.C).A P1 A B B Q.B R

P2

Se observa que este multinodo est constituido por dos binodos "bi" y un "monodo" La situacin A es creada por la v.d.a M, o bien por la booleana ( S + T ), pero condicionada esta ltima a la existencia de B , es decir, tiene que valer "1" la expresin ( S + T ) B. La situacin complementaria de A, o sea A, ser creada por la accin de P1 A = [ ( A + M + ( S + T ) B ] P1 La situacin B es creada por la accin de la variable N, o por la booleana FC condicionada a la existencia de A, y ser borrada, es decir, su complementaria B, por la accin de la variable P2 B = ( B + N + F C A ) P2 La situacin R ser creada por Q condicionada a B, y borrada por P3

R = Q B P3

2.6

Condicionantes parciales y generales

Tomemos como ejemplo el siguiente ejercicio : Se desea gobernar dos rels R1 y R2, de tal forma que R1 pueda actuar con independencia de R2; pero que R2 slo pueda excitarse cuando R1 est excitado, si bien, una vez excitado R2 pueda seguir existiendo aunque desaparezca R1. La activacin del rel R1 se har por un impulso elctrico proporcionado por un pulsador M1, y la activacin de R2 por un pulsador M2. La desactivacin de ambos rels se producir por un impulso elctrico en P1 y P2 respectivamente

M1

R1

M2 . R1

R2

P1 R1 R2

P2

Ecuaciones lgicas R1 = ( R1 + M1 ) P1 R2 = ( R2 + M2 R1 ) P2 El enunciado del ejercicio nos indica que la situacin R2 debe ser creada por la v.d.a. M2, pero condicionada a la existencia de R1, si bien, una vez creada dicha situacin R2, debe persistir aunque desaparezca R1. En estos casos decimos que R1 es un condicionante parcial, porque slo condiciona la creacin, pero no la persistencia, de R2

En algunos automatismos es necesario que el condicionante sea general; es decir, que condicione la creacin y la persistencia. Para expresar en el grafo de secuencia esta exigencia, se coloca el condicionante general ( enmarcado en un pequeo cuadrado ) al lado de la situacin condicionada, y al hallar la ecuacin lgica de la situacin citada se pondr este condicionante como factor general. El condicionante general tiene por si solo un efecto anulatorio, pero no creador; es una autorizacin. As, si en el ejercicio anterior se hubiese exigido que la situacin R2 estuviera condicionada en todo momento a la existencia de R1, haramos el grafo de secuencia siguiente :

R1 M1 M2 R2

R1

P1 R1 R2

P2

Ecuaciones lgicas

R1 = ( R1 + M1 ) P1 R2 = ( R2 + M2 ) P2 R1

DISEO BINODAL DE AUTOMATISMOS SECUENCIALES

Para poder abordar el diseo de los automatismos secuenciales por el mtodo binodal, es necesario tener en cuenta una serie de conceptos, que a continuacin se definen : 3.1 Variables de accin ( v.d.a )

Es toda informacin, en expresin simple o booleana, exterior o interior al sistema que puede provocar una evolucin de ste

3.2

Estados de accin ( e. d. a. )

Denominamos estados de accin ( e.d.a ) a cada una de las combinaciones binarias que se pueden presentar en las variables externas de entrada a un automatismo, provocando una transicin de ste Entre cada dos estados de accin operativos pueden existir uno o varios estados de accin transitorios

3.2.1 Estados de accin idnticos Son aqullos ( e.d.a ) cuyas variables constituyentes se encuentran en el mismo valor binario o nivel lgico

3.2.1.1 Estados de accin idnticos y compatibles Dos e.d.a idnticos sern compatibles, y por tanto no necesitarn ser discriminados en los siguientes casos : a.b.c.Cuando crean siempre y nicamente las mismas situaciones binodales Cuando la situacin binodal creada por uno de ellos es condicionante para la operatividad del otro; generalmente estos e.d.a aparecen consecutivos en el grafo de secuencia Cuando las situaciones creadas por ellos no sean antagnicas, y adems se cumpla que los intervalos de existencia de dichas situaciones sean mayores que los intervalos existentes entre los citados estados idnticos, incluido el e.d.a lmite del intervalo

Los e.d.a. idnticos compatibles se unen mediante una linea de trazos, excluyendo a los transitorios con sus adyacentes, por ser siempre compatibles

3.2.1.2 Estados de accin idnticos e incompatibles Decimos que dos e.d.a idnticos son incompatibles cuando no cumplen ninguna de las condiciones a), b) y c) anteriormente expresadas. A efectos prcticos para determinar la compatibilidad o incompatibilidad de e.d.a. idnticos, aplicaremos las reglas establecidas por F. Ojeda, que establecen la incompatibilidad de dos e.d.a. idnticos cuando :

* *

Las situaciones creadas por ellos sean antagnicas, o cuando Una al menos de las situaciones binodales generadas por cualquiera de dichos estados no exista en el instante de la actuacin del otro estado idntico

Estos estados necesitan, siempre, ser discriminados, pues de lo contrario se podran producir saltos de secuencia, acciones antagnicas, ciclos parsitos, etc. En estos casos, es necesario recurrir a la interseccin de otras variables con la variable de accin correspondiente. Las citadas variables condicionantes pueden ser otras variables externas ( captadores de informacin ) variables internas ( situaciones binodales ) , pero en muchas ocasiones ser necesaria la interseccin de nuevas variables, que denominaremos "variables auxiliares"

3.2.3 Estados de accin no idnticos e incompatibles Son aqullos en que la misma v.d.a. da lugar a situaciones binodales distintas. Estos necesitan ser discriminados, de la misma forma que los e.d.a. idnticos Los e.d.a. incompatibles e unen mediante una linea continua

4 DISEO BINODAL DE AUTOMATISMOS SECUENCIALES QUE NO PRESENTAN ESTADOS IDNTICOS INCOMPATIBLES A continuacin se disea un automatismo concreto, con el objeto de aclarar los conceptos expuestos, as como aclarar la forma de realizar el grafo de secuencia y la obtencin de las ecuaciones lgicas Ejercicio : Proyectar el circuito de mando para un mvil que se desliza sobre un husillo movido por un motor con doble sentido de giro. El motor es gobernado por dos contactores Rd y Ri que lo conexionan para que gire en sentido derecha o izquierda, respectivamente CONDICIONES : a) Al pulsar Md entrar el contactor Rd; entonces el mvil se desplaza hacia la derecha, y al llegar al final de carrera Fd se para, regresando seguidamente hacia Fi, donde permanecer en reposo hasta una nueva orden de Md Al pulsar un botn de emergencia P, se parar el mvil en cualquier posicin en que se encuentre, y podr reanudar la marcha hacia la derecha si se pulsa Md, o hacia la izquierda si se pulsa Mi. En cualquiera de los dos casos se parar al final del ciclo; es decir, al llegar el mvil al final de carrera Fi

b)

Ri

Rd MOTOR

HUSILLO

Fi Md P Mi

Fd

El grafo de secuencia debe ser una expresin grfica fiel del programa del automatismo propuesto. El proceso para la realizacin del grafo de secuencia es el siguiente :

1) 2)

Se van dibujando las situaciones binodales en el orden en que se deben ir creando, segn la secuencia impuesta por el programa del automatismo propuesto Se escriben los e.d.a. En primer lugar se anota el e.d.a. de comienzo del ciclo; es decir, los niveles lgicos ( 1 o 0 ) de los captadores de informacin en el momento de comienzo del ciclo. A partir del e.d.a de comienzo de ciclo se van obteniendo los siguientes, simplemente cambiando el nivel lgico de las variables que han conmutado. Deben incluirse los e.d.a transitorios si son diferentes del estado de accin operativo adyacente Se identifican los estados idnticos y si son compatibles se les une mediante una lnea de trazos, excluyendo a los transitorios entre s y a los transitorios con sus adyacentes, por ser siempre compatibles. Si son incompatibles, se les une con una lnea continua Se observa si alguna misma v.d.a da lugar a situaciones binodales distintas, si es as, se unen sus e.d.a con una lnea continua

3)

4)

Ri Mi Md Rd Fd P Ri

Rd

Fi P

Ri

Rd * * 0 ( 2' )

Md Fd Fi

1 0 1

* 0 *

* 1 0 (2)

0 0 1 (3)

( 1 ) ( 1' )

En consecuencia : Los estados de accin operativos son : ( 1 ), ( 2 ) y ( 3 ) Dentro de las variables externas que constituyen un estado de accin, no se considera el pulsador de paro P ni el de marcha Mi, ya que no tienen un comportamiento regular dentro del automatismo; dependen de la voluntad del operario

Con el asterisco se indica que Md puede estar o no pulsado, depende del operario; siempre consideraremos el caso ms desfavorable, que pueda estar o no pulsado; a excepcin del ltimo e.d.a., en que se considerar que es cero, con el fin de que se acabe el ciclo, ya que en caso de estar pulsado de nuevo Md volvera de nuevo a empezar el proceso. En los estados transitorios ( 1' ) y ( 2' ) hemos indicado con asteriscos el estado de los contactos Fi y Fd, pues podra ocurrir que el operario dejara de pulsar justo antes de abrirse cualquiera de los contactos anteriores; con lo que los asteriscos permiten contemplar todas las situaciones posibles No hemos indicado el estado transitorio ( 3' ) porque es anlogo al estado de accin ( 3 ) y corresponde al estado inicial del automatismo antes de pulsar el botn de marcha Md. Todos los estados transitorios son compatibles entre s por ser inoperantes. Tambin son compatibles con los dos e.d.a operativos adyacentes ( si son idnticos ) puesto que la identidad de un transitorio con el e.d.a. operativo adyacente anterior no hara ms que confirmar el efecto de ste y si la identidad es con el e.d.a. operativo adyacente posterior significara que se haba llegado a l, es decir, no se tratara realmente de un transitorio. Los estados ( 1' ) y ( 2' ) aunque son idnticos son compatibles por ser transitorios Los estados ( 1' ) y ( 3 ) son compatibles ya que la situacin binodal Ri creada por ( 3 ) existe en el momento en que aparece el ( 1' ) Es conveniente, una vez realizado el grafo de secuencia y detectadas las incompatibilidades, si las hubiera, repasar los e.d.a observando si se da la coexistencia de variables negadoras en los e.d.a. correspondientes a las creadoras, en el caso de aplicar el primer teorema ( prioridad de las negadoras ); o de variables creadoras en los e.d.a correspondientes a las negadoras, en el caso de aplicar el 2 teorema ( prioridad de las creadoras ). Ya que en el primer caso no se podra crear la situacin binodal y en el segundo no se podra negar.

OBTENCIN DE LAS ECUACIONES LGICAS

Rd = ( Rd + Md Fi ) Fd P Ri Por el 1 teorema Ri = ( Ri + Mi + Fd ) Fi P Rd

5 DISEO BINODAL DE AUTOMATISMOS SECUENCIALES QUE PRESENTAN ESTADOS IDNTICOS INCOMPATIBLES Los e.d.a idnticos sabemos que pueden ser compatibles o incompatibles; estos ltimos deben ser discriminados si no se desean saltos de secuencia. Para ello se recurre a la interseccin de la v.d.a creadora con otras variables. Estas variables pueden ser externas ( captadores de informacin ) o internas ( situaciones binodales ), pero en muchas ocasiones ser necesaria la intervencin de nuevas variables, que se denominan " variables auxiliares " 5.1 Automatismos con variable auxiliar

Ejemplo : El grafo de la figura representa un automatismo que va a permitir aclarar los conceptos indicados para disear un automatismo con variable auxiliar

acM

dP

bQ

aR

a b c d M

1 0 1 0 1 (1)

1 0 0 1 0 (2)

1 0 0 1 0 (3)

0 1 0 1 0 (4)

0 1 0 1 0 (5)

1 0 0 1 0 (6)

1 0 0 1 0 (7)

1 0 1 0 0 (8)

Estudio de compatibilidad Los e.d.a ( 2 ) y ( 3 ), son idnticos y compatibles, por el caso b Los e.d.a. ( 2 ) y ( 6 ), son idnticos y compatibles, por el caso c Los e.d.a ( 6 ) y ( 7 ), son idnticos y compatibles, por el caso b Los e.d.a ( 4 ) y ( 5 ), son idnticos y compatibles, por el caso b

2-6 6-2 2-7 7-2 3-6 6-3 3-7 7-3

P' R' P' S Q R' Q S

N.I.E.E.S.B 7 7 7 1 1 7 1 1

> > > < < > < <

N.I.E.E.A.I 4 5 5 3 3 5 4 4

Compatible Compatible Compatible Incompatibl e Incompatibl e Compatible Incompatibl e Incompatibl e

S. Antag. No No No Si Si No Si Si

Los e.d.a ( 2 ) y ( 7 ), son idnticos e incompatibles, por el caso c: observemos que los intervalos entre S y S son menores que entre los estados ( 7 ) y ( 2 ). Los e.d.a ( 3 ) y ( 6 ) son idnticos e incompatibles, por el apartado c. Observemos que los intervalos entre Q y Q son menores que los intervalos entre los estados ( 3 ) y ( 6 ) Los e.d.a ( 3 ) y ( 7 ) son idnticos e incompatibles por al apartado c. Observemos que los intervalos entre Q y Q son menores que los intervalos entre los estados ( 3 ) y ( 7 ). Igualmente, los intervalos entre S y S son menores que los intervalos entre los estados ( 7)y(3) Para eliminar las incompatibilidades existentes entre e.d.a idnticos, se introducen las variables necesarias , de manera que la creacin corte todos los lazos, y la desactivacin sea fuera de los lazos 5.2 Variables auxiliares

La discriminacin de e.d.a incompatibles se puede realizar, algunas veces, por condicionamiento a variables internas ( situaciones binodales ), pero normalmente es necesario introducir nuevas variables condicionadoras, llamadas " variables auxiliares ". Estas variables se introducen en el grafo de secuencia y se mantienen memorizadas durante un cierto intervalo del ciclo secuencial 5.3 Variables directivas

Se llaman " variables directivas " a aquellas que en el momento de aparecer dan lugar a una nueva situacin binodal. Estas variables pueden ser simples o booleanas " Las variables directivas han de tomarse siempre para la obtencin de las ecuaciones lgicas ", porque son las que determinan el momento de creacin de las situaciones binodales. Las restantes variables que junto con la directiva constituyen un e.d.a. son solamente " condicionantes " del efecto de dicha variable directiva y nicamente sern necesarias, algunas de ellas, en aquellos casos que la variable directiva exista ( aunque no sea como directiva ) varias veces en un mismo ciclo y necesita ser discriminado su efecto en los distintos momentos de la secuencia.

5.4

Discriminacin de estados de accin incompatibles

La discriminacin de e.d.a. idnticos incompatibles se consigue introduciendo en el grafo de secuencia las variables auxiliares. Una variable auxiliar ser creada por alguna de las variables directivas o situaciones binodales existentes en uno de los intervalos del ciclo que separan los e.d.a. incompatibles, y ser borrada ( creada su complementaria ) por alguna variable directiva o situacin binodal existente en el otro intervalo que separa a los citados e.d.a. Las variables auxiliares tiene carcter binario ( X, X ); por tanto, una sola variable auxiliar puede discriminar dos o ms e.d.a. incompatibles; bastar para ello que unos e.d.a. queden en el intervalo del dominio de X, y los correspondientes incompatibles, en el intervalo del dominio de X El nmero de variables auxiliares necesarias para discriminar todos los e.d.a. incompatibles, y la determinacin de los puntos del grafo en que aquellas deben ser introducidas se obtiene fcilmente trazando el nmero mnimo de lneas verticales que, pasando por alguna v.d.a., intercepten la totalidad de los enlaces de los e.d.a. incompatibles. As, en el grafo anterior bastar la lnea vertical X para interceptar todos los enlaces de un intervalo, y la lnea X para interceptar los del intervalo de vuelta 5.5 Dominio de una variable

Se denomina dominio de una variable ( directiva, condicionante o auxiliar, simple o booleana ) a los intervalos de ciclo durante los cuales permanece en ese estado. Por ejemplo X est activada en 3 intervalos : entre ( 5 ) y ( 6 ), entre ( 6 ) y ( 7 ) y entre ( 7 ) y(8) 5.6 Dominio de una situacin binodal

Se llama dominio de una situacin binodal a los intervalos de ciclo comprendidos entre la citada situacin y situacin antagnica. Por ejemplo de P a P hacia la derecha hay un intervalo, y hacia la izquierda hay siete Tanto el dominio de una variable como el dominio de una situacin binodal pueden ser intermitentes, pues es frecuente en muchos automatismos el que una misma variable o situacin binodal exista en dos o ms grupos de intervalos distintos del ciclo; es decir, que se cree y se borre ms de una vez dentro de un mismo ciclo. Observemos que los e.d.a. ( 2 ) y ( 3 ) han quedado bajo el dominio de X , mientras que sus incompatibles ( 6 ) y ( 7 ), respectivamente, estn bajo el dominio de X A continuacin, disearemos un automatismo concreto, con el objeto de aclarar los conceptos expuestos y orientar sobre la forma de realizar el grafo de secuencia y la obtencin de las ecuaciones lgicas

Ejercicio : Se desea sintetizar un autmata secuencial para el gobierno del desplazamiento de dos mviles, segn el programa siguiente : Mediante una orden impulsional en el botn de puesta en marcha M se debe activar el contactor R1, lo que provoca que el mvil (1) se desplace hacia la derecha, al llegar ste al captador F2 se debe desactivar R1 y a continuacin activarse R3, lo que hace desplazar al mvil (2) hacia la derecha. Al llegar ste al captador F4 se debe desactivar R3 y activarse seguidamente R4, por lo cual el mvil (2) se desplazar hacia la izquierda hasta llegar de nuevo a F3, donde debe pararse y seguidamente activarse R2, que hace regresar al mvil (1) hasta F1 ( estado inicial ), donde permanecer hasta una nueva pulsacin en M, que ordenar la iniciacin de un nuevo ciclo.

R2

R1 MOTOR 1

HUSILLO

M F1 R4 R3 MOTOR 2 F2 HUSILLO

F3

F4

X MF1 F2 F2R1 F4 F4R3 * 0 1 0 1 (5) F3

X F3R4 * 0 1 1 0 (7) F1

R1

R1

R3

R3

R4

R4

R2

R2

M... 1 F1...1 F2...0 F3...1 F4...0 (1)

* 0 1 1 0 (2)

* 0 1 1 0 (3)

* 0 1 0 1 (4)

* 0 1 1 0 (6)

0 1 0 1 0 (8)

Identificacin de e.d.a. idnticos * * * * Comparando el e.d.a. ( 1 ) con todos los siguientes vemos que no es idntico a ninguno Comparando el e.d.a. ( 2 ) con todos los siguientes se deduce que es compatible con el ( 3 ) ( caso b ). Tambin es compatible con el ( 6 ) ( caso c ). Sin embargo con el ( 7 ) es incompatible Comparando el e.d.a. ( 3 ) con todos los siguientes se verifica que es incompatible con el ( 6 ) y con el ( 7 ) Los restantes e.d.a no tienen ninguna incompatibilidad N.I.E.E.S.B 7 1 1 7 1 1 N.I.E.E.A.I 5 3 3 5 4 4 S. Antag. No Si Si No Si Si

2-7 7-2 3-6 6-3 3-7 7-3

R1' R2 R3 R4' R3 R2

> < < > < <

Compatible Incompatible Incompatible Compatible Incompatible Incompatible

Introduccin de variables auxiliares Si en el ciclo que existen e.d.a. incompatibles ( en el ejercicio que estamos tratando son incompatibles el 2 con el 7 y el 3 con el 6 y 7 ) es necesario discriminar sus acciones, lo cual se consigue condicionando los e.d.a. incompatibles a variables auxiliares distintas. Estas variables deben colocarse en los intervalos que separan a los citados e.d.a. incompatibles El nmero de variables auxiliares y el lugar del grafo donde deben ser introducidas se determina prcticamente trazando el nmero mnimo de lneas verticales que pasando por alguna v.d.a., intercepten la totalidad de los enlaces de los e.d.a. incompatibles. As, en el grafo presente bastar la lnea vertical X que pasa por la variable de accin F4 para interceptar todos los enlaces de un intervalo, y la lnea X que pasa por la v.d.a. F1 para interceptar el intervalo de vuelta Obsrvese en el grafo como los e.d.a. 2 y 3 quedan bajo el dominio de X en tanto que sus incompatibles estn bajo el dominio de X. Por tanto, si condicionamos la operatividad de dos e.d.a. idnticos incompatibles a la existencia o dominio de dos variables distintas ( X y X ) desaparece la incompatibilidad, pues, evidentemente, al incorporarse a dos e.d.a. idnticos una variable distinta se obtienen dos nuevos estados diferentes entre s. Una vez introducidas las variables auxiliares, el paso siguiente y ltimo es la obtencin de las ecuaciones lgicas

Obtencin de las ecuaciones lgicas Se aplican los teoremas binodales, teniendo en cuenta la siguiente regla :

" Si el dominio de una variable directiva es menor que el de la situacin por ella activada, o lo que es lo mismo, si en el dominio de una variable directiva no aparece la situacin antagnica de la situacin activada por la citada variable, es suficiente para el gobierno de la situacin la propia variable directiva, es decir, no hace falta tomar, al hallar la ecuacin de la situacin, ninguna variable ms, ni auxiliar ni de entrada "

En caso contrario, s es necesaria la interseccin con otra u otras variables auxiliares o de entrada, para tener un dominio menor que el de la situacin activada. Apliquemos la regla para la obtencin de las ecuaciones lgicas de los binodos del grafo de secuencia anterior Ecuacin del binodo auxiliar ( X, X ) Los dominios de las variables directivas F4 y F1 son menores que los de las situaciones X y X , creadas por ellas, respectivamente. No sern necesarias otras variables. X = ( X + F4 ) F1 Ecuacin del binodo ( R1, R1 ) La variable directiva de la situacin R1 es la booleana M F1 cuyo dominio es menor que el de la situacin R1. La variable directiva de la situacin R1 es F2 cuyo dominio es menor que el de R1 ; por tanto, su ecuacin lgica ser : R1 = ( R1 + M F1 ) F2 Ecuacin del binodo ( R2, R2 ) La variable directiva de la situacin R2 es F3 R4 , cuyo dominio es mayor que el de R2; por tanto F3 R4 no es suficiente para el gobierno de R2, porque dentro de su dominio aparecer la situacin antagnica R2 dando lugar a una indeterminacin. Por esta razn es necesario reducir el dominio de F3 R4 , lo que se consigue interceptndole con el dominio de la auxiliar X, resultando F3 R4 X; esta interseccin ya tiene un dominio menor que R2. As pues, la citada interseccin F3 R4 X ser la v.d.a. definitiva creadora de la situacin R2

1 F3 R4 R2

Utilizando la variable auxiliar X, se consigue reducir el dominio, no apareciendo ya la situacin antagnica de R2 ( es decir no apareciendo R2 ), tal como se puede apreciar en la tabla siguiente 1 F3 R4 X R2 2 3 4 5 6 7 8

La variable directiva de la situacin R2 es F1, cuyo dominio es menor que el de R2; por tanto, es suficiente F1 como v.d.a. definitiva R2 = ( R2 + F3 R4 X ) F1 Cuando la variable directiva crea a su vez una variable auxiliar ( X ), puede utilizarse sta en lugar de la directiva, siempre que la interseccin resultante siga siendo de menor dominio que la situacin. Este caso se da en el problema presente y su utilizacin puede reportar alguna simplificacin, como ocurre aqu : R2 = ( R2 + F3 R4 X ) X = ( R2 + F3 R4 ) X Aplicando las mismas reglas a los restantes binodos se obtienen las siguientes ecuaciones R3 = ( R3 + F2 R1 X ) X = ( R3 + F2 R1 ) X Nota : Todos los factores parciales de los trminos de una funcin "O" pueden suprimirse si tambin figuran en la misma ecuacin como factores generales. Para comprobarlo, basta efectuar el producto, simplificar y sacar nuevamente factores comunes. R4 = ( R4 + F4 R3 ) F3

5.7

Estados inoperantes o transitorios

Cuando en un sistema secuencial una o ms variables tienen carcter aleatorio, es decir si el instante de aparicin de dichas variables no est totalmente determinado, pueden aparecer en los intervalos existentes entre e.d.a. operativos, unos estados transitorios que aunque deben ser inoperantes porque no se les ha asignado efecto alguno, pueden ser idnticos e incompatibles con otros e.d.a. operativos La existencia de un estado transitorio en un instante dado de la secuencia hara actuar el e.d.a. operativo idntico correspondiente a otro momento secuencial distinto, produciendo un salto de secuencia no deseado. En estos casos es necesario discriminar el e.d.a. operativo respecto al transitorio idntico, bien mediante una variable auxiliar o bien a travs de su condicionamiento a situaciones binodales si ello fuera posible. Los estados transitorios se escriben, en el grafo de secuencia, debajo de la situacin binodal correspondiente al momento secuencial en que aparecen. Los estados transitorios, por ser inoperantes, son siempre compatibles entre s. tambin son compatibles con los dos e.d.a. operativos adyacentes, puesto que en la identidad de un transitorio con el e.d.a. operativo adyacente anterior no hara ms que confirmar el efecto de ste; y si la identidad es con el e.d.a. operativo adyacente posterior significara que ya se haba llegado a l, es decir, no sera realmente un transitorio. Para detectar si en el intervalo entre dos e.d.a. operativos consecutivos puede aparecer algn estado transitorio, se observa si en dicho intervalo puede cambiar de nivel alguna variable. Para ello hay que tener en cuenta, adems del enunciado y exigencias del programa, el comportamiento de las variables. Al escribir el grafo de secuencia se asignar el signo de indeterminacin * a aquellas variables que tengan este carcter. A las variables que no cambien de nivel se les asignar el nivel lgico que mantienen en el intervalo, que evidentemente es el que figura en el e.d.a. de entrada a dicho intervalo. Supongamos que en el grafo parcial de la figura, la variable de entrada "a" es aleatoria. Se observa que la aparicin del transitorio ( 2' ) podra hacer actuar el e.d.a. operativo ( 1 ), que puede ser idntico, en un momento no deseado; por tanto, es necesario discriminar el e.d.a. operativo ( 1 ) respecto al transitorio ( 2' ) a b c

S1

S1 * 1 0 * * 0 ( 2' )

S2

*a b c

1 0 0 (1)

* 0 0 ( 1' )

* 0 1 (3)

* 0 1 ( 3' )

(2)

Tambin aparecen transitorios cuando la variable directiva de alguna situacin binodal contiene ms de una variable exterior independiente, dado que no es posible fsicamente que dos o ms variables independientes lleguen al mismo tiempo; la diferencia podra ser despreciable y no provocar problemas, pero lo ms probable en la prctica, es que la duracin del transitorio sea superior al tiempo de respuesta de los elementos del sistema. El grafo de la figura siguiente posee dos transitorios de este tipo a a b c 1 0 0 (1) S1 1 0 1 1 1 0 bc 1 1 1 (2) S2

( 1' ) ( 1" )

El e.d.a. ( 2 ) se forma a la llegada de b y c, pero como estas variables no pueden llegar al mismo tiempo aparecer alguno de los transitorios ( 1' ) ( 1" ), segn sea c o b que llegue antes. Ejercicio. Sistema de alarma Un sensor vigila la temperatura de una mquina. Cuando, por causa de una avera, la temperatura llega a un cierto valor preestablecido, el sensor enva una seal S. Tanto si la avera es momentnea como si es persistente, se debe poner en funcionamiento un avisador acstico A y encenderse una lmpara roja L. Recibida la seal de alarma, el operario debe accionar un pulsador P, y pueden ocurrir dos casos : a.b.Si la avera slo fue momentnea, el impulso P hace que se apague la lmpara L y tambin deje de funcionar el avisador acstico. Si la avera persiste, el impulso P desconecta el avisador acstico A, pero la lmpara L seguir encendida hasta que desaparezca la avera, en cuyo momento se apaga

S A P L

En este automatismo la v.d.a. "S" es aleatoria; por tanto, habr que tener en cuenta los estados transitorios

A * 0 ( 1' )

L * 0 ( 2' )

A * *

L 0 * ( 4' )

S P

1 0 (1) L

* 0 (2) A

* 1 (3)

0 *

( 3' ) ( 4 ) A

Aunque el e.d.a. ( 1 ) es incompatible con el transitorio ( 3' ) no es necesario introducir variables auxiliares porque ( 1 ) est bajo el dominio de L , mientras que ( 3' ) lo est en el dominio de L. Por tanto, la situacin binodal L ser el condicionante discriminatorio del e.d.a. ( 1 ) respecto al transitorio ( 3' ) El e.d.a. ( 2 ) es incompatible con el ( 4 ) y el ( 4' ), pero est bajo el dominio de situaciones distintas ( A y A ) que servirn para discriminarlos. Por tanto las ecuaciones lgicas sern : A=(A+SL)P L=(L+A)SA=LS+A

DISEO BINODAL DE AUTOMATISMOS SECUENCIALES GOBERNADOS POR LOS CAMBIOS DE NIVEL ( FLANCOS ) EN SUS ENTRADAS

Vamos a estudiar el diseo binodal de automatismos secuenciales gobernados por los flancos en sus entradas, mediante un ejemplo prctico Ejercicio : Se desea disear un automatismo de forma que cada vez que se acte sobre un pulsador P se encienda una bombilla B si estaba apagada, o se apague si estaba encendida. a) Solucin mediante variable P diferenciada

1 (1)

1 (2)

( 1 ) y ( 2 ) son incompatibles porque dan lugar a situaciones antagnicas. Si intentamos introducir entre ellos variables auxiliares para diferenciarlos, vemos que no se puede, ya que no hay estados intermedios Podramos condicionar la creacin de B a B P ; y la creacin de B a B P, pero hacindolo de esta forma van a surgir problemas. Veamos : B=(B+BP)BP=(B+BP)(B+P)=BP+BP=B + P

Si P = 1 con B = 0 B = 1, pero si soltamos el pulsador P = 1 con B = 1 B = 0 y as sucesivamente, es decir, se producen oscilaciones. El nico caso en que funcionara sera si al mismo tiempo que B = 1, P pasase a 0, es decir, que la pulsacin de P fuese muy corta. La forma de conseguir esto es que P acte de forma diferenciada. Un sencillo diferenciador sera : P Pd

La duracin del impulso se puede aumentar aadiendo ms inversores, con la condicin de que el total sea un nmero impar. Esta forma de materializacin es insegura desde el punto de vista P Pd hardware. Requiere verificar experimentalmente la anchura de Pd ms adecuada ya que con un slo inversor en TTL resulta un impulso 10 ns, siendo algo justo para conmutar B. Con 3 inversores el impulso sera de unos 30 ns pudiendo dar lugar a veces a 2 conmutaciones sucesivas. Una solucin intermedia podra ser aadir un buffer no inversor a continuacin del inversor B = ( B + B Pd ) B Pd = B Pd + B Pd = B + Pd

Pd

Este montaje no es recomendable por ser muy difcil encontrar un impulso de duracin adecuada b) Solucin actuando P por flanco explcito

Cuando aparecen 2 e.d.a. incompatibles consecutivos, la solucin ms segura es por flancos. El grafo sera :

1 (1)

1 (2)

Sin embargo, aun actuando por flanco los estados siguen siendo iguales e incompatibles ( dan lugar a situaciones antagnicas ) ya que ambas situaciones son activadas por la misma variable directiva P . Para distinguir los estados, los condicionaremos a la situacin anterior, es decir B se crear si estando presente B llega P ; y B se crear si estando presente B llega P B=(B+BP )BP c) Solucin actuando P por flanco implcito

En este caso se realiza la deteccin del flanco a travs de un binodo auxiliar X - X

X BP XP=P B XP=P B BP

1 (1)

1 (2)

( X ) ser creada por la situacin anterior condicionada al reposo de P ( P ) y ser borrada ( X ) por la situacin anterior ( B ) condicionada tambin al reposo de P

X=(X+BP)BP La situacin principal ( B ) ser creada por X condicionada a la llegada de P y ser borrada ( B ) por X condicionada tambin a la llegada de P

B=(B+XP)XP Regla Prctica Cuando dos e.d.a. incompatibles sean consecutivos, la variable auxiliar discriminatoria de cada e.d.a. ser creada y negada por el producto lgico de la situacin binodal precedente con el complemento de la variable directiva del e.d.a. considerado En el caso, poco probable de que la interseccin citada tuviera un dominio mayor que la variable auxiliar creada, se reducir este dominio interceptndolo con otras variables, tal como se ha venido haciendo en la determinacin de las v.d.a. definitivas

7 7.1

DISEO BINODAL DE AUTOMATISMOS SECUENCIALES CON TEMPORIZADOR Introduccin

En este punto se va a tratar el fenmeno de la temporizacin y su aplicacin a los automatismos secuenciales. Para ello se va a hacer un resumen de los diversos tipos de temporizacin y la forma de plasmarlo en los grafos de secuencia resolutivos del problema secuencial. Un punto importante a tener en cuenta, que va parejo al problema de la temporizacin, es la deteccin de posibles estructuras monodales que con apariencia de binodos se encuentran en los grafos de secuencia. Este problema surge como consecuencia de temporizar el efecto de alguna variable, ya que, con ello, se alarga, se recorta o desplaza, en el dominio del tiempo, el efecto de la misma, provocando usualmente una variacin del dominio de la variable, lo cual debe ser tenido en cuenta. Por ltimo, se va a tratar el diferenciador. Dicho dispositivo va a permitir, en determinadas ocasiones, evitar la utilizacin de variables auxiliares. Como consecuencia de ello el nmero de binodos auxiliares disminuir y, por tanto, el nmero de ecuaciones lgicas 7.2 Tipos de temporizacin

Los temporizadores son dispositivos que se colocan entre la seal que se desea temporizar y el receptor que tiene que recibir su accin, para retardar su activacin, su desactivacin, o las dos cosas sucesivamente. El diagrama de bloques de un temporizador es el mostrado en la siguiente figura : SEAL DE ENTRADA A TEMPORIZADOR Se distinguen tres tipos de temporizadores elementales : 7.2.1 Temporizacin en la activacin Ata Es aquel que al activarse la seal de entrada A, tarda un tiempo "t" en transmitirla a la salida At

RECEPTOR

7.2.2 Temporizacin en la desactivacin Atd Es aquel que recibe la seal de entrada A y la transmite inmediatamente al receptor, pero cuando desaparece A, el temporizador sigue suministrando, durante un tiempo "t", una seal equivalente a la entrada A, ya desaparecida 7.2.3 Temporizacin en la activacin y en la desactivacin Atad Es el que realiza sucesivamente las dos temporizaciones indicadas anteriormente Los tres tipos de temporizacin estn representados grficamente en la siguiente figura :

1 Seal de entrada A Seal temporizada en la activacin ta A A 0

A ta

Seal temporizada en la desactivacin td A Seal temporizada en la activacin y en la desactivacin tad A

A td

A tad

A partir de estas tres temporizaciones bsicas estudiadas se pueden obtener otros tipos de temporizaciones, que podramos llamar secundarias, simplemente invirtiendo las entradas o las salidas de los temporizadores estudiados. Con estos nuevos tipos de temporizacin se abre un amplio abanico de posibilidades a la hora de utilizar los temporizadores. Tambin es til, el presente estudio, para que a partir de un slo tipo de temporizador comercial se pueda obtener cualquier tipo de temporizacin, segn nos interese. As pues, vamos a distinguir dos tipos de temporizaciones secundarias : A.B.Inversin a la salida del temporizador bsico Inversin a la entrada del temporizador bsico

A.- Inversin a la salida Se obtienen las temporizaciones siguientes :

Ata

Atd

Atad

1 0

A ta

A td

A tad

B.- Inversin a la entrada Si la seal sufre una inversin a la entrada del temporizador, se obtienen las temporizaciones siguientes :

A ta A A t

A td

A tad

1 0

ta

A td

A tad

Observando detenidamente las figuras anteriores se obtienen tres igualdades de gran importancia, las cuales permiten obtener todas las funciones de tiempo, utilizando un slo tipo de unidad temporizadora, asociada a las unidades inversoras que sean necesarias A ta = A td A tad = A tad

A td = A ta

A ta ta ta Temporizaciones bsicas

A td tad ta A ta

td

td

ta

A td A tad

td td ta Temporizaciones

A ta A td tad

ta td

secundaria

ta

7.3

Deteccin de monodos con apariencia de binodos

Cuando en un automatismo se temporiza el efecto de alguna de sus variables, los dominios de stas, se ven modificados en mayor o menor medida. Como consecuencia de esta modificacin, del dominio de algunas variables, puede ocurrir que ciertas estructuras con apariencia de binodos en el grafo de secuencia, se comporten como verdaderas estructuras monodales ( monodos ). La deteccin de estas estructuras monodales se traduce en una mayor simplificacin de la ecuacin lgica resultante del falso monodo. Para detectar estas estructuras monodales existen dos reglas prcticas. Estas reglas son de aplicacin inmediata una vez que se ha realizado el grafo de secuencia del automatismo.

REGLA 1.- Dos situaciones binodales antagnicas constituyen un " monodo restringido ", es decir, carente de variable de borrado, cuando el dominio de la variable " C " creadora de la situacin principal " P ", es igual al dominio de sta

REGLA 2.- Dos situaciones binodales antagnicas constituyen un " monodo generalizado " cuando sus variables directivas sean diferentes y adems la variable " C" creadora de la situacin principal " P ", se mantenga en todo el dominio de la situacin o le sobrepase, pero no sobrepase el dominio de variable de borrado " B " ( en el caso de que el dominio de "C" penetre en el dominio de "B" )

Ejercicio 1 Un equipo de soldadura oxiacetilnica lleva una electrovlvula A para la va del acetileno y otra Ox para la va del oxgeno. Programa : a) Un impulso en un pulsador de marcha M excita la electrovlvula A y a los 3 segundos de existir A se excita Ox. b) Un impulso en un pulsador de parada P desexcita A y seguidamente se desexcita Ox

Monodo restringido ( regla 1 ) ta A 3 s.

Ox

Ox

M P ta A 3 s.

1 0 0 (1)

0 0 1 (2)

0 1 1 (3)

0 1 0 (4)

A=(A+ M)P

Ox = A ta 3 s.

Ejercicio 2 Disear un circuito para el gobierno de dos electroimanes A y B, con el siguiente programa de trabajo a) b) Un impulso elctrico dado por el pulsador de puesta en marcha M activa al electroimn A y a los 5 segundos siguientes se activa B Un impulso elctrico del pulsador de parada P desactiva al electroimn B y a los 8 segundos siguientes se desactiva A

Monodo generalizado ( regla 2 )

X ta A 5 s.

X ta B 8 s.

M P ta A 5 s. ta B 8 s.

1 0 0 1 (1)

0 0 1 1 (2)

0 1 1 0 (3)

0 0 1 1 (4)

ta A=(A+ M)B X 8 s.

X=(X+M )P

B = A ta X 5 s.

AUTOMATISMOS CON BINODOS DE APOYO

Son numerosos los automatismos que precisan, para su correcto funcionamiento, la actuacin secuencial de una serie de acontecimientos con un orden y duracin predeterminados. Pensemos, por ejemplo, en cajeros automticos, alarmas, puertas de seguridad, etc. Slo despus de que la secuencia establecida en la actuacin de los captadores de informacin sea la correcta, el automatismo estar en situacin de variar el nivel de alguna de sus salidas. Esto se puede conseguir mediante la introduccin de los " BINODOS DE APOYO " As, pues, los binodos de apoyo son una herramienta auxiliar que nos va a permitir que determinados automatismos respondan slo a una ( varias ) secuencias predeterminadas. Dicha secuencia va a estar regida por la limitacin, tanto en el orden de aparicin de los captadores de informacin, como en los tiempos en que estos acontezcan. A diferencia de los binodos habituales, estos binodos no producen ninguna actuacin externa del automatismo, sino que slo sirven para " memorizar " determinadas secuencias de actuacin. Por tanto con ellos se dota de cierta inteligencia a los automatismos, ya que la secuencia puede bifurcarse por distintos caminos dentro del grafo de secuencia. Tambin son diferentes a los binodos auxiliares introducidos en los grafos de secuencia, ya que estos binodos auxiliares se introducen despus de realizado el grafo de secuencia. Por tanto, al realizar el grafo de secuencia, introduciremos dichos binodos de apoyo siempre que se produzca una accin de entrada que sea condicin del programa, pero que no produzca de inmediato un cambio en ninguna salida. Ejemplo : Queremos que un actuador Z se active si y slo si los tres captadores de informacin A, B y C llegan de forma secuencial en el siguiente orden : primero A, luego B y luego C El grafo de secuencia quedara de la siguiente forma :

Am

B Am

Bm

C Bm

En dicho grafo de secuencia Am y Bm memorizan las llegadas de A y B respectivamente, si previamente se ha memorizado A. Slo queda decir que la obtencin de la ecuacin lgica de un binodo de apoyo se realiza de forma anloga a los binodos normales, aplicando los teoremas de la teora binodal.

TEMA 6: AUTMATA PROGRAMABLE FESTO FPC 404

OPERANDOS DE LOS FPC DE FESTO

El software FST permite que los programas se escriban utilizando indistintamente operandos absolutos ( p.ej. T1 es el operando absoluto del Temporizador nmero 1 ) o bien operandos simblicos ( p.ej. MOTOR puede ser asignado a la salida 1.6 ). Para obtener un mayor grado de claridad, en este documento se utilizarn solamente operandos absolutos. Antes de empezar a utilizar el lenguaje AWL es necesario familiarizarse con los diferentes operandos de los controles FPC y como se direccionan utilizando este lenguaje. Dependiendo del modelo de control, puede haber diferencias en el tipo y alcance de los operandos disponibles

1.1

Operandos monobit y multibit

Debe distinguirse entre los operandos Monobit y Multibit. Los Operandos Monobit ( SBO ) ( Single Bit Operand ) pueden evaluarse como cierto / falso en la parte condicional de una frase del programa y pueden Activarse / Desactivarse ( Set / Reset ) en la parte ejecutiva del programa. Durante las operaciones de interrogacin y carga, los SBO son almacenados en el Acumulador Monobit ( SBA ) ( Single Bit Accumulator ) de la CPU Los operandos Multibit ( MBO ) ( Multi Bit Operand ) pueden compararse con otros operandos multibit ( <, >, =, etc. ) ( rango 0-255, 0-65535, +/- 32767 etc. ) en la parte condicional de la frase. En la parte de ejecucin de la frase de un programa, los operandos multibit pueden ser cargados con valores, decrementados e incrementados o manipulados por medio de un amplio conjunto de operadores aritmticos y lgicos. Durante su interrogacin y operaciones de carga, los MBOs son cargados en el Acumulador Multibit ( MBA ) de la CPU

1.1.1 Operandos Monobit La siguiente tabla proporciona informacin general sobre los operandos Monobit, cmo se abrevian en el lenguaje AWL, as como un breve ejemplo. La columna indica si el ejemplo respectivo es vlido para la parte Condicional ( c ) o Ejecutiva ( e ) de una frase del programa

Operando Entrada Input Salida Output Marca Flag Contador Counter Temporizador Timer Programa Program Procesador Processor Error Status

AWL Forma I O O F F C C T T P P Y Y E

Sintaxis In.n On.n On.n Fn.n Fn.n Cn Cn Tn Tn Pn Pn Yn Yn E

Parte c c e c e c e c e c e c e c

Ejemplo tpico IF I 2.0 IF O 2.6 SET O 2.3 IF F 7.15 RESET F 9.3 IF C 3 SET C 5 IF T 7 SET T 4 * IF P2 * SET P3 * IF Y2 * RESET Y1 * IF E

NOTA : Los operandos marcados con "* " pueden diferir o no estar disponibles en todos los modelos de FPC

1.1.2 Operandos Multibit La siguiente tabla proporciona informacin general sobre los operandos Multibit, cmo se abrevian en el lenguaje AWL, as como un breve ejemplo. La columna indica si el ejemplo respectivo es vlido para la parte Condicional ( c ) o Ejecutiva ( e ) de una frase del programa Operando Palabra de Entradas Input Word Palabra de Salidas Output Word Palabra de Marcas Flag Word Unidad Funcional Function Unit Pal. deTemporizador Timer Word Preselec de Tempor. Timer Preselect Palabra deContador Counter Word Presel. de Contador Counter Preselect Registro register AWL Forma IW OW OW FW FW FU FU TW TW TP TP CW CW CP CP R R Sintaxis IWn OWn OWn FWn FWn FUn FUn TWn TWn TPn TPn CWn CWn CPn CPn Rn Rn Parte c c e c e c e c e c e c e c e c e Ejemplo tpico IF ( IW3 = V 255 ) IF ( OW2 = V 80 ) LOAD V 128 TO OW3 IF ( FW3 = V 220 ) LOAD V 2100 TO FW1 IF ( FU32 = V16 ) LOAD FU34 TO R60 IF ( TW2 < V 2000 ) LOAD V1345 TO TW6 IF ( TP0 < V20 ) * THEN LOAD V50 TO TP4 IF ( CW 3 <> V20 ) THEN INC CW 5 IF ( CP3 = V 555 ) LOAD V67 TO CP5 IF ( R 60 = V 21113 ) LOAD ( R53 + R 45 ) TO R 32

NOTA : Los operandos marcados con "* " pueden diferir o no estar disponibles en todos los modelos de FPC

1.2

Operandos Locales y Globales

Algunos modelos de FPC permiten varias CPUs dentro del mismo sistema. Cuando se construyen tales sistemas, algunos operandos se designan como locales mientras que otros se definen como globales 1.2.1 Operandos Globales Los operandos globales son partes de un sistema al que puede accederse desde cualquier CPU. Ejemplos tpicos de elementos globales incluyen Entradas, Salidas y Marcas. Para que sea posible este acceso global, los operandos globales deben ser nicos en su designacin convencional

1.2.2 Operandos Locales Los operandos locales son parte de un sistema al cual slo puede accederse por medio de programas en una determinada CPU. Generalmente estos operandos residen en la CPU local y no tienen nombres globales nicos. Si el modelo de FPC utilizado no permite la inclusin de un nmero de CPU o nmero de mdulo cuando se referencia un operando, entonces el operando es clasificado tpicamente como de uso local. Por ejemplo, en un sistema que contenga mltiples CPUs, cada CPU puede tener 32 Temporizadores que son referenciados como T0 - T 31 en los programas AWL. As que podemos tener un programa funcionando en la CPU 0 que se refiera al temporizador 6 ( T6 ) y al mismo tiempo un programa en la CPU 1 que tambin se refiera al temporizador 6 como T6. En esta situacin, nuestro sistema contiene actualmente dos ( 2 ) temporizadores totalmente independientes, ambos referenciados como T6...uno en cada CPU. A pesar de que se debera consultar el manual del modelo de FPC utilizado, se considera que los siguientes operandos son generalmente locales : * * * * * * 1.3 Registros Temporizadores Contadores Unidades Funcionales Programas Procesadores Operadores

El lenguaje AWL utiliza los siguientes operadores y notaciones en la construccin de frases. Smbolo N V V$ V% + * / < > = <> <= >= Propsito NOT ( negacin VALUE asignacin para operandos multibit ( decimal ) VALUE asignacin para operandos multibit ( hexadecimal ) VALUE asignacin para operandos multibit ( binario ) Suma de operandos multibit y constantes Resta de operandos multibit y constantes Multiplicacin de operandos multibit y constantes Divisin de operandos multibit y constantes Comparacin multibit....Menor que Comparacin multibit....Mayor que Comparacin multibit....Igual a Comparacin multibit....Diferente de Comparacin multibit....Menor o igual a Comparacin multibit....Mayor o igual a

ESTRUCTURA DE PROGRAMACIN AWL

El lenguaje de programacin AWL ( lista de instrucciones ) permite al programador resolver tareas de control utilizando simples instrucciones en ingls para describir las operaciones que se desea que haga el control. Los programas en lista de instrucciones se construyen utilizando varios elementos importantes. No se requieren todos los elementos disponibles, y la forma en que son combinados los elementos influye notablemente en el comportamiento del programa 2.1 Jerarqua de los elementos AWL PROGRAMA PASO FRASE PARTE CONDICIONAL PARTE EJECUTIVA

2.2

Instruccin STEP ( Paso )

A pesar de que la instruccin STEP ( Paso ) es opcional, muchos de los programas AWL utilizan la instruccin STEP. Esta instruccin se utiliza para marcar el inicio de un bloque lgico de programa Cada programa AWL puede contener hasta 255 STEPs ( Pasos ) y cada Paso puede contener una o ms Frases. A cada Paso se le puede asignar un nombre o " etiqueta " opcional. Una Etiqueta de Paso solamente se requiere si el Paso correspondiente debe ser posteriormente nombrado como el destino de una instruccin de salto. 2.3 Frases

La Frase forma el nivel ms elemental de la organizacin de un programa. Cada Frase consta de una Parte Condicional y de una Parte Ejecutiva . La Parte Condicional sirve para indicar una o ms condiciones que son evaluadas durante el funcionamiento por su condicin de ciertas o falsas. La Parte Condicional siempre empieza con la palabra clave IF y sigue con una o ms instrucciones que describen las condiciones a evaluar.

Si las condiciones programadas son evaluadas como ciertas, entonces sern ejecutadas todas las instrucciones programadas en la parte ejecutiva de la frase. El inicio de la parte ejecutiva se indica con la palabra clave THEN 2.3.1 Frases tpicas A continuacin se presenta un ejemplo tpico de frases sencillas en AWL sin la utilizacin de la instruccin STEP

IF THEN IF THEN IF THEN

SET N SET AND AND RESET RESET N

I 1.0 O 1.2 I 2.0 O 2.3 I 6.0 I 2.1 O 3.1 O 2.1 T6

Si entrada 1.0 activa entonces activa la salida 1.2 Si entrada 2.0 NO est activa entonces activar la salida 2.3 Si entrada 6.0 est activa y entrada 2.1 no est activa y salida 3.1 est activa entonces desactiva salida 2.1 y desactiva Timer 6

En la ltima frase del ejemplo, se ha introducido el concepto de condiciones compuestas. Esto significa que todas las condiciones citadas en la frase deben ser ciertas para que se ejecuten las acciones que siguen a la palabra clave THEN

IF THEN OR INC SET

I 3.2 N T6 CW1 T4

Si entrada 3.2 activa o Timer 6 no est activo entonces incrementa Counter 1 y arranca Timer 4 con los parmetros existentes

Este ejemplo muestra la utilizacin de una estructura en OR dentro de la parte condicional de una frase. Esto significa que la frase ser evaluada como cierta ( y por tanto se incrementar el Contador 1 y se activar el Temporizador 4 ) si una o ambas de las condiciones indicadas son ciertas.

La siguiente frase introduce la utilizacin de parntesis entre las partes condicionales de una frase para influir en la forma en la que las condiciones son evaluadas. IF OR AND OR ( I 1.1 T4 ) ( I 1.3 I 1.2 ) Si entrada 1.1 activa o Timer 4 est funcionando y si entrada 1.3 est activa o entrada 1.2 est activa

Hemos utilizado la instruccin OR para combinar dos condiciones compuestas por medio de un operador de parntesis. Es posible crear programas enteros que consten solamente de frases sin utilizar en ningn caso la instruccin STEP. Los programas construidos de esta forma suelen llamarse programas paralelos, y reaccionan igual que los programas escritos en diagrama de contactos. Esto significa que, sin utilizar la instruccin STEP, tales programas seran procesados una sola vez. Para que estos programas puedan procesarse continuamente, es necesario incluir la instruccin PSE.

2.4

Instruccin STEP

Los programas que no utilizan la instruccin STEP pueden procesarse de modo paralelo ( scanning ). A pesar de que este tipo de ejecucin de programas puede ser adecuado para resolver ciertas tareas de control, el lenguaje AWL ofrece la instruccin STEP que permite que los programas sean divididos en compartimentos estancos ( STEPS o PASOS ), que sern ejecutados independientemente. En su forma ms sencilla, un STEP incluye por lo menos una frase y toma la forma

STEP IF THEN

( Label ) SET I 1.0 O 2.4 Si entrada 1.0 est activa entonces activa la salida 2.4 y continua en el siguiente paso

Es importante comprender que el programa ESPERAR en este paso hasta que las condiciones sean ciertas, en cuyo momento se ejecutarn las acciones y solamente entonces el programa seguir procesando el siguiente paso. La etiqueta ( Label ) del paso es opcional y solo se requiere si el paso va a ser el destino de una instruccin de salto ( JMP ). Debe observarse que cuando el software FST carga un programa AWL en el control programable, asigna automticamente una numeracin relativa a cada paso del programa.

Estos nmeros de paso asignados son reproducidos en todos los listados del programa y pueden ser muy tiles en la visualizacin de la ejecucin del programa en modo on-line a efectos de seguimiento. Los pasos de un programa pueden, por descontado, incluir varias frases :

STEP IF THEN IF THEN

SET RESET SET

I 2.2 O 4.4 I 1.6 O 2.5 O 3.3

Si entrada 2.2 activa entonces conecta salida 4.4 Si entrada 1.6 activa entonces desconecta salida 2.5 y conecta salida 3.3

En el ejemplo anterior, hemos introducido el concepto de varias frases en un solo paso. Cuando el programa llega a este paso, procesar la primera frase ( en este caso, activando la salida 4.4 si la entrada 2.2 est activa ) y a continuacin se desplaza a la siguiente frase independientemente de si las condiciones de la primera frase son ciertas o falsas. Cuando la ltima frase de un paso ( en este caso la segunda ) es procesada, si la parte condicional es cierta , entonces se realiza la parte ejecutiva y el programa continua en el siguiente paso. Si la parte condicional de la ltima frase no es cierta, entonces el programa regresa a la primera frase del paso actual.

2.5

Reglas de ejecucin

Pueden utilizarse las siguientes pautas para determinar como se procesan los Pasos y las Frases : Si las Condiciones de una frase se cumplen, se ejecutarn las acciones programadas en ella Si las Condiciones de la ltima ( o la nica ) frase dentro de un paso se cumplen, se ejecutarn las Acciones programadas y el programa seguir en el siguiente paso Si las Condiciones de la frase no se cumplen, entonces el programa seguir en la siguiente frase del paso actual Si las Condiciones de la ltima ( o la nica ) frase dentro de un paso no se cumplen, entonces el programa regresar a la primera frase del paso actual

Nota : Cuando se construyen programas o pasos que contengan varias frases, es muy importante recordar que estas se procesarn de forma paralela ( scanning ); que cada vez que la parte condicional de la frase sea evaluada como cierta, se ejecutarn las instrucciones programadas en la parte ejecutiva. Esto debe ser considerado para evitar las incontroladas ejecuciones mltiples de instrucciones tales como SET TIMER o INC/DEC contador. El lenguaje AWL no utiliza " accionamiento por flancos "... las condiciones son evaluadas cada vez que se procesan, sin tener en cuenta su anterior estado. Esta situacin se resuelve fcilmente o bien utilizando STEPs, Flags ( Marcas ) u otras formas de control La siguiente figura ilustra la estructura del proceso de un paso en AWL. Utilizando varias combinaciones de pasos conteniendo una o varias frases, el lenguaje AWL proporciona amplias facilidades para resolver tareas complejas de control.

Frase Primera o anterior en STEP x

Parte condicional cierta ? Si Accin

No

es esta la ULTIMA frase del STEP x ? Si

No

No

es esta la ULTIMA frase del STEP x ?

Ir al siguiente STEP

Siguiente frase del STEP x

Volver al inicio del STEP x

Reglas de ejecucin de un STEP bsico

2.6

Influencia en el flujo del programa

Adicionalmente a las estructuras de control inherentes a la instruccin STEP, se dispone de varias instrucciones AWL adicionales que pueden utilizarse para modificar los criterios de ejecucin de los Pasos de programa y sus Frases. 2.7 Instruccin NOP

La instruccin NOP puede utilizarse indistintamente en la parte Condicional o en la Ejecutiva de una frase. Cuando se utiliza en la parte condicional siempre es evaluada como cierta. pudiendo utilizarse para forzar la ejecucin incondicional de una frase

IF THEN

SET

NOP O 1.0

Siempre cierto as que salida 1.0 siempre se activar cuando el programa pase por aqu

En el siguiente ejemplo puede verse una aplicacin tpica en la que el autor desea que cuando la ejecucin del programa alcance el paso 50 se comprueben varias condiciones que, de ser ciertas, realizarn las correspondientes acciones. Sin embargo, independientemente de si una o todas las condiciones son ciertas, despus de ser procesadas exactamente una sola vez, el programa activar la salida 3.6 y seguir en el siguiente paso... puesto que hemos forzado la ltima frase a ser cierta con la instruccin NOP

STEP 50 IF THEN IF THEN IF THEN IF THEN

SET N AND RESET SET NOP SET

I 1.0 O 2.2 I 3.5 I 4.4 O 1.2 T3 F 0.0

Si entrada 1.0 est activa entonces activar salida 2.2 Si entrada 3.5 NO est activa y entrada 4.4. est activa entonces desconecta salida 1.2 Si Timer 3 funciona activa Marca ( Flag ) 0.0 De todas formas nos aseguramos que la LTIMA frase siempre sea cierta Activa la salida 3.6, abandona este paso y procesa el siguiente

O 3.6

La instruccin NOP tambin puede utilizarse en la parte Ejecutiva de una frase. En este caso un NOP es equivalente a " no hagas nada ". Es utilizada frecuentemente cuando el programa debe esperar ciertas condiciones y seguir en el siguiente paso

IF THEN

I 3.2 NOP

Si entrada 2.2 activa entonces no hagas nada y sigue en el siguiente paso

2.8

Instruccin JMP

Otra instruccin AWL que puede utilizarse para influir en el flujo de ejecucin de un programa, es la instruccin JMP ( salto ). Esta instruccin aade la posibilidad de ramificar el lenguaje AWL. Modificando el ejemplo anterior es posible comprobar las condiciones de cada frase y, de ser ciertas, realizar la accin programada y a continuacin saltar ( JMP ) al Paso ( Step ) indicado del programa

STEP 50 IF THEN IF THEN IF THEN IF THEN

SET JMP TO N AND RESET JMP TO SET NOP SET

I 1.0 O 2.2 70 I 3.5 I 4.4 O 1.2 6 T3 F 0.0

Si entrada 1.0 est activa entonces activar salida 2.2 y salta al paso ( etiqueta ) 70 Si entrada 3.5 NO est activa y entrada 4.4. est activa entonces desconecta salida 1.2 y salta al paso ( etiqueta ) 6 Si Timer 3 funciona activa Marca ( Flag ) 0.0 De todas formas nos aseguramos que la LTIMA frase siempre sea cierta Activa la salida 3.6, abandona este paso y procesa el siguiente

O 3.6

Puede verse que no solo hemos alterado el flujo del programa, sino que adems hemos establecido prioridades entre las frases. Por ejemplo, las frases 2, 3 y 4 solamente tienen posibilidad de ser procesadas si la frase 1 es falsa y por lo tanto no se ejecuta; puesto que si la frase 1 se ejecuta, el programa saltar al paso 70 sin haber procesado ninguna frase subsiguiente en el paso 50.

2.9

Instruccin OTHRW

La instruccin OTHRW ( otherwise, sino ) tambin puede utilizarse para influir en el flujo del programa. La instruccin OTHRW es ejecutada cuando la ltima IF es evaluada como falsa

IF THEN OTHRW

SET SET

I 2.0 O 3.3 O 4.5

Si entrada 2.0 est activa entonces activa salida 3.3 sino, activa la salida 4.5

Frase Primera o anterior en STEP x

Parte condicional cierta ? Si

No

Si

OTHRW en esta Frase ? No

Accin

Ejecuta la instruccin OTHRW

es esta la ULTIMA frase del STEP x ? Si

No

No

es esta la ULTIMA frase del STEP x ? Si

Ir al siguiente STEP

Siguiente frase del STEP x

Volver al inicio del STEP x

Reglas de ejecucin de un STEP con instrucciones OTHRW

RESUMEN DE INSTRUCCIONES AWL

El lenguaje AWL usa las siguientes instrucciones que permiten resolver tareas de control sencillas o complejas fcil y rpidamente

Instruccin AND BID CFM n CMP n CPL DEC DEB EXOR IF INC INV JMP TO ( Step Label ) LOAD NOP OR OTHRW PSE RESET ROL ROR

Propsito Realiza una funcin lgica AND entre operandos monobit o entre multibit y constantes Convierte el contenido del acumulador multibit de Binario a formato BCD Empieza la ejecucin o inicializacin de un mdulo de funcin Empieza la ejecucin de un Mdulo de programa Produce el complemento a dos del contenido del acumulador multibit Decrementa un operando multibit / acumulador Convierte el contenido del acumulador multibit de formato BCD a Binario Realiza la funcin EXOR entre operandos monobit o multibit y constantes Instruccin que marca el inicio de la parte condicional de una frase Incrementa un operando multibit / acumulador Realiza el complemento a uno del contenido del acumulador multibit Obliga al programa a seguir en un Paso especificado Permite la carga en el acumulador monobit o multibit de los operandos especificados ( monobit o multibit ) y constantes Instruccin especial que siempre es cierta en la parte Condicional de una frase. En la parte Ejecutiva equivale a " no hacer nada " Realiza la funcin OR entre operandos monobit o multibit y constantes Permite la continuacin de la ejecucin del programa aunque la Parte Condicional de la frase sea falsa PSE ( Program Section End ) Fin de un programa parcial La instruccin Reset se utiliza para cambiar los operandos monobit a estado lgico "0" Gira a izquierdas una posicin todos los bits contenidos en el Acumulador. El bit ms significativo es desplazado a la posicin del menos significativo Gira a derechas una posicin todos los bits contenidos en el acumulador. El bit menos significativo es desplazado a la posicin del ms significativo

Instruccin SET SHIFT SHL SHR SWAP TO THEN WITH

Propsito La instruccin Set se usa para cambiar los operandos monobit a estado lgico "1" Realiza un desplazamiento entre operandos monobit Desplaza una posicin a la izquierda todos los bits contenidos en el Acumulador Multibit. El ms significativo se pierde Desplaza una posicin a la derecha todos los bits contenidos en el Acumulador Multibit. El menos significativo se pierde, y el ms significativo es puesto a "0" Intercambia el Byte alto con el Byte bajo del Acumulador Multibit Se utiliza junto con la instruccin LOAD para especificar el operando destino de la carga Instruccin que indica el inicio de la parte Ejecutiva de una frase Utilizada para parametrizar las llamadas CMF / CMP. Tambin se utiliza para especificar la base de tiempo en algunos modelos de FPC

REFERENCIA DE LAS INSTRUCCIONES AWL

AND

Propsito 1.2.Para combinar dos o ms operandos monobit o multibit en la parte condicional de una frase utilizando la operacin lgica AND Para realizar una interseccin en AND entre dos operandos multibit o valores, indistintamente en la parte condicional o ejecutiva de una frase

Ejemplos Monobit IF THEN AND SET I 1.1 T6 O 1.5 Si entrada 1.1 est activa y timer 6 funciona entonces activa salida 1.5

Multibit A continuacin se muestra la operacin lgica AND aplicada a dos operandos de 8 bits 0 1 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 0 operando 1 = 45 decimal AND operando 2 = 236 decimal resultado = 44 decimal

La funcin AND puede utilizarse indistintamente en la parte Condicional o en la parte Ejecutiva de una frase. Cuando se utiliza en la parte Condicional de una frase, esta funcin permite comparar el resultado de una funcin lgica AND de dos operandos multibit, con un tercer operando multibit o bien con una constante.

IF AND THEN ......

( R6 R7 ) = V 34

El contenido de R6 es enlazado en AND con el contenido del registro R7 A continuacin el resultado es comparado con la cte. decimal 34 Si hay igualdad entonces se realizarn las funciones programadas

El siguiente ejemplo muestra como utilizar la prestacin multibit para leer una palabra entera ( Word ) de Entradas. A continuacin el resultado es enlazado en AND con el valor decimal 15 ( 00001111 en binario ). Comparando el resultado de esta operacin para ver si es mayor de "0", podremos verificar si alguna de las entradas I0.0 hasta I 0.3 se haya activa

IF AND THEN ......

(IW0 V 15 ) >V0

El contenido de la palabra de entradas IW0 es enlazado con la constante 15 y el resultado es comparado ..... Si es mayor de "0" la frase ser cierta

El siguiente ejemplo muestra esta utilizacin de la funcin AND con operandos multibit en la parte Ejecutiva de una frase

IF THEN

....... LOAD AND TO

( R 38 R 45 ) R 17

Si las condiciones son ciertas transfiere el contenido del registro 38 al acumulador multibit Enlaza en AND con el registro 45 y deposita el resultado en el registro 17

BID

Propsito Para convertir el contenido del acumulador multibit de un formato binario al formato BCD Esta instruccin se utiliza frecuentemente junto con un dispositivo conectado a las salidas del PLC ( p.ej. visualizadores de mensajes, controles de motores, etc. ) Estos dispositivos generalmente esperan la entrada de rdenes en formato BCD

Ejemplos El valor a convertir, primero debe ser cargado en el acumulador multibit

IF THEN LOAD BID AND TO

I 1.0 R 26 V 15 OW2

Al accionar el pulsador del motor El registro 26 contiene la informacin de la nueva posicin Convierte a formato BCD y oculta todos los bits excepto 0-3 transfiere el resultado a la palabra de salida 2 ( conectada al control del servomotor )

Por favor, observe que los valores permitidos son de 0-9999

CFM Propsito La instruccin CFM ( Module, Llamada a un Mdulo de Funcin ) se utiliza para requerir la ejecucin de una rutina estndar del sistema, la cual reside en la memoria del sistema de control. Debe consultarse el correspondiente manual de FPC para ver que llamadas CFM pueden hacerse en cada configuracin de hardware. Estas rutinas estndar no pueden ser escritas por el usuario, ya que forman parte del sistema operativo del PLC. Algunos Mdulos de Funcin pueden utilizar Unidades Funcionales ( FU ) para pasar informacin desde / hacia los programas del usuario y Mdulos de Funcin Ejemplos. Dependiendo del modelo especfico de FPC , as como de la rutina CFM en particular, puede ser necesario pasar algunos parmetros cuando se programa una CFM Ejemplo 1 : FPC 202 c Esta rutina del sistema puede utilizarse para borrar o inicializar diversos operandos. La llamada a este CFM acepta un solo parmetro numrico. Si utilizamos el valor 2, el Mdulo de Funcin inicializar todos los Flags a 0s IF THEN I 1.2 2 V2 Pulsador de reset accionado Llamar al mdulo de funcin 1 pasar el valor 2 al 1er parmetro que aqu significa poner a cero TODOS los Flags

CFM WITH

Ejemplo 2 : FPC 404 Esta rutina del sistema puede utilizarse para habilitar un controlador de interrupciones de conteo a alta velocidad en la entrada I0 de la CPU del FPC 404. Este CFM requiere pasar varios parmetros junto con la llamada al sistema. El primer parmetro especifica el nmero del programa que queremos ejecutar cuando se alcance el final del conteo. El segundo parmetro permite especificar si deseamos identificar el flanco ascendente o el descendente de la seal. El parmetro 3 permite especificar el nmero de pulsos que queremos contar antes de ejecutar el programa especificado en el parmetro 1 IF THEN AND SET CFM WITH WITH WITH N I 2.2 O 2.1 O 2.1 2 V6 V0 V200 Pulsador arranque motor Y motor inactivo Arranca el motor Llama al mdulo de funcin 2, habilita la funcin de interrupcin para CPU 0 Programa a lanzar cuando se alcance el final del conteo Sobre el flanco ascendente de la seal El conteo es 200

CMP Propsito La instruccin CMP ( Call Program Module, Llamada a un Mdulo de Programa ) se utiliza para solicitar la ejecucin de una rutina de programa externa. Los mdulos de programa pueden considerarse similares a las subrutinas NOTA : No es posible utilizar la funcin CMP DENTRO de un mdulo de programa Los mdulos de programa pueden escribirse en uno de los diferentes lenguajes incluyendo AWL y Assembler. Festo pude suministrar varios mdulos de programa optimizados para realizar tareas especializadas tales como : * Entrada / Salida de Textos * Conteo en alta velocidad * Funciones aritmticas de 32 bits Algunos Mdulos de Programa pueden utilizar Unidades Funcionales ( FU ) para pasar informacin desde / hacia los programas de usuario y los Mdulos de Programa Ejemplos Dependiendo del modelo especfico de FPC , as como del Mdulo de Programa llamado, puede ser necesario pasar algunos parmetros cuando se utiliza una CMP Ejemplo : FPC 202 c Este mdulo de programa puede utilizarse para transmitir texto. La llamada a este CMP en particular acepta varios parmetros dependiendo de la funcin deseada IF THEN I 1.5 7 V0 Tanque # 1 Si sensor de nivel mximo Llamar al mdulo de programa 7 con el texto que se indica lleno

CMP WITH WITH

El ejemplo anterior sirve simplemente para dar una idea general de la forma en que son llamados los mdulos de programa. Los diferentes procedimientos de llamada varan mucho, as que el usuario siempre deber consultar la documentacin especfica Mdulos sencillos En una situacin donde el usuario simplemente escribe una subrutina como un mdulo de programa, no es necesario pasar ningn parmetro. En tales casos, la llamada puede realizarse con : IF...... THEN

CMP

Llama a un mdulo de programa que no requiere ningn parmetro

CPL

Propsito Esta instruccin complementa el contenido del acumulador multibit utilizando el mtodo del complemento a dos En principio, el efecto de la instruccin CPL es el mismo que multiplicar por -1, si se trata de nmeros enteros con signo

Ejemplos Lo siguiente muestra la utilizacin de la instruccin CPL a un nmero de 16 bits que ha sido cargado en el acumulador multibit

0 1

0 1

0 1

1 0

0 1

0 1

1 0

0 1

0 1

1 0

1 0

0 1

0 1

1 0

1 0

1 1

4711 CPL = - 4711

El valor con que se va a operar, primero debe ser cargado en el acumulador multibit. En el ejemplo siguiente, el programa comprobar si el Registro 32 contiene un nmero negativo, y si es as lo convertir a positivo y lo depositar en el Registro 22

IF THEN LOAD CPL TO

( R32 <V0) R 32 R 22

Ver si el registro 32 es menor de 0... o un valor negativo y si es negativo cargarlo en el acumulador multibit realizar la instruccin "complementar " y copiarlo en el registro 22

DEB

Propsito Para convertir el contenido del acumulador multibit de formato BCD a Binario Es frecuente que muchos equipos perifricos puedan enviar informacin ( valores etc.) a un PLC a travs de las entradas estndar. Para minimizar el nmero de entradas, el dispositivo perifrico puede utilizar una codificacin BCD. Dado que la instruccin DEB opera sobre el contenido del acumulador multibit, el valor a convertir debe ser previamente cargado en el acumulador multibit.

Ejemplos Si utilizamos dos conmutadores rotativos BCD para definir el nmero de ciclos que una mquina debe realizar, podramos utilizar las siguientes instrucciones : Hemos conectado los conmutadores BCD a las entradas 0-7 de la palabra de entradas IW1 y la entrada I0.3 se utiliza para validar la introduccin del valor, que ser almacenado en la palabra de contador CW2

IF THEN

LOAD AND

I 0.3 (IW1 V 255 )

DEB TO

CW2

Cuando se active I 0.3 copiar la palabra de entradas en el acumulador multibit y usar la instruccin AND para enmascarar las entradas I 1.8..15. Tanto si existen I 1.8....15 como sino, se asegura que en el acumulador habr realmente l valor de los conmutadores BCD Convertir el actual valor BCD a binario y copiar el resultado en la palabra del contador 2

Por favor, observar que los valores permitidos son de 0..9999

DEC

Propsito La instruccin DECrement reduce el valor de cualquier operando multibit en "1". A diferencia de otras instrucciones aritmticas, la operacin DECrement puede ser realizada directamente sin necesidad de cargar previamente el operando a decrementar en el acumulador multibit A pesar de que la instruccin DECrement puede utilizarse sobre cualquier operando multibit, es comnmente utilizada junto con Contadores y Registros.

Ejemplos En el siguiente ejemplo se supone que en una lnea de llenado de botellas, la entrada I 1.3 es activada cada vez que pasa una botella por la estacin de conteo. El nmero total de botellas debe guardarse en el Registro 9 Sin embargo, a veces una botella puede no estar completamente llena y esto es verificado ms adelante en el proceso de produccin. Si se detecta una botella parcialmente llena, el contador totalizador debe ser disminuido en una unidad

IF THEN IF THEN

INC

I 1.3 R9 I 2.2

AND DEC

I 3.6 R9

La I 1.3 detecta todas las botellas que queremos totalizar, as que hay que aadir 1 al contador existente Cuando llega una botella a la estacin de verificacin y no ,est totalmente llena restar 1 del total

La instruccin citada DECrement equivale a :

IF.... THEN

LOAD TO

R9 -V1 R9

Cargar R 9 en el acumulador multibit restar 1 y copiar el resultado de nuevo en R 9

EXOR

Propsito Para combinar dos o ms operandos monobit o multibit en la parte Condicional o Ejecutiva de una frase utilizando la operacin lgica EXOR ( OR Exclusiva )

Ejemplo Monobit: En el siguiente ejemplo, la salida O 1.3 ser activada si cualquiera de las Entradas I 1.1 o I 1.2 est activa, pero no si lo estn ambas

IF THEN EXOR SET

I 1.1 I 1.2 O 1.3

Tanto si est activa I 1.1 como I 1.2 PERO NO AMBAS entonces activa la salida 1.3

Ejemplo Multibit: A continuacin se muestra la operacin lgica EXOR aplicada a dos operandos de 8 bits 0 1 1 0 1 1 1 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 operando 1 = 45 decimal OR operando 2 = 236 decimal resultado = 193 decimal

Cuando se utiliza en la parte Condicional de una frase, esta funcin permite comparar el resultado de una funcin lgica EXOR de dos operandos multibit con un tercer operando multibit o con una constante.

En el siguiente ejemplo, utilizaremos la potencia de la instruccin EXOR para controlar una estacin de llenado de 8 botellas. Las 8 posiciones de llenado se hallan en un lugar del sistema de transporte de las botellas. A medida que pasan las botellas, deben ser verificadas. Es posible en cualquiera de las 8 posiciones que una botella est o no presente. Todas las botellas vacas debern llenarse y cuando estn todas presentes, la linea se desplazar de nuevo, buscando el siguiente grupo para llenar La palabra de entradas IW0 ( I0.0...I 0.7 ) est conectada a los sensores de presencia de botella y la palabra de entradas IW1 ( I1.0...I1,7 ) est conectada a los sensores de llenado de botella. La palabra de salidas OW0 ( O0.0...O0.7 ) controla las boquillas de llenado, mientras que la salida O 1.0 cuando est activa, cierra un tope sosteniendo as las botellas para su llenado

STEP 10 IF AND THEN SET LOAD EXOR TO

N O 1.0 I 0.7 O 1.0 ( IW0 IW1 ) OW0 (OW0 = V0 ) O 1.0 O 1.0 10

Las botellas no estn detenidas y hay botellas en posicin 7 parar movimiento botellas Ver si estn presentes y SIN llenar entonces activar salidas botellas

para

llenar

IF AND THEN SET JMP TO

Si TODAS las salidas estn inactivas y las botellas detenidas para llenado Liberar las botellas de nuevo e ir al paso 10

INC

Propsito La instruccin INCrement, incrementa el valor de cualquier operando multibit en "1". A diferencia de otras instrucciones aritmticas, la operacin INCrement puede ser realizada directamente sin necesidad de cargar previamente el operando a INCrementar en el acumulador multibit A pesar de que la instruccin INCrement puede utilizarse sobre cualquier operando multibit, es comnmente utilizada junto con Contadores y Registros. Ejemplos En el siguiente ejemplo se supone que en una lnea de llenado de botellas, la entrada I 1.3 es activada cada vez que pasa una botella por la estacin de conteo. El nmero total de botellas debe guardarse en el Registro 9 Sin embargo, a veces una botella puede no estar completamente llena y esto es verificado ms adelante en el proceso de produccin. Si se detecta una botella parcialmente llena, el contador totalizador debe ser disminuido en una unidad

IF THEN IF THEN

INC

I 1.3 R9 I 2.2

AND DEC

I 3.6 R9

La I 1.3 detecta todas las botellas que queremos totalizar, as que hay que aadir 1 al contador existente Cuando llega una botella a la estacin de verificacin y no ,est totalmente llena restar 1 del total

La instruccin citada INCrement equivale a :

IF.... THEN

LOAD TO

R9 +V1 R9

Cargar R 9 en el acumulador multibit aade 1 y copia el resultado de nuevo en R 9

INV

Propsito Esta instruccin complementa ( INVerts, INVierte ) el contenido del acumulador multibit, utilizando el mtodo del complemento a "1" Cuando se aplica a enteros con signo, esto es equivalente a multiplicar un nmero por -1 y aadirle -1. Ejemplos El siguiente cuadro ilustra una aplicacin de la instruccin INV a un nmero de 16 bits que ha sido cargado en el acumulador multibit 0 1 0 1 0 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 0

INV

La instruccin INV puede ser de utilidad cuando se desea invertir todos y cada uno de los bits contenidos en el acumulador multibit En el siguiente ejemplo, una mquina mezcladora tiene 16 estaciones. El ciclo de mezcla consiste en periodos alternativos de agitacin y de asentamiento. Durante la operacin normal, los operarios aaden o quitan contenedores aleatoriamente. Solamente aquellas estaciones que poseen contenedor situado deben activarse. Se han previsto sensores para detectar que estaciones deben ser activadas STEP 10 IF THEN

N LOAD INV AND TO SET

T1 OW1

IW1 OW1 T1 N T1 10

STEP 20 IF THEN

JMP TO

Tiempo vencido El estado actual de las salidas 0-15 de las estaciones de agitado es copiado al acumulador ahora invertimos el estado de cada salida... aquellas que estn en 1 pasarn a 0 ( pero esto solo en el MBA ) ahora corregir para cada estacin que estuviera en off y no tuviera contenedor finalmente activar las correspondientes salidas y arrancar el temporizador espera hasta terminar el proceso de temporizacin para regresar al paso 10

JMP TO

Propsito Para proporcionar un medio de influir en el flujo de ejecucin del programa, basndose en un criterio programable. Anloga a la instruccin del lenguaje Basic " GOTO " Se debe observar que la instruccin JMP TO puede alterar el comportamiento normal que hace que al cumplirse la LTIMA frase de un STEP el programa contine en el siguiente La instruccin JMP TO tambin puede utilizarse para dar prioridad a la ejecucin de frases dentro de un STEP

Ejemplos En el primer ejemplo la instruccin JMP TO se utiliza en un programa paralelo para detectar y reaccionar ante una condicin de PARO. El paso 20 contiene todas las frases que son procesadas de forma paralela. Observar que el PARO es un pulsador cerrado en reposo

STEP 20 .......... frases anteriores en el paso 20 IF THEN LOAD TO TO JMP TO N I 1.1 V0 OW0 OW1 80 I 1.1 AND JMP TO I 2.1 20 Ver si paro ha sido pulsado, si es as, desactivar todas las salidas en grupo en las palabras de salidas 0 y 1 y seguir en una rutina especial Rutina de PARO Esperar aqu hasta que no se detecte la seal de paro y se accione el pulsador de RESET entonces continuar en el paso 20

STEP 80 IF THEN

El siguiente ejemplo utiliza saltos mltiples dentro de una instruccin STEP y muestra una situacin donde el operador de la mquina debe seleccionar 1 de 3 posibles opciones

STEP 40 IF THEN IF THEN IF THEN AND AND JMP TO AND AND JMP TO AND AND JMP TO N N N N N N I 1.1 I 1.2 I 1.3 100 I 1.2 I 1.1 I 1.3 150 I 1.3 I 1.1 I 1.2 200

El operador debe seleccionar SOLO 1 de las 3 secuencias Seleccin de secuencia 1 y no secuencia 2 y no secuencia 3 salto a secuencia 1 Seleccin de secuencia 2 y no secuencia 1 y no secuencia 3 salto a secuencia 2 Seleccin de secuencia 3 y no secuencia 1 y no secuencia 2 salto a secuencia 3

Hay que tener cuidado al ordenar varias frases dentro de un mismo paso, junto con el uso de la instruccin JMP, ya que es fcil asignar prioridades involuntariamente. El siguiente ejemplo asume que los pasos hasta el 50 contienen instrucciones para un proceso, y que al alcanzar el paso 60, la mquina debe verificar las entradas I1.1, I1.2 y I 1.3, esperar hasta que aparezca una PRIMERA entrada y procesar solamente una de estas entradas, donde la I 1.1. tiene la mxima prioridad e I 1.2 tiene la prioridad ms baja

STEP 60 IF THEN IF THEN IF THEN IF THEN AND AND JMP TO JMP TO AND JMP TO AND AND NOP

N I 1.1 N I 1.2 N I 1.3 60 I 1.1 100 N I 1.1 I 1.2 150 N I 1.1 N I 1.2 I 1.3

Esperar hasta que por lo menos una de las entradas est activa Esta entrada tiene la ms alta prioridad al paso 100 asegurarse de que no hay acciones de mayor prioridad al paso 150 asegurarse de que no hay acciones de mayor prioridad OK. para procesar solo el siguiente paso del programa

LOAD...TO

Propsito La instruccin LOAD ( CARGAR ) permite copiar ( cargar ) operandos monobit o multibit en los acumuladores monobit o multibit ( respectivamente ) como preparacin para : 1.2.Realizar operaciones lgicas y/o matemticas Como paso intermedio requerido para transferir informacin entre operandos

La parte ... TO ( hacia ) de la instruccin permite especificar el destino del operando. La instruccin LOAD...TO es ms frecuentemente utilizada con operandos multibit Ejemplos Cargas monobit Origen LOAD SBO LOAD I 1.0 ninguna Operacin Opcional TO SBO TO O 1.0 TO SBO TO O 1.0 Destino

LOAD SBO AND SBO LOAD I 1.0 AND N I 1.1 Nota : SBO = cualquier Single Bit Operand ( monobit ) Sintaxis monobit

A pesar que los ejemplos citados son instrucciones vlidas AWL, generalmente no se usan. Equivalen a :

IF THEN OTHRW IF THEN OTHRW

SET RESET AND SET RESET

I 1.1 O 1.0 O 1.0 I 1.0 N I 1.1 O 1.0 O 1.0

Si entrada 1.0 est activa activar salida 1.0 sino desactivarla Si entrada 1.0 activa y entrada 1.1 NO activa activar salida 1.0 sino desactivarla

Cargas multibit Origen LOAD MBO / V LOAD R6 ninguna Operacin Opcional TO MBO TO TW1 Destino

LOAD MBO/ V AND MBO / V TO MBO LOAD R11 SHL TO CW4 LOAD CW2 + V3199 TO R28 Nota : MBO / V = cualquier Multi Bit Operand o Valor Sintaxis multibit La utilizacin de la instruccin LOAD con operandos multibit y valores, cuando se utiliza junto con los operadores lgicos o matemticos disponibles, proporciona unas posibilidades de proceso muy potentes. El siguiente ejemplo ilustra algunas de las diversas funciones que pueden realizarse utilizando la instruccin LOAD Desconexin de TODAS las salidas de un sistema Asumiremos que nuestro sistema contiene 64 salidas organizadas en 4 palabras de 16 bits. Utilizando la clsica instruccin RESET para desactivarlas requerira un programa como :

IF THEN

RESET RESET ... ...

I 1.0 O 1.0 O 1.1

p. ej. un pulsador desactiva la salida 1.0 y otra repetimos esta instruccin para cada una de las 64 salidas

Mientras que utilizando la instruccin LOAD puede conseguirse el mismo resultado con:

IF THEN

LOAD TO TO TO TO

I 1.0 V0 OW 1 OW 2 OW 3 OW 4

p. ej. un pulsador carga el valor "0" en el acumulador desactiva las salidas 1.0...1.15 desactiva las salidas 2.0...2.15 desactiva las salidas 3.0...3.15 desactiva las salidas 4.0...4.15

Obsrvese que una vez que el Valor ( en este caso 0 ) ha sido cargado en el acumulador multibit, puede copiarse ( utilizando TO ) a varios destinos sin tener que recargarlo

Resumen La instruccin LOAD, puede muy bien ser una de las instrucciones ms potentes en el lenguaje AWL. Es importante recordar que la instruccin LOAD nicamente prepara al sistema para las instrucciones que le siguen.

Nota : Cuando se ejecuta una instruccin LOAD, el operando multibit o el Valor especificado es cargado en el acumulador multibit ( MBA ) El MBA es de 16 bits. Si el operando multibit especificado como fuente ( p.ej. LOAD MBO es de solo 8 bits ( p.ej. un mdulo de E / S con solo 8 puntos ) entonces el byte ms alto del MBA se llenar con ceros. Igualmente, si el MBA es transferido ( por medio de la instruccin TO ) a un destino de 8 bits, los 8 bits altos se perdern

NOP

Propsito La instruccin NOP ( No OPeration ) que en principio podra parecer de poca utilidad, es frecuentemente de gran ayuda en programacin La consecuencia de utilizar la instruccin NOP depende de si es utilizada en la parte condicional o en la parte ejecutiva de una frase Ejemplos Parte condicional Cuando se utiliza en la parte condicional de una frase, la instruccin NOP puede servir para construir una frase que siempre sea evaluada como cierta, con lo que las instrucciones programadas en la parte ejecutiva siempre se realizarn

STEP 45 IF THEN

SET SET

NOP T6 O 1.2

Siempre cierto arranca temporizador 6 activa la salida 1.2

Procesamiento paralelo Cuando un paso de programa contiene varias frases que deben procesarse ( explorarse ) continuamente, la instruccin NOP puede utilizarse para controlar el flujo del programa STEP 11 IF THEN IF THEN OTHRW IF THEN AND INC

SET SET RESET

I 1.4 T4 I 3.0 O 1.6 O 1.6 T4 O 1.6 CW3

Si entrada 1.4 est activa arranca temporizador 4 Arranque manual del motor sino, parar motor Temporizador 4 funciona y motor funciona incrementa ciclo de conteo

IF THEN IF THEN STEP 90 IF THEN

JMP TO NOP JMP TO N AND JMP TO

I 2.2 90 11 I 2.2 I 3.3 11

Pulsador de emergencia abandona esta exploracin Incondicionalmente continua esta exploracin rutina especial Pulsador de emergencia liberado y pulsador de reset vuelve al paso 11, sino espera

Parte ejecutiva Cuando se utiliza en la parte ejecutiva de una frase, la instruccin NOP es evaluada como una instruccin de " no hagas nada ". A pesar de que esto puede parecer poco interesante, a menudo es muy til cuando el programador desea esperar a que se cumplan unas determinadas condiciones para seguir con la ejecucin del programa en el siguiente paso

STEP 60 IF THEN AND AND NOP N

I 1.5 T7 C2

Entrada 1.5 activa Temporizador 7 funcionando Contador 2 inactivo cumplidas las condiciones anteriores, procede con el siguiente paso

OR

Propsito 1.2.Para combinar dos o ms operandos monobit o multibit en la parte condicional de una frase utilizando la operacin lgica OR Para realizar el enlace en OR de dos operandos multibit o valores, indistintamente en la parte condicional o ejecutiva de una frase

Ejemplos Monobit

IF THEN OR SET

I 1.1 T6 O 1.5

Si entrada 1.1 est activa o el timer 6 funciona entonces activa salida 1.5

Multibit A continuacin se muestra la operacin lgica AND aplicada a dos operandos de 8 bits 0 1 1 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 operando 1 = 45 decimal OR operando 2 = 236 decimal resultado = 237 decimal

La funcin OR puede ser utilizada con operandos Multibit y valores, tanto en la parte Condicional de la frase, como en la parte Ejecutiva. Cuando se utiliza en la parte Condicional de una frase, esta funcin permite que el resultado de la funcin lgica OR entre dos operandos multibit o valores, sea comparado con un tercer operando multibit o con un valor.

IF OR THEN ......

( R43 El contenido de R43 es enlazado en R7 ) OR con el contenido del registro R7 = V 100 Si el resultado es igual a 100 entonces se realizarn las funciones programadas

El siguiente ejemplo es una mquina que consiste en 16 transportadores paralelos, cada uno de los cuales suministra componentes a una zona de montaje. Los componentes son cargados manualmente a uno o ms de los tres posibles emplazamientos de cada transportador. Cada transportador incluye tres sensores que verifican si las piezas han sido cargadas Cuando los 16 transportadores tienen por lo menos un componente cargado, entonces cada transportador deber comenzar a funcionar. A medida que una pieza alcance la posicin final de cada transportador, ste deber detenerse. Cada transportador contiene un sensor para detectar cuando una pieza se halla presente en la posicin final

STEP 50 IF OR AND OR OR

(OW1 IW4 =V0) (IW1 IW2 IW3 = V 65535

El criterio de arranque de todos los transportadores est detenido ahora ( salidas 1.0 a 1.15 ) y las 16 posiciones estn libres Todos los sensores de la estacin 1 para transportadores 1, 2 y 3 Todos los sensores de la estacin 2 para transportadores 1, 2 y 3 Todos los sensores de la estacin 3 para transportadores 1, 2 y 3 Los 16 tienen por lo menos 1 componente cargado Entonces activar los 16 transportadores controlados por las salidas 1.0...1.15 Desactivar cada transportador a medida que alcanzan la posicin final Cuando todos los transportadores se han detenido empezar de nuevo

THEN STEP 60 THEN IF THEN

LOAD TO LOAD TO JMP TO

V 65535 OW1 IW4 OW4 (OW4 =V0 50

PSE

Propsito Para marcar el final de programa ( Program Section End ) o un cambio de programa. Esto provocar un cambio de procesador virtual en aquellos procesadores que soportan multitarea ( ver multitarea ) Al regresar al programa que ha ejecutado la instruccin PSE, el programa continuar procesando : * * Ejemplos Si un programa AWL simplemente termina con una instruccin normal y no se dan instrucciones adicionales, el programa dejar de funcionar Los programas clsicos o partes del programa se terminan utilizando la instruccin PSE o la instruccin JMP. en la primera frase del paso actual o en la primera frase del programa cuando no existan pasos

STEP 10 IF THEN STEP 20 IF THEN OTHRW

SET RESET PSE PSE

I 1.1 O 2.1 I 3.1 O 2.1

Pulsador de marcha Avanzar cilindro Cilindro delante retroceder cilindro ir a la primera frase ir a la primera frase

Cuando un programa ha sido realizado sin etiquetas de pasos, y debe procesarse de forma continuada segn el ciclo de exploracin ( scan ); el programa debe terminar con una instruccin PSE ....... ....... IF THEN frases anteriores " " Siempre cierto Fin del programa parcial e ir a la frase inicial en el programa

NOP PSE

RESET

Propsito La instruccin RESET ( desactivar ) se utiliza para cambiar los operandos Monobit al estado lgico "0". La desactivacin de un operando que ya est desactivado, no produce efecto alguno El efecto que produce una instruccin de RESET, vara segn el operando referido. La siguiente tabla proporciona un resumen de la utilizacin de la instruccin RESET

Ejemplos

Operando Output Flag Counter Timer Program * Processor * Auto Restart * Error Status *

Sintaxis RESET O 1.6 RESET F 2.12 RESET C 6 RESET T 4 RESET P 2 RESET Y 2 RESET ARU RESET E

Efecto Desactiva Salida 1.6 ( off ) Fuerza el estado del Flag 2.12 a ser "0" El estado del contador 6 es puesto a inactivo El estado del Temporizador 4 es puesto a inactivo El programa 2 es liberado de su procesador asignado y es detenido Cualquier programa asignado al procesador 2 es puesto en estado de detencin Desactiva la funcin de rearranque automtico ( default = off ) Borra el bit de estado de error

Los operandos marcados con "*" pueden diferir o no ser aplicables a todos los modelos de PLC

ROL

Propsito La instruccin ROL ( ROtate Left ), rota el contenido del acumulador Multibit hacia la izquierda en una posicin El bit ms significativo ( 15 ) es transferido a la posicin del bit menos significativo. Vanse tambin las instrucciones ROR, SHR y SHL Debe recordarse que la instruccin LOAD....TO se utiliza normalmente en primer lugar para preparar el Acumulador Multibit y de nuevo despus de la instruccin ROL para copiar el resultado al operando multibit deseado

Ejemplos La siguiente tabla muestra el efecto de la utilizacin de la instruccin ROL 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 LOAD MBO 1er ROL 2 ROL TO MBO

IF THEN

N LOAD ROL ROL TO

T6 OW1

OW1

Si T6 est parado cargar los 16 bits de la palabra de salidas 1 al MBA Rota a izquierda una vez rota a izquierda una segunda vez copia el resultado de nuevo al mismo sitio

Esta instruccin puede tener una buena aplicacin cuando se utiliza en mquinas transfer rotativas o transportadores, para seguir el estado de la produccin cuando la mquina realiza la transferencia

ROR

Propsito La instruccin ROR ( ROtate Rigth ), rota el contenido del acumulador Multibit hacia la derecha en una posicin El bit menos significativo ( bit 0 ) es transferido a la posicin del bit ms significativo. Vanse tambin las instrucciones ROR, SHR y SHL Debe recordarse que la instruccin LOAD....TO se utiliza normalmente en primer lugar para preparar el Acumulador Multibit y de nuevo despus de la instruccin ROR para copiar el resultado al operando multibit deseado

Ejemplos La siguiente tabla muestra el efecto de la utilizacin de la instruccin ROR 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 LOAD MBO 1er ROR 2 ROR TO MBO

IF THEN

N LOAD ROR ROR TO

T6 OW1

OW1

Si T6 est parado cargar los 16 bits de la palabra de salidas 1 al MBA Rota a la derecha una vez Rota a la derecha una segunda vez copia el resultado de nuevo al mismo sitio

Esta instruccin puede tener una buena aplicacin cuando se utiliza en mquinas transfer rotativas o transportadores, para seguir el estado de la produccin cuando la mquina realiza la transferencia

SET

Propsito La instruccin SET ( activar ) se utiliza para cambiar los operandos Monobit al estado lgico "1". La activacin de un operando que ya est activado, no produce efecto alguno El efecto que produce una instruccin de SET, vara segn el operando referido. La siguiente tabla proporciona un resumen de la utilizacin de la instruccin SET

Ejemplos

Operando Output Flag Counter Timer

Sintaxis SET O 1.6 SET F 2.12 SET C 6 SET T 4

Efecto Activa Salida 1.6 ( on ) Fuerza el estado del Flag 2.12 a ser "1" 1.- La palabra del contador 6 es cargada con "0" 2.- El bit de estado de C6 es activado 1.- El contenido del preselector TP 4 es copiado al TW4 2.- El bit de estado del Timer 4 ( T4 ) es activado ( = 1 ) Programa 2 es lanzado desde el inicio. Programa 3 es asignado al procesador 2 y lanzado desde el principio Reactiva un programa previamente detenido en el procesador 2 en el punto donde se detuvo Activa la funcin de rearranque automtico

Program * Processor * Auto Restart *

SET P 2 SET P 2.3 SET Y 2 SET ARU

Los operandos marcados con "*" pueden diferir o no ser aplicables a todos los modelos de PLC

SHIFT

Propsito La instruccin SHIFT realiza un intercambio entre el Acumulador Monobit ( SBA ) y un operando Monobit Esta instruccin puede utilizarse para construir Shift Registers ( Registros de desplazamiento ) de diferentes longitudes... diferentes de las manipulaciones sobre 16 bits que realizan las instrucciones SHR y SHL. Para operar correctamente, primero debe cargarse el SBA y a continuacin pueden programarse cualquier nmero de SHIFTs monobit

Ejemplos En el siguiente ejemplo, cada vez que la entrada I 1.0 se activa, el estado de las salidas O 1.1 hasta O 1.4 debe ser actualizadas. * * * * La salida O 1.4 tomar su estado segn el estado que tenga la salida O 1.3 La salida O 1.3 tomar su estado segn O 1.2 La salida O 1.2 tomar su estado segn O 1.1 La salida O 1.1 tomar su estado segn el estado que tenga la entrada I 1.1

STEP 10 IF THEN

LOAD TO SHIFT SHIFT SHIFT SHIFT

I 1.0 I 1.0 F 0.0 O 1.1 O 1.2 O 1.3 O 1.4 N I 1.0 10

Entrada activa aqu se utiliza un Flag para evitar escribir desde una entrada, lo que de lo contrario sucedera cargar F0.0 O 1.1 cargar O 1.1 O 1.2 cargar O 1.2 O 1.3 cargar O 1.3 O 1.4 Espera que liberen la entrada repetir

STEP 20 IF THEN

JMP TO

Ver Flags y Flags Words ( marcas y palabras de marca ) para una alternativa a la construccin de registros de desplazamiento

SHL

Propsito La instruccin SHift Left mueve ( desplaza ) el contenido del acumulador Multibit en una posicin hacia la izquierda El bit ms significativo ( bit 15 ) es descartado y la posicin del bit ms significativo se llena con un "0". Ver tambin las instrucciones ROL, ROR y SHR Una utilizacin tpica de la instruccin SHL es la emulacin de registros de desplazamiento Debe recordarse que la instruccin LOAD....TO se utiliza normalmente en primer lugar para preparar el Acumulador Multibit y de nuevo despus de la instruccin SHL para copiar el resultado al operando multibit deseado Ejemplos La siguiente tabla muestra el efecto de la utilizacin de la instruccin SHL

1 1 1

1 0 0

0 1 1

1 0 0

0 1 1

1 1 1

1 0 0

0 0 0

0 0 0

0 0 0

0 1 1

1 1 1

1 1 1

1 0 0

0 1 1

1 0 0

LOAD MBO SHL TO MBO

Shift Register El siguiente ejemplo mostrar la utilizacin de SHL en combinacin con un MBO para emular un registro de desplazamiento. A pesar de que puede utilizarse cualquier operando multibit, hemos elegido un Flag Word, dado que pueden ser manejados en base a palabra o en base a bit indistintamente Supongamos que estamos controlando una mquina que monta cartuchos de cintas para impresoras de ordenador. El proceso empieza en la estacin 1 donde se hallan apilados los cartuchos vacos en la lnea de montaje; hasta la lnea 10 donde los conjuntos montados son descargados a una mquina de embalar. En cada estacin ( 1-10 ), una vez se ha completado la operacin de montaje respectiva, se realiza un control de calidad. Los montajes defectuosos son inmediatamente retirados. Adicionalmente, cuando la mquina es cargada por primera vez por la maana, y al parar por la tarde, solo deben funcionar aquellas estaciones que contengan componentes vlidos.

Mientras que cada estacin puede incluir sensores para asegurar que ciertas piezas estn correctamente posicionadas antes de proceder, el registro de desplazamiento, simplificar notablemente nuestras necesidades de proceso. Para simplificar este ejemplo, slo hemos considerado las estaciones 1-3 STEP 40 IF THEN IF THEN IF THEN IF THEN STEP 50 IF THEN AND AND RESET SET N LOAD SHL TO AND AND RESET AND AND RESET F 1.1 N T1 N I 2.1 F 1.1 F 1.2 N T1 N I 2.2 F 1.2 F 1.3 N T1 N I 1.3 F 1.3 T1 O 1.1 I 2.0 FW1 FW1 I 2.0 O 1.1 20 Procesar estaciones. FW1 contiene un patrn de bits de donde hay piezas Hubo pieza correcta en la estacin 1 operacin realizada pieza mala en estacin 1 PIEZA MALA RETIRADA Hubo pieza buena en estacin 2 operacin realizada pieza mala en estacin 2 PIEZA MALA RETIRADA Hubo pieza buena en estacin 3 operacin realizada pieza mala en estacin 3 PIEZA MALA RETIRADA Operaciones terminadas transferir linea de montaje Linea transfiriendo carga el registro de desplazamiento actualiza y almacena Transferencia realizada continua procesando

STEP 60 IF THEN

RESET JMP TO

Multiplicacin La instruccin SHL puede utilizarse para multiplicar el contenido del MBA por dos IF THEN I 1.0 R6 R6 Detector de piezas registro 6 multiplica por 2 multiplica de nuevo, o sea, por 4 y guarda el resultado

LOAD SHL SHL TO

SHR

Propsito La instruccin SHift Right mueve ( desplaza ) el contenido del acumulador Multibit en una posicin hacia la derecha El bit menos significativo ( bit 0 ) es descartado y la posicin del bit ms significativo se llena con un "0". Ver tambin las instrucciones ROL, ROR y SHL La instruccin SHR puede utilizarse tambin para dividir por dos cualquier MBO o valor El programador debe comprobar un posible desbordamiento o si el dividendo es un nmero impar, en cuyo caso el resultado ser incorrecto, ya que solo se manipulan nmeros enteros Debe recordarse que la instruccin LOAD....TO se utiliza normalmente en primer lugar para preparar el Acumulador Multibit y de nuevo despus de la instruccin SHR para copiar el resultado al operando multibit deseado

Ejemplos La siguiente tabla muestra el efecto de la utilizacin de la instruccin SHR

1 0 0

1 1 1

0 1 1

1 0 0

0 1 1

1 0 0

1 1 1

0 1 1

0 0 0

0 0 0

0 0 0

1 0 0

1 1 1

1 1 1

0 1 1

1 0 0

LOAD MBO SHR TO MBO

SWAP

Propsito Proporciona el medio de intercambiar ( permutar ) el byte alto ( bits del 8 al 15 ) y el byte bajo ( bits del 0 al 7 ) en el acumulador multibit Antes de ejecutar la instruccin SWAP primero debe cargarse el correspondiente MBO en el acumulador multibit

Ejemplos La siguiente tabla muestra el efecto de la utilizacin de la instruccin SHL 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 LOAD MBO / V SWAP TO MBO

5 5.1

TEMPORIZADORES El temporizador

Muchas funciones de control exigen la programacin del tiempo. Ejemplo : En una mquina deber avanzar el cilindro B cuando el cilindro A haya vuelto a su posicin normal, aunque solo despus de transcurridos 5 segundos. En este caso se trata de un retardo de conexin. Con frecuencia es necesario que la activacin de la seccin se produzca con un retardo por razones de seguridad Retardo de conexin

Seal de activacin Activar el temporizador mediante un flanco positivo de la seal de activacin Temporizador est activado Activar la funcin despus de parar el temporizador

Para efectuar la Pulsos secuenciales programacin de una temporizacin, es necesario recurrir a ( submdulos ) temporizadores. cadencia Todos los controles ( se cuentan flancos negativos ) lgicos programables contienen dichos submdulos de temporizacin. Por cadencia lo general, los ( se cuentan flancos positivos ) tiempos son configurados de modo digital, lo que significa que un contador se encarga de contar cadencias. Un PLC cuenta las cadencias con la misma exactitud con la que los relojes cuentan las oscilaciones de cuarzo. O, para ser ms precisos : el PLC cuenta flancos positivos o negativos de los pulsos secuenciales.

A modo de unidad bsica se define o selecciona un determinado tiempo para las secuencias de los pulsos : Un milisegundo Una centsima de segundo Una dcima de segundo Un segundo Un minuto En el programa, los tiempos son confeccionados recurriendo a las unidades bsicas respectivas, estando limitada la duracin del tiempo programable. La amplitud de conteo de un temporizador define la cantidad mxima de cadencias. Multiplicando la amplitud de conteo con la cadencia ms larga posible, se obtiene como resultado el tiempo mximo programable de un temporizador. No obstante, utilizando varios submdulos temporizadores ( con un contador ) es posible prolongar el tiempo. Tambin existen temporizadores ( submdulos electrnicos ) que son parte integrante del hardware del PLC y que son denominados temporizadores analgicos del hardware. Estos temporizadores conforman los tiempos de modo analgico con condensadores y resistencias. Para activar un temporizador analgico se recurre a una entrada y a una salida del PLC. Mediante un potencimetro pueden ajustarse los tiempos analgicos. No obstante, en la actualidad prcticamente ya no se utilizan este tipo de temporizadores, puesto que la temporizacin mediante software resulta ms flexible y menos costosa.

5.2

Funcionamiento de un temporizador
Funcionamiento de un temporizador ( ejemplo ) Temporizador Cargar Valor nominal

Un temporizador est compuesto de los siguientes elementos : * Valor nominal * Valor efectivo * Estado

+1 -1 Activar Estado Parar Valor efectivo

El valor nominal indica el tiempo que deber transcurrir en funcin del programa y expresado mediante un nmero que indica la cantidad de cadencias que se haya seleccionado. El valor nominal tambin puede ser igual a "0"; en este caso, el tiempo que se haya ajustado es igual al valor efectivo. El valor efectivo indica el valor instantneo del temporizador. Los temporizadores pueden contar hacia atrs o hacia adelante. El valor efectivo va cambiando respectivamente El estado de un temporizador indica si ya ha transcurrido el tiempo que se haya preseleccionado o si an est transcurriendo, pudiendo ser la seal respectiva "0" o "1", segn tipo de PLC

Funcionamiento de un temporizador ( ejemplo )

Cadencia
cadencia

Valor Nominal Valor efectivo

0 4

0 3

0 2

0 1

0 0

Estado

1 Tiempo est activado

0 Tiempo est desactivado

En la figura se muestra el funcionamiento de un temporizador recurriendo a un ejemplo sencillo. En l se ha ajustado un tiempo de 4 cadencias ( es decir, por ejemplo, 4 veces 0,1 segundos ). El nmero 4 es el valor efectivo y el conteo se produce hacia atrs hasta que se alcanza el valor efectivo 0. El temporizador cuenta los flancos positivos de los pulsos secuenciales.

Cada temporizador ( o Timer ), tal y como ha sido implementado en el lenguaje AWL, consta de varios elementos :

Elemento / Operando Timer Status Bit

Ref. Tn

Funcin Permite a un programa verificar si un Timer est activo ( funcionando ). Este bit es cambiado a activo cuando el Timer es activado ( SET ). Cuando se ha terminado el periodo de tiempo o si el Timer es detenido ( RESET ) el bit de estado pasa a inactivo Un operando de 16 bits que contiene el valor que define el tiempo del Temporizador n Un operando de 16 bits al cual se transfiere automticamente TP cuando se activa el Temporizador ( SET ). El contenido es automticamente decrementado por el sistema a intervalos regulares

Timer Preselect Timer Word

TPn TWn

Nota : Todos los modelos de FPC incorporan bateras que mantienen el contenido de los Preselectores de Temporizador durante los periodos de desconexin

5.3

Utilizacin de un temporizador

Para la utilizacin de un Temporizador en un programa AWL, se requieren varios pasos bsicos : Debe establecerse un Preselector de Temporizador ( Timer Preselect ) vlido Debe emitirse una instruccin para activar el Temporizador El estado del Temporizador ( activo / detenido ) puede verificarse

5.3.1 Inicializacin de un preselector de temporizador Nota : Dependiendo de qu modelo de control se est utilizando, puede o no ser necesario especificar una base de tiempo as como un valor de temporizacin. Consultar el correspondiente manual de hardware del modelo de control que se est programando Antes de utilizar cualquier temporizador, el correspondiente Preselector de Temporizador debe inicializarse con un valor correspondiente al periodo de tiempo deseado.

Esta inicializacin solamente es necesario realizarla de nuevo si el valor a temporizar debe cambiar. No es necesario recargar el Preselector de Temporizador cada vez que se active el Temporizador. Los Preselectores de Temporizador pueden cargarse con un valor o bien con el contenido de cualquier MBO ( p.ej. Registros, Input Word, Flag Word, etc. ) Ejemplo: Inicializacin de un Preselector de Temporizador con una base de tiempo

STEP 1 IF LOAD TO WHIT

NOP V 10 TP 4 SEC

Primero hacemos esto Incondicionalmente valor 10 hacia el preselector base de tiempo = segundos El Timer 4 ser ahora un temporizador de 10 segundos

Las bases de tiempo disponibles son : HSC centsimas de segundo TSC dcimas de segundo SEC segundos MIN minutos Ejemplo : Inicializacin de un Preselector de Temporizador sin una base de tiempo STEP 1 IF LOAD TO Primero hacemos esto Incondicionalmente valor 100....., al no especificar base de tiempo, esta ser de 1 / 100 de segundo lo que fija el tiempo de T0 en 1 segundo

NOP V 100 TP 0

El ejemplo precedente ha inicializado el Timer 0 para una duracin de 1 segundo ( 100 x 1 / 100 de segundo ). La gama vlida es de 0-65535, lo que da periodos de tiempo desde 0,01 s hasta 655, 35 s ( aprox. 10 minutos ) 5.3.2 Activacin de un temporizador La activacin de un temporizador slo requiere la ejecucin de la instruccin SET, especificando qu temporizador debe activarse IF THEN I 2.0 T6 Cualquier condicin de marcha activar Timer 6

SET

Siempre que se ejecute la orden SET Tn, sucede lo siguiente : 1.2.3.4.El valor contenido en TPn ( Preselector de Temporizador ) es copiado al TWn ( Palabra de Temporizador n ) Tn ( El estado del Temporizador n ) se pone en "1" ( activo / funcionando ) El control decrementa automticamente el valor almacenado en TWn a intervalos regulares Cuando el valor almacenado en TWn alcanza 0 ( cero ), el Tn ( estado del temporizador ) se pone en "0" ( inactivo / detenido )

Nota : Si se ejecuta la instruccin SET Tn, y el Temporizador especificado YA est activo, el temporizador se REINICIALIZAR y empezar de NUEVO a contar el periodo de tiempo especificado en TPn

5.3.3 Interrogacin del estado de un temporizador Para que los temporizadores sean tiles en control de procesos, es necesario saber cundo ha vencido un tiempo programado. El lenguaje AWL proporciona los medios para interrogar si un temporizador est activo, de la misma forma que se interroga si una entrada est activa

IF IF N

T5 T3

Ver si Timer 5 est activo ( funciona ) Ver si Timer 3 est inactivo ( parado )

5.3.4 Paro de un temporizador Para detener un Temporizador, slo se requiere ejecutar la orden RESET y especificar qu temporizador debe detenerse IF THEN RESET I 2.0 T5 Entrada para parar el timer Detener Timer 5

Cuando se ejecuta la instruccin RESET Tn el bit de estado del temporizador ( Tn ) se pone en "0" ( inactivo ). Si el temporizador ya se hallaba inactivo, no se produce ningn efecto

La siguiente figura ilustra la relacin entre el bit de estado del temporizador ( Tn ), la instruccin SET Tn y RESET Tn, y el periodo de temporizacin normal

tiempo programado Timer activo = 1

Timer inactivo = 0 SET Tn RESET Tn

La lnea gruesa representa una secuencia normal de temporizacin en la cual el estado del temporizador se vuelve activo cuando se ejecuta una orden SET Tn y el bit de estado vuelve a inactivo cuando se ha cumplido el periodo de tiempo programado La lnea fina indica que ejecutando una instruccin RESET Tn, inmediatamente se situar al temporizador en estado inactivo

Atencin : Cuando se desarrollan programas o pasos que contengan varias frases que sern procesadas de forma paralela ( exploracin / scanning continua ), es importante comprender que cada vez que la parte condicional de una frase es evaluada como cierta, las instrucciones programadas en la parte ejecutiva se realizarn. Esto debe ser considerado para evitar las mltiples ejecuciones de muchas instrucciones como SET TIMER o INC / DEC CW, SHL, etc. El lenguaje AWL no utiliza el " accionamiento por flancos "...Las condiciones son evaluadas cada vez que se procesan, sin tener en cuenta su estado anterior. Esta situacin se resuelve fcilmente utilizando STEPs, Flags u otra forma de control. Los ejemplos siguientes muestran dos posibles formas en las que este aspecto es controlado

5.4

Ejemplos

5.4.1 Retardo de la conexin Con el flanco positivo de la seal de entrada se activa el temporizador; la salida es activada con un retardo de 0,7 segundos. El flanco negativo de la seal de entrada cancela la salida inmediatamente. Si la seal de entrada es emitida durante un tiempo menor a 0, 7 segundos, la salida no llega a activarse.

1 I 7.0 0

1 O 7.5 0 t t

STEP 20 IF THEN

LOAD TO WHIT SET N JMP TO AND SET RESET JMP TO

I 7.0 V7 TP 0 TSC T0 I 7.0 20 N T0 I 7.0 O 7.5 N I 7.0 O 7.5 20

Retardo de arranque Al accionar entrada 7.0 Cargar valor fijo 0,1 seg. Activar temporizador Si entrada 7.0 no est activa regresar al inicio Tiempo transcurrido ? y entrada activa Activar salida 7.5 Si entrada 7.0 no est activa Desactivar la salida y volver al inicio

STEP 21 IF THEN IF THEN STEP 22 IF THEN

A continuacin se indica otro modo de programar un retardo a la conexin. En este caso, mediante un pulsador, se enciende una luz dos segundos despus. Segn el planteamiento del problema, la lmpara solo se enciende mientras que se mantiene activado el pulsador. Ello significa que si, por ejemplo, se deja de presionar el pulsador transcurridos 1,5 segundos, la lmpara no se enciende El Programa AWL est compuesto de dos pasos. En el paso 1 se carga el temporizador ( carga de la constante 2 en el preselector del temporizador TP0 ) y simultneamente se inicia el transcurso del tiempo ( activacin del temporizador 0 ). En el paso 2 se produce la consulta del tiempo. Si han transcurrido 2 segundos y sigue recibindose la seal 1, se activa la salida. La seal 0 en la entrada cancela la salida Si este programa AWL es redactado como programa de enlaces lgicos, deber recurrirse a recordadores STEP S1 IF THEN

LOAD TO WHIT SET

I 1.0 V2 TP 0 SEC T0 N T0 I 1.0 O 1.0 N I 1.0 O 1.0 S1

Cargar temporizador Activar temporizador

STEP S2 IF THEN IF THEN AND SET RESET JMP TO

Consultar temporizador

5.4.2 Retardo de la desconexin Con el flanco positivo de la seal de entrada se activa la salida, y sta es desactivada con el flanco negativo, aunque slo despus de transcurridos 0,5 segundos. Ello significa que el flanco negativo activa el temporizador, mientras que ste cancela la salida una vez transcurrido el tiempo.

1 I 0

1 0 t t

STEP 10 IF THEN STEP 11 IF THEN

SET

I 7.0 O 7.5

Retardo de desconexin Al accionar entrada 7.0 Activar salida 7.5

N LOAD TO WHIT SET

I 7.0 V5 TP 0 TSC T0

Si entrada 7.0 no est activa Cargar valor fijo En preselector de temporizador TP0 0, 1 segundo Activar temporizador 0

STEP 12 IF THEN

N RESET JMP TO

T0 O 7.5 10

Tiempo transcurrido Desactivar salida 7.5 volver al paso 10

5.4.3 Impulso de temporizacin El flanco positivo de la seal de entrada activa la salida. Al mismo tiempo empieza a funcionar el temporizador. Una vez transcurrido el tiempo ( 2 minutos ), se desactiva la salida Sin embargo, si en la entrada se vuelve a recibir la seal "0" antes de que haya transcurrido el tiempo, tambin se cancela la salida ( condicin OR en el ltimo paso

1 I 7.0 0

1 O 7.5 0 t t

STEP 30 IF THEN

LOAD TO WHIT SET SET

I 7.0 V2 TP 0 MIN T0 O 7.5 N T0 N I 7.0 O 7.5 30

Impulso temporal de arranque Al accionar entrada 7.0 Cargar valor fijo 1 minuto Activar temporizador Activar salida 7.5 Tiempo transcurrido ? o entrada no activa desactivar salida y volver al inicio

STEP 31 IF THEN OR RESET JMP TO

5.4.4 Impulso de desconexin La salida es activada con el flanco negativo de la seal de entrada. Al mismo tiempo se pone en funcionamiento el temporizador. Una vez transcurrido el tiempo ( 14 seg.), se desactiva la salida En consecuencia, el flanco positivo de la seal de entrada no provoca accin alguna. Por esta razn, el programa incluye a continuacin una instruccin de salto

1 I 7.0 0

1 O 7.5 0 t t

STEP 24 IF THEN STEP 25 IF THEN

JMP TO N LOAD TO WHIT SET SET N RESET JMP TO

I 7.0 25 I 7.0 V 14 TP 0 SEC T0 O 7.5 T0 O 7.5 24

Impulso temporal de desconexin Al accionar entrada 7.0 continua en el siguiente paso Si entrada 7.0 no est activa Cargar valor fijo En preselector de temporizador TP0 1 segundo Activar temporizador 0 Activar salida 7.5 Tiempo transcurrido Desactivar salida 7.5 volver al paso 24

STEP 26 IF THEN

5.4.5 Impulso secuencial Activacin de un proceso intermitente mediante el flanco positivo de la seal de entrada. La salida es activada, y mantiene ese estado durante 0,2 seg. ( tiempo t activado ). A continuacin es cancelada la salida, y ese estado se mantiene durante 0,1 seg. ( tiempo t desactivado ). En estos programas el temporizador es cargado dos veces ( con constantes diferentes ). Esta operacin se repite constantemente en el programa a raz de la instruccin de salto. La operacin intermitente es interrumpida por el flanco negativo de la seal de entrada.

1 I 7.0 0

1 O 7.5 0 t on t off t on t off

STEP 40 IF THEN

LOAD TO WHIT SET SET OR RESET LOAD TO WHIT SET AND JMP TO

I 7.0 V 20 TP 0 HSC T0 O 7.5 N T0 N I 7.0 O 7.5 V 10 TP 0 HSC T0 N T0 I 7.0 40

Impulso de paso Al accionar entrada 7.0 Cargar valor fijo 0,01 seg. Activar temporizador Activar salida 7.5 Tiempo transcurrido ? o entrada no activa desactivar salida Cargar valor fijo 0,01 seg. Activar temporizador Tiempo transcurrido ? y entrada activa ir al paso 40

STEP 41 IF THEN

STEP 42 IF THEN

5.4.6 Luz intermitente Procedimiento Tiempos de conexin y desconexin de la luz intermitente : * * 0, 5 seg. Tiempo de DESCONEXIN 0, 5 seg. Tiempo de CONEXIN

Esquema elctrico

0V + 24 V

H1

+ 24 V

0V

O 1.0

Solamente deber conectarse la lmpara. En este programa no se toma en cuenta la activacin y la desactivacin del proceso intermitente con, por ejemplo, un pulsador. La lmpara se enciende intermitentemente despus de conectar el mando Listado de direcciones Abreviatura Direccin Funcin H1 O 1.0 Lmpara encendida con seal 1 T0

Denominacin Lmpara Temporizador Programa

La lista de instrucciones est compuesta de 3 pasos : Paso 1 : Paso 2 : Paso 3 : Cargar temporizador Consultar tiempo / iniciar tiempo y encender lmpara Consultar tiempo / iniciar tiempo y apagar lmpara

STEP THEN

CARGAR LOAD TO WHIT Lampact SET SET Lampdesact RESET SET JMP TO

V5 TP 0 TSC N T0 O 1.0 T0 N T0 O 1.0 T0 Lampact

Cargar Temporizador 5 x 0, 1 seg. , cargar en preseleccin de temporizador 0 Activar lmpara tiempo transcurrido o no activado Activar lmpara Activar tiempo Desactivar lmpara Tiempo transcurrido desactivar lmpara activar tiempo Salto de retorno

STEP IF THEN STEP IF THEN

Dado que los tiempos para la CONEXIN y la DESCONEXIN son iguales, slo es necesario tener una constante y efectuar un proceso de carga para el temporizador. En el paso 1 se efecta la carga del temporizador, el cual entonces puede ser consultado para encender y apagar la lmpara. El paso 1 no contiene una parte condicional IF porque la lmpara siempre tiene luz intermitente ( si est activado el mando ) En los pasos 2 y 3 vuelve a activarse respectivamente el tiempo. La orden de salto procura que el proceso de conexin y desconexin se repita constantemente, es decir, que la lmpara tenga luz intermitente. La lista de instrucciones tambin puede escribirse como programa de enlaces lgicos. En ese caso debern utilizarse los recordadores de flancos.

5.4.7 Eliminacin de rearranques no deseados utilizando la estructura step de awl El siguiente ejemplo muestra una parte del programa en la que se desea poner en marcha un motor durante 3 segundos cada vez que se accione un pulsador, si el motor no est funcionando, y por lo menos despus de transcurridos 9 segundos desde que el motor estuvo funcionando por ltima vez. En este programa, la situacin de que los temporizadores sean continuamente rearrancados, es eliminada combinando la instruccin STEP de AWL con la instruccin N Timer STEP 1 IF THEN

LOAD TO LOAD TO SET N N N

NOP V 900 TP 0 V 300 TP 2 T0 T0 T2 O 1.0 I 1.2 T2 O 1.0 T2 O 1.0 T0 10

Inicializar al arranque 900 x 0,01 seg. T0 es el tempor. de la segunda pausa 300 x 0,01 seg. T2 es el tiempo motor activar tiempo de pausa Tiempo 0 vencido Tiempo 2 no corre Motor parado Pulsador accionado Activar tiempo 2 Activar motor Tiempo motor vencido Parar el motor Activar tiempo pausa Volver a empezar

STEP 10 IF AND AND AND SET SET

THEN STEP 20 IF THEN

N RESET SET JMP TO

5.4.8

Eliminacin de continuos rearranques de temporizadores en procesos paralelos

Es importante que el programador de AWL comprenda que el bit de estado de un temporizador ( p.ej. T2 ) puede interrogarse utilizando las instrucciones : IF IF N T2 T2 Esto es cierto si el timer 2 est activo y temporizando Esto es cierto si el timer 2 no est actualmente activo

Es vital comprender que ninguna de estas instrucciones permite saber si el temporizador 2 ha sido activado y ha terminado. Por ello, cuando se escriben programas en AWL de forma que puedan haber frases que procesen varios tiempos, deben tomarse precauciones para evitar resultados inesperados.

El siguiente ejemplo presenta una parte de un programa en la que se acciona un pulsador para hacer avanzar un cilindro por un periodo de tiempo preseleccionado. La lgica utilizada en el programa evitar que se produzcan los problemas que de lo contrario sucederan : * Manteniendo el pulsador o pulsando y soltando varias veces, dentro del tiempo definido, no se alterar el tiempo programado

STEP 1 THEN

LOAD TO RESET LOAD TO AND AND SET SET SET AND RESET AND AND RESET JMP TO

V0 OW0 F 3.0 V 100 TP 0 I 1.0 N T0 N F 3.0 T0 O 1.0 F 3.0 N T0 O 1.0 O 1.0 N T0 F 3.0 N I 1.0 F 3.0 NOP 2

Primero slo inicializamos los temporizadores Desconectar las salidas Borrar Flag 3.0 Inicializar T0 a 1 segundo Seccin principal Pulsador 1 accionado y timer 0 parado Flag auxiliar de deteccin de flanco activar timer 0 avanzar cilindro memorizar flanco ascendente del pulsador Timer 0 est inactivo cilindro extendido retroceder cilindro Timer 0 inactivo y ha habido antes un flanco ascendente pulsador liberado.... flanco descendente para mantener la exploracin del paso actual

STEP 2 IF THEN

IF THEN IF THEN IF THEN

5.5

Programas de enlaces lgicos para la ejecucin de funciones de temporizadores

Cuando se efecta la programacin de funciones de temporizadores, es necesario distinguir entre la programacin de la duracin del tiempo y la programacin de las secuencias ( del programa ). Recurriendo a programas de paso a paso, es fcil programar las secuencias: en el primer paso se carga el tiempo, en el segundo se efecta la consulta, etc. Si por el contrario se programa un tiempo en un programa de enlaces lgicos, deber ponerse cuidado en que las operaciones de carga y consulta del tiempo estn ligadas a a condiciones que no pueden cumplirse simultneamente. ( En un programa de enlaces lgicos, todas las condiciones del proceso son ledas prcticamente de modo simultneo ). En consecuencia, se recurre a recordadores de flancos.

5.5.1 Ejemplo : retardo de conexin En el cuadro se hace una comparacin entre un programa de pasos y uno de enlaces. El ejemplo se refiere a un retardo de conexin simple : Activacin de un pulsador. 2 segundos ms tarde se enciende una lmpara. En el programa de enlaces lgicos se incluye un recordador de flancos ( para flancos positivos ). El recordador F 0.0 " bloquea " el pulsador de activacin una vez que se carg el tiempo ( "Activa F 0.0 ")

STEP S1 IF THEN

LOAD TO WHIT SET

I 1.0 V2 TP 0 SEC T0 N T0 I 1.0 O 1.0 N I 1.0 O 1.0 S1

Cargar Temporizador

STEP S2 IF THEN IF THEN AND SET RESET JMP TO

Consultar temporizador

Programa secuencial : retardo de conexin IF THEN AND LOAD TO WHIT SET SET AND AND SET I 1.0 N F 0.0 V2 TP 0 SEC T0 F 0.0 N T0 I 1.0 F 0.0 O 1.0 N I 1.0 O 1.0 F 0.0

IF THEN IF THEN

RESET RESET PSE OTHRW PSE Programa de enlaces lgicos : retardo de conexin

5.5.2 Ejemplo relacionado a la funcin de temporizador Una lmpara deber encenderse intermitentemente con : * 0, 5 seg. de tiempo de DESACTIVACIN * 0, 5 seg. de tiempo de ACTIVACIN El programa secuencial consta de 3 pasos: cargar el temporizador, encender la lmpara, apagar la lmpara. La intermitencia est a cargo de una instruccin de salto. STEP THEN STEP IF THEN STEP IF THEN Start LOAD TO WHIT act.lamp N SET SET Desact.lamp Cargar Temporizador 5 x 0, 1 seg , cargar en preseleccin de temporizador 0 Activar lmpara tiempo transcurrido o no activado Activar lmpara Activar tiempo Desactivar lmpara Tiempo transcurrido desactivar lmpara activar tiempo Salto de retorno

V5 TP 0 TSC T0 O 1.0 T0

N T0 RESET O 1.0 SET T0 JMP TO act.lamp Programa secuencial : intermitente

En el programa de enlaces lgicos se necesita el recordador F 0.0 para saber si ya se carg el tiempo o no. De esta manera queda excluida la posibilidad de que se encienda o apague la lmpara mientras an no se haya cargado el tiempo IF THEN N SET LOAD TO WHIT AND AND SET SET F 0.0 F 0.0 V5 TP 0 TSC F 0.0 N O 1.0 N T0 O 1.0 T0 F 0.0 O 1.0 N T0 O 1.0 T0 Recordador de flanco para " c.tiempo " Activar recordador 5 x 0,1 seg., cargar en preseleccin de temporizador 0 Tiempo est cargado Salida desactivada Tiempo transcurrido o no activado Activar lmpara Activar tiempo Tiempo est cargado Salida activada Tiempo transcurrido o no activado Desactivar lmpara Activar tiempo

IF THEN IF

AND AND THEN RESET SET PSE OTHRW PSE Programa de enlaces lgicos : intermitente

CONTADORES

6.1

Generalidades

Existen contadores de hardware y contadores de software. Los contadores de software son parte integrante de la unidad central y tienen estados, valores nominales y valores efectivos. Los contadores de software son cargados a travs del programa. 6.1.1 Contadores de hardware Son submdulos que son conectados al PLC ( al igual que los actuadores y sensores ). Ejemplo : un contador electromagntico con preseleccin. El valor seleccionado es introducido manualmente ( cargar el contador ). El nmero preseleccionado puede verse en el visualizador. Asimismo, tambin se indica el valor efectivo en cada momento. Una vez que el valor efectivo es igual al valor previamente seleccionado, se activa un conjunto de contactos, los cuales se encargan de abrir o cerrar circuitos de corriente. La reposicin del contador puede efectuarse elctrica o manualmente ( con un pulsador respectivo ). Sin embargo se mantiene el valor que se haya seleccionado antes. No obstante, incluso durante el funcionamiento del contador es factible corregir el nmero preseleccionado. 6.1.2 Contadores rpidos En muchas operaciones de control es necesario recurrir a contadores rpidos. " Rpido " suele significar en este caso una frecuencia de conteo superior a 50 Hz, lo que equivale al registro de ms de 50 operaciones por segundo. Tal funcin por lo general no se puede solucionar con contadores " normales " de un PLC. La frecuencia de la operacin de conteo est limitada por el retardo de las seales en las entradas. Todas las seales de entrada ( incluyendo tambin la seal de conteo ) es retardada durante un tiempo determinado ( de 1 hasta 20 ms. ) antes de que pueda ser procesada por el PLC. De esta manera se evita que interfieran otras seales. Otra limitacin estriba en el tiempo de los ciclos de control ( es decir, el tiempo que necesita el PLC para ejecutar el programa ) En el mercado suelen ofrecerse submdulos adicionales de contadores rpidos para los PLC. Las entradas de estos submdulos no tienen retardo de seales o, en todo caso, muy pequeo ( puesto que las interferencias se evitan mediante cables aislados ). Estos submdulos de contadores tienen que incorporarse y programarse adicionalmente

El posicionamiento de piezas en una mquina es un ejemplo de un control con contadores rpidos.

La medicin de la operacin de posicionamiento puede realizarse de modo directo o indirecto. En el primer caso, la escala de medicin se encuentra montada en una cinta emisora de impulsos, mientras que en el segundo caso, la escala est en un disco de pulsos. La posicin de las marcas de la escala es registrada pticamente y transmitida mediante una seal elctrica a la unidad de control. Para que el posicionamiento sea extremadamente preciso y rpido, tendr que recurrirse a contadores rpidos. En este caso, el sistema de control cuenta la cantidad de marcas de la escala en cada movimiento. La programacin de una funcin de interrupcin es otra posibilidad que se tiene para solucionar este tipo de aplicaciones con un PLC.

6.1.3 Indicacin del estado efectivo del contador Para representar un nmero de un dgito se necesitan 4 nmeros binarios, es decir, 4 bits, puesto que debe ser posible indicar 10 cifras diferentes ( de 0 a 9 ). Con este fin se recurre al cdigo BCD

Los 4 bits permiten la codificacin de un total de 16 smbolos. En la codificacin BCD se utilizan los primeros 10 smbolos para las cifras 0 hasta 9; los siguientes 5 smbolos ya no se necesitan entonces Cdigo BCD

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

0 1 2 3 4 5 6 7 8 9

Estos nmeros binarios no se necesitan

Para representar las cifras se suelen utilizar visualizadores de 7 segmentos. La visualizacin del estado del contador se realiza mediante un programa adicional, ya que es necesario ocupar las salidas del PLC. Desde dichas salidas se emiten las seales correspondientes al visualizador
Visualizacin del estado del contador

0 1 1 0

0 0 1 0

Cifras duales

Cifras decimales ( visualizador de 7 segmentos )

Ejemplo : La figura muestra un ejemplo, en el que la palabra del contador ( valor efectivo del contador ) est compuesto de 2 bytes (1). En consecuencia, quedan 16 bits para la representacin de un nmero binario. Con 4 cifras del nmero binario puede representarse una cifra del sistema decimal si se emplea la codificacin BCD. Ello significa que con 16 bits pueden representarse los nmeros comprendidos entre 0000 y 9999. Si bien es posible crear nmeros mayores binariamente, stos no pueden ser representados en el sistema decimal. ( El valor efectivo puede abarcar diferentes cantidades de bit, dependiendo del PLC ) Primero, la palabra del contador es cargada en la memoria operativa de la unidad central (2). All se procede a la conversin dual-decimal (3). Despus de este proceso, los 16 bits estn compuestos de 4 unidades de 4 bits cada una ( A cada unidad le corresponde una cifra decimal ). Con las 8 ltimas cifras de la palabra del contador es activada una palabra de salidas ( 8 salidas ). Con esta palabra de salida AW1 se indican los dos valores decimales ms bajos (4).

Visualizacin del valor efectivo ( ejemplo

0 0 0 1 0 1 0 0 1 1 1 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 1 0 1 0 1 0

1 0

Valor efectivo del contador Memoria ( 2 ) Memoria ( 3 )

(1)

1 0

Conversin dual decimal ( 4 cifras ) 0 1 1 0 1 1 1 0 1 0 0

0 1 1 1 0 1 0 0

AW 1

Visualizador ( 4 )

0 1 0 1 0 0 1 1

Memoria

0 1 0 1 0 0 1 1

AW 2

Visualizador ( 5 )

A continuacin, las 8 cifras de la palabra del contador son desplazadas hacia la derecha y transformadas en la palabra de salida AW2. Con esta palabra de salida se indican los dos valores decimales ms altos ( 5 ).

Palabra de salida / Visualizacin

0 1 2 3 4 5 6 7

0 1 2 3 4 5 6 7

6.1.4 Mtodo multiplexor Con el fin de " ahorrar " salidas al efectuar la indicacin del estado del contador, puede aplicarse otro mtodo : se trata, concretamente, del mtodo multiplexor. Ejemplo : para visualizar un nmero de cuatro cifras se necesitan slo 8 salidas ( es decir, solamente una palabra de salida ). El mtodo normal consumira 16 salidas. De las 8 salidas, 4 son utilizadas para la representacin de las cifras y 4 para la activacin del dgito correspondiente. Ello significa lo siguiente : con las 4 ltimas salidas se forma primero la ltima cifra ( con el cdigo BCD ). Con la cuarta salida se activa el ltimo dgito donde se visualiza dicha cifra. A continuacin, nuevamente se recurre a las 4 ltimas salidas para formar la penltima cifra. Con la tercera salida se activa el tercer dgito del visualizador; etc.

Mtodo multiplexor ( ejemplo )


1 dgito 2 dgito 3 dgito dgito

Valor de cifras con el cdigo Palabra de salida

Visualizador

De esta manera, el valor correspondiente a la ltima cifra ya est cancelado en la palabra de salida cuando aparece la penltima cifra. Este resultado se obtiene mediante el efecto de iluminacin retenida o con una conexin de sample-and-hold. Aplicando este mtodo, las cifras aparecen en el visualizador una despus de la otra. Sin embargo, ello sucede en fracciones de segundo. Para la vista humana, es como si las cifras apareciesen simultneamente. Ello significa que la transmisin multiplex de datos es la transformacin de una transmisin paralela en una transmisin en serie. La ventaja del mtodo multiplexor consiste en que se necesitan menos salidas y lneas. Su desventaja es que se necesita una conexin especial.

6.1.5 Programa para visualizar el estado del contador En este ejemplo se muestra la palabra del contador cuando ste ha finalizado el conteo, es decir, cuando el contador ha contado hasta llegar a un valor determinado. El contenido de la palabra del contador igual a "0" es memorizado por la memoria operativa del PLC. A continuacin se produce la transformacin de cdigo decimal. Acto seguido, el valor efectivo es transmitido como palabra de salida 5 ( hacia el visualizador )

IF THEN

SET LOAD BID TO

N C0 O 1.3 CW 0 OW 5

Este programa permite la visualizacin de valores numricos entre 00 y 99. ( Para 1 dgito se necesitan 4 salidas ) La programacin de este tipo de visualizacin de nmeros vara segn el PLC. El programa respectivo pude ser parte del programa secuencial

6.2

Funciones de los contadores

Los contadores son utilizados para contar unidades o procesos. En la prctica es frecuente que los controles trabajen con contadores. si por ejemplo, se desea que un equipo clasificador coloque siempre 10 piezas iguales sobre una cinta transportadora, se necesita un contador En la mayora de los PLC, los contadores son unidades electrnicas contenidas en la unidad central. Las tareas de conteo sencillo, as como tambin la programacin de una temporizacin, pueden solucionarse actualmente con cualquier PLC Los contadores se rigen por las siguientes magnitudes : * * * Valor efectivo Valor nominal Estado

El valor efectivo indica el estado momentneo del contador. El valor nominal corresponde al nmero hasta el cual deber contar el contador. El valor efectivo y el valor nominal pueden ser cargados en la memoria y se puede recurrir a ellos El estado del contador se constata sin importar si el contador ha alcanzado un nmero previamente definido o no. Si el contador est en funcionamiento su estado es "1" ( lo que significa que est puesta la seal 1 ). Si el contador ya no est activado, entonces su estado es "0" ( es decir que est puesta la seal 0 ). No obstante, tambin puede convenirse que el estado 0 y 1 estn invertidos. El estado tambin puede contener informaciones adicionales; por ejemplo puede indicar si ha sido rebasado el valor nominal o si se ha rebasado el valor mximo permisible. El siguiente ejemplo contiene los siguientes parmetros : Estado 1: Contador en funcionamiento Estado 0 : Contador detenido

El valor inicial es un nmero entero y positivo. Este nmero equivale al valor efectivo del contador. Dicho valor cambia en funcin de cada una de las operaciones que se produzcan y que debern ser contadas. Concretamente, se deducir una unidad en cada operacin ( contador de cuenta atrs ). El contador se detiene cuando alcanza el valor nominal 0. En este caso no es necesario definir un valor nominal.
Funcionamiento de un contador ( 1 ejemplo )

Contador Cargar impulso de conteo +1 -1 Estado 0 si valor nominal = 0 Valor efectivo

Cargar constante 3 comando : DEC ( cuenta Valor efectivo 1 Operacin Valor efectivo 2 Operacin Valor efectivo 3 Operacin Valor efectivo 0 1 2

del contador

3 Funcionamiento del contador

Arranque Parada

Contador detenido

Anlogamente puede tambin obtenerse un contador incremental. En este caso el valor inicial es un nmero entero y positivo. En cada operacin se agrega una unidad al valor efectivo. Si el valor nominal es n, entonces el contador cuenta desde el valor efectivo 0 hasta el valor nominal n. Ello significa que el contador se detiene cuando el valor efectivo = valor nominal
Funcionamiento de un contador ( 2 ejemplo ) Cargar constante en valor nominal 3 comando : INC ( cuenta hacia adelante ) Valor efectivo impulso de conteo +1 -1 Estado 0 si valor efec = nom Valor efectivo 1 Operacin Valor efectivo 2 Operacin Valor efectivo 3 Operacin Valor efectivo efectivo = nominal 3 Contador detenido 2 1 0 Funciona miento del contador

Contador Cargar

Activacin del contador

Arranque Parada

Despus de cada operacin de conteo ( es decir cada vez que el contador agrega una unidad al valor efectivo ) se efecta una comparacin entre el valor nominal y el efectivo. En la figura se muestra un ejemplo sencillo de este funcionamiento. Tambin en este caso se aplica lo siguiente : Estado 1: Estado 0 : Contador en funcionamiento Contador detenido

6.2.1 Aplicacin Cmo se aplican las funciones del contador en un PLC ?. Veamos un ejemplo. Para definir los elementos del contador se utilizan las siguientes instrucciones ( FPC 404 ) Estado C0...C15 C = Counter ( Contador ) Valor efectivo CW0...CW15 CW = Counter Word ( Palabra del contador ) Valor nominal CP0..CP15 CP = Counter Preselect (Preselector del contador) El contador, la palabra y el preselector del contador que van juntos tienen la misma direccin. El contador 6, por ejemplo, tiene los elementos C6, CW6 y CP6 La palabra del contador es el nmero que corresponde al valor vigente en ese momento ( valor efectivo ). En cada operacin cambia el valor efectivo agregando o restando una unidad, segn si el conteo es hacia atrs o hacia adelante. Con el preselector del contador se define un valor nominal para la palabra del contador De este modo se dispone bsicamente de dos posibilidades para, por ejemplo, efectuar el conteo de 24 operaciones El contador cuenta de 24 hasta 0 : Como constante se carga 24 en la palabra del contador. Con DEC ( "Decrement = conteo hacia atrs " ) se activa la funcin. Cuando la palabra del contador llega a 0, se detiene el contador. El contador cuenta de 0 hasta 24 : Se tiene que cargar la constante 24 en el preselector del contador. La palabra del contador est puesta en 0. Con INC ( " Increment = conteo hacia adelante " ) se produce el conteo hasta 24. ( La constante deber expresarse mediante un nmero positivo del sistema decimal )

Programacin en AWL

IF THEN

I 1.2 LOAD V7 TO CW 1 Cargar constante en la palabra del contador 1 IF THEN LOAD TO Ajustar el preselector del contador 8 I 1.6 V 24 CP 8

IF I 1.1 THEN INC CW 0 Contar hacia adelante en la palabra del contador 0 IF I 1.1 THEN DEC CW 5 Contar hacia atrs en la palabra del contador 5 IF THEN SET IF THEN RESET Consultar contador 0 ( estado ) IF THEN SET Consultar contador 4 ( comparacin ) IF THEN SET Consultar contador 1 ( comparacin ) C0 O 1.2 C0 O 1.2 Contador en funcin Contador detenido

( CW 4 > V 150 ) O 1.0

( CW 1 > CP 1 ) O 1.1

Mediante la consulta del contador ( estado ) es posible comprobar en el programa si el contador an est activado ( seal 1 ) o si se ha detenido o si an no se ha puesto en funcionamiento ( seal 0 ). La consulta del contador tambin puede efectuarse comparando la palabra del contador con una constante. La palabra y el preselector del contador son unidades que ocupan 16 bits respectivamente. El contador ( estado ) es una unidad que ocupa un bit.

6.2.2 Programacin de una funcin de contador En el ejemplo se muestra el programa de una funcin de contador simple : la salida O 1.0 es activada 5 veces. Cargar el contador : El contador es cargado mediante la seal de entrada proveniente de I 1.3. La palabra del contador CW1 es puesta en el valor efectivo 5. Si se trata de un contador de cuenta atrs, el valor nominal es puesto automaticamente en 1 ( por lo que no es necesario activar el preselector del contador CP ). Contar : Las " operaciones " que son contadas equivalen a las seales "1" de la entrada I 1.2. Del valor efectivo de la palabra del contador se resta 1 ( DEC : cuenta hacia atrs ). Al mismo tiempo se activa la salida O 1.0 Consulta : A continuacin se procede a la consulta del contador. Si el contador an est activado, se repite la operacin. En total, la salida es activada y desactivada cinco veces : salto hacia paso CONTAR. Si el contador se para, se produce un salto hacia el paso CARGAR. Cuando se efecta la programacin de las funciones de un contador, siempre debern acatarse los siguientes tres pasos : Cargar el contador - Contar - Consultar STEP IF THEN STEP IF THEN STEP CON IF THEN IF THEN AND RESET JMP TO CARGAR LOAD TO CONTAR SET DEC SULTAR AND RESET JMP TO I 1.3 V5 CW 1 I 1.2 O 1.0 CW 1 C1 N I 1.2 O 1.0 CONTAR N C1 N I 1.2 O 1.0 CARGAR

Se sobreentiende que entre estos pasos es posible activar otras salidas adicionales en otros pasos del programa. Las operaciones de conteo y consulta son repetidas hasta que el contador se para.

6.3

Utilizacin de contadores

6.3.1 Contadores estndar Cada contador tal y como ha sido implementado en el lenguaje AWL, puede programarse de dos formas diferentes. Primero se describir el mtodo estndar ( generalmente citado como contador INCremental )

Elemento / Operando Counter Bit de estado

Ref. Cn

Funcin Permite a un programa interrogar si un Contador est activo ( no ha alcanzado an su valor ). Este bit es cambiado a activo cuando se activa el contador ( SET ). Cuando se ha alcanzado el nmero de eventos preseleccionados o si el Contador se ha detenido ( RESET ) el bit de estado pasa a inactivo Preselector del Contador. Un operando de 16 bits que contiene el valor a contar Palabra del Contador. Un operando de 16 bits que contiene el valor actual de conteo modificado por las instrucciones INCrementar o DECrementar. Si se ejecuta la instruccin SET Cn la Counter Word es automticamente puesta a 0 ( cero )

Counter Preselect Counter Word

CPn CWn

Nota : Todos los modelos de FPC incorporan bateras que mantienen el contenido de los Preselectores de Contador, Palabras ( Words ) y bit de estado, durante los periodos de desconexin

6.3.2 Utilizacin de Contadores estndar Un Contador ( Counter ) estndar es adecuado para contar eventos definidos y realizar una determinada accin cuando se ha alcanzado una cantidad preseleccionada. Los contadores estndar funcionan de la siguiente forma : El valor a contar es almacenado en el Preselector del Contador ( CPn ) El contador es activado ( SET Cn ), lo que produce : Poner un valor "0" en la Palabra de Contador ( CWn = 0 ) Cambiar el bit de estado del Contador a activo ( Cn = 1 ) El valor actual de conteo puede ser INCrementado o DECrementado Cuando el valor actual ( CWn ) = valor preseleccionado ( CPn ), el bit de estado del contador ( Cn ) cambia a inactivo ( Cn = 0 )

6.3.3 Inicializacin de un Preselector de Contador Antes de utilizar un contador estndar, el correspondiente Preselector de Contador debe ser inicializado con un valor correspondiente al nmero de eventos a contar Esta inicializacin slo es preciso hacerla de nuevo si el valor de conteo para otras actividades debe cambiarse. No es necesario recargar el Preselector del Contador cada vez que se active el Contador. Los Preselectores de Contador pueden cargarse con valores absolutos, o con el contenido de cualquier MBO ( p.ej. Registros, Input Word, Flag Word, etc. ) Ejemplo: Inicializacin de un Preselector de Contador con un valor absoluto IF THEN I 1.0 V 100 CP 4 En las condiciones deseadas de carga cargamos el valor absoluto 100 como nmero de eventos a contar al preselector del contador CP 4

LOAD TO

Ejemplo : Inicializacin de un Preselector de Contador con un MBO IF THEN I 1.0 IW 1 CP 5 En las condiciones deseadas de carga cargamos el valor de la Palabra de Entradas 1 en el Preselector de Contador 5

LOAD TO

Por medio de la instruccin DEB podemos utilizar conmutadores rotativos externos BCD para fijar el valor de conteo 6.3.4 Activacin de un Contador La activacin de un contador solamente requiere la ejecucin de la instruccin SET, especificando qu contador debe arrancarse IF THEN I 1.2 C2 Condiciones deseadas activar Contador 2

SET

Siempre que se ejecute la orden SET Cn, sucede lo siguiente : 1.2.La correspondiente Palabra de Contador ( CWn ) es cargada con el valor "0" Cn ( El estado del Contador n ) se pone en "1" ( activo )

Nota : Si se ejecuta una instruccin SET Cn, y el Contador indicado YA est activo, el Contador ser REARRANCADO y el valor actual de conteo ( en CWn ) ser puesto de nuevo a "0"

6.3.5 Interrogacin del estado de un Contador Para poder utilizar los contadores de forma comprensible es necesario determinar cundo se ha alcanzado el valor de preseleccin

6.3.6 Conteo de eventos Una vez que se ha activado el contador ( SET ), el valor actual es mantenido en la respectiva Palabra de Contador ( Counter Word ), que es actualizada utilizando las instrucciones INC CWn o DEC CWn

6.3.7 Parada de un Contador Un contador puede ser detenido ( desactivado ) en cualquier momento ejecutando la instruccin RESET Cn. Cuando esto sucede, el bit de estado del Contador ( Cn ) se pone a "0". El contenido de la Palabra de Contador ( CWn ) permanece inalterable

Atencin : Cuando se desarrollan programas o pasos que contengan varias frases que sern procesadas de forma paralela ( exploracin / scanning continua ), es importante comprender que cada vez que la parte condicional de una frase es evaluada como cierta, las instrucciones programadas en la parte ejecutiva se realizarn. Esto debe ser considerado para evitar las mltiples ejecuciones de muchas instrucciones como SET TIMER o INC / DEC CW, SHL, etc. El lenguaje AWL no utiliza el " accionamiento por flancos "...Las condiciones son evaluadas cada vez que se procesan, sin tener en cuenta su estado anterior.

6.4

Ejemplos

6.4.1 Contadores estndar El primer ejemplo presentado utiliza un contador estndar junto con la instruccin STEP del lenguaje AWL para evitar los incontrolados INCrementos mltiples que se realizaran en los pasos 10 y 15 Se utiliza un pulsador para iniciar el ciclo de una mquina. El ciclo activar un transportador y contar las botellas que pasan frente a un sensor. Una vez que hayan pasado 25 botellas por delante del sensor, el transportador se detiene y un dispositivo posiciona corchos de cierre en cada botella. Finalmente, todos los corchos son presionados dos veces en las botellas por un tiempo de 1 segundo cada vez.

STEP 1 THEN

RESET RESET RESET RESET LOAD TO LOAD TO LOAD TO

C0 C1 O 1.0 O 1.1 V 25 CP 0 V2 CP 2 V 100 TP 0 I 1.0 C0 O 1.0 I 1.1 CW 0 N C0 O 1.0 C2 50

ARRANQUE Contador de botellas Contador de prensados Desactivar transporte Desactivar prensa corchos Conteos que debe hacer el contador 0 Nmero de prensadas que debe hacer el contador 2 Temporizador 0 al valor de 100 x 0,1 seg. ESPERA PULSADOR MARCHA Pulsador de marcha Activar contador Arranca transporte CONTEO DE BOTELLAS Sensor de botella activo incrementa contador HAY 25 BOTELLAS ? Hemos terminado, luego... para transporte activa contador de prensa salir del bucle de conteo sino seguir en paso 20 Esperar que la ltima botella salga del sensor y seguir contando

STEP 5 IF THEN STEP 10 IF THEN STEP 15 IF THEN OTHRW STEP 20 IF THEN

SET SET

INC

RESET SET JMP TO NOP N JMP TO

I 1.1 10

STEP 50 THEN

SET SET INC N RESET N JMP TO JMP TO

O 1.0 T2 CW 2 T2 O 1.1 C2 5 50

CONTADOR 25 BOTELLAS Prensar tapones Tiempo de prensado contar este prensado ESPERAR 1 SEGUNDO Tiempo vencido desactivar prensado TERMINADO ? 2 veces prensado volver al paso 5 sino, prensar de nuevo

STEP 60 IF THEN STEP 70 IF THEN OTHRW

El siguiente ejemplo detalla la utilizacin de un contador estndar en una seccin de programa de exploracin / scanning, en la que no se ha utilizado la estructura de STEPs para eludir los incontrolados INCrementos del contador. Como solucin alternativa se ha utilizado un Flag auxiliar El programa espera la accin sobre un pulsador y entonces mueve 100 veces un cilindro desde completamente atrs hasta completamente delante. Sin la utilizacin del Flag, un programa de exploracin ( scanning ) INCrementara el contador a cada ciclo de scan del programa, en lugar de hacerlo cada vez que el cilindro avanzara nuevamente. STEP 1 IF THEN Inicializar solo la 1 vez Pulsador accionado Desactivar todas las salidas Desactivar Flag auxiliar Inicializar contador 0 Activar contador 0 Seccin principal de exploracin Cilindro detrs Contador activo Deteccin del flanco vlvula cilindro inactiva Avanzar cilindro listo para otro avance Cilindro delante nuevo flanco contar el ciclo actualizar control flanco retroceder cilindro realizados 100 ciclos empezar todo de nuevo

LOAD TO RESET LOAD TO SET AND AND AND SET SET AND INC RESET RESET JMP TO

I 1.0 V0 OW 1 F 3.0 V 100 CP 0 C0 I 1.1 C0 N F 3.0 N O 1.0 O 1.0 F 3.0 I 1.2 F 3.0 CW 0 F 3.0 O 1.0 N C0 1

STEP 2 IF

THEN IF THEN IF THEN

6.4.2 Contadores ASCENDENTES / DESCENDENTES Adems de la utilizacin de los contadores descritos anteriormente ( Estndar ), el lenguaje AWL tambin permite al usuario la libre creacin de contadores a travs de los operandos multibit Los llamados contadores Ascendentes / Descendentes pueden realizarse utilizando cualquier Operando Multibit ( Flag Words, Registros, etc. ). A diferencia de los contadores estndar no es necesario inicializar el preselector, ni existe un determinado bit de estado. Naturalmente, las instrucciones SET / RESET no son aplicables en este contexto. Se requieren los siguientes pasos para utilizar este tipo de conteo : * * * Inicializar el correspondiente MBO a un valor El MBO puede ser INCrementado o DECrementado El MBO puede ser comparado con un valor o con otro MBO

Ejemplo : Utilizacin de un Registro como contador En el siguiente ejemplo se inicia un proceso y funciona hasta que se han producido 100 piezas buenas STEP 10 IF THEN ESPERAR ARRANQUE Pulsador de marcha Piezas buenas a producir El R50 hace las funciones de contador Arranca la mquina CONTROL DE CALIDAD Listo para comprobar calidad correcta 1 pieza buena de menos seguir en el paso 30 Listo para comprobar Calidad NO correcta ( sensor inactivo ) no contar piezas malas VER SI YA TENEMOS 100 PIEZAS RESET JMP TO NOP N JMP TO ( R 50 =V0) O 1.1 10 Todas las piezas hechas Parar la mquina regresar al principio o si no ha terminado seguir ESPERAR SALIDA ULTIMA PIEZA Sensor de zona de control de calidad liberado seguir funcionando y verificando

LOAD TO SET

I 1.0 V 100 R 50 O 1.0 ( I 1.1 I 2.3 ) R 50 30 ( I 1.1 N I 2.3 )

STEP 20 IF THEN IF THEN STEP 30 IF THEN OTHRW STEP 40 IF THEN AND NOP AND DEC JMP TO

I 1.1 20

6.5 Programas de enlaces lgicos para la ejecucin de funciones de contadores y temporizadores Cuando se efecta la programacin de funciones de temporizadores o de contadores, es necesario distinguir entre la programacin de la duracin del tiempo y la programacin de las secuencias ( del programa ). Recurriendo a programas de paso a paso, es fcil programar las secuencias: en el primer paso se carga el tiempo, en el segundo se efecta la consulta, etc. Si por el contrario se programa un tiempo en un programa de enlaces lgicos, deber ponerse cuidado en que las operaciones de carga y consulta del tiempo estn ligadas a condiciones que no pueden cumplirse simultneamente. ( En un programa de enlaces lgicos, todas las condiciones del proceso son ledas prcticamente de modo simultneo ). En consecuencia, se recurre a recordadores de flancos. 6.5.1 Ejemplo relacionado a la funcin de contador Un cilindro es desplazado por accin de una electrovlvula Y1 de reposicin por muelle. La posicin del cilindro es consultada por los interruptores de final de carrera S1 ( posicin normal ) y S2 ( posicin de avance ). S3 es el pulsador de activacin. Al pulsar S3, el cilindro deber avanzar 10 veces hasta el final de carrera. Una vez concluidos estos movimientos, deber activarse nuevamente con S3. El programa secuencial consta de 4 pasos. de esta manera se obtiene un desglose claro de la ejecucin del programa. El ltimo paso es una instruccin de salto, ya sea al paso 1 o al paso 2 STEP IF THEN STEP IF THEN STEP IF THEN Start LOAD TO cil.desact. SET DEC cil.act. RESET I 1.1 O 1.0 I 1.0 O 1.0 CW 0 I 1.2 V 10 CW 0 Cargar contador S3 : Pulsador Start Cargar valor efectivo del contador con 10 Avanzar cilindro / reducir C0 en 1 S1 : F.d.c. atrs Y1 : avanzar cilindro Contador -1 Retroceder cilindro S2 : F.d.c. avanzado Y1 : retroceder cilindro Interrogacin posicin del contador Valor efectivo mayor que 0 continuar con cadencia siguiente Valor efectivo es 0 continuar con Start

STEP salto IF C0 THEN JMP TO cil.desact. IF N C0 THEN JMP TO Start Programa secuencial : contador

El programa de enlaces lgicos necesario para solucionar este problema de control es ms complicado. Se necesitan dos recordadores de flancos : F 0.0 Recordador " activar contador " F 0.1 Recordador " impulso de conteo Cada uno de los recordadores tiene que ser consultado, activado y cancelado IF THEN AND SET LOAD TO AND AND SET SET DEC AND RESET RESET N RESET PSE PSE I 1.2 N F 0.0 F 0.0 V 10 CW 0 I 1.0 F 0.0 F 0.1 F 0.1 O 1.0 CW 0 I 1.1 F 0.0 O 1.0 F 0.1 C0 F 0.0 S3 : Pulsador Start Recordador "activar contador" Activar recordador cargar valor nominal con 10 S1 : cilindro retrocedido Recordador activado Recordador " impulso de conteo " Activar recordador Y1 : avanzar cilindro Contador -1 S2 : cilindro avanzado Contador activado Y1 : retroceder cilindro Desactivar recordador Valor efectivo es igual a "0" Desactivar recordador

IF N THEN

IF THEN IF THEN OTHRW

Programa de enlaces lgicos : Contador F 0.0 tiene la finalidad de que el control sepa en todo momento si ha sido activada la operacin de conteo o no. Este recordador es activado al cargar el contador. En este estado, si se pulsa nuevamente S3 durante la operacin de conteo, no sucede nada, puesto que el contador slo puede ser activado al principio del programa mediante consulta del recordador si dicho recordador an no ha sido activado. F 0.0 es cancelado solamente al final de programa ( cuando ha terminado de contar el contador ). La salida es activada mediante una seal positiva emitida por el interruptor de final de carrera I 1.0, con lo que del valor efectivo de contador se resta 1. Si la seal proveniente de la entrada dura ms que la duracin del ciclo de programa, es posible que se cuente dos veces. El segundo recordador de flancos F 0.1 tiene la finalidad de evitar esta situacin. Dicho segundo recordador es activado cuando la operacin de conteo se produce una vez. Cuando el cilindro avanza y llega al final de carrera ( seal 1 en I 1.1 ), se cancela la salida y el cilindro retrocede. Simultneamente se cancela el recordador de flancos F 0.1

UTILIZACIN DE REGISTROS

Los controles programables FESTO que pueden programarse utilizando el lenguaje AWL, poseen un nmero de registros de 16 bits. La cantidad exacta de estos registros varia segn el modelo de FPC. Estos registros son operandos multibit que pueden utilizarse para almacenar nmeros en la gama de : * * 0 - 65535 Enteros sin signo +/- 32767 Enteros con signo

Si el modelo de FPC utilizado lleva una batera, el contenido de los registros ser mantenido durante los periodos de desconexin. Los registros que no han sido nunca inicializados contendrn un valor aleatorio. Los Registros ( Registers ) son generalmente utilizados con la instruccin LOAD TO y en operaciones lgicas multibit. Los Registros no pueden direccionarse directamente bit a bit. Si se requiere acceder a un determinado bit, ser ms adecuado utilizar Flag Words. Los registros tambin pueden utilizarse para simplificar procesos secuenciales dentro de una seccin de programa de exploracin simple, como alternativa a la instruccin STEP 7.1 Ejemplos

Utilizacin de Registros en la parte condicional de una frase IF AND AND THEN .... ( R 51 = V 111 ) T7 (R3 <R8) Si el contenido del Registro 51 es igual a 111 y el timer 7 funciona y el Registro 3 es inferior al Registro 8 Haz lo programado aqu

Utilizacin de Registros en la parte ejecutiva de una frase IF... THEN Condiciones programadas Carga el contenido del R12 en el MBA suma el contenido del Registro 50 y guarda el resultado en el Registro 45

LOAD TO

R 12 + R50 R 45

FLAGs Y FLAG WORD

8.1

Similitudes con otros operandos multibit

Los Flag Words ( o Palabras de Marcas ) son, en muchas cosas, idnticos a los Registros. Cada Flag Word contiene 16 bits de informacin. Cuando son referenciados como unidades de 16 bits ( MBO / Multibit Operands ), se utiliza el trmino Flag Word. Los Flag Word son capaces de almacenar datos numricos en la gama : * * 0 - 65535 Enteros sin signo +/- 32767 Enteros con signo

Si el modelo de FPC utilizado lleva una batera, el contenido de los registros ser mantenido durante los periodos de desconexin. Los Flag Word que no han sido nunca inicializados contendrn un valor aleatorio. Los Flag Word difieren de otros operandos multibit en varios puntos importantes

8.2 1.-

Diferencias otros operandos multibit La mayor diferencia entre los Flags Words y los dems operandos multibit tales como Registros, Palabras de Contador, etc. es que cada uno de los 16 bits de que consta un Flag Word puede direccionarse como bit independiente. Por ejemplo el FPC 202 C contiene 16 Flag Words, direccionados desde FW0 hasta FW15 Tambin es posible direccionar bits ( Flags o Marcas ) individuales para cada Flag Word, utilizando la sintaxis : F ( nmero de Flag Word ). nmero del bit donde el nmero de bit est entre 0 y 15 Por ejemplo, F 7.14 se refiere al bit 14 del FW7. Este sistema de direccionamiento es similar al utilizado con las E / S digitales. Mientras que los Flag Words pueden utilizarse con cualquier instruccin AWL adecuada para operandos multibit, los Flags individuales slo son accesibles utilizando instrucciones adecuadas para los operandos monobit Los Flags o Marcas, como elementos monobit, son frecuentemente utilizados para memorizar eventos. En este aspecto, son similares a los "rels internos" frecuentemente citados en el lenguaje de Diagrama de Contactos

2.-

Los modelos de FPC que permiten varios mdulos de CPU ( Multiproceso ), permiten que cualquier programa en cualquier CPU pueda acceder a los Flags de cualquier otra CPU. Esto es, cada CPU es capaz de leer desde o escribir hacia los Flags de otra CPU Por esta razn, los Flags proporcionan el medio adecuado para intercomunicar datos entre CPUs. En tales sistemas de mltiples CPUs, cada Flag es referenciado como : FW. nmero de la CPU. nmero de Flag Word Por ejemplo, FW 2.14 se refiere a la Flag Word 14 en la CPU 2 De la misma forma tambin es posible direccionar Flags en forma monobit en otras CPUs, extendiendo la sintaxis de direccionamiento : F. nm. de CPU. nm.de Flag Word. nm. del bit Por ejemplo, F0,11,9 se refiere al Flag ( o bit, o marca ) 9 en el Flag Word 11, de la CPU 0

8.3

Ejemplos

Los Flags individuales ( as como los Flag Words ) pueden programarse indistintamente en la parte condicional o en la ejecutiva de una frase. En la parte condicional pueden ser interrogados por su estado ( 0 = inactivo, 1 = activo ); mientras que los Flag Words pueden compararse con valores u otros MBOs 8.3.1 Ejemplos en la parte Condicional

IF IF AND

F 1.1 F 2.1 N F 4.0

Si el bit 1 de Flag Word 1 est activo Si el bit 1 de Flag Word 2 est activo y el bit o de Flag Word 4 no est activo

Al igual que con los otros operandos monobit o multibit, los Flags pueden combinarse con otros operandos IF AND OR AND ( I 3.0 F 0.0 ) ( FW 3 = V 500 ) N T7 Si la entrada 3.0 es vlida y el Flag 0.0 est activo o el valor de los 16 bits de Flag Word 3 equivalen a 500 y el timer 6 no est activo

8.3.2 Ejemplos en la parte Ejecutiva

IF THEN IF THEN OTHRW

SET SET RESET

I 1.1 F 2.2 T6 F 3.3 F 3.3

Si hay la entrada 1.1 Entonces activa el bit 2 de la Flag Word 2 Si T6 en la CPU local funciona Activa Flag 3.3 para que otra CPU pueda verificar el estado del T6 sino desactivarlo

En la parte ejecutiva de una frase, los Flag Words pueden utilizarse como fuente o destino de cualquier instruccin multibit

8.3.3 Registros de desplazamiento El hecho que los Flag Words sean direccionables en base a palabra o en base a bit, proporciona un mtodo muy adecuado para construir registros de desplazamiento. Como ejemplo, podramos necesitar programar una lnea de mecanizado en las que las piezas fundidas en bruto se cargan en la estacin 0 y se realizan varias operaciones en las siguientes 15 estaciones. La mquina completa transfiere o indexa cada 2 segundos y durante este tiempo una nueva pieza puede o no estar presente en la estacin 0...lo cual es detectado por medio de un sensor. Las estaciones 1-15 no incluyen sensor de pieza, pero deseamos realizar la operacin solamente si existe pieza en el til. Esto representa una situacin ideal en la que es ventajoso utilizar un registro de desplazamiento. Utilizaremos el Flag Word 6 para guardar informacin de qu estaciones contienen pieza a mecanizar. La instruccin Shift Left ( SHL ) la utilizaremos para desplazar los bits en el Flag Word 6. Tambin se utilizan las siguientes I / O Input 1.0 Input 1.1 Input 2.2 Output 2.0 Outputs 1.0..1.15 Pulsador de marcha Sensor de pieza en estacin 0 Transferencia realizada Activa lnea de mecanizado Controla las operaciones de mecanizado de las estaciones 0...15 respectivamente

STEP 10 IF THEN AND LOAD TO LOAD TO

I 1.0 I 2.2 V 200 TP 0 V0 FW 6

ARRANQUE Pulsador de marcha Lnea transferida 2 segundos el preselector del timer 0 asumimos nueva produccin, ninguna pieza en las estaciones ESPERAR HASTA QUE ALGUNA PIEZA DISPUESTA Pieza encontrada en estacin 1 memorizarlo Hay alguna pieza a procesar activar motores de mecanizado en las estaciones con pieza iniciar proceso de temporizacin TIEMPO DE MECANIZADO TERMINADO ? Tiempo vencido desconectar todos los motores e iniciar la transferencia de la lnea ESPERAR A QUE EMPIECE LA TRANSFERENCIA Ya ha empezado a transferir cargar los estados de las estaciones desplazar los bits que coinciden con las piezas y guardarlos de nuevo HA TERMINADO TRANSFERENCIA ? Nuevo punto de indexacin Parar el motor de indexacin regresar al paso 15 para seguir LA HAYA

STEP 15 IF THEN IF THEN LOAD TO SET SET I 1.1 F 6.0 ( FW 6 >V0) FW 6 OW 1 T0

STEP 20 IF THEN STEP 25 IF THEN N LOAD SHL TO STEP 30 IF THEN RESET JMP TO I 2.2 O 2.0 15 I 2.2 FW 6 FW 6 N LOAD SET T0 V0 O 2.0

9 9.1

ACCESO A LAS ENTRADAS Y SALIDAS Organizacin de las E/S ( I/O )

Los controles programables Festo organizan las Entradas y Salidas en grupos denominados Word ( palabras ). Dependiendo del modelo de FPC ( o del grupo de I/O para los sistemas modulares ) cada grupo de I/O consiste en 8 o 16 entradas o salidas discretas 9.2 Palabras de E/S ( I/O WORDS )

Estos grupos completos de palabras son referenciados por su tipo ( Input o bien Output y la direccin de la Word n ). Esta direccin es un nmero generalmente asignado en los controles pequeos y configurable ( por conmutadores ) en los sistemas modulares. Las Input Words se referencian con IWn, mientras que las Output Words se nombran como OWn. Ejemplos

IW 1 IW 7 OW 0 OW 2

Input Word 1 Input Word 7 Output Word 0 Output Word 2

Palabra de Entradas 1 Palabra de Entradas 7 Palabra de Salidas 0 Palabra de Salidas 2

Debe observarse que cada Input o Output dentro de un sistema debe tener un nico nmero de direccin. O lo que es lo mismo : no se permiten direcciones duplicadas en un mismo sistema Sin embargo, es generalmente aceptable para un sistema, incluir una Input Word con la misma direccin que una Output Word ( p.ej. IW1 y OW1 ).

9.3

Entradas discretas de I/O

Las entradas y salidas contenidas en cada grupo de I/O se referencian especificando : El tipo de I/O ( I O ) + El nmero de direccin de la Word ( n ) + " . " seguido por el nmero particular de la etapa I/O ( Sn ) Los nmeros de etapa son 0 - 7 0 - 15 dependiendo del grupo de I/O. Por ejemplo

I 3.2 I 0.15 O 2.7 O 0.0

Etapa 2 de la palabra de entradas 3 Etapa 15 de la palabra de entradas 0 Etapa 7 de la palabra de salidas 2 Etapa 0 de la palabra de salidas 0

9.4

Uso de entradas en programas

Las Inputs ( o Entradas ) son elementos del sistema de control que estn diseados solamente para ser ledas o interrogadas. Es decir, estn conectadas a dispositivos externos, tales como sensores, interruptores, etc. que pueden o no emitir seal a una determinada entrada 9.4.1 Entradas discretas Ejecutando las instrucciones adecuadas en AWL, dentro de la parte Condicional de una frase, el control puede determinar el estado actual de una entrada discreta

IF IF

I 1.1 N 13.3

Comprueba si hay seal vlida en la entrada I 1.1 Comprueba si hay seal falsa en la entrada I 3.3

Pueden enlazarse en diversas combinaciones lgicas entradas mltiples, as como otras condiciones 9.4.2 Palabras de entrada ( Input Words ) A veces es necesario o deseable comprobar el estado de palabras completas de entrada. Para determinar el estado de una palabra de entrada completa, es necesario leer el valor de la palabra entera y determinar si se ajusta al criterio deseado. Por ejemplo, para determinar si todas las 8 entradas de la Input Word 2 estn recibiendo seales vlidas, podramos enlazar en AND cada una de las entradas : IF AND AND AND AND AND AND AND I 2.0 I 2.1 I 2.2 I 2.3 I 2.4 I 2.5 I 2.6 I 2.7 Aqu verificamos si las 8 entradas de una palabra de entradas de 8 bits, se hallan en estado lgico 1

o utilizando la capacidad del lenguaje AWL, evaluar por palabras enteras utilizando el programa :

IF

( IW2 = V 255 )

Comprobar si las 8 entradas son = 255 ( 11111111 binario )

Verificaciones ms complejas, que normalmente requeriran largas frases si se programaran bit a bit, se realizan fcilmente utilizando las Input Words combinadas con otras instrucciones lgicas. Para verificar si una o ms de las entradas I 1.5, I 1.6, I 1.7 estn activas, puede realizarse con :

IF AND

( IW1 V 224 ) >V 31

Primero obtener la palabra = ( 11100000 en binario ) si el resultado es mayor de 31, por lo menos hay una entrada activa

Lo cual es equivalente a :

IF OR OR

I 1.5 I 1.6 I 1.7

9.5

Uso de salidas en programas

Las Outputs ( o Salidas ) de un control programable pueden utilizarse para controlar varios tipos de dispositivos elctricos por medio de instrucciones de programa que pueden activar ( SET ) o desactivar ( RESET ) las pertinentes salidas Nota : Mientras que las entradas slo pueden ser ledas ( interrogadas ), las salidas pueden ser "escritas" ( SET o RESET ) y pueden tambin ser interrogadas igual que las entradas. Por ello las referencias a salidas pueden aparecer indistintamente en la parte Condicional o en la Ejecutiva de una frase AWL

9.5.1 Salidas discretas Ejecutando la instruccin AWL adecuada en la parte Ejecutiva de una frase, el control puede conmutar una determinada salida a ON ( activarla ) o a OFF ( desactivarla )

IF THEN SET RESET O 1.2 O 3.3

Siempre que se cumplan las condiciones activa la salida 1.2 desactiva la salida 3.3

La instruccin SET se utiliza para conectar una salida ( ponerla en ON ), mientras que RESET se utiliza para desactivarla ( ponerla en OFF ). Activar una salida que ya est activa, o desactivar una que ya est inactiva, no produce ningn efecto. Como se ha visto, las salidas tambin pueden ser interrogadas en la parte condicional. La siguiente frase comprueba si la entrada I 2.4 est recibiendo seal y si la salida O 2.2 est actualmente activa

IF AND THEN......

I 2.4 O 2.2

Entrada I 2.4 activa Y salida O 2.2 est en ON realizar acciones

9.5.2 Palabras de Salida ( Output Words ) A veces puede ser deseable o necesario, verificar o alterar el estado de una palabra de salidas. De la misma forma que las entradas pueden ser manipuladas en base a un grupo o word, tambin lo pueden ser las salidas Por ejemplo, la frase :

THEN

LOAD TO

V0 OW 2

Producir que todas las salidas asociadas a la palabra de salidas 2, sean desactivadas

10 10.1

DETECCIN DE FLANCOS Flancos

Las seales que provienen de sensores y llegan a las entradas son interpretadas por la unidad central del PLC como seales "0" "1". La duracin de las seales "1" y "0" es definida por el sensor. Por ejemplo : mientras que se acta un pulsador, se emite la seal "1"; cuando se deja de actuar sobre el pulsador, el PLC recibe una seal "0". Sin embargo, en muchos casos no tiene relevancia la seal misma, sino ms bien el momento en que la seal cambia. Tal cambio es denominado un flanco Para entender ms fcilmente el significado de un flanco, pinsese en un interruptor ( pulsador ) de una luz. En ese caso, la evaluacin del flanco se efecta de modo mecnico. Actuando sobre el pulsador se enciende la luz ( independientemente del tiempo que se acte sobre el pulsador ). Si entretanto se dej de actuar sobre el pulsador, puede volver a apagarse la luz actuando nuevamente sobre el pulsador. Un PLC tambin tiene que registrar el momento en que la seal de entrada cambia de "0" a "1", puesto que cada vez que se acta sobre el pulsador slo deber activarse una nica reaccin, ( independientemente de la duracin de la seal "1" ). De este modo se evita una ejecucin repetida de una orden controlada por el PLC en caso de que se acte demasiado tiempo sobre un pulsador. Los flancos de la seal de entrada son evaluados por un programa 10.1.1 Flancos positivos y negativos Todas las seales binarias tienen flancos positivos y negativos : Los flancos positivos o ascendentes marcan el momento en el que se produce el cambio de seal de "0" a "1" Los flancos negativos o descendentes marcan el momento en el que se produce el cambio de seal de "1" a "0"
Flancos

Flanco positivo

Flanco positivo

Flanco negativo

Flanco negativo

Nivel de seales binarias

10.2

Recordador de flancos

Tratndose de programas con enlaces lgicos, los flancos son evaluados mediante recordadores de flancos. En el ejemplo que se ofrece a continuacin, los flancos positivos ( cambio de seal 0 a 1 ) son registrados por el recordador

IF THEN ... ... ... IF THEN AND SET ... ... ... RESET

I 1.0 N F 0.0 F 0.0 ... ... ... N I 1.0 F 0.0

Consultar recordador ( 1 ) Activar recordador ( 2 ) Disparo de la funcin Cancelar recordador

En el programa, los flancos son detectados en tres pasos; es decir, el recordador de flancos es : (1) (2) (3) (1) Consultado Activado Cancelado

Consulta del recordador :

En el ejemplo ( vase programa ) se evala un flanco positivo. El recordador no debe estar activado si la entrada I 1.0 recibe una seal positiva

(2)

Activacin del recordador

El recordador registra el flanco positivo ( cambio de seal 0 a 1 en la entrada I 1.0 ). A continuacin se activan determinadas funciones en el programa, ya sea activando determinados actuadores o una temporizacin ( el ejemplo no contiene estas funciones ) (3) Cancelacin del recordador

Cuando ya no se registra la seal 1 en E 1.0 se produce la cancelacin del recordador. De este modo se cumple con la condicin necesaria para repetir la consulta ( 1 )

Deteccin de flancos

Flanco positivo

Flanco positivo 1 1

0 Cancelacin del recordador Activacin del recordador

0 Cancelacin del recordador Activacin del recordador

Disparo de la funcin

Disparo de la funcin

La evaluacin solamente se refiere al flanco, independientemente de la duracin de la seal, puesto que antes de volverse a activar el recordador de flancos ( 2 ) es necesario que la entrada haya recibido seal "0". De este modo queda cancelado el recordador ( 3 ). Esta circunstancia explica el porqu de la consulta en ( 1 ). Si el recordador ha sido activado y la entrada sigue recibiendo la seal "1", ello no incide en los actuadores puesto que no se ha cumplido la condicin para ( 2 ).

10.3 Programacin de la evaluacin de flancos positivos y negativos El programa puede estar configurado de tal manera que se evalen los flancos positivos o negativos de las seales. Uno y otro caso dependen de las conexiones del sensor ( normalmente cerrado / normalmente abierto ) y de la forma en que es utilizado. En el momento en que es activado un pulsador ( de contacto normalmente abierto ), ste origina un flanco positivo, mientras que en el momento en que deja de ser activado produce un flanco negativo. La eleccin de la programacin de flancos positivos o negativos depende, a fin de cuentas, del significado que ha de tener la seal durante los ciclos. Flanco positivo : Activacin del recordador si la entrada recibe seal 1. Cancelacin del recordador si la entrada recibe una seal 0

Flanco positivo

Flanco positivo

1 IF I 1.0 AND N F0.0 THEN SET Cancelacin del recordador F0.0

Activacin del recordador IF Disparo de la funcin

disparo de la funcin N I 1.0 F0.0

THEN RESET

Flanco negativo : Activacin del recordador si la entrada recibe seal 0. Cancelacin del recordador si la entrada recibe una seal 1 Flanco negativo

Flanco negativo 1 1

0 Cancelacin del recordador Activacin del recordador

N I AND N F0.0 THEN SET F0.0


disparo de la funcin

IF

IF Disparo de la funcin

I 1.0

THEN RESET F0.0

11

MULTITAREA

11.1

Funcionamiento automtico y manual

Bajo el concepto de multitarea se entiende la ejecucin " concurrente " de varias tareas ( trabajos, programas ). Con ese fin es necesario disponer de un sistema operativo apropiado, que se encargue de administrar los programas parciales con la tcnica de programas parciales. Ello significa que un programa puede estar compuesto de varias partes, conformando cada una de ellas un programa parcial. Estos programas parciales tienen diversas funciones. Ventajas : estructura ms clara del programa y menor duracin de los ciclos Ejemplo Un programa complejo deber poder ejecutarse tanto en funcionamiento automtico como tambin en funcionamiento manual. Bsicamente se trata de dos tipos de programas totalmente diferentes. " Automtico " suele ser un programa secuencial, mientras que " Manual " es un programa de enlaces lgicos
Multitarea ( ejemplo 1 )

ACTIVACIN

P1 AUTOMTICO

P2 MANUAL

Funcionamiento manual significa que las funciones del mando son activadas directamente por el operario ( a travs de las entradas ). No obstante tienen que cumplirse determinadas condiciones. El programa no es ejecutado automticamente. Tratndose, por el contrario, de un programa de funcionamiento automtico, la ejecucin del mismo se produce sin intervencin del operario ( una vez que ste lo haya activado )

Estos programas van unidos puesto que tienen la finalidad de ejecutar la misma funcin de control. En consecuencia, "manual" y "automtico" son funciones de control. Al efectuarse la programacin se obtendran dos programas parciales que pueden ser, por ejemplo, los siguientes : Programa 1 : Automtico Programa 2 : Manual La tcnica de programas parciales evidentemente es ventajosa en este caso, puesto que las dos funciones " manual " y " automtico " nunca pueden ejecutarse al mismo tiempo. Si, no obstante, se optase por confeccionar ambas partes en un solo programa, su ejecucin demorara demasiado y el programa tendra una estructura poco clara.

11.2

Funciones

El mtodo de multitarea permite efectuar cmodamente la programacin de varias funciones. Tratndose de funciones de control complicadas, esta forma de programacin resulta indispensable ( tambin por razones de seguridad ). Estos programas tambin son denominados programas paralelos, ya que, aparte del programa automtico, en todo momento puede recurrirse a cualquiera de los dems programas En un programa de organizacin tienen que estar definidas las siguientes funciones : * * Cmo cambiar de funcin Cmo reaccionar el PLC si se activa el paro de emergencia

Cuando se pone en marcha el PLC, automticamente es activado el programa de organizacin; a partir de l se recurre a uno de los programas parciales Ejemplo : P0 : Programa de organizacin P1 : Automtico ( ciclo simple / ciclo continuo ) P2 : Manual P3 : Reposicin

Multitarea ( ejemplo 2 )

ACTIVACIN

P0 Programa de organizacin

P1 AUTOMTICO

P2 MANUAL

P3 REPOSICIN

Ciclo continuo

Ciclo simple

Ciclo simple : Si est activada esta funcin, el programa es ejecutado desde el primer hasta el ltimo paso. Entonces concluye el programa y puede ser activado nuevamente por el operario. Ciclo continuo : En realidad, este es el programa principal propiamente dicho. Se ejecutan varios ciclos hasta que se alcanza un determinado estado final en el programa. Con excepcin de las funciones de activacin y desactivacin, el programa no es influenciado por el operario. Reposicin : La mquina es puesta en su posicin normal mediante un sensor ( pulsador ). Este estado suele ser indicado, adems, por un diodo luminoso. Esta funcin es importante tratndose de mquinas complicadas, especialmente si durante la ejecucin automtica de programa ocurri un fallo.

11.3

Realizacin con orden de salto ( recuperacin de subprogramas )

No todos los PLC permiten la ejecucin de una multitarea con programas parciales. No obstante, para an as ejecutar rpidamente programas largos, puede efectuarse la programacin de rdenes de salto o, tambin, puede aplicarse la tcnica de subprogramas.

11.3.1

rdenes de salto / rdenes de salto hacia atrs

Si es necesario recurrir varias veces a una parte determinada de un programa, deber incluirse una orden de salto en las partes respectivas ( es decir en aquellas en las que deber activarse el programa parcial correspondiente ). Antes de la orden de salto deber incluirse un recordador con el fin de que al terminarse de ejecutar el programa parcial se vuelva a la orden inicial. Dicho recordador es consultado en el programa parcial. Despus de la orden de salto hacia atrs es cancelado el recordador. Para cada orden de salto deber preverse la activacin y posterior cancelacin de un recordador

Multitarea rdenes de salto/ rdenes de salto hacia atrs

. . 123 IF 124 THEN 125 126 . . . 198 IF 199 THEN 200 . . 219 . . 250 IF 251 THEN 252 IF 253 THEN JMP TO JMP TO F1 126 F2 201 201 SET JMP TO RESET I 1.7 F2 219 F2 SET JMP TO RESET I 1.2 F1 219 F1

11.3.2

Orden de salto con retorno automtico ( recuperacin de subprograma )

Esta solucin es ms cmoda puesto que no es necesario programar recordadores. El salto hacia atrs automtico significa lo siguiente : la unidad central memoriza la direccin en la que se produce el salto y suma 1 ( despus de ejecutar la orden ATRS ) a dicha direccin. Entonces, sta es la direccin de instruccin actual, lo que significa que la ejecucin del programa principal contina en el lugar del salto.

Multitarea Orden de salto hacia atrs automtico

. .

123

IF 124 125

I 1.2 THEN Programa parcial 219

. . . 198 IF 200 . . 219 . . 249 RETURN I 1.7 219 199 THEN Programa parcial

Programa parcial

En las figuras se muestran ejemplos ( tericos ) que se refieren a ambos casos. La programacin exacta de las rdenes de saltos vara segn el PLC. Los dos siguientes ejemplos muestran otras posibles soluciones. Diversos PLC son capaces de recurrir a ms subprogramas contenidos en subprogramas ( en este caso, se trata de subprogramas relacionados entre s. ). Tambin es posible recuperar un subprograma de subprogramas iguales.

Subprograma relacionado tres veces

Programa principal UP1 01 ( JSR ) 01 LBL ( JSR )

Subprograma UP2 02 LBL ( JSR ) UP3 03 LBL ( JSR )

(RET)

(RET)

(RET)

Subprograma de lazo

Programa principal 01 LBL

Subprograma

01 ( JSR )

051 ( SCT ) 051 15 051 (CTR) RET End xxxxx 01 ( JSR )

11.4

Realizacin con la tcnica de procesadores

La unidad central del PLC 404 contiene 4 procesadores virtuales ( PZ0 hasta PZ3 ), que ejecutan diversos programas. Cada uno de los procesadores puede albergar uno de los programas existentes. Por ejemplo : el programa 7 est en el procesador 1
Multitarea tcnica de procesadores ( ejemplo )

P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P 10 P 11 P 12 P 13 P 14 P 15 Unidad central 0 PZ 3 PZ 2 PZ 1 PZ 0

Un proyecto puede estar compuesto de 16 programas parciales. En consecuencia, es factible que como mximo se ejecuten paralelamente 4 programas por los cuatro procesadores. En principio es indiferente qu programa es ejecutado por qu procesador. Los programas KOP, FUP, AWL y BASIC pueden mezclarse indistintamente. En la figura se muestra un ejemplo.

La ejecucin de un programa puede ser interrumpida mediante una orden respectiva. El procesador que queda " libre " de esta manera, puede ser utilizado para activar otro programa. Cuando se conecta la unidad de control, el programa siempre es ejecutado desde el principio, es decir : * * * * * 11.5 Unidad central 0 Procesador 0 Programa 0 Paso 0 lnea 0 Procesadores y programas

Los procesadores son unidades funcionales monobit que pueden ser consultadas, activadas o canceladas. Un procesador activado emite una seal "1" al ser consultado, mientras que un procesador cancelado emite una seal "0". Tambin los programas son unidades funcionales monobit. Tambin ellos pueden ser consultados, activados o cancelados. Un programa que est puesto en un procesador y que, adems, est activado, emite una seal "1"; en caso contrario, emite una seal "0". Activar / Desactivar programas y procesadores ( ejemplo )

IF I 1.0 THEN SET P 3.12 Programa 12 est puesto en procesador 3 y es activado en paso 0 IF I0 THEN SET P1 Programa 1 se activa si el procesador est puesto IF THEN RESET Desactivar el programa 12 IF THEN SET Programa contina en procesador 0 IF THEN RESET Desactivar el procesador 0 I7 P 3.12 o IF I7 THEN RESET P12

I1 PZ 0

I. 3 PZ 0

Activacin de un programa Un programa es puesto en un procesador y activado con la instruccin SET. El programa empieza a ejecutar el paso 0, sin importar si antes haba sido interrumpido o no. Al escribir las direcciones del programa, se coloca delante del punto el nmero de procesador y detrs el nmero de programa. Si el programa ya est cargado en el procesador, no es necesario indicar el nmero de procesador. Cancelacin de un programa La instruccin RESET tiene como consecuencia la desactivacin del programa respectivo. La instruccin puede escribirse con o sin indicacin del procesador activado Activacin de un procesador La ejecucin del programa puesto en el procesador contina en aquel lugar donde fue detenida Cancelacin de un procesador Esta instruccin detiene al procesador. En consecuencia, no contina la ejecucin del programa activado. Un programa solo debera cancelar a su propio procesador si las funciones de control necesarias son asumidas por otro programa ( que contina ejecutndose ).

12

PROGRAMAS DE EJEMPLO

La mayor parte de tareas de control pueden dividirse en tres categoras : * * * Completamente secuencial Principalmente secuencial con algunas acciones aleatorias Completamente aleatorio

Adicionalmente, aparecen muchas situaciones en las cuales puede ser necesario controlar algunas secuencias de mando simultneamente. Los siguientes ejemplos ofrecen soluciones para todas las posibilidades mencionadas. Ejemplo 1. Completamente secuencial Las tareas que son completamente secuenciales, son ideales para ser resueltas en el lenguaje AWL, dada su implcita estructura de Pasos ( Step ). La tarea secuencial que presentamos aqu es la de controlar 3 cilindros neumticos por medio de 3 electrovlvulas de 3/2 vas en una determinada secuencia. Cuando se conecta el sistema y se acciona el pulsador de marcha, el cilindro A debe avanzar completamente, esperar 3 segundos y a continuacin retroceder. A continuacin, el cilindro B debe avanzar y retroceder 4 veces y despus avanzar y permanecer delante. Finalmente, el cilindro C debe avanzar completamente, en cuyo momento el cilindro A avanzar. Cuando el cilindro A est de nuevo completamente extendido, los tres cilindros retrocedern y se esperar un nuevo ciclo por el pulsador de marcha. Se asignan las siguientes Entradas / Salidas Pulsador de marcha Cilindro A detrs Cilindro A delante Cilindro B detrs Cilindro B delante Cilindro C detrs Cilindro C delante Electrovlvula del Cilindro A Electrovlvula del Cilindro B Electrovlvula del Cilindro C I 1.0 I 1.1 I 1.2 I 1.3 I 1.4 I 1.5 I 1.6 O 1.0 O 1.1 O 1.2

STEP 1 IF THEN

LOAD TO LOAD TO LOAD TO

NOP V0 OW 1 V 300 TP 0 V4 CP 2

Inicializacin al arranque Incondicionalmente desconecta todas las salidas Prepara el timer en 3 segundos y el contador 2 para 4 unidades Asegurar que todas las posiciones estn OK Pulsador accionado Cilindro A detrs Cilindro B detrs Cilindro C detrs iniciar avance cilindro A Cilindro A completamente avanzado ? Ahora est delante empezar a temporizar 3 segundos Esperar los 3 segundos Timer vencido retroceder cilindro A Cilindro A completamente detrs ? Cilindro A detrs Inicializa contador 2 a 4 eventos avanzar cilindro B Cilindro B delante ahora est delante cuenta este ciclo inicia el retroceso del cilindro B Es ste el 4 avance ? Cilindro B detrs y an no ha hecho 4 carreras avanza cilindro B sigue haciendo ciclos Cilindro B detrs y 4 carreras realizadas avanzar cilindro B Cilindro B delante ? cilindro B delante ( avance 5 ) avanzar cilindro C

STEP 5 IF AND AND AND SET I 1.0 I 1.1 I 1.3 I 1.5 O 1.0 I 1.2 T0 N T0 O 1.0 I 1.1 C2 O 1.1 I 1.4 CW 2 O 1.1 I 1.3 C2 O 1.1 20 I 1.3 N C2 O 1.1 I 1.4 O 1.2

THEN STEP 10 IF THEN STEP 12 IF THEN STEP 15 IF THEN STEP 20 IF THEN STEP 22 IF THEN IF THEN STEP 30 IF THEN

SET

RESET

SET SET

INC RESET

AND SET JMP TO AND SET

SET

STEP 35 IF THEN STEP 40 IF THEN

SET

I 1.6 O 1.0 I 1.2 O 1.0 O 1.1 O 1.2 5

Cilindro C delante ? Cilindro C delante avanzar cilindro A Todos los cilindros delante ? cilindro A tambin delante retroceder cilindro A retroceder cilindro B retroceder cilindro C regresar al paso 5

RESET RESET RESET JMP TO

Ejemplo 2. Principalmente secuencial con algunas acciones aleatorias Mientras que las mquinas muy sencillas pueden ser puramente secuenciales en su funcionamiento, hay algunas excepciones en las cuales cambian las especificaciones de la tarea de forma que ya no es completamente secuencial Si la mayor parte de la tarea de control es secuencial, y el modelo de FPC permite la multitarea, una posible solucin puede ser dividir el proceso de las acciones secuenciales y las aleatorias, en programas separados Sin embargo, tambin es posible manejar tales situaciones con un sencillo programa AWL. Si la accin ( o acciones ) aleatoria /s a realizar son pocas y el conjunto del programa es relativamente sencillo, entonces es posible manejar estas acciones aadindolas en cada uno de los pasos del programa. Otras posibles soluciones incluyen la utilizacin del procesamiento por interrupcin ( solamente soportado por algunos modelos de FPC ) o construyendo toda la secuencia como una seccin de programa paralela o de exploracin / scanning total. Este mtodo se explicar en los ejemplos 3 y 4 El ejemplo 2 muestra la insercin en cada paso del programa mostrado en el ejemplo 1, de una frase en forma de deteccin de un sencillo pulsador de " pausa "; el cual, cuando est pulsado, provoca la detencin del programa hasta que es liberado STEP 1 IF THEN Inicializacin al arranque Incondicionalmente desconecta todas las salidas Prepara el timer en 3 segundos y el contador 2 para 4 unidades

LOAD TO LOAD TO LOAD TO

NOP V0 OW 1 V 300 TP 0 V4 CP 2

STEP 5 IF AND AND AND AND SET I 1.0 I 1.1 I 1.3 I 1.5 N I 1.7 O 1.0 I 1.7 10 I 1.2 T0 I 1.7 12 N T0 O 1.0 I 1.7 15 I 1.1 C2 O 1.1 I 1.7 20 I 1.4 CW 2 O 1.1 I 1.7 22 I 1.3 C2 O 1.1 20 I 1.3 N C2 O 1.1

Asegurar que todas las posiciones estn OK Pulsador accionado Cilindro A detrs Cilindro B detrs Cilindro C detrs Pulsador pausa inactivo Cilindro A completamente avanzado ? Pulsador de pausa activo esperar aqu Ahora est delante empezar a temporizar 3 segundos Esperar los 3 segundos Pulsador de pausa activo esperar aqu Timer vencido retroceder cilindro A Cilindro A completamente detrs ? Pulsador de pausa activo esperar aqu Cilindro A detrs Inicializa contador 2 a 4 eventos avanzar cilindro B Cilindro B delante ? Pulsador de pausa activo esperar aqu ahora est delante cuenta este ciclo inicia el retroceso del cilindro B Es ste el 4 avance ? Pulsador de pausa activo esperar aqu Cilindro B detrs y an no ha hecho 4 carreras avanza cilindro B sigue haciendo ciclos Cilindro B detrs y 4 carreras realizadas avanzar cilindro B

THEN STEP 10 IF THEN IF THEN STEP 12 IF THEN IF THEN STEP 15 IF THEN IF THEN STEP 20 IF THEN IF THEN STEP 22 IF THEN IF THEN IF THEN

JMP TO SET

JMP TO RESET

JMP TO SET SET

JMP TO INC RESET

JMP TO AND SET JMP TO AND SET

STEP 30 IF THEN IF THEN STEP 35 IF THEN IF THEN STEP 40 IF THEN IF THEN

JMP TO SET

I 1.7 30 I 1.4 O 1.2 I 1.7 35 I 1.6 O 1.0 I 1.7 40 I 1.2 O 1.0 O 1.1 O 1.2 5

Cilindro B delante ? Pulsador de pausa activo esperar aqu cilindro B delante ( avance 5 ) avanzar cilindro C Cilindro C delante ? Pulsador de pausa activo esperar aqu Cilindro C delante avanzar cilindro A Todos los cilindros delante ? Pulsador de pausa activo esperar aqu cilindro A tambin delante retroceder cilindro A retroceder cilindro B retroceder cilindro C regresar al paso 5

JMP TO SET

JMP TO RESET RESET RESET JMP TO

En resumen : es posible manejar una limitada cantidad de condiciones en paralelo o aleatorias, dentro de lo que, de otra forma, sera un proceso puramente secuencial, utilizando la instruccin Step.

Ejemplo 3. Acciones completamente aleatorias Algunas acciones de control no pueden organizarse en una secuencia lgica ya que las acciones pueden ocurrir de forma aleatoria. Un ejemplo tpico de tales tareas, podra ser el programa de control de la preparacin de una mquina El proceso lo define el operador de la mquina al accionar aleatoriamente diferentes pulsadores, cada uno utilizado para una funcin individual. Lo siguiente representa el programa de preparacin para una mquina de inyectar plstico.

STEP 1 IF THEN STEP 20 IF THEN IF THEN OTHRW IF THEN IF THEN OTHRW IF THEN OTHRW IF THEN

LOAD TO

NOP V0 OW 1 I 1.0 O 1.0 I 1.1 I 2.0 O 1.3 O 1.3 I 1.2 N O 1.3 O 1.0 I 1.3 O 1.1 O 1.1 I 1.4 I 1.5 O 1.4 O 1.4 NOP 20

Inicializacin Incondicionalmente desconecta todas las salidas Paso de exploracin / scanning Pulsador de cerrar molde Cerrar molde Pulsador de inyectar plstico Sensor de molde cerrado Electrovlvula inyeccin Molde abierto Pulsador de inyeccin inactivo Abrir molde Pulsador de girar mecanismo extrusor Electrovlvula girar extrusor Parar extrusor Sensor molde abierto Pulsador extractor molde Electrovlvula extractor molde Parar proceso extraccin Incondicionalmente seguir procesando

SET AND SET RESET AND RESET SET RESET AND SET RESET JMP TO

Ejemplo 4. Secuencias mltiples y acciones aleatorias Mquina Transfer rotativa multi-estacin El siguiente programa AWL se utiliza para controlar una mesa circular de 4 estaciones en la que cada estacin debe realizar su propia secuencia simultneamente con las dems. Las diferentes estaciones, poseen diferente nmero de pasos, asociados con sus funciones individuales. El operador debe tener la posibilidad de activar o desactivar cualquier estacin. Una vez que todas las estaciones han completado sus respectivas secuencias, la mesa rotativa indexar e iniciar un nuevo ciclo. adicionalmente se utilizar un Flag Word como registro de desplazamiento para determinar que estaciones debern trabajar, dependiendo de la presencia de pieza en la estacin.

El conjunto del proceso ser controlado por medio de la asignacin de un registro a cada estacin. a pesar de que se podran utilizar Flags para este fin, la utilizacin de Registros mejora mucho el diagnstico de la mquina en el caso de ocurrir una detencin. Este mtodo de estructurar programas permite tantos procesos paralelos activos como nmero de registros se disponga, y adems permite ms de 65.000 pasos por proceso. El funcionamiento de la mquina es como sigue : Estacin 1 : La estacin 1 es utilizada para cargar cartuchos de cinta vacos. Si no hay cartuchos en eta estacin, pero si los hay en las estaciones 2, 3 o 4, entonces aquellas estaciones funcionarn. Cuando la mquina indexa, el estado de cada estacin ( pieza a procesar : si/no) ser actualizado Estacin 2 : La estacin 2 consiste en varias acciones secuenciales que insertan dos carretes vacos en el cartucho de cinta Estacin 3 : La estacin 3 realiza varios pasos en los cuales una cinta larga es unida al carrete de la izquierda, es completamente enrollada y finalmente unida al carrete derecho Estacin 4 : La estacin 4 fija la mitad superior del cartucho de cinta y lo une a la parte inferior por soldadura ultrasnica. Finalmente, el cartucho terminado es expulsado a una caja de embalaje... STEP 10 THEN Inicializacin Desactivar todas las salidas

LOAD TO TO TO TO TO TO TO TO TO TO TO LOAD TO LOAD TO LOAD

V0 OW0 OW1 OW2 OW3 OW4 FW0 R0 R1 R2 R3 R4 V25 TP2 V250 TP3 V300

Inicializar " shift register " Registro de control de indexacin mesa Registro de control de estacin 1 Registro de control de estacin 2 Registro de control de estacin 3 Registro de control de estacin 4 Timer 2 a 1/4 de segundo Timer 3 a 2,5 segundos Timer 4 a 3 segundos

TO

TP4

STEP 20 IF THEN IF

JMP TO AND AND AND AND AND AND AND AND AND AND AND AND AND OR AND

N I 0.0 99 I 0.2 I 2.1 I 2.3 N I 2.5 N I 2.6 I 3.1 I 3.4 I 3.6 I 4.1 N I 4.3 I 4.4 I 0.1 I 0.0 ( I 1.1 ( FW0 V15 > V0 )) NOP ( R1 = V0 ) ( R2 = V 255 ) ( R3 = V 255 ) ( R4 = V 255 ) V 10 R1 ( R1 = V 10 ) I 1.1 F0.0 ( R1 = V 10 ) V 255 R1

Estaciones en origen ? Paro_Activo Rutina especial Mesa indexada Est.2 Cilindro insertor izquierdo detrs Est.2 Cilindro insertor derecho detrs Est.2 Carrete izquierdo colocado Est.2 Carrete derecho colocado Est.3 Pinza sujecin cinta, abierta Est.3 Cilindro avance cinta, detrs Est.3 Cilindro fijacin derecha cinta, detrs Est.4 Cilindro insercin detrs no hay mitad superior del cartucho situada Est.4 Cilindro de extraccin detrs Pulsador de marcha a posicin de partida Paro_E inactivo Cartucho en estacin 1 o piezas en alguna estacin toda la palabra de 16 bits enmascarando toda, excepto bits0,1,2,3 hay alguna pieza OK para proceder, sino esperar ESTACIN 1 Registro de control estacin 1 empezando Registro de control estacin 2 indica ha terminado Registro de control estacin 3 indica ha terminado Registro de control estacin 4 indica ha terminado Todas las estaciones han terminado,as que ya es momento de ver si se ha cargado pieza en la estacin 1 Registro de control de estacin 1 listo para leer sensor de pieza situada poner un "1" en el shift register Cuando se cumpla esto todas las estaciones habrn terminado

THEN STEP 30 IF AND AND AND THEN LOAD TO IF THEN IF THEN LOAD TO AND SET

IF AND OR LOAD TO

THEN IF THEN

( R2 = V0 ) ( N I 2.0 N F0.1 ) V 255 R2 ( R2 =V0) O 2.0 O 2.1 V 20 R2 ( R2 = V 20 ) I 2.2 I 2.4 I 2.5 I 2.6 O 2.2 T2 V 30 R2 ( R2 = V 30 ) N T2 O 2.0 O 2.1 V 40 R2 ( R2 = V 40 ) I 2.1 I 2.2 O 2.2 V 255 R2

ESTACIN 2 Registro de control estacin 2 Estacin 2 no activada o no hay piezas en estacin 2 por lo tanto marcar estacin 2 como terminada Registro de control estacin 2, empezando avanzar cilindro carrete izquierdo avanzar cilindro carrete derecho control de avance de la secuencia Registro de control estacin 2 lado izquierdo delante lado derecho delante carrete izquierdo en fijacin carrete derecho en fijacin conectar vaco de sujecin activar el temporizador actualizar registro de control de estacin 2 Registro de control estacin 2 transcurrido un tiempo de 1/4 de seg. retroceder cilindro carrete izquierdo retroceder cilindro carrete derecho actualizar registro de control de estacin 2 Registro de control estacin 2 cilindro carrete izquierdo detrs cilindro carrete derecho detrs conmutador de vaco desconectado marcar estacin 2 como terminada

SET SET LOAD TO

IF AND AND AND AND SET SET LOAD TO

THEN

IF THEN AND RESET RESET LOAD TO

IF AND AND RESET LOAD TO

THEN

IF AND OR LOAD TO SET LOAD TO

THEN IF THEN

( R3 = V0 ) ( N I 3.0 N F0.2 ) V 255 R3 ( R3 = V0 ) O 3.1 V 10 R3 ( R3 = V 10 ) I 3.2 O 3.2 V 30 R3 ( R3 = V 30 ) I 3.3 O 3.2 O 3.1 V 40 R3 ( R3 = V 40 ) I 3.4 O 3.3 T3 V 50 R3 ( R3 = V 50 ) N T3 O 3.3 O 3.4 V 60 R3

ESTACIN 3 Registro de control estacin 3 Estacin 3 inactiva o no hay pieza por lo tanto marcar la estacin 3 como terminada Registro de control estacin 3 cerrar pinza de la cinta actualizar registro de control de la estacin 3 Registro de control estacin 3 pinza cerrada insertar cinta en carrete izquierdo actualizar registro de control de estacin 3 Registro de control estacin 3 cinta insertada en carrete retroceder cilindro insercin desactivar pinza de cinta actualizar registro de control de estacin 3 Registro de control estacin 3 cilindro de insercin detrs arrancar motor enrollado de la cinta arrancar temporizador de enrollado actualizar registro de control de estacin 3 Registro de control estacin 3 tiempo de enrollado vencido parar motor de enrollado avanzar cilindro insercin carrete lado der actualizar registro de control de estacin 3

IF THEN AND SET LOAD TO

IF THEN AND RESET RESET LOAD TO

IF THEN AND SET SET LOAD TO

IF THEN AND RESET SET LOAD TO

IF THEN AND RESET LOAD TO

( R3 = V 60 ) I 3.5 O 3.4 V 70 R3 ( R3 = V 70 ) I 3.6 V 255 R3 ( R4 =V0) ( N I 4.0 N F0.3 ) V 255 R4 ( R4 = V0 ) O 4.1 V 10 R4 ( R4 = V 10 ) I 4.2 I 4.3 O 4.2 T4 V 20 R4 ( R4 = V 20 ) N T3 O 4.2 O 4.1 V 30 R4 ( R4 = V 30 ) I 4.1

Registro de control estacin 3 sensor insercin carrete derecho retroceder cilindro insercin lado derecho actualizar registro de control de estacin 3 Registro de control estacin 3 cilindro lado derecho detrs marcar registro de control de estacin 3 como terminado ESTACIN 4 Registro de control estacin 4 estacin 4 inactiva o no hay pieza en estacin 4 por lo tanto marcar la estacin como terminada Registro de control estacin 4 bajar cartucho superior actualizar registro de control de estacin 4 Registro de control estacin 4 cilindro de cartucho delante cartucho en fijacin activar soldadura ultrasnica empezar tiempo soldadura actualizar registro de control de estacin 4 Registro de control estacin 4 tiempo soldadura vencido detener soldadura soltar cilindro fijacin cartucho actualizar registro de control de estacin 4 Registro de control estacin 4 cilindro carcasa superior detrs

IF THEN IF AND OR LOAD TO AND LOAD TO

THEN IF THEN

SET LOAD TO

IF AND AND SET SET LOAD TO

THEN

IF THEN AND RESET RESET LOAD TO

IF AND

THEN

SET LOAD TO

O 4.3 V 40 R4 ( R3 = V 40 ) I 4.5 O 4.3 V 50 R4 ( R4 = V 50 ) I 4.4 F 0.3 V 255 R4 ( R1 = V 255 ) V 10 R0 ( R0 = V 10 ) ( ( FW0 V 15 ) > V0 ) V 20 R0 ( R0 = V 10 ) 10 ( R0 = V20 ) O 0.0 V 30 R0 ( R0 = V 30 ) N I 0.2 V 40 R0 FW0

avanzar cilindro extraccin actualizar registro de control de estacin 4 Registro de control estacin 4 cilindro de extraccin delante retroceder cilindro de extraccin actualizar registro de control de estacin 4 Registro de control estacin 4 cilindro de extraccin detrs shift register marca " no hay pieza " marcar la estacin como terminada Estaciones 1-4 terminadas registro de control de indexacin MESA DE INDEXACIN Registro de control de indexacin toda la palabra de 16 bits enmascarar toda excepto los bits 0,1,2,3 si esto es cierto, por lo menos hay una estacin con pieza actualizar registro de control de indexacin Registro de control de indexacin no hay que indexar, seguir con el proceso Registro de control de indexacin hay que indexar activar indexacin mesa actualizar registro de control de indexacin Registro de control de indexacin la indexacin ha empezado activar registro de control de indexacin cargar shift register al MBA

IF THEN IF THEN AND RESET LOAD TO AND RESET LOAD TO

IF THEN IF AND AND THEN IF THEN IF THEN SET LOAD TO JMP TO LOAD TO LOAD TO

IF THEN AND LOAD TO LOAD

SHL TO IF THEN AND RESET LOAD TO TO TO TO TO JMP TO JMP TO JMP TO

FW0 ( R0 = V 40 ) I 0.2 O 0.0 V0 R0 R1 R2 R3 R4 20 N I 0.0 99 NOP 30 I 0.0 10

desplazar bits a la izquierda para hacerlo coincidir con las piezas actuales presentes Secuencia indexacin completa Registro de control de indexacin alcanzada nueva posicin de indexacin detener indexacin borrar registros de control

seguir procesando Paro_E activo rutina especial seguir procesando Incondicionalmente sigue el proceso en el paso 30 RUTINA PARO_E esperar hasta que Paro_E sea liberado y reaccionar como si se arrancara de nuevo el sistema

IF THEN IF THEN STEP 99 IF THEN

JMP TO

You might also like