You are on page 1of 35

4.2 LOGICA DIGITAL 4. 2.

1OPERACIONES Y COMPUERTAS LOGICAS BASICAS


Circuitos Lgicos, lgebra de Boole y Dominios de Representacin Como se ha visto en los puntos anteriores, un computador es una serie de circuitos electrnicos que mediante el mecanismo de ejecucin de instrucciones dan vida a una serie de operaciones que permiten, finalmente, ver lo que se ve al estar frente a la pantalla de uno de ellos y el poder interactuar, con ellos, de manera ms o menos inteligente, dependiendo de lo que de sta tenga el interactuarte ya que se sabe que los computadores -como hoy se conocen- no tienen ni una pizca de inteligencia. Bsicamente un computador funciona mediante dos estados o valores conocidos como seales, por ejemplo, -1.5 volts y +4.0 volts. Estos voltajes tienen un significado lgico, con un valor se representa la existencia de una condicin particular y el otro representa la ausencia de aquella condicin. Para aclarar los conceptos anteriores, considere algo en el mundo que slo puede tomar dos estados o posiciones o caractersticas, por ejemplo, una puerta que slo puede estar abierta o cerrada, o el da y la noche o lo que es ms preciso si una luz est prendida o apagada. Los casos descritos, exageradamente, pueden tener esa condicin dual que es posible representar por estas seales, por ejemplo la seal -1.5 volt podra representar a "la puerta abierta", "al da", "a la luz encendida" y en cambio la seal de +4.0 volt podra representar el otro estado de los hechos: "la puerta cerrada", "la noche", "la luz apagada". Es decir, si se representa mediante estas seales el que una puerta est cerrada o abierta, y se quiere saber cul es la condicin actual de la puerta, slo se debe medir la seal: si ella tiene -1.5 volts entonces aquello significa que la puerta est abierta, en cambio, si ella estuviese cerrada, la seal que mediramos sera la que corresponde a +4.0 volts.

Note que en los prrafos anteriores siempre se ha hablado de representar, esta accin es una de las piedras angulares de cualquier trabajo que se quiera hacer por medio de computadores. Para que se pueda representar es necesario que existan dos dominios, uno desde el cual se extraen los elementos que son usados para representar y, otro, de donde se distingue los elementos a representar. En el ejemplo anterior, el dominio que se us para representar corresponde al dominio de las seales en el computador, en el cual existen dos elementos { -1.5 volts, +4.0 volts } y el dominio de los elementos a representar corresponde al de los estados de una puerta { "puerta abierta", "puerta cerrada" }. As la accin de representar es una que permite establecer relaciones entre estos dos dominios; lo que se hizo en el prrafo anterior al crear: ("puerta abierta", -1.5 volts) y ("puerta cerrada", +4.0 volts). Por qu la representacin resulta ser importante cuando se trabaja con computadores? Si se observa, mediante la representacin anterior se relacion un dominio bsico del computador -el de las seales- y un dominio del mundo real -el estado de una puerta. Ahora, si esta puerta es la de la bveda de un banco, esta representacin por seales podra permitir saber si la puerta est abierta o cerrada sin necesidad de estar observndola directamente y, eso no es todo, dada esta posibilidad se podra pensar en determinar acciones considerando algunas condiciones que tambin es posible representar. Por ejemplo, si se representa de la misma forma anterior los siguientes estados para el dominio de la bveda { "bveda vaca", "bveda con gente" }, es decir, creando las relaciones ("bveda vaca", -1.5 volts) y ("bveda con gente", +4.0 volts). As, se podra pensar en que es posible implementar un procedimiento como el siguiente: Si est la "puerta abierta" y la "bveda vaca" entonces realizar cerrar la puerta. Que usando la representacin definida, quedara:

Si seal_puerta = -1.5 volts y seal_bveda = -1.5 volts entonces realizar cerrar la puerta. Cerrar la puerta sera la accin a realizar mediante un dispositivo automtico o, si no existe tal dispositivo se podra avisar al guardia que lo haga, por ejemplo, prendiendo una luz en el tablero de la sala de guardias, la cual representa esa situacin y la orden que un guardia vaya y cierre la puerta de la bveda. En el simplificado ejemplo anterior se tienen todos las caractersticas que permiten describir la solucin de un problema mediante el uso de un computador -en este caso un dispositivo digital. Lo que primero se debe indicar son los dominios. En el dominio del problema se hace abstraccin en muchos aspectos y, con ello, se identifican los objetos del problema; en este caso la puerta y sus estados { "puerta abierta", "puerta cerrada" } y la bveda, tambin con sus dos estados { "bveda vaca", "bveda con gente" }. Por otro lado existe el dominio de las seales del computador y sus dos estados { -1.5 volts, +4.0 volts } los que se utilizan para representar los objetos que se identifican en el problema, con ello se crea el dominio de las relaciones entre el dominio del problema y el dominio del computador, a este dominio se le llamar el dominio de las representaciones operacionales. Ms adelante, en la segunda unidad 2, se profundizar ms sobre este dominio. Se observa que para el problema de la bveda se realiza una accin que se denomina abstraccin. Esta accin es tanto o ms importante que la de representacin. La accin de hacer abstraccin consiste en preocuparse de una cosa y prescindir de las dems que estn junto a ella. Un buen ejemplo de lo anterior, es que se prescindi de una serie de estados intermedios de abertura en la puerta y slo se consider los dos extremos. Del mismo modo no interesa la cantidad de gente que hay en la bveda y las caractersticas que tiene ese tipo de gente, tambin se obvia todo lo que la bveda es o tiene, slo importa cuatro estados y la combinacin de ellos, -(bveda vaca, puerta abierta), (bveda vaca, puerta cerrada), (bveda con gente, puerta abierta), (bveda con gente, puerta cerrada).

Por qu es necesario el hacer abstraccin? Como se ha visto, el dominio de representacin del ejemplo, slo tiene dos estados posibles { -1.5 volts, +4.0 volts }, lo que lo hace un dominio sumamente simple. Frente a este dominio, la complejidad del mundo que rodea al problema de "cerrar la puerta de la bveda" es inmensamente grande, hay miles de cosas que podran ocurrir, por ejemplo: "Juan Prez est entrando, en este instante, por la puerta de la bveda en direccin de las cajas de valores clasificados, lleva una bolsita con $xxx.- en joyas correspondientes a diamantes y topacios. El anda con la misma corbata amarilla que llevaba en la fiesta del fin de semana... etc. etc. etc." Hay un cantidad impresionante de objetos que no son necesarios para la solucin del problema de "cerrar la puerta de la bveda" y, adems, dados los elementos que se posee para representarlos, sera imposible disear una solucin "computacional" que considere todos aquellos elementos. Para ello es necesario hacer abstraccin: se debe reducir la complejidad del mundo-problema para poder representarlo y darle solucin mediante el uso del computador. Dominio Lgico El funcionamiento del computador se basa en el dominio de las seales que se describieron en el ejemplo anterior, pero tambin un computador es mucho ms complejo que aquellas seales, el slo hecho de mirar la pantalla y ver la metfora del mundo que aquella representa, hace surgir preguntas tales: cmo funciona esto? O s algo ya se sabe cmo de un dominio tan pequeo, el de las seales, es posible obtener otro tan complejo como lo que se observa en la pantalla? Para responder aquellas preguntas se debe partir desde el mismo dominio simple de los dos estado originales, el cual es posible representar por un conjunto de smbolos como { 0, 1 } o { V, F }, smbolos que describen a { -1.5 volts, +4.0 volts } respectivamente.

Pero se est frente a la misma situacin anterior, slo se ha cambiado la forma, pero ese conjunto de smbolos no tiene ninguna potencialidad, de ninguna forma es posible construir algo con aquellos smbolos. Existe, en las matemticas, un lgebra llamada Algebra de Boole. Fue desarrollada originalmente por George Boole, alrededor de 1850. La importancia de esta lgebra deriva de los trabajos de Claude Shannon en 1937, quin la utiliza para describir los circuitos digitales. Un lgebra es posible definirla, muy simplificadamente, como un dominio en que adems de un conjunto de elementos existe un conjunto de operadores u operaciones que permiten operar con aquellos elementos, generando elementos del propio dominio o de otros. As, el Algebra de Boole se describe como el siguiente dominio = ( { 0, 1 }, { And, Or, Not } ), donde el conjunto { And, Or, Not } corresponde al conjunto de operadores. Los smbolos con qu se representan estas operaciones son propios de esta visin simplificada del lgebra, ya que en el original son { ^, v, ~ } o desde el punto de vista del diseo de circuitos en ingeniera los smbolos que se utilizan son { , +, - }. Otra propiedad de un Algebra es la utilizacin de variables que permiten representar, en general, cualquiera de los elementos del conjunto. Esta caracterstica permite definir nuevas operaciones a partir de las originales o primitivas del lgebra. As, una variable X definida sobre le Algebra de Boole puede tomar valores { 0, 1 }, por ejemplo X = 1, o X = 0. Para que sea ms simple de entender se recomienda considerar 0 = falso y 1 = verdadero. Operaciones Bsicas And. La operacin And requiere que todas las seales sean simultneamente verdaderas para que la salida sea verdadera. As, el circuito de la figura necesita que ambos interruptores estn cerrados para que la luz encienda.

Figura No. 5. Operacin And. Los estados posibles del circuito se pueden modelar en la Tabla de Verdad que tiene asociada. Sabemos que los interruptores slo pueden tener dos estados, abiertos o cerrados, si el interruptor abierto se representa mediante el cero (0 o falso) y el cerrado mediante el valor uno (1 o verdadero) entonces en la tabla de verdad asociada se puede ver la situacin que se describa en el prrafo anterior, cuando se deca que la luz slo prende cuando ambos interruptores estn cerrados, es decir, si A = 1 y B = 1 entonces L = 1. La compuerta lgica es una forma de representar la operacin And pero en el mbito de los circuitos electrnicos, para ese caso A y B son las seales de entrada (con valores = 0 1) y L es la seal de salida. Para efectos de este curso, la operacin And la representaremos como la funcin And( A, B ), donde A y B seran los parmetros de entrada (los mismos valores de A y B en el circuito) y L = And( A, B ), correspondera a la forma de asignacin de valor a L. En este caso el parmetro de salida es la misma funcin And.

Or. La operacin Or tiene similares caractersticas a la operacin And, con la diferencia que basta que una seal sea verdadera para que la seal resultante sea verdadera. En la figura se puede ver tal situacin.

Figura No. 6. Operacin Or. Note que en el circuito los interruptores estn en paralelo, por lo cual basta que uno de ellos est cerrado para que el circuito se cierre y encienda la luz.

La operacin Or tambin tiene una representacin funcional como Or( A, B ) donde A y B seran los parmetros de entrada (los mismos valores de A y B en el circuito) y L = Or( A, B ), correspondera a la forma de asignacin de valor a L. En este caso, el parmetro de salida es la misma funcin Or.

Not: La ltima de la tres operaciones fundamentales, la cual tambin se conoce como negacin, complemento o inversin, es mucho ms simple que las anteriores. En la figura se puede observar el circuito, que en este caso tiene la particularidad de que al estar el interruptor abierto la luz enciende, cuando l est en posicin de cerrado la luz permanecera apagada.

Figura No. 7. Operacin Not. La notacin funcional para esta operacin ser Not( A ), donde A corresponde a la seal de entrada y Not( A ) corresponde al valor complementario de A. Con las operaciones bsicas ya definidas es posible redefinir el Algebra de una manera ms formal, por ejemplo, dndole el nombre de Dominio Lgico y caracterizandolo de la siguiente manera: Dominio Lgico ( l Dominio Lgico ) = ( { 0, 1 }, { l: And( l, l ), l:Or( l, l ), l:Not( l)})

Note que cada una de las operaciones o funciones de este dominio se ha explicitado claramente la cantidad y el tipo de parmetros con los cuales ellas operan (operandos) y el tipo de valor que la operacin devuelve, en este caso todos los parmetros son del tipo lgico ( l ). As, cuando se habla del dominio del computador al resolver un problema, este dominio tiene como base el dominio recin descrito. Los circuitos electrnicos que dan vida al computador pueden ser representados todos mediante este Dominio Lgico. Operaciones compuestas El conjunto de las operaciones del dominio bsico se puede extender mediante un mecanismo de composicin de operaciones, por ejemplo, se quiere agregar la operacin XOR, que corresponde a un OR Exclusivo mediante el cual: si ambas entradas son iguales el resultado es cero (0 o falso) y si ambas son distintas, entonces el resultado es uno (1 o verdadero). Graficamente se puede ver la implementacin de la compuesta XOR en la figura No. 8.

Figura No. 8. Implementacin de la Compuesta XOR.

Es claro, en la figura, la forma de composicin de la operacin XOR a partir de las operaciones bsicas and, or y not en el formalismo grfico de las compuertas lgicas. Tambin es posible usar el formalismo funcional, que se consider en la definicin el Domino Lgico, para componer la operacin XOr: Or( And( Not( A ), B ), And( A, Not( B ))); donde A, B Dominio Lgico De hecho, si se quiere extender el conjunto de las operaciones del Dominio Lgico sera necesario expresar, la operacin XOr, en el mismo formato que las operaciones primitivas; sin ser muy rigurosos bastara con una asignacin para que con ello se tenga una forma de definir nuevas operaciones en base a las ya existentes: XOr( A, B ) Or( And( Not( A ), B ), And( A, Not( B ))) ; donde A, B, XOr Dominio Lgico El smbolo permitira trasladar toda la funcionalidad de la expresin a la nueva operacin, incluidos los parmetros de entrada y salida (A, B como parmetros de entrada y el nombre de la operacin XOr como parmetro de salida). Con la operacin XOr ya definida es posible, entonces, ampliar la definicin del Dominio Lgico: Dominio Lgico ( l Dominio Lgico ) = ( { 0, 1 }, { l: And( l, l ), l:Or( l, l ), l:Not( l ) l:XOr( l, l ), } ) Por lo cual XOr podra ser utilizado para componer nuevas operaciones de este mismo dominio o, eventualmente, de otros. Construccin de nuevos dominios Pese a que se ha formalizado un dominio bsico y, adems, se ha creado nuevas operaciones dentro de ese dominio, an no se cumple el objetivo de poder aproximar el mundo de seales del computador a nivel de complejidad actual observado. En los puntos anteriores se revis la forma de representacin de los nmeros enteros, la cual se basaba en una memoria organizada en palabras de 8 bits.

Es decir, si se considera que cada una de las seales bsicas puede ser utilizada para componer un bit, entonces sera necesario 8 seales para poder componer un nmero, donde cada una de estas seales podra tomar los dos estados posibles y, dependiendo de la posicin en que ella est -recuerden lo hablado sobre sistemas numricos posicionales- tendra ms o menos incidencia en el valor del nmero a representar, por ejemplo, el siguiente nmero binario, representa al 165 decimal -segn la transformacin estudiada: xb = 10100101

X10 = V(xb) = 1 27+0 26+1 25+0 24+0 23+1 22+0 21+1 20 = 165 Con esta forma de representacin es posible entonces sintetizar un conjunto de nmeros enteros a partir de las seales originales, combinndolas. En este caso el conjunto de enteros puede ser uno que vaya desde 0 a 255, pero si se amplia el nmero de seales paralelas consideradas, este espectro se puede aumentar o, considerando el signo, se pueden incluir nmeros negativos.

As, para crear el conjunto de los nmeros enteros a partir del conjunto de las seales se debe organizar stas en cadenas paralelas -la forma usual de los buses dentro del computador- donde la posicin de cada una tiene un peso especfico en la sntesis del nmero que se est representando. En la notacin que se est propugnando, un conjunto de estas cadenas puede ser visto de la siguiente forma: Dominio Enteros Binarios ( nb Dominio Enteros Binarios) =

( { Ln...L7L6L5L4L3L2L1L0 / Li Dominio Lgico} ) Ahora, si bien existe una representacin factible de nmeros enteros a partir de las seales primitivas, un dominio de los enteros (que en este caso se ha denominado enteros binarios por no estar expresados en base decimal) no est completo si es que no existen operaciones que permitan manejarlos, por lo cual es necesario componer tales operaciones a partir de del dominio lgico o de las mismas operaciones ya desarrolladas para este dominio.

Suma en los enteros binarios La suma de dos nmeros binarios se realiza de la misma manera que la suma en los nmeros decimales. Por ejemplo, la siguiente es una suma decimal: 3 7 6 los nmeros en negrillas corresponden a los dgitos menos significativos + 831 Los dgitos en las posiciones menos significativos son operados primero, produciendo la suma 7. Luego, los dgitos en la segunda posicin son sumados para dar el resultado 13, que produce un acarreo de 1 hacia la tercera posicin, lo que produce la suma 8. Los mismos pasos generales son seguidos en la suma binaria. Sin embargo, aqu slo hay que considerar cuatro casos al sumar dos dgitos binarios: 0 1 1 + 1 = + + 0 + acarreo 0 0 de 1 (uno) = = a la 0 1 siguiente posicin 4 6 1

1 + 1 + 1 = 1 + acarreo de 1 (uno) a la siguiente posicin El ltimo caso ocurre cuando dos bit de una cierta posicin tienen 1 (uno) y adems hay un acarreo desde la posicin previa. Los siguientes son varios ejemplos de sumas de dos nmeros binarios: 011 +110 1001 (9) (3) (6) 11000 (24) 1001 +1111 (9) (15) 110,001 (6.125) 11,011 +10,110 (3,375) (2,750)

No es necesario considerar la suma de ms de dos nmeros binarios al mismo tiempo, ya que todos los sistemas de circuitos digitales que actualmente ejecutan la suma slo pueden manejar dos nmeros a la vez. La suma es una de las operaciones aritmticas ms importantes en los sistemas digitales, de hecho, las operaciones de resta, multiplicacin y divisin pueden ser definidas en base a la suma.

Si se quiere entonces sumar dos nmeros enteros binarios en un computador, es necesario para ello que exista la operacin suma de enteros binarios. De manera anloga a como se defini la operacin XOr, es posible definir ahora una operacin de suma. La unidad aritmtica Todas las operaciones aritmticas se realizan en la unidad aritmtica, tambin conocida como unidad aritmtico-lgica -ver punto 1.2 de este apunte-, de un computador. La Figura No. 9 es un diagrama de bloques que describe los principales elementos incluidos en una unidad aritmtica tpica. El principal propsito de una unidad aritmtica es aceptar datos binarios que estn almacenados en memoria y ejecutar las operaciones aritmticas sobre aquellos datos de acuerdo a las instrucciones dadas desde la unidad de control. La unidad aritmtica tiene al menos dos registros de flip-flops: el registro B y el registro acumulador. Adems contiene los circuitos lgicos que permiten ejecutar las operaciones sobre los nmeros binarios almacenados en ambos registros. La tpica secuencia de ejecucin para una suma (ADD) puede ser la siguiente:

Figura No. 9. Unidad Aritmtica

La unidad de control recibe una instruccin (desde la unidad de memoria) indicando que un nmero almacenado en una ubicacin particular de memoria (direccin) deber ser sumado a el nmero actualmente almacenado en el acumulador.

El nmero a ser sumado es transferido desde la memoria al registro B. El nmero en el registro B y el nmero en el acumulador son sumados en los circuitos lgicos (comandados desde la unidad de control). La suma resultante en enviada al acumulador para ser almacenada.

Al nuevo nmero en el acumulador se le puede sumar otro, o si el proceso aritmtico en particular ha terminado, el nmero puede ser transferido a memoria para almacenarlo.

Estos pasos demuestran de donde el registro acumulador deriva su nombre. Este registro "acumula" los valores que resultan de ejecutar sucesivas sumas entre nuevos nmeros extrados desde memoria y el resultado de las sumas anteriores almacenado en el acumulador. Para cualquier problema aritmtico que contienen varios pasos, el acumulador siempre contiene el resultado de los pasos intermedios, as como el resultado final cuando la ejecucin ha terminado. Un sumador binario en paralelo Los computadores y calculadoras implementan la operacin de suma sobre dos nmeros binarios al mismo tiempo, donde cada numero binario puede tener varios dgitos binarios. En la tabla se muestra la suma de dos nmeros binarios de cinco bits. Uno de los operandos es almacenado en el acumulador; esto es, el acumulador contienen cinco Flip-Flops, almacenando, en cada uno, los dgitos 10101. De la misma forma el otro de los operandos, el que ser sumado al primero, es almacenado en el registro B (en este caso, 00111). El proceso de suma comienza por la suma de los bit menos significativos de ambos operandos. As, 1+1 = 10, que significa que la suma para esa posicin es 0 y el acarreo es 1.

1 Operando, almacenado en el acumulador 2 Operando, almacenado en el Registro B Suma Acarreo (para ser agregado a la siguiente posicin)

1 0 1 0

0 0 1 0

1 1 1 1

0 1 0 1

1 1 0 1

Este acarreo (o bit de carry) ser sumado a la siguiente posicin, junto a los bit correspondientes de los operandos. As, en la segunda posicin 1+0+1 = 10, que corresponde nuevamente a la suma 0 y el carry 1. Este carry ser sumado a la siguiente posicin junto a los correspondientes bits de los operandos y as sucesivamente hasta las ltimas posiciones. A cada paso en el proceso de suma se realiza la adicin de tres bits; los dos de los operandos y el de carry que viene de la posicin previa. El resultado de la

suma de estos 3 bits produce 2 bits: un bit de suma y otro de carry que deber ser sumado a la siguiente posicin. Este mismo proceso es usado para cada posicin. Ahora, si se quiere disear un circuito lgico que permita implementar este proceso, entonces simplemente se deber usar el mismo circuito para cada una de las posiciones. Esto se ilustra en la Figura No. 10. En este diagrama las variables Ai representan los bits del operando almacenados en el acumulador (que tambin puede ser llamado el registro A). Las variables Bi representan los bits del segundo operando almacenados en el registro B. Las variables Ci representan los bits de carry entre las correspondientes posiciones. Las variables Si son los bits de la suma para cada posicin. Los circuitos Full-Adder usados en cada posicin tienen tres entradas: un bit A, un bit B y un bit C; y producen dos salidas: un bit de suma (S) y un bit de carry (C). Por ejemplo, el Full-Adder No. 0 tienen como entradas A0, B0 y C0, y produce las salidas S0 y C1. Lo anterior se repite para todos los bits de los operandos. Actualmente los computadores usan palabras de 32 y 64 bits, al contrario del de la figura que slo es un sumador de 5 bits.

Figura No. 10. Diagrama de Bloques de un sumador paralelo de 5-bits usando full-adders. El arreglo de la figura No. 10 se llama sumador paralelo (parallel adder) por que todos los bits de los operandos se usan simultneamente en todos los circuitos. Esto significa que la suma en cada posicin ocurre al mismo tiempo. Que es distinto de las sumas que se hacen en papel. Ya que se toma cada posicin una a la vez, comenzando desde las posiciones menos significativas. El diseo de un Full-Adder El diseo de un Full-Adder es un tpico problema de ingeniera -en este caso de electrnica- y resulta muy interesante y didctico seguirlo paso a paso, se recomienda para ello consultar el libro "Digital Systems: Principles and Applications" de Ronald J. Tocci en las pginas 146 y 147.

Lo primero que se har es construir una Tabla de Verdad que muestre los valores de entrada y salida para todos los casos (recuerde que slo se intenta disear un Full-Adder). En la siguiente tabla se puede ver aquello, con tres entradas (A, B y Cin) y dos salidas (S y Cout). Existen ocho posibles casos para las tres entradas, y para cada caso se desea la salida listada en los valores de salida. Por ejemplo, considere el caso A = 1, B = 0, y Cin = 1. Un Full-Adder (que abreviaremos FA) puede sumar estos bits para obtener las salidas S = 0 y Cout = 1.

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

Cin 0 1 0 1 0 1 0 1

S 0 1 1 0 1 0 0 1

Cout 0 0 0 1 0 1 1 1

Como existen dos salidas, se puede disear el circuito por cada salida individualmente, comenzando con la salida de la suma S. Por la tabla de verdad se ve que hay cuatro casos donde S tiene valor 1. Si se compone una expresin para ello, usando el Dominio Lgico, y luego de refinarla, segn un mtodo que no es el caso desarrollar ac, se obtienen la siguiente expresin final: S = Xor( A, Xor( B, Cin )) (a) Si se considera ahora la salida Cout, tambin se puede componer una operacin, en el dominio lgico, que permita realizarla: Cout = Or( And( B, Cin ), Or( And( A, Cin ), And( A, B ))) (b) Las expresiones a y b pueden ser implementadas como se muestra en la Figura No. 11, cada Full-Adder de la Figura No. 10 puede ser implementado segn el circuito lgico que aparece en esta figura.

Para desarrollar este circuito en trminos del formato que se ha estado propugnando para los dominios, es necesario ampliar a la capacidad de definicin de operaciones. Para ello es necesario que las nuevas operaciones, adems de permitir combinaciones directas de las ya definidas, permitan otro tipo de combinaciones con ms poder de cmputo. Ese es el objetivo de los lenguajes de Programacin, permitir ampliar la capacidad de definicin de nuevos dominios y operaciones, de manera que esta ampliacin permita ampliar a su vez el espectro de los problemas posibles de abordar mediante el uso de un computador.

Figura No. 11. Circuito Completo para Full-Adders. El PseudoLenguaje que se describe en el siguiente punto tiene la cualidad de permitir a quien lo ocupa ampliar su capacidad de resolver problemas mediante el uso de computador.

4.2.2 CONTADORES Y TEMPORIZADORES


CONTADORES Los contadores se incrementan o decrementan cuando la lnea pasa de falsa a cierta. Cuando el contador coincide con el valor preseleccionado, el contador indica la finalizacin de contaje, pero no se detiene, por lo tanto, si continua habiendo transiciones de verdadero a falso, estas tambin son contadas. Para poner un contador a cero tenemos que utilizar la instruccin RES Los valores para los contadores van de -32.768 a +32.767. Los valores acumulados y de preseleccin se guardan como enteros con signo. Las instrucciones CTU y CTD son retentivas. El valor se mantiene despus de que la instruccin se haga falsa. Los contadores tienen dos variables y cinco bits. las variables son: PRE Valor de contaje preseleccionado (positivo o negativo) ACC Valor actual (acumulado) del contador de contaje los bits son: CU est a 1 si la lnea donde hay una condicin de incremento del contador es cierta CD Est a 1 si la lnea donde hay una condicin de decremento del contador es cierta DN Se pone a 1 cuando el contador est validado y ACC PRE

OV Se pone a 1 cuando el contador sobrepasa el lmite(+32767) UN Se pone a 1 cuando el descontador sobrepasa el lmite (-32768)

Estas variables y bits se pueden direccionar directamente. en el caso del contador 5 del fichero 5 sera de la siguiente manera: C5:5.PRE - C5:5/CU - C5:5/OV - C5:5.ACC - C5:5/CD - C5:5/UN - C5:5/DN TEMPORIZADORES Los temporizadores, cuando estn activados, van incrementando un contador cada unidad de tiempo. Cuando este contador coincide con el valor de temporizacin preseleccionado (PRE) el contador se detiene, e indica el final de la temporizacin. El temporizador puede trabajar con dos bases de tiempo: 1 y 0.01, la primera base de tiempo se dar en segundos y la otra en centsimas de segundo, esto es en los PLC y SLC-5/02, en el resto siempre ser 0.01. El temporizador de 0.01 seg mantiene la exactitud con un scan de programa de hasta 2,5 seg. Los valores acumulados y de preseleccin para los temporizadores se mueven en un margen de 0 a +32.767 La temporizacin podr ser incorrecta si las instrucciones JMP/LBL o JSR/SBR se saltan la instruccin de temporizador mientras el temporizador est temporizando. Cada temporizador tiene dos variables y tres bits. las variables son: PRE Valor de temporizacin preseleccionado ACC Valor actual (acumulado) del contador de temporizacin y los bits: EN Est a 1 cuando la lnea en la que se encuentra el temporizador es cierta

TT Se encuentra a 1 cuando el temporizador est contando, es decir si EN=1 y ACC<PRE DN Sepone a 1 cuando el temporizador acaba de contar, es decir EN=1 y ACC PRE EStos bits y variables se pueden direccionar directamente.Por ejemplo, en el caso del temporizador 3 del fichero 4 tendremos: T4:3.PRE - T4:3/EN - T4:3.ACC - T4:3/TT - T4:3/DN

4.2.3 CONTROLADORES LOGICOS PROGRAMABLES (PLC)

Las empresas de hoy, que piensan en el futuro, se encuentran provistas de modernos dispositivos electrnicos en sus maquinas y procesos de control. Hoy las fabricas automatizadas deben proporcionar en sus sistemas, alta confiabilidad, gran eficiencia y flexibilidad. Una de las bases principales de tales fabricas es un dispositivo electrnico llamado Controlador Lgico Programable. Este dispositivo fue inicialmente introducido en 1970 y se ha sido refinando con nuevos componentes electrnicos, tales como Micro-procesadores de alta velocidad, agregndole funciones especiales para el control de proceso ms complejos. Hoy los Controladores Programables son diseados usando lo

ultimo en diseo de Micro-procesadores y circuiteria electrnica lo cual proporciona una mayor confiabilidad en su operacin en aplicaciones industriales donde existen peligro debido al medio ambiente, alta repetibilidad, altas temperaturas, ruido ambiente o elctrico, suministro de potencia elctrica no confiable, vibraciones mecnicas etc. Este medio ambiente es el que el Control Lgico Programable se encuentra en su elemento, ya que fue diseado y concebido para su uso en el medio ambiente industrial. Los Controladores Lgicos Programables, PLC como ellos son comnmente llamados, ofrecen muchas ventajas sobre otros dispositivos de control tales como relevadores, temporizadores electrnicos, contadores y controles mecnicos como del tipo tambor. El objetivo de este manual es mostrar el funcionamiento interno y de programacin de este tipo de controladores, adems de mostrar algunas de sus aplicaciones en la industria, tambin realizar una serie de practicas para que el tcnico de la industria pueda iniciarse en este apasionante rema de la automatizacin. Hemos seleccionado el Controlador Lgico de GE-Fanuc por ser un equipo de gran aceptacin en la industria nacional adems de ser un ideal para la enseanza debido a su pantalla de cristal de cuarzo la cual consta de 2 lneas cada lnea con una capacidad de 9 contactos y una bobina. DESCRIPCION Y FUNCIONAMIENTO DE UN PLC Los Controladores Lgicos Programables, (PLC s, Programable Logic Controller), nacieron esencialmente como tales, a finales de la dcada de los 60s y principios de los 70s. Las industrias que propiciaron este desarrollo fueron las automotrices. Ellas usaban sistemas industriales basadas en reveladores, en sus sistemas de manufactura. Buscando reducir los costos de los sistemas de control por relevadores, la General Motor preparo en 1968 ciertas especificaciones detallando un "Controlador Lgico Programable", Estas especificaciones definan un sistema de control por relevadores que podan ser

asociado no solamente a la industria automotriz, si no prcticamente a cualquier industria de manufactura. Estas especificaciones interesaron a ciertas compaas tales como GE-Fanuc, reliance Electric, MODICON, Digital Equipment Co., De tal forma que el resultado de su trabajo se convirti en lo que hoy se conoce como Controlador Lgico Programable. Los PLCs surgen como equipos electrnicos sustitutos de los sistemas de control basados en relevadores, que se hacan ms complejos y esto arrojaba ciertas dificultades en cuanto a la instalacin de los mismos, los altos costos de los equipos. Losa altos costos de operacin y mantenimiento y la foca Flexibilidad y confiabilidad de los equipos. Los primeros PLCs se usaron solamente como reemplazo de relevadores, es decir, su capacidad se reduca exclusivamente al control On -Off (de dos posiciones) en maquinas y procesos industriales. De echo todava se siguen usando en muchos casos como tales. La gran diferencia con los controles por relevador fue su facilidad de instalacin, ocupan menor espacio, costo reducido, y proporcionan autodiagnsticos sencillos. En la dcada de los 70s con el avance de la electrnica, la tecnologa de los microprocesadores agrego facilidad e inteligencia adicional a los PLCs generando un gran avance y permitiendo un notorio incremento en la capacidad de interfase con el pradpr. ,amoacopm de datos. isp de ter,omps de vodep. desarrpp de `rpgra,as etc. se fue poco a poco mejorando la idea inicial de los PLCs convirtindose en lo que ahora son, Sistemas Electrnicos Verstiles y Flexibles. En su creacin, los requerimiento sobre los cuales se han desarrollado los PLC s, los enumero la General Motors de la manera siguiente 1. El dispositivo de control deber ser fcil y rpidamente programable por el usuario con un mnimo de interrupcin. 2. Todos los componentes del sistema deben ser capaces de operar en plantas industriales sin un especial equipo de soporte, de hardware o de ambiente.

3. El sistema debe ser de fcil mantenimiento y reparacin. Deber disearse con indicadores de status y modularidad para facilitar las reparaciones y la bsqueda de errores. 4. El sistema deber ocupar menor espacio que los sistemas de relevador y deber consumir menor potencia que los sistemas de control por relevadores. 5. El PLC deber ser capaz de comunicarse con un sistemas central de datos para propsitos de monitoreo. 6. Deber ser capaz de trabajar con 120 volts de corriente alterna y con elementos estndar de control, con interruptores de presin interruptores de limite, etc. 7. Las seales de salida debern ser capaces de manejar arranques de motores y vlvulas solenoides que operan a 120 volts de C.A. 8. Deber ser expandible desde su mnima configuracin hasta su mxima, con una mnima de alteracin y de tiempo perdido. 9. Deber ser competitivo en costo de venta e instalacin, respecto de los sistemas en base a relevadores. 10. La estructura de memoria empleada deber ser expandible a un mnimo de 4000 palabras o elementos de memoria. Los PLC actuales no solamente cumplen estos requisitos si no que lo superan. El PLC actual es una computadora de propsito especifico que proporciona una alternativa ms flexible y funcional para los sistemas de control industriales. La figura 1 muestra en general las funciones bsicas de un PLC. Debido a la gran aceptacin que ha tenido el PLC, se ha dado una definicin formal por la NEMA (Nacional electrical Manufacturers Association), descrita como sigue: EL PLC es un aparato electrnico operado digitalmente que usa una memoria programable para el almacenamiento interno de instrucciones las cuales implementan funciones especificas tales como lgicas, secunciales,

temporizacion, conteo y aritmticas, para controlar a travs de mdulos de entrada /salida digitales y analgicas, varios tipos de maquinas o procesos. Una computadora digital que es usada para ejecutar las funciones de un controlador programable, se puede considerar bajo este rubro. Se excluyen los controles secunciales mecnicos. De una manera general podemos definir al controlador lgico programable a toda maquina electrnica, diseada para controlar en tiempo real y en medio industrial procesos secunciales de control. Su programacin y manejo puede ser realizado por personal con conocimientos electrnicos sin previos conocimientos sobre informtica. Tambin se le puede definir como una "caja negra" en la que existen unas terminales de entrada a los que se conectaran pulsadores, finales de carrera, foto celdas, detectores, etc... unos terminales de salida a los que se le conectaran bobinas de contactores, electro vlvulas, lmparas., De tal forma que la actuacin de estos ultimo estn en funcin de las seales de entrada que estn activadas en cada momento, segn el programa almacenado. Esto quiere decir auxiliares, relees de encallamiento, temporizadores, contadores.. Son internos. La tarea del usuario se reduce a realizar el "programa que no es mas que la relacin entre las seales de entrada que se tienen cumplir para activar cada salida.

CAMPOS DE APLICACION DEL PLC EL PLC por sus especiales caractersticas de diseo tiene un campo de aplicacin muy extenso. La constante evolucin del Hardware y Software amplia continuamente este campo para poder satisfacer las necesidades que se detectan en el aspecto de sus posibilidades reales. Su utilizacin se da fundamentalmente en aquellas instalaciones en donde es necesario realizar procesos de maniobra, control, sealizacin, etc,.. por tanto, su aplicacin abarca desde procesos de fabricacin industrial de cualquier tipo al de transformaciones industriales, control de instalaciones, etc.

Sus reducidas dimensiones, las extremas facilidades de u montaje, la posibilidad de almacenar los programas para su posterior y rpida utilizacin, la modificacin o alteracin de los mismos, etc., hace que su eficiencia se aprecie fundamentalmente en procesos en que se reduce necesidades tales como: Espacio reducido. Procesos de produccin peridicamente cambiantes Maquinaria de procesos variables. Instalacin de procesos complejos y amplios. Chequeo de programacin centralizada de las partes del proceso EJEMPLOS DE APLICACIONES DE UN PLC A).-MANIOBRAS DE MAQUINAS. Maquinaria industrial del mueble y la madera. Maquinaria en proceso de grava, arena y cemento. Maquinaria en la industria del plstico. Maquinas-herramientas complejas. Maquinaria de ensamblaje. Maquinas de transferencia. B).-MANIOBRA DE INSTALACIONES. Instalaciones de aire acondicionado y calefaccin. Instalaciones de seguridad. Instalaciones de almacenamiento y transporte. Instalaciones de plantas embotelladoras. Instalaciones en la industria automotriz Instalacin de tratamientos trmicos. Instalaciones de la industria azucarera.

Un Sistema Completo de Entrenamiento de PLC con el SLC 100 de Allen Bradley El Sistema de entrenamiento MB650 de PCLs permite a los estudiantes desarrollar la habilidad necesaria para operar, programar y detectar fallas en un verdadero PLC industrial . El sistema incluye un manual de experiencias escrito en un leguaje entendible y didctico, que permite al aprendiz un rpido avance. El curriculum del MB650A empieza con conceptos bsicos de conexionado y rpidamente se introduce a los circuitos y la programacin con la lgica de la escalera . Otras unidades se centran en el "Troubleshooting" o bsqueda de fallas y en las caractersticas especificas del SLC 100 de Allen Bradley. El sistema de aprendizaje incluye un programador de bolsillo SLC100, dispositivos de entrada y salida, y kit de cableado. En el curriculum de cada unidad se incluye experiencias de programacin y cableado reales de PLCs. La estacin de experimentacin permite un fcil acceso a los terminales de I/O con conectores simples. Esto permite un rpido cableado a equipos de prueba externos. El entrenador MB650A es de diseo robusto y porttil , que permite acomodarse a cualquier demanda de entrenamiento. La unidad esta montada en un maletn resistente a golpes. La estacin de experimentacin esta

construida en acero inoxidable. Sus capacidades de expansin le permiten usarse con software de PLC para su programacin a travs de una PC, y conectarse a censores industriales, mdulos de I/O, interfaces externas para robot y muchas otras aplicaciones. TII ofrece sistemas de entrenamiento para una gran gama de otros PLC incluyendo Cutler-Hammer, Mitsubishi, etc. ESPECIFICACIONES Estacin Experimental. El sistema de entrenamiento esta instalado en una cubierta porttil de polietileno de alta resistencia. El panel interior contiene un SLC100 (con fusibles) de Allen Bradley montado sobre un panel de acero inoxidable. En el panel se incluye adems una fuente de 24 voltios DC, 8 combinaciones de switches y luces (4 momentneos y 4 estables, 2 normalmente abiertos 2 normalmente cerrados), y terminales con jacks protejidos para luces/interruptores y para 10entradas/6salidas del SLC100. Todos los componentes del panel estn marcadas para fcil identificacin. la unidad tambin incluye un set de cables y conexiones, y un modulo de memoria EEPROM para almacenar los programas. El panel puede ser removido completamente del contenedor para ser usado sobre una mesa, banco de trabajo o como parte de un sistema de manufactura computarizada. Especificaciones del SLC100 de Allen-Bradley Programacin en Escalera: LEDs para mostrar direcciones, datos, peldaos, teclados con reglamentacin de contacto Voltage: Entrada de Lnea: 220 VAC, 60 HZ Input: 24 VDC Output: 24 VDC Inputs/Outputs: 16 (10 inputs, 6 outputs) Puntos de Rele: 181 mximo

Memoria de Usuario: 885 palabras Timers/Counters: 32 (direcciones compartidas) Rango de Timer: 0.1 a 999.9 segundos (timers son de dos tipos on-delay y offdelay) Rango de Counter: 1 a 9,999 (Counters son ambos ascendentes y descendentes) Tipo de Memoria: CMOS RAM con batera de backup; opcional EEPROM Dimenciones del Panel: 20.5"xl4.5"x4" Dimenciones del Contenedor (cerrado): 23"xl9"x8" Peso de Transporte: 35 lbs. Garanta : Un ao.

CURRICULUM El curriculum de PLC bsico fue diseado y revisado por un equipo de instructores experimentados de las mejores escuelas superiores de los USA. Incluye 22 unidades de con aplicaciones practicas y experimentos reales. Las unidades en la primera seccin ensean los principios de direccionamiento de los PLC. La segunda y tercera seccin provee el entrenamiento necesario en programacin y caractersticas especiales de los PLC. El material del curso contiene adems una gua de actividades y un manual de referencia para el instructor.

Introduccin a los Controladores Lgicos Programables (PLC)


Que es un PLC ? Operaciones internas del PLC Introduccin al Trainer MB650A Circuitos Serie Paralelo Sistemas Numricos lgebra Booleana Diagramas de la Lgica de la Escalera

Funciones Bsicas de los PLC y sus Aplicaciones


Introduccin a la Programacin de la Escalera Entradas y Salidas (Inputs y Outputs) (I/O) Relees Internos Circuitos "Y" y "OR" ("And" y "OR") Relees de "Lacheo" ("Latching") Edicin de Programas Monitoreo de Programas

Funciones de Control de Salida y sus Aplicaciones


Temporizadores (Timers) Contadores (Counters) Temporizadores en Cascada (Cascading Timers) Programas Timer/Counters Relees Maestro de Control Sequenciamiento de Salida Registros de Corrimiento Introducin a Funciones Especiales

EVALUACION DEL TEMA 1.- REQUIERE QUE TODAS LAS SEALES SEAN SIMULTNEAMENTE
VERDADERAS PARA QUE LA SALIDA SEA VERDADERA a) OR

b) NOT
C) AND d) PRE e) ACC 2.- TIENE SIMILARES CARACTERSTICAS A LA OPERACIN AND, CON LA DIFERENCIA QUE BASTA QUE UNA SEAL SEA VERDADERA PARA QUE LA SEAL RESULTANTE SEA VERDADERA

a) NOT
b) OR c) PRE d) ACC

e) AND 3.- TAMBIN SE CONOCE COMO NEGACIN, COMPLEMENTO O


INVERSIN, ES MUCHO MS SIMPLE QUE LAS ANTERIORES a) PRE

b) AND c) NOT
d) ACC

e) OR 4.- TAMBIN CONOCIDA COMO UNIDAD ARITMTICO-LGICA a) UNIDAD ARIMETICA b) PRE c) AND d) NOT e) ACC 5.- SE INCREMENTAN O DECREMENTAN CUANDO LA LNEA PASA DE
FALSA A CIERTA:

a) b) c) d) e) 6.-

CONTADORES TEMPORIZADORES UNIDADES ARIMETICAS CONTROLADORES LOGICA DIGITAL


ES UNA VARIABLE DEVALOR DE CONTAJE PRESELECCIONADO

(POSITIVO O NEGATIVO)

a) b) c) d) e)

NOT ACC AND PRE cu

7.- CUANDO ESTN ACTIVADOS, VAN INCREMENTANDO UN CONTADOR CADA UNIDAD DE TIEMPO. CUANDO ESTE CONTADOR COINCIDE CON EL VALOR DE a) b) c) d) e) CONTADORES CONTROLADORES LOGICA DIGITAL TEMPORIZADORES CU

8.- INCLUYE 22 UNIDADES DE CON APLICACIONES PRACTICAS Y EXPERIMENTOS REALES a) b) c) d) e) CONTADORES LOS PLC COMPUERTAS LOGICAS OPERACIONES TERMPORIZADORES

9.- SE ENCUENTRA A 1 CUANDO EL TEMPORIZADOR EST CONTANDO, ES DECIR SI EN=1 Y ACC<PRE a) b) c) d) e) CU AND NOT OR TT

10.- EL TEMPORIZADOR PUEDE TRABAJAR CON DOS BASES DE TIEMPO

A) b) c) d) e)

1 Y 0.01 LA PRIMERA BASE DE TIEMPO SE DAR EN SEGUNDOS COMPUERTAS LOGICAS TERMPORIZADORES OPERACIONES AND Y NOT

Y LA OTRA EN CENTSIMAS DE SEGUNDO

You might also like