D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012 Automatismos lógicos programables y reconfigurables 2 Mapa de contenidos Automatismos lógicos programables y reconfigurables D.R. © Capítulo 1 Capítulo 2 Capítulo 3 Capítulo 4 Capítulo 5 Introducción a los automatismos y los sistemas de control lógico Implementación tradicional de funciones lógicas: neumática, eléctrica y electrónica Fundamentos de circuitos de lógica programable Controladores lógicos programables, PLCs Diseño de sistemas de control usando lógica programable Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables Introducción del eBook El enfoque preponderante de este eBook propuesto consiste en presentar de manera clara y concisa las bases teóricas fundamentales que atienden la esencia digital de los automatismos lógicos, independientemente de la tecnología utilizada para su implementación. En los primeros capítulos se hace un recorrido histórico de las diferentes tecnologías tradicionales en la implementación de automatismos (iniciando con la lógica neumática, eléctrica y llegando a la electrónica clásica basada en componentes discretos del tipo off-the-shelf), en donde se usarán simuladores para adquirir la visión tradicional del diseño basado en estos enfoques, hasta llegar a la programación de dispositivos lógicos programables (PLDs y FPGAs) con lenguajes descriptores de hardware (como AHDL, Lenguaje descriptor de Hardware de Altera; VHDL) y lenguajes de programación de alto nivel (como C++ y LabVIEW), adoptando un enfoque pertinente a la solución de problemas industriales en donde la tendencia actual es que los tradicionales PLCs (Programmable Logic Controllers, Controladores Lógicos Programables) están sido reemplazados por los actuales PACs D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. (Programmable Automation Controllers, Controladores Programables para la Automatización). Este eBook aborda diferentes herramientas y tecnologías computacionales a lo largo de su contenido, iniciando con las más sencillas y modestas (al alcance de cualquier diseñador) hasta aquellas que hoy día marcan el estado de la práctica en la automatización industrial y que pronto podrían convertirse en norma (como los PACs), para dar paso a otras tecnologías de vanguardia, pero siempre fundamentadas en los principios teóricos presentados (como las condiciones de completes y consistencia en la especificación de aplicaciones secuenciales síncronas). Automatismos lógicos programables y reconfigurables 4 Capítulo 1 Introducción a los automatismos y los sistemas de control lógico Organizador temático Introducción a los automatismos y los sistemas de control lógico Fundamentos, aplicaciones y estado del arte de los automatismos lógicos D.R. © Sistemas numéricos y operaciones aritméticas básicas Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Representación de funciones boolenas: gráfica, tabular y ecuaciones lógicas Métodos de minimización: por teoremas, mapas de Karnaugh, Quine-McCluskey Automatismos lógicos programables y reconfigurables Temas capítulo 1 5 1. Introducción a los automatismos y los sistemas de control lógico 1.1 Fundamentos, aplicaciones y estado del arte de los automatismos lógicos 1.1 Fundamentos, aplicaciones y estado del arte de los automatismos lógicos ACTIVIDad La capacidad creativa del ser humano para la realización de herramientas de trabajo se ha manifestado continuamente a través de la historia; sin duda hay múltiples ejemplos de su diversidad e ingenio pero una de las formas más singulares ha sido la creación de elementos tecnológicos que le apoyan en la realización de tareas repetitivas, ya sea para su propio beneficio o simplemente para su solaz y esparcimiento. conclusión El término automatismo, en su acepción más sencilla, denota al elemento tecnológico a cargo de la realización de una tarea repetitiva, en forma lógica y estructurada, con capacidad de decisión limitada, dependiendo de ciertas variables o condiciones. Su interacción con otros elementos y/o usuarios lo hacen manifestarse con cierta espontaneidad. glosario Los automatismos lógicos se pueden realizar hoy en día con una amplia gama de tecnologías y son uno de los elementos de presencia universal que han sido parte de nuestro mundo cotidiano desde mucho antes de sintetizarse electrónicamente. Uno de los automatismos más visitado es el operado en forma mecánica y que se conserva en la torre del reloj de Marienplatz en la Ciudad de Munich, Alemania, que al transcurrir de cierto tiempo, hace que sus personajes dancen armoniosamente alrededor de la torre, como se muestra en la Figura 1.1. Pág. 1 de 5 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. recursos Figura 1.1 Reloj de Marienplatz, Alemania, como un ejemplo de automatismos mecanizados Automatismos lógicos programables y reconfigurables La principal distinción de los automatismos lógicos es su carácter discreto, pues las señales con las que interactúan en las aplicaciones son evaluadas en el mundo binario: presente/ausente, arriba/abajo, inicio/fin, encendido/apagado y cualquier par de términos que representen los valores de una variable binaria dentro de una aplicación. Automatismo Lógico Variables binarias de salida conclusión Variables binarias de entrada ACTIVIDad En la Figura 1.2 se representa en un diagrama a bloques el esquema de un automatismo lógico en su estructura más simple: Un automatismo puede presentar también la característica de cambiar su operación a través de una serie de “estados”, entendidos como el conjunto de las posibles combinaciones de los valores binarios de las señales de entrada/salida y las reglas de transición entre ellos. Esta característica le otorga la propiedad conocida como memoria, pues el estado en el que se encuentra un automatismo en cierto momento (y por ello las salidas correspondientes) dependerá simultáneamente del valor de las variables de entrada en ese momento y del estado previo en que se haya encontrado. Este tipo de automatismos se les conoce como de tipo secuencial precisamente porque realizan una secuencia definida de operaciones. Temas capítulo 1 6 1. Introducción a los automatismos y los sistemas de control lógico 1.1 Fundamentos, aplicaciones y estado del arte de los automatismos lógicos Figura 1.2 Esquema de un automatismo combinacional. glosario Los automatismos lógicos cuyas variables de salida dependen exclusivamente del valor presente de las variables de entrada se clasifican como de tipo combinacional y los valores de sus salidas se consideran una transformación de los correspondientes valores de entrada, que se realiza a través de un cálculo u operación interna. recursos Pág. 2 de 5 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables Su representación se modifica como se muestra en la Figura 1.3, donde las señales que se retroalimentan representan precisamente el conocimiento del estado previo: Las características principales de los automatismos lógicos son: conclusión Variables de entrada Automatismo Lógico ACTIVIDad Variables de retroalimentación Temas capítulo 1 7 1. Introducción a los automatismos y los sistemas de control lógico 1.1 Fundamentos, aplicaciones y estado del arte de los automatismos lógicos Variables binarias de salida Figura 1.3 Esquema de un automatismo secuencial. glosario El cambio de estado puede ser debido a condiciones internas al automatismo (variables de operación, como las encargadas de llevar el registro del estado), o atribuible a la aplicación misma (denominadas variables externas al automatismo). Estas variables pueden ser de diferente naturaleza: asociadas a la cantidad de eventos que se han producido (conteo), al tiempo asociado a presentarse una determinada condición (temporización), o simplemente a la combinación lógica de la presencia o ausencia de un conjunto de señales (ecuación lógica). Pág. 3 de 5 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. recursos La diversidad de los automatismos lógicos estriba mayormente en la elección particular de la tecnología de implementación, aún cuando hay también gran diversidad en metodologías de especificación. Automatismos lógicos programables y reconfigurables En este eBook se abordará la especificación, diseño y realización de automatismos lógicos en el ámbito de diferentes tecnologías, haciendo énfasis en un amplio rango de alternativas electrónicas, todo ello enmarcado en su especificación con los actuales Lenguajes Descriptores de Hardware como una de las alternativas más viables de especificación. Temas capítulo 1 8 1. Introducción a los automatismos y los sistemas de control lógico 1.1 Fundamentos, aplicaciones y estado del arte de los automatismos lógicos ACTIVIDad conclusión glosario recursos Retomando el ejemplo del reloj de la torre, el automatismo es claramente de tipo secuencial y su realización es a través de elementos mecánicos, mismos que otorgan los movimientos a cada uno de sus personajes. Estos movimientos se efectúan de manera repetitiva y periódica en una secuencia fija y conocida a partir de un horario predeterminado, por lo que la señal de activación de la secuencia es precisamente la hora del día. Pág. 4 de 5 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables Temas capítulo 1 9 1. Introducción a los automatismos y los sistemas de control lógico 1.1 Fundamentos, aplicaciones y estado del arte de los automatismos lógicos Conclusiones del tema ACTIVIDad El diseño electrónico digital ha avanzado a pasos agigantados en las últimas décadas, sin embargo, este desarrollo no se ha permeado plenamente al mundo de la automatización industrial de procesos discretos. La mayoría de las aplicaciones que procesan información digital se basan en el estudio y aplicación de sistemas lógicos que pueden ser sucintamente clasificados en dos tipos: combinacionales (aquellos cuyas salidas dependen exclusivamente de una combinación de los valores presentes de las señales de entrada), o de tipo secuencial (los referentes a señales de salida que dependen también de los valores anteriores, es decir, cuentan con la capacidad de memoria), originando propuestas de arquitecturas lógicas desde modestos circuitos lógicos que implementan funciones sencillas, hasta llegar a los modernos sistemas digitales complejos que se han sintetizado tradicionalmente en dispositivos de lógica programable (PLDs, Programmable Logic Devices, Dispositivos Lógicos Programables; FPGAs, Field Programmable Gate Arrays, Arreglos de compuertas programables en campo) a través de diferentes herramientas (máquinas de estados, lenguajes descriptores de hardware, lenguajes de programación de alto nivel) y que en esta obra, en particular, se enfatiza su aplicación a los automatismos lógicos industriales. conclusión glosario recursos Pág. 5 de 5 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables 1.2 Sistemas numéricos y operaciones aritméticas básicas Conoce el significado de Sistema, Información y Datos: Antecedentes ACTIVIDad En los últimos años hemos atestiguado una evolución intensa y rápida de la tecnología utilizada. Hemos pasado del mundo analógico y manual, al mundo digital y automático. El camino no ha sido fácil, pero ha traído grandes beneficios en todas las áreas. La forma de transmisión de datos en el mundo real es de dos tipos: Analógica Temas capítulo 1 10 1. Introducción a los automatismos y los sistemas de control lógico 1.2 Sistemas numéricos y operaciones aritméticas básicas Digital Y Aquella que se representa con un conjunto discreto de valores; se representan con gráficos cuadrados. conclusión Aquella cuyos valores se representan con un conjunto de datos variables; se representan con gráficas continuas. Y X glosario Figura 1.4 Señal analógica. X Figura 1.5 Señal digital. recursos Pág. 1 de 6 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables Los sistemas de números se dividen en: Los sistemas yuxtaposicionales se basan en símbolos que el hombre conoce de memoria. Ejemplos: V (cinco romano), 5 (cinco decimal), etc. También cuenta la posición en que se coloquen dichos símbolos. Expresión general para representar cantidades de cualquier base (B) en forma polinomial: N = an an−1 an−2 … a2 a1 a0 . a−1 a−2 a−3 … Parte entera Parte decimal De esta forma el número representado en forma polinomial es: N = an* Bn + an−1* Bn−1 + an−2* Bn−2 +…+ a2* B2 + a1* B1 + a0* B0 + a−1* B−1 + a−2* B−2 + a−3* B−2 Ejemplos de conversiones: 1)El número 13410 es un dato representado en sistema de numeración decimal. Lo construimos mediante: Equivale a: 1 x 25 + 1 x 24 + 0 x 23 + 1 x 22 + 0 x 21 + 1 x 20 = 32 + 16 + 3 + 4 + 0 + 1 = 53 en sistema decimal. Y lo mismo ocurre en el resto de las bases. Para convertir cualquier número decimal a la base deseada, se debe realizar el proceso inverso. El número 53 en sistema decimal equivale a: 53/8 = 6 ------------- Residuo: 5 El resultado es: 53/16 = 3 ------------- Residuo: 5 El resultado es: En el sistema "base 8 (2 )" u octal, los símbolos serán: 0, 1, 2, 3, 4, 5, 6 y 7. 6/8 = 0 ---- Residuo: 6 Pág. 2 de 6 Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. 0 658 3/16 = 0 ---- Residuo: 3 3516 recursos En el sistema "base 2" o binario, los símbolos serán: 0 y 1. Unidad glosario Es decir, en el sistema "base 10" o decimal, contiene el conjunto de símbolos que van desde 0 hasta b-1: 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9. © Decena Parte decimal La base de un sistema numérico es el número máximo de símbolos individuales diferentes que se pueden representar dentro del sistema. D.R. Centena 2)El número: 1101012 Parte entera 1 x 102 + 3 x 101 + 4 x 100 = 100 + 30 + 4 = 134 conclusión Si un número cualesquiera está formado por una cantidad de dígitos, ejemplo: Cuando realizamos el desarrollo polinomial de un número, nos encontramos convirtiendo sistemas de cualquier base a base 10. ACTIVIDad En los sistemas polinomiales los números se forman a partir de una suma de términos multiplicados por la "base" elevada a la posición del término o "peso numérico". Un caso particular entre los sistemas más utilizados dentro del mundo 4 del diseño lógico y digital es el sistema "base 16 (2 )" o hexadecimal, en el cual los símbolos van desde el 0 hasta el 9 y desde la letra mayúscula A hasta la F; siendo los valores de las letras como sigue: A=10, B=11, C=12, D=13, E=14 y F=15, es decir, del 0 al 15. Temas capítulo 1 11 1. Introducción a los automatismos y los sistemas de control lógico 1.2 Sistemas numéricos y operaciones aritméticas básicas Automatismos lógicos programables y reconfigurables Este proceso funciona para el resto de las bases. Las conversiones especiales de base 2 a base 8, se realizan buscando agrupamientos, de tal manera que: 3 El número: 100101.102 Relación entre base 2 = 8 GLOSARIO Hasta ahora sólo se ha trabajado con números positivos, para realizar operaciones con números negativos, se tienen que representar a través de alguno de los siguientes métodos: ACTIVIDad El número se divide en grupos, con la cantidad de bits que indique la potencia 100 | 101 .100 = 1 x 22 + 0 x 21 + 0 x 20 | 1 x 22 + 0 x 21 + 1 x 20 | .1 x 22 + 1 0 0x2 +0x2 = Magnitud y signo Complementos a la base Complementos a la base disminuida Exceso 2m-1 conclusión 4 + 0 + 0 | 4 + 0 + 1 | .4 + 0 + 0 = 4 | 5 | .4 = 45.48 Operaciones aritméticas Conoce cuáles son y en qué consiste cada tipo de operación. Bit Cantidad mínima de información en un sistema lógico y puede tener el valor 0 (nivel bajo) o 1 (nivel alto), encendido (ON) o apagado (OFF). Temas capítulo 1 12 1. Introducción a los automatismos y los sistemas de control lógico 1.2 Sistemas numéricos y operaciones aritméticas básicas »» Magnitud y signo. Es el sistema que se utilizó en la sección pasada. glosario »» Complementos a la base. Para un número positivo su complemento es el mismo número; para el complemento de un número negativo hay que realizar la n operación de: b −num ; donde: b: base n: cantidad de dígitos del número a complementar Ejemplo: +25 = 11001 −25 = 00111, que viene de: 26 – 11001 = 00111 Pág. 3 de 6 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. recursos num: número que se desea complementar Automatismos lógicos programables y reconfigurables GLOSARIO »» Complementos a la base disminuida. Se realiza la operación de: bn−1−num. »» Exceso 2m−1. Representa un número que surge de la suma del mismo número y 2m−1 (m indica la cantidad de bits con los que se está trabajando en el sistema). El código es un conjunto de símbolos estandarizados para representar información. ACTIVIDad Los sistemas digitales generan/procesan información utilizando señales binarias. Si la información que se está tratando no es estrictamente binaria, como es lo usual, de alguna forma hay que representar esa información mediante magnitudes binarias: esto es lo que se conoce como codificación. Código Conjunto de bits cuyas combinaciones de valores representan datos y que en algunos casos representan determinada acción. Temas capítulo 1 13 1. Introducción a los automatismos y los sistemas de control lógico 1.2 Sistemas numéricos y operaciones aritméticas básicas Los códigos se clasifican en: Códigos Numéricos BCD 44-12 5321 2421 No Pesados / No ponderados 2 en 5 Exceso 3 Signo-paridad Gray Hamming Espejo o código reflejado Código cíclico o disco Hipercubo Verificación de bits glosario Pesados/ponderados conclusión Alfanuméricos ASCII ASCII-8(extendido) EBCDIC BAUDOT UNICODE recursos Pág. 4 de 6 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables Temas capítulo 1 14 1. Introducción a los automatismos y los sistemas de control lógico 1.2 Sistemas numéricos y operaciones aritméticas básicas Actividad de repaso Tema 1.2 Sistemas numéricos y operaciones aritméticas básicas ACTIVIDad conclusión glosario recursos Pág. 5 de 6 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables Temas capítulo 1 15 1. Introducción a los automatismos y los sistemas de control lógico 1.2 Sistemas numéricos y operaciones aritméticas básicas En este tema se ha abordado la forma en la que se puede representar la información proveniente de los sistemas lógicos y la forma como se representa para poder utilizarla adecuadamente. glosario El trabajo tanto con números positivos como con números negativos y la forma en que éstos se pueden representar dio la pauta para ingresar a la mejor manera en la que se puede transmitir la información, a través de los códigos de datos, ya sean numéricos o alfanuméricos. conclusión Se conocieron los conceptos básicos de los automatismos lógicos y su representación numérica en unos y ceros y en cualquier otra base que se desee trabajar. Así como las operaciones básicas que se pueden realizar a través de la suma, por ejemplo; resta, multiplicación, etc. ACTIVIDad Conclusiones del tema recursos Pág. 6 de 6 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables 1.3 Representación de funciones boolenas: gráfica, tabular y ecuaciones lógicas Antecedentes Los elementos básicos con los que se representarán las funciones dadas por un problema del mundo exterior, son los siguientes: Tabla de verdad Especificación exhaustiva de todas las combinaciones posibles en los valores de las variables de entrada en un determinado problema, donde se muestran también los correspondientes valores de una o más variables (denominadas variables de salida) que están asociados a cada una de las combinaciones. ACTIVIDad conclusión Los automatismos lógicos se representan a través de dos niveles: alto (uno) y bajo (cero) que son los elementos básicos del sistema binario. En este tema se verá cómo traducir las expresiones y/o problemas del mundo real a ecuaciones que puedan ser tratadas como un sistema lógico y, a su vez, se representen a través de funciones de las cuáles se puede generar la tabla de verdad (tabla de comportamiento), el diagrama correspondiente, aplicar las leyes y teoremas del álgebra de Boole para obtener una simplificación mínima, o el uso de mapas de Karnaugh para realizar esa minimización de funciones que se implementarán en la automatización de un determinado proceso. GLOSARIO Temas capítulo 1 16 1. Introducción a los automatismos y los sistemas de control lógico 1.3 Representación de funciones boolenas: gráficas, tabular y ecuaciones lógicas glosario recursos Pág. 1 de 5 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables Generación de funciones básicas ACTIVIDad La mayoría de los sistemas lógicos son especificados a través de ideas o comportamientos expresados en lenguaje natural. La primera etapa consiste en traducir esas ideas o comportamientos expresados en lenguaje natural a expresiones booleanas; para ello se podría iniciar con descomponer la descripción de un problema en enunciados sencillos. En el siguiente video conoce un ejemplo de como se convierte una expresión en lenguaje natural a expresión booleana. Temas capítulo 1 17 1. Introducción a los automatismos y los sistemas de control lógico 1.3 Representación de funciones boolenas: gráficas, tabular y ecuaciones lógicas Por ejemplo: "Paco juega fútbol si es domingo por la tarde y ha terminado su tarea". Enunciado 1 C = Enunciado 3 A AND conclusión Enunciado 2 B C es verdadera (1) si A y B son verdaderas de otra manera C es falsa (0). Su diagrama lógico será: A C B glosario Para establecer un esquema formal de realización de ecuaciones, se tendrá que plantear el problema a través de una tabla de verdad, que nos represente el comportamiento del sistema. recursos Pág. 2 de 5 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables Propiedades de las funciones Ejemplo para el problema de votación siguiente: Función de salida 23=8 valores P (Paco) L (Luis) J (Juan) H P L J 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 0 1 1 1 0 1 1 1 1 0 1 1 1 1 1 Resumiendo Canónicas (estructuradas). Minitérmino Maxitérmino F = Σm(1,2,4,7) F = ΠM(0,3,5,6) FSDP = A'B'C + A'BC' + AB'C' + ABC F = m1 + m2 + m4 + m7 ABC F Minitérmino 000 0 m0=A'B'C' m0= m0'A+B+C En SDP: 1 m1=A'B'C m1= m1'A+B+C' 1 m2=A'BC m2= m2'A+B'+C 0 m3=AB'C' m3= m3'A+B'+C' si F = m1 + m2 + m4 + m7 = Σm(1,2,4,7) 1 m4=AB'C' m4= m4'A'+B+C 0 m5=AB'C m5= m5'A'+B+C' F = ΠM(0,3,5,6) m6= m6'A'+B'+C m7= m7'A'+B'+C' 1 1 0 1 1 1 1 1 1 2 P L J 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 H' P L H'PL H P' L HP'L H P L' HPL' H P L HPL 5 001 010 011 100 101 6 110 0 m6=ABC' 7 111 1 m7=ABC Entonces PDS: F = m0 · m3 · m5 · m6 pero, Figura 1.9 Funciones canónicas en minitérminos y en maxitérminos. En este ejemplo, se emplea la nomenclatura convencional para indicar con PDS a un producto de sumas y con SDP una suma de productos. A cada una de las combinaciones del problema, se le conoce como términos, los cuáles pueden ser expresados a través de minitérminos o maxitérminos y establecer la función a través de alguno de ellos para aplicar las leyes y teoremas que nos permitirán minimizar la función de salida. Pág. 3 de 5 Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. recursos Función canónica: Una función se denomina canónica cuando sus términos incluyen todas las variables lógicas de entrada en alguna de sus combinaciones, para nuestro ejemplo particular esta función es: J=H´PL + HP´L + HPL´ + HPL © Propiedades de SDP y PDS J Figura 1.8 Obtención del diagrama lógico a partir de la tabla de verdad. D.R. Maxitérmino Suma de productos (SDP) Es la agrupación de minitérminos (o cualquier otra suma de variables lógicas) en una operación de suma lógica. glosario H 3 4 Diagrama lógico Tabla de verdad F = m0 · m3 · m5 · m6 No. 0 Figura 1.7 Tabla de verdad para el problema de votación FPDS =(A+B+C)(A+B'+C')(A'+B+C')(A'+B'+C) Producto de sumas (PDS) Es la agrupación de maxitérminos (o cualquier otro producto de variables lógicas) en una operación de producto lógico. conclusión 0 1 2 3 4 5 6 7 H (Hugo) Una vez que se establece la función determinada por el problema, hay varias propiedades aplicables a él, las cuáles se muestran a continuación: Función canónica Función lógica en donde en cada uno de sus términos debe contener todas las variables asociadas al problema. ACTIVIDad El alumno Juan acredita el examen cuando al menos dos de los tres maestros (Hugo, Paco y Luis) votan a su favor. Esta es la tabla de verdad que representa este problema. Variables GLOSARIO Temas capítulo 1 18 1. Introducción a los automatismos y los sistemas de control lógico 1.3 Representación de funciones boolenas: gráficas, tabular y ecuaciones lógicas Automatismos lógicos programables y reconfigurables Temas capítulo 1 19 1. Introducción a los automatismos y los sistemas de control lógico 1.3 Representación de funciones boolenas: gráficas, tabular y ecuaciones lógicas Actividad de repaso Tema 1.3 Representación de funciones boolenas: gráfica, tabular y ecuaciones lógicas ACTIVIDad conclusión glosario recursos Pág. 4 de 5 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables Temas capítulo 1 20 1. Introducción a los automatismos y los sistemas de control lógico 1.3 Representación de funciones boolenas: gráficas, tabular y ecuaciones lógicas ACTIVIDad Conclusiones del tema A lo largo de este tema se abordaron los enunciados o problemas de lenguaje natural, su asignación de variables a cada uno de los enunciados que lo conforman y su traducción a una ecuación general con la cual se puede representar un determinado sistema. conclusión En ocasiones no se puede plantear el problema a partir de un enunciado debido a la cantidad de condiciones que conlleva y/o la cantidad de variables que intervienen por lo que es necesario generar tablas de verdad para asegurarse de que se están considerando todas las posibles combinaciones que se pueden presentar como datos de entrada a un sistema. glosario Una vez que se tiene la función o funciones se puede representar a través de diagramas de compuertas, es decir, diagramas lógicos y se puede evaluar, dependiendo de las condiciones de entrada, las salidas que se están generando. recursos Pág. 5 de 5 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables 1.4 Métodos de minimización: por teoremas, mapas de Karnaugh, Quine-McCluskey Cuando se inicia con el proceso de simplificación de expresiones, las leyes y teoremas del álgebra de Boole son una excelente herramienta para este proceso. Conoce cuáles son en la siguiente tabla: ACTIVIDad Una vez que se tienen planteadas las ecuaciones a un problema dado, si tratáramos de realizar algún tipo de actividad con ellas estarían en una forma extendida por lo que al momento de simularlas o implementarlas físicamente nos ocuparían una gran cantidad de componentes y podríamos cometer una gran cantidad de errores que al momento de querer revisar llevaría mucho tiempo y esfuerzo. Leyes y teoremas del álgebra de Boole Temas capítulo 1 21 1. Introducción a los automatismos y los sistemas de control lógico 1.4 Métodos de minimización: por teoremas, mapas de Karnaugh, Quine-McCluskey Debido a ello, se elige alguno de los métodos de simplificación que se conozcan o de los aquí expuestos, para lograr trabajar con una ecuación mínima equivalente a la original y que sea más sencilla de tratar. conclusión glosario Tabla 1.2 Leyes y teoremas del álgebra de Boole. recursos Pág. 1 de 6 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables Siguiendo con el ejemplo de votación, se tiene la ecuación: J = H´PL + HP´L + HPL´ + HPL Aplicando las leyes y teoremas del álgebra, llegamos a: J = H´PL + HP´L + HP(L´ + L) = H´PL + HP´L + HP ACTIVIDad = H´PL + H(P´L + P) = H´PL + H(L + P) Este circuito se implementará en siguientes capítulos en herramientas de lógica programable. Ejemplo de esta implementación es la siguiente gráfica que muestra la especificación, compilación, simulación y análisis de las señales correspondientes al ejemplo abordado especificado en un lenguaje descriptor de hardware: Temas capítulo 1 22 1. Introducción a los automatismos y los sistemas de control lógico 1.4 Métodos de minimización: por teoremas, mapas de Karnaugh, Quine-McCluskey = H´PL + HL + HP = L(H´P + H) + HP = L(P + H) + HP = LP + LH + HP (Ecuación simplificada) La ecuación mínima puede ser evaluada a través de un tren de pulsos o diagrama de tiempos: J = LP + LH + HP conclusión H P L Tabla 1.11 Simulación del problema de votación. (Elaboración propia con MAX + plus II). Figura 1.10 Diagrama de tiempos para el problema de votación. glosario J recursos Pág. 2 de 6 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables GLOSARIO Mapa de Karnaugh Representación gráfica de una tabla de verdad que permite simplificar la función lógica representada a través de la aplicación sucesiva de la ley asociativa. Mapas de Karnaugh ACTIVIDad Cuando tenemos tres o más variables en un problema, el uso de las leyes ya no es lo más recomendable porque se pueden cometer errores en la aplicación de alguna de ellas y llegar a un resultado incorrecto; es por ello que existe un método gráfico denominado mapas de Karnaugh. Temas capítulo 1 23 1. Introducción a los automatismos y los sistemas de control lógico 1.4 Métodos de minimización: por teoremas, mapas de Karnaugh, Quine-McCluskey El mapa de Karnaugh es una visualización gráfica similar a una tabla de verdad en el cual se especifican los valores de la función para cada una de las combinaciones de las variables de entrada de la misma. conclusión Al tener esta visualización del problema, antes de simplificar hay que observar las asociaciones que se forman, y tener presente lo que se busca a través del mapa. Para simplificar una función lógica con mapas de Karnaugh se deben seguir los siguientes pasos. glosario recursos Pág. 3 de 6 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables Método tabular de Quine-McCluskey Conoce los pasos a seguir para la aplicación del método tabular de Quince-McCluskey. Método de Quine-McCluskey Método tabular para realizar simplificación de expresiones. ACTIVIDad En ocasiones la cantidad de variables que se manejan ya no son adecuadas para trabajarse por álgebra de Boole y/o mapas de Karnaugh, por lo que entonces se tienen que utilizar otros métodos, uno de ellos es el método tabular de Quine-McCluskey. GLOSARIO Temas capítulo 1 24 1. Introducción a los automatismos y los sistemas de control lógico 1.4 Métodos de minimización: por teoremas, mapas de Karnaugh, Quine-McCluskey Los pasos para aplicar este método son: Establecer la función canónica del problema a resolver. conclusión Realizar una tabla de grupos de acuerdo a la cantidad de unos de cada término de la función. Se inicia combinando los grupos adyacentes y se repite este paso hasta que no haya más términos por combinar. glosario Se realiza la tabla de cubos primos, en donde aparecen en columna todos los términos de la función canónica y como renglones los términos que resultaron de las combinaciones de grupos. Se realiza un barrido para saber si los términos simplificados cubren a los términos básicos y para saber si hay redundancias. A partir de la tabla se genera la ecuación simplificada. recursos Ejemplo: F(A,B,C) = A´B´C+ AB´C´ + AB´C+ AB Pág. 4 de 6 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables Temas capítulo 1 25 1. Introducción a los automatismos y los sistemas de control lógico 1.4 Métodos de minimización: por teoremas, mapas de Karnaugh, Quine-McCluskey ACTIVIDad Conclusiones del tema conclusión Dependiendo de la cantidad de variables que se manejan es el método de solución que se recomienda, si estamos trabajando dos o tres variables en el problema se puede simplificar a través de las leyes y teoremas del álgebra de Boole. Cuando ya tenemos tres o cuatro variables se recomienda trabajar con mapas de Karnaugh siempre y cuando se sigan las reglas básicas para lograr una buena simplificación. glosario Por otro lado, cuando queremos programar un método de simplificación o tenemos más de cuatro variables, aunque se puede trabajar con cualquiera de los dos métodos anteriores (leyes o mapas), se recomienda evolucionar a métodos que nos permita detectar errores más fácilmente a medida que crece la complejidad del sistema, uno de ello sería Quine-McCluskey. recursos Pág. 6 de 6 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables 1. Introducción a los automatismos y los sistemas de control lógico Actividad integradora del Capítulo 1 Temas capítulo 1 26 Capítulo 1. Introducción a los automatismos y los sistemas de control lógico ACTIVIDad conclusión glosario recursos Pág. 1 de 1 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables Temas capítulo 1 27 1. Introducción a los automatismos y los sistemas de control lógico Conclusión del capítulo 1 Capítulo 1. Introducción a los automatismos y los sistemas de control lógico La minimización de las relaciones lógicas del automatismo se abordó desde tres puntos diferentes: de manera algebraica, a través de la aplicación de las leyes boolenas a la ecuación lógica que representa al automatismo, método que se considera apropiado para la minimización de ecuaciones lógicas razonablemente pequeñas; se usó un método gráfico conocido como mapas de Karnaugh, que traduce el concepto algebraico de variable común entre términos a una forma visual más fácil de identificar a través del concepto de grupo de elementos; este método es adecuado para automatismos con un máximo de 5 variables. Finalmente se abordó un método iterativo apropiado para ser implementado como un programa de computadora, que nos permitirá minimizar ecuaciones lógicas con cualquier cantidad de variables. glosario Como primer elemento se deben identificar las variables necesarias de entrada y de salida en el problema a resolver con la finalidad de especificar la dependencia de manera tabular. Esta especificación nos permitirá representar el problema como una relación lógica conocida como ecuación booleana, misma que representa el comportamiento del automatismo a sintetizar. conclusión Esta ecuación debe ser minimizada en sus términos y literales para garantizar una implementación con la menor cantidad de componentes, lo que nos lleva a minimizar también la energía necesaria para la operación del automatismo, la cantidad de componentes, el espacio físico de su realización y finalmente el costo asociado, todos ellos factores fundamentales en el desarrollo de un diseño combinacional eficiente. ACTIVIDad En este capítulo hemos presentado una breve descripción del propósito de este eBook a través de una panorámica de los automatismos lógicos, sus características, métodos de especificación y tecnologías de realización. Particularmente se abordaron los fundamentos requeridos para la adecuada especificación, diseño e implementación de los automatismos lógicos del tipo combinacional, apegándonos a las leyes lógicas del álgebra de Boole. recursos Pág. 1 de 1 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables Temas capítulo 1 ACTIVIDad A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z F Bit Función canónica Cantidad mínima de información en un sistema lógico y puede tener el valor 0 (nivel bajo) o 1 (nivel alto), encendido (ON) o apagado (OFF). Función lógica en donde en cada uno de sus términos debe contener todas las variables asociadas al problema. Byte Función simplificada Agrupamiento de bits formado por 8 de ellos. O también conocida como función minimizada, es la función que se obtiene al aplicar las leyes y teoremas del álgebra de Boole para obtener la función equivalente con la menor cantidad de variables. C recursos Código Conjunto de bits cuyas combinaciones de valores representan datos y que en algunos casos representan determinada acción. Pág. 1 de 2 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. glosario B conclusión Glosario del capítulo 1 Automatismos lógicos programables y reconfigurables A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z P Mapa de Karnaugh Producto de sumas (PDS) Representación gráfica de una tabla de verdad que permite simplificar la función lógica representada a través de la aplicación sucesiva de la ley asociativa. Es la agrupación de maxitérminos (o cualquier otro producto de variables lógicas) en una operación de producto lógico. Maxitérmino Método de Quine-McCluskey Método tabular para realizar simplificación de expresiones. Conjunto de variables agrupadas a través de la operación Y lógica (producto lógico) y que representa una combinación única de todas las variables de entrada. Suma de productos (SDP) Es la agrupación de minitérminos (o cualquier otra suma de variables lógicas) en una operación de suma lógica. T Tabla de verdad Especificación exhaustiva de todas las combinaciones posibles en los valores de las variables de entrada en un determinado problema, donde se muestran también los correspondientes valores de una o más variables (denominadas variables de salida) que están asociados a cada una de las combinaciones. Pág. 2 de 2 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. recursos glosario Minitérmino S conclusión Conjunto de variables agrupadas a través de la operación O lógica (suma lógica) y que representa una combinación única de todas las variables de entrada. ACTIVIDad M Temas capítulo 1 Glosario del capítulo 1 Automatismos lógicos programables y reconfigurables Temas capítulo 1 ACTIVIDad conclusión Recursos del capítulo 1 »» Altera, Quartus II Software Online Demonstrations Center glosario Una referencia obligada a la herramienta introducida en este capítulo lo representa el conjunto de tutoriales en línea que describen los diferentes procesos para trabajar con la herramienta Quartus II de la compañía Altera. »» Interactive Mathematics Miscellany and Puzzles Las tablas de suma y multiplicación en diferentes bases se pueden generar en el siguiente sitio: Bogomolny. A. Addition and multiplication tables in various bases. recursos »» Sede web del sitio Mundo Maya Pág. 1 de 1 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables Índice Introducción del eBook�������������������������������������������������������������������������������������3 1.1 Fundamentos, aplicaciones y estado del arte de los automatismos lógicos����������������������������������������������������������������������������������������5 Conclusiones del tema������������������������������������������������������������������������������9 1.2 Sistemas numéricos y operaciones aritméticas básicas������������10 Operaciones aritméticas�����������������������������������������������������������12 Actividad de repaso���������������������������������������������������������������������������������14 Conclusiones del tema����������������������������������������������������������������������������15 1.3 Representación de funciones boolenas: gráfica, tabular y ecuaciones lógicas����������������������������������������������������������������������������������16 Generación de funciones básicas���������������������������������������������17 Propiedades de las funciones ��������������������������������������������������18 Actividad de repaso���������������������������������������������������������������������������������19 Conclusiones del tema����������������������������������������������������������������������������20 1.4 Métodos de minimización: por teoremas, mapas de Karnaugh, Quine-McCluskey�����������������������������������������������������������������������������21 Leyes y teoremas del álgebra de Boole�����������������������������������21 Mapas de Karnaugh�����������������������������������������������������������������23 Método tabular de Quine-McCluskey���������������������������������������24 Conclusiones del tema����������������������������������������������������������������������������25 Ejercicio integrador del Capítulo 1�����������������������������������������������������������������26 Conclusión del capítulo 1�������������������������������������������������������������������������������27 Glosario del capítulo 1������������������������������������������������������������������������������������28 Recursos del capítulo 1 ���������������������������������������������������������������������������������30 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. 2.1 Circuitos lógicos neumáticos básicos����������������������������������������32 Actividad de repaso���������������������������������������������������������������������������������33 Conclusiones del tema����������������������������������������������������������������������������34 2.2 Circuitos de control secuencial con relevadores eléctricos�������35 Actividad de repaso���������������������������������������������������������������������������������38 Conclusiones del tema����������������������������������������������������������������������������39 2.3 Diseño de circuitos lógicos combinatorios con circuitos integrados comerciales�������������������������������������������������������������������������������40 Actividad de repaso���������������������������������������������������������������������������������50 Conclusiones del tema����������������������������������������������������������������������������51 Tema 2.4 Diseño de circuitos secuenciales con elementos discretos ���������������������������������������������������������������������������������������������������������52 Actividad de repaso���������������������������������������������������������������������������������59 Conclusiones del tema����������������������������������������������������������������������������60 Actividad integradora �����������������������������������������������������������������������������61 Conclusión del capítulo 2�������������������������������������������������������������������������������62 Glosario del capítulo 2������������������������������������������������������������������������������������63 Glosario del capítulo 2������������������������������������������������������������������������������������64 Recursos del capítulo 2����������������������������������������������������������������������������������65 3.1 Arquitectura de los dispositivos lógicos programables avanzados: CPLDs y FPGAs����������������������������������������������������������������������67 Conclusiones del tema����������������������������������������������������������������������������73 3.2 Lenguajes descriptores de hardware (HDLs)����������������������������74 Conclusiones del tema����������������������������������������������������������������������������81 3.3. Sistemas de desarrollo para lógica programable����������������������82 Conclusiones del tema����������������������������������������������������������������������������83 Automatismos lógicos programables y reconfigurables Índice 3.4 Implementación de circuitos combinacionales y secuenciales con lógica programable��������������������������������������������������������������������������84 Conclusiones del tema����������������������������������������������������������������������������85 Actividad integradora del capítulo 3���������������������������������������������������������������86 Conclusión del capítulo 3�������������������������������������������������������������������������������87 Glosario del capítulo 3������������������������������������������������������������������������������������88 Recursos del capítulo 3����������������������������������������������������������������������������������90 5.4 Diseño de sistemas de control con lógica programable usando PACs����������������������������������������������������������������������������������������������121 Conclusiones del tema��������������������������������������������������������������������������125 Actividad integradora del capítulo 5�������������������������������������������������������������126 Conclusión del capítulo 5�����������������������������������������������������������������������������127 Glosario del capítulo 5����������������������������������������������������������������������������������128 Recursos del capítulo 5��������������������������������������������������������������������������������130 4.1 Introducción a los PLCs�������������������������������������������������������������92 Conclusiones del tema����������������������������������������������������������������������������94 4.2 Arquitectura de los PLCs�����������������������������������������������������������95 Conclusiones del tema����������������������������������������������������������������������������97 4.3 Programación de los PLCs��������������������������������������������������������98 Conclusiones del tema��������������������������������������������������������������������������102 4.4 Diseño de sistemas de control lógico utilizando PLCs������������103 Conclusiones del tema��������������������������������������������������������������������������105 Actividad integradora del capítulo 4 ������������������������������������������������������������106 Conclusión del capítulo 4�����������������������������������������������������������������������������107 Glosario del capítulo 4����������������������������������������������������������������������������������108 Recursos del capítulo 4�������������������������������������������������������������������������������� 110 Ligas de interés��������������������������������������������������������������������������������������������131 Glosario general�������������������������������������������������������������������������������������������133 Referencias��������������������������������������������������������������������������������������������������136 Índice������������������������������������������������������������������������������������������������������������137 Aviso legal����������������������������������������������������������������������������������������������������139 5.1 Introducción a LabVIEW���������������������������������������������������������� 112 Conclusiones del tema�������������������������������������������������������������������������� 114 5.2 Empleo de una tarjeta de adquisición de datos con LabVIEW115 Conclusiones del tema�������������������������������������������������������������������������� 117 5.3 Programación de un FPGA con LabVIEW������������������������������� 118 Conclusiones del tema��������������������������������������������������������������������������120 D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012. Automatismos lógicos programables y reconfigurables Aviso legal Fuentes Valdéz, Ramona Automatismos lógicos programables y reconfigurables / Ramona Fuentes Valdéz, Pedro Nájera García. p. cm. 1. Automatismo 2. Controladores programables 3. Automatización I. Nájera García, Pedro LC: TJ213 Dewey: 629.8 eBook editado, diseñado, publicado y distribuido por el Instituto Tecnológico y de Estudios Superiores de Monterrey. Se prohíbe la reproducción total o parcial de esta obra por cualquier medio sin previo y expreso consentimiento por escrito del Instituto Tecnológico y de Estudios Superiores de Monterrey. D.R.© Instituto Tecnológico y de Estudios Superiores de Monterrey, México. 2012 Ave. Eugenio Garza Sada 2501 Sur Col. Tecnológico C.P. 64849 | Monterrey, Nuevo León | México. ISBN en trámite. Primera edición: agosto 2012. D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2012.