Domóticas - Conceptos Básicos de Programación Con Microcontroladores

March 30, 2018 | Author: Sergio Daniel Martínez Gómez | Category: Logic Gate, Decimal, Function (Mathematics), Equations, Relay


Comments



Description

DomóticaConceptos básicos de programación con microcontroladores Introducción L os autómatas programables, o PLC, se diseñaron para el control de instalaciones industriales, con unos grandes requerimientos en cuanto a rapidez y capacidad de realizar automatizaciones muy complejas. En los últimos tiempos, gracias al rápido progreso de la electrónica y a la ampliación de las aplicaciones de la electricidad en casi todos los campos, se han venido desarrollando versiones más sencillas de estos PLC para aplicaciones específicas menos complejas. Son los microcontroladores o relés programables. En muchas instalaciones domóticas nos vamos a encontrar con la necesidad de realizar automatismos sencillos para controlar subsistemas integrados en la instalación que, por sus características, se automatizan de una forma muy conveniente mediante pequeños cuadros con elementos de lógica cableada, o incluso con relés programables. Entre estos sistemas se encuentran, por ejemplo: sistemas complejos de alumbrado tanto en interiores como en exteriores, instalaciones de ventilación, sistemas de bombeo para extracción de pozos, controles de acceso, puertas automatizadas, garajes, instalaciones complejas de generación y gestión de calor y frío, aparcamientos, control de pequeña maquinaria, instalaciones agrícolas, además de las instalaciones domóticas propiamente dichas, para las que también son muy válidos, etcétera. La automatización de estos sistemas se realiza de forma natural y muy apropiada con la tecnología de automatización industrial aplicada a este entorno domótico. Por ello, en la presente unidad se va a estudiar la tecnología de automatización industrial, aprendiendo a desarrollar, desde el punto de vista de la lógica cableada y de la programación, pequeños sistemas automatizados que den respuesta a esta necesidad. Los relés programables presentan una facilidad de montaje, de uso y de mantenimiento muy considerables, siendo muy compactos y ocupando muy poco espacio; presentan también una programación relativamente sencilla. Estas características los hacen muy adecuados para los usos externos a la actividad industrial. . LÓGICA BÁSICA Variable binaria y álgebra de Boole de aplicación al instalador.Esquema de contenido CONCEPTOS BÁSICOS DE PROGRAMACIÓN. EJERCICIOS RESUELTOS RELÉ PROGRAMABLE ZELIO DE SCHNEIDER ELECTRIC Y LOGO DE SIEMENS Relé programable Zelio de Schneider Electric Relé programable Logo de Siemens . Sistemas de numeración Sistemas combinacionales y secuenciales básicos. Ejercicios resueltos PROGRAMACIÓN CON GRAFCET. un actuador. Por lo tanto. tal como una lámpara. puesto que para determinar si la corriente pasa o no tendremos que conocer. ya sea bajo la forma 1 Nota: es un error muy común el confundir. En otras palabras. el estado "accionado" o "sin accionar" del interruptor o del pulsador con que sus contactos dejen pasar la corriente o no. la lógica binaria es una herramienta muy poderosa para definir y entender los sistemas de automatización de todo tipo. si el contacto eléctrico del elemento que se está usando es del tipo normalmente abierto o del tipo normalmente cerrado. o apagados (estado de funcionamiento que asociaremos al estado lógico 0). la lógica binaria define la forma de relacionarse entre sí de los elementos de automatización que sólo tienen dos estados de funcionamiento. Este carácter binario (sólo 2 estados posibles) de la mayoría de los dispositivos de instalaciones automatizadas hace posible que las asociaciones entre los mismos para formar una instalación concreta se puedan traducir en operaciones matemáticas sencillas entre variables que irán asociadas una a una con cada elemento de la instalación. Sistemas de numeración Existen un gran número de dispositivos de aplicación en instalaciones automatizadas que presentan sólo dos estados estables en su funcionamiento. un receptor genérico.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA Variable binaria y álgebra de Boole de aplicación al instalador. realizaremos las siguientes asociaciones lógicas con respecto a los estados de funcionamiento de los siguientes elementos de instalaciones automatizadas: Estado lógico – Estado de funcionamiento Estado lógico – Estado de funcionamiento Interruptor 1 ∩ accionado1 0 ∩ sin accionar1 Lámpara 1 ∩ encendida 0 ∩ apagada 1 ∩ con tensión de alimentación 0 ∩ sin tensión de alimentación Electroválvula 1 ∩ con tensión de mando 0 ∩ sin tensión de mando Válvula neumática 1 ∩ con presión de pilotaje 0 ∩ sin presión de pilotaje 1 ∩ accionado1 0 ∩ sin accionar1 Elemento Motor Pulsador Tabla 1. un motor. 6 . Por ejemplo. además. pueden estar encendidos (estado de funcionamiento que asociaremos al estado lógico 1). Asociaciones lógicas con respecto a los estados de funcionamiento. etc. como más adelante se explicará. En general.. o de los diferentes lenguajes de programación de microcontroladores e incluso de autómatas programables. Sistemas de numeración Matemáticamente. LÓGICA BÁSICA de lógica cableada. o bien 0 o bien 1. Son ejemplos de sistemas de numeración: Cantidad (número) Sistema decimal Código binario natural Código reflejado de Gray Cero 0 0000 0000 Uno 1 0001 0001 Dos 2 0010 0011 Tres 3 0011 0010 Cuatro 4 0100 0110 Cinco 5 0101 0111 Seis 6 0110 0101 Siete 7 0111 0100 Ocho 8 1000 1100 Nueve 9 1001 1101 Diez 10 1010 1111 Once 11 1011 1110 Doce 12 1100 1010 Trece 13 1101 1011 Catorce 14 1110 1001 Quince 15 1111 1000 Tabla 2. 7 . de gran aplicación en las instalaciones domóticas y automatizadas. podemos representar cantidades (números) de formas muy diferentes. que llamaremos “sistemas de numeración”. y los resultados sólo pueden ser. Emplearemos un sistema u otro en función de la utilidad que nos proporcione para una determinada aplicación. Las reglas matemáticas que definen las operaciones que se pueden hacer sobre las variables binarias se denominan. también. el álgebra de Boole. en conjunto. sin embargo. que realiza operaciones solamente con los dos valores posibles: 0 y 1. por lo que no las repetiremos en esta unidad. Sistemas de numeración. Sí vamos a desarrollar.CONCEPTOS BÁSICOS DE PROGRAMACIÓN. Ya has estudiado las reglas del álgebra de Boole y sus propiedades en la unidad dedicada a la electrónica. sus aplicaciones en el campo de las instalaciones automatizadas en base a circuitos lógicos cableados y programación de microcontroladores. el número 2. Los códigos binario natural y reflejado de Gray son de gran aplicación en programación de sistemas de naturaleza binaria. y de su posición dentro del número (su valor se verá multiplicado por 10 con cada posición que nos movamos a la izquierda). tres. éste número se puede expresar como la suma de los siguientes: 2. excepto el propio cero. ya estudiaste en la unidad dedicada a la electrónica que para construir el número siguiente en dicho código a partir del anterior. En el código binario.437 = 2. dado que todos sus dígitos pueden tomar tan sólo los valores 0 ó 1. en realidad hemos representado dieciséis números. con los que se construyen cantidades más grandes 8 .000 + 400 + 30 + 7 = 2 x 1000 + 4 x 100 + 3 x 10 + 7 x 1 Recordaremos que cualquier número.. Por ejemplo. etc. mientras que. 4. no será tan familiar la representación en el código reflejado de Gray. no hay una regla tan sencilla para construir el código reflejado de Gray. entonces se pondrá un cero a la izquierda de la fila de unos. seguramente. A partir de estos diez dígitos se construyen cantidades más grandes uniéndolos en grupos de dos. Emplea diez símbolos o dígitos: 0. como los estados de funcionamiento de la mayoría de elementos de automatización. dado que es el que empleamos en nuestra vida cotidiana. consiguiendo representar cantidades tan altas como sea necesario. 3. puesto que el primero de ellos es el cero. hay que ir haciendo aparecer los unos en la posición más a la derecha que estén ocupadas por cero y si dichas posiciones ya están ocupadas por unos. En otras palabras. como se verá próximamente. como recordarás en la unidad 4. En la tabla anterior nos resulta muy familiar la representación de las cantidades en sistema decimal y sistema binario (estudiados en la unidad 4).CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES Nos fijaremos en que aunque hemos llegado a representar el número quince. 1. 2. elevado a cero da como resultado el 1. En cuanto al código binario natural. sustituyendo los anteriores por ceros. 8 y 9. 5. se emplean únicamente dos dígitos: 0 y 1. 6. Sistema decimal y código binario natural El sistema decimal de numeración es el que nos resulta más familiar. Sin embargo. 7. cuatro.437 se compone de cuatro dígitos unidos y cada uno de los mismos tiene un valor que depende de sí mismo (de qué dígito se trata de entre los diez posibles). que cualquier número. en el código binario los dígitos toman su valor dependiendo de cuál de ellos se trate y de la posición en la que vaya colocado dentro del número. elevado a cero da como resultado el 1). expresado en sistema decimal (recuerda.. 11110. Para formar el número en código binario equivalente al decimal inicial. de nuevo. Conversión de un número binario en decimal. De la misma forma que en el sistema decimal. multiplicaremos cada uno de los dígitos del mismo por el peso correspondiente a la posición que ocupa y sumaremos todos los resultados. tres. como se realiza a continuación con el número binario 1011101: Dígitos binarios del número 1 0 1 1 1 0 1 Posición del dígito 6 5 4 3 2 1 0 Peso de la posición (la base de la potencia es 2 porque es sistema binario) 26 25 24 23 22 21 20 Peso en sistema decimal 64 32 16 8 4 2 1 1 x 64 0 x 32 1 x 16 1x8 1x4 0x2 1x1 64 0 16 8 4 0 1 Dígito binario x peso decimal Valor decimal de cada posición binaria RESULTADO = Suma de todos los valores decimales 93 Tabla 3. Conversión de un número en sistema decimal a su equivalente en código binario Para pasar un número expresado en sistema decimal a su equivalente en código binario hay que dividir el número por 2 sucesivamente hasta que el último cociente sea 1. 10. cada vez que nos movemos una posición a la izquierda representa una potencia creciente de dos (al igual que en el sistema decimal representaba una potencia creciente de 10). cuatro. etc. Conversión de un número en código binario a su equivalente en sistema decimal Para pasar un número expresado en código binario a su equivalente en el sistema digital. 1001. excepto el propio cero. 9 . etc. Son números en sistema binario. los siguientes: 1110001. el número que en código binario natural se expresa como 1011101. En este caso. con lo que también se consigue representar cantidades tan altas como sea necesario. se colocará en la posición más a la izquierda el último cociente y a su derecha se irán colocando los restos de las divisiones sucesivas subiendo por la operación de división desde el último cociente hasta el primero.CONCEPTOS BÁSICOS DE PROGRAMACIÓN. por ejemplo. Por lo tanto. LÓGICA BÁSICA uniéndolos en grupos de dos. equivale al 93. con lo que queda completo el código reflejado de dos dígitos: 10 . de forma que cada número quede a la misma distancia de la línea por debajo de la misma que tenía el número original por arriba. Después de esto completaremos la tabla rellenando con un cero a la izquierda para todos los números por encima de la línea y con un uno a la izquierda para todos los números por debajo de la misma. Veamos algunos ejemplos empezando desde el más sencillo: Formación del código reflejado de dos dígitos a partir del código reflejado de uno: El código reflejado de un dígito es el más sencillo posible. partimos del código reflejado correspondiente a un dígito menos (n-1). Vamos a ver a continuación cómo se forma el mismo. Para formar el código reflejado de n dígitos (bits). trazamos una línea por debajo y reflejamos los números existentes como en un espejo: Y finalmente completamos con ceros a la izquierda por encima de la línea y con unos a la izquierda por debajo de la misma.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES Veamos el 93 del ejemplo anterior: Código reflejado de Gray En lógica binaria (recuerda que es una herramienta muy potente para definir y entender los sistemas binarios de automatización) tiene un gran interés para ciertas operaciones el código binario de Gray. Por debajo de esta línea escribiremos el mismo código que existe por encima pero en orden inverso. y a continuación trazamos una línea debajo de la tabla que servirá de eje de reflexión (como en un espejo). puesto que solamente tiene dos números. de un dígito cada uno: 0 1 A partir del mismo. En la tabla 2. pero no para el correspondiente código binario natural. por ejemplo. El código reflejado de Gray tiene la propiedad de que al pasar de un número al siguiente (de una fila a la siguiente dentro del código reflejado). hasta la combinación de los mismos para montar sistemas automáticos más complejos. LÓGICA BÁSICA Formaremos ahora el código reflejado de Gray de tres dígitos a partir del código de 2 que acabamos de hacer. puedes observar cómo esto se cumple para el código reflejado de cuatro dígitos. Más adelante veremos su utilidad en la simplificación de funciones lógicas mediante las tablas de Karnaugh. Primero reflejar hacia abajo: Y por último completar con ceros a la izquierda por encima de la línea y con unos a la izquierda por debajo de la línea: Y así sucesivamente se van formando los códigos reflejados de más dígitos. desde los elementos lógicos más básicos (funciones lógicas básicas).CONCEPTOS BÁSICOS DE PROGRAMACIÓN. Simplificación En este apartado vamos a estudiar las relaciones entre los elementos que componen un sistema automático con elementos binarios (de funcionamiento todo-nada). Será necesario definir la relación 11 . Funciones lógicas. del principio del apartado. solamente cambia un dígito. aplicadas a los sistemas automatizados que se basan en esquemas cableados y programación de microautómatas. Imaginemos. el diseño del automatismo que gobierna la apertura y cierre de una puerta automática comandada por dos células detectoras de movimiento y con una seta de emergencia (el caso típico de las puertas automáticas de los centros comerciales). contactores. el diagrama lógico de bloques y las ecuaciones lógicas constituyen otros dos lenguajes de programación de microcontroladores. llamamos función lógica a la relación entre las diversas variables del sistema automático que nos definirá el funcionamiento de las salidas del mismo. por compleja que sea. relés y sus contactos principales y auxiliares). El método matemático de las tablas de verdad. En nuestro ejemplo. también llamados lenguaje de programación por bloques lógicos y lenguaje de comandos o lista de instrucciones. 12 . Es muy interesante conocer los cuatro métodos de expresión de las funciones lógicas. dado que para los pequeños automatismos aún se emplean habitualmente. Los sistemas automáticos con elementos binarios se pueden realizar con tecnologías diferentes. para que la tensión que llega desde la alimentación del sistema automático llegue a la bobina del contactor que comanda el motor justo cuando queremos (cuando uno de los dos detectores o los dos simultáneamente detecten movimiento y la seta de emergencia no esté pulsada). entre los elementos de las instalaciones automatizadas (lógica de automatismos) para definir el comportamiento de la instalación en conjunto se puede expresar como la unión de las relaciones más básicas entre dos elementos (funciones lógicas básicas). entre sí y con el contacto de la seta de emergencia. Con esta relación (función lógica que se puede expresar indistintamente con cualquiera de los cuatro métodos mencionados). pequeños circuitos de lógica cableada basados en relés y contactores. Asimismo. El diagrama lógico de bloques. Cualquier relación. Los métodos mencionados son los más interesantes a la hora de realizar los automatismos sencillos que vamos a necesitar en muchas aplicaciones domóticas.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES entre las entradas del sistema automático (las células detectoras de movimiento y la seta de emergencia) y la salida del sistema (el contactor que comanda el motor de accionamiento de la puerta). De esta forma conseguimos definir un sistema automatizado con un funcionamiento tan complejo como queramos. a la vez que muchos microcontroladores se pueden programar con un lenguaje prácticamente idéntico a los esquemas de lógica cableada. Las ecuaciones lógicas. Por lo tanto. la función lógica nos dirá cómo hemos de conectar los contactos eléctricos que nos dan los detectores de movimiento. entre las que se encuentran (no siendo las únicas): El método tradicional de la lógica cableada (fuentes de tensión. por su sencillez y economía. ampliada al número total de elementos que sean necesarios. llamado lenguaje de contactos. podremos realizar el automatismo que nos solucione la necesidad que se pueda presentar. lo cual nos definirá inequívocamente el funcionamiento del automatismo en cuestión. expresadas simultáneamente con los cuatro métodos que hemos mencionado. de aplicar procedimientos de simplificación de las funciones lógicas que nos puedan salir. con objeto de obtener los circuitos de lógica cableada o los programas de automatización de microcontrolador del tamaño más pequeño posible que nos permitan solucionar la necesidad de automatización de la forma más sencilla y por tanto más económica posible. el método de expresión de las funciones lógicas mediante tablas de verdad será útil a la hora de diseñar sistemáticamente pequeños automatismos que respondan a pequeñas necesidades. que siempre designaremos como “S” y que representa la variable de salida de la función. FUNCIÓN “NOT”. y cómo se combinan para formar funciones lógicas más complejas. y la columna de la salida. la salida de la función NOT o NEGACIÓN es un 1 cuando la entrada es un 0 y un 0 cuando la entrada es un 1. la tabla de verdad se compone de dos partes diferenciadas: a la izquierda se colocan las columnas de las entradas. Expresada mediante la lógica cableada queda: 13 .CONCEPTOS BÁSICOS DE PROGRAMACIÓN. Como vemos. Expresada con su tabla de verdad queda: Como puedes observar. en función de los estados que deben tomar las salidas del sistema automático a partir de los estados de las entradas del mismo. LÓGICA BÁSICA Por último. Devuelve en su salida la variable que encuentra en su entrada. Partiendo de las tablas de verdad seremos capaces. en este caso la de “a”. que representa la variable de entrada a la función. como veremos más adelante. Funciones lógicas básicas A continuación vamos a estudiar las funciones lógicas básicas. NEGACIÓN o INVERSIÓN La función NOT es la más sencilla. En las columnas de las entradas colocaremos siempre todos los valores posibles que puedan tomar las variables de entrada de la función lógica. pero negada. que puede tomar los valores expresados en su columna (0 y 1). Para S. La función NOT se puede expresar en lógica cableada de forma más sencilla si queremos negar solamente la entrada de un pulsador. Y al contrario. existente en la línea horizontal superior.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES “a” representa la variable de entrada a la función lógica. cuando pulsamos “a”. dado que sí le llega tensión. La ecuación lógica para K es: K=a Dado que encima del consumo de la bobina de K sólo está el contacto del pulsador que representa a la variable de entrada “a”. dado que K recibe tensión y K negado se abre. con lo que sus contactos cambian de estado y el contacto normalmente cerrado representado por K negada (la negación se expresa con una línea horizontal encima de la letra que representa a la variable). tendremos dos salidas: K y S. Para realizar esta función en lógica cableada es necesario intercalar un relé intermedio que denominamos en este caso “K”. Como el relé intermedio está conectado en su otro borne (el inferior) a 0 voltios. ya no recibe tensión. S = 1. y la tensión V. las condiciones lógicas (asociaciones serie-paralelo y mixtas) que vayan cableadas por encima de los consumos se representarán a la derecha del igual. en el esquema anterior. La ventaja de expresarla mediante un relé intermedio y un contacto normalmente cerrado de este relé reside en que de esta forma podremos negar cualquier función lógica que se encuentre en la línea de mando del relé intermedio. A partir del esquema eléctrico cableado es muy sencillo deducir las ecuaciones lógicas que expresan la función lógica: tendremos en cuenta que tanto las bobinas de los relés/contactores como los pilotos de señalización (así como cualquier consumo eléctrico que se coloque directamente sobre la línea de 0 V del esquema). La salida está representada en este esquema por el piloto de señalización “S”. la ecuación lógica es: S=K 14 . escogiendo en el pulsador un contacto que sea normalmente cerrado con la salida conectada directamente a él. Los elementos (o conjuntos de elementos) en serie irán representados como multiplicaciones en la ecuación lógica. El funcionamiento es el siguiente: pulsamos “a” (establecemos un 1 en la variable “a” de entrada a la función lógica). Tomará el valor 1 si el pulsador está accionado y 0 si no lo está. se tratarán como salidas en las ecuaciones lógicas e irán representadas a la izquierda del igual de la ecuación. aparece en el borne de la bobina del relé intermedio “K”. En resumen: si no pulsamos “a” entonces a = 0 y como el contacto K negado está cerrado. la bobina del relé se encuentra ahora sometida a su diferencia de tensión nominal V (diremos solamente “tensión” en adelante). Por otra parte. por lo que S = 0. ahora se abre. representada en este caso como un pulsador. a = 1 y S = 0. con las condiciones: Las ramas en paralelo equivalen a la función suma en la ecuación lógica. Por lo tanto. Tabla de verdad de la función OR: 15 . a dos variables binarias. K valdrá 1. y viceversa). al menos. Veamos. Veamos cómo se expresa esta función lógica básica según los cuatro métodos.CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA En donde la barra horizontal encima de K indica que la variable está negada (cuando K valga cero. para la negación se utiliza el símbolo siguiente: El círculo que va a la derecha del bloque de la función es el que denota la negación. Su salida es 0 si todas las variables binarias de entrada son 0. con lo que queda la ecuación lógica final: S=a Ya sólo nos queda representar la función lógica negación según el cuarto método: el diagrama lógico de bloques. siendo 1 siempre que al menos una de ellas sea 1 (si fuesen 1 dos o más de las variables de entrada también sería 1 la salida). y donde dice K poner a. Y como K = a según la ecuación anterior. En resumen. la función lógica básica NEGACIÓN nos quedaría expresada según los cuatro métodos de esta forma: Tabla de verdad Diagrama eléctrico cableado Ecuación lógica Diagrama lógico de bloques S=a FUNCIÓN “OR” O SUMA LÓGICA La función OR tiene como entradas. podemos sustituir en esta última. Como puedes observar. Según la ecuación lógica. el bloque lógico que corresponde a la función lógica OR es el siguiente: Resumiendo. “a” y “b”. dado que esta función no incluye la negación. S es cero solamente cuando a y b son cero las dos simultáneamente. “a” y “b”. la salida (el piloto S) es 1 (recibe tensión y por lo tanto se enciende) cuando uno cualquiera de los contactos se cierra (el valor de su variable de entrada es 1) o cuando lo hacen los dos a la vez. y la salida es “S”. según el esquema lógico de bloques. se puede representar directamente por el piloto de señalización “S”. se han representado por los contactos eléctricos de dos pulsadores. como se definió.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES En donde se ve que ahora las entradas son dos. como en la función lógica básica anterior. La salida. la función lógica básica OR se representa según los cuatro métodos como se muestra en la tabla siguiente: Tabla de verdad Diagrama eléctrico cableado Ecuación lógica S=a+b 16 Diagrama lógico de bloques . recordemos que la suma corresponde a colocar dos ramas en paralelo. Veamos: Las variables de entrada. por lo tanto la ecuación lógica quedaría: S=a+b Y por último. y es uno cuando cualquiera de las dos o ambas simultáneamente son uno. recordemos que la función lógica OR equivale a la suma binaria. En el diagrama eléctrico cableado. sin necesidad de un relé o contactor auxiliar K. con lo que tendremos que conectar los contactos que representan las dos entradas eléctricamente en paralelo. Tabla de verdad de la función AND: Verás que la variable de salida “S” es 1 solamente cuando las dos variables de entrada “a” y “b” son 1 simultáneamente. Solamente cuando todas las variables que se multiplican son uno la variable de salida también lo será.CONCEPTOS BÁSICOS DE PROGRAMACIÓN. En el diagrama eléctrico cableado. la función AND equivale a la multiplicación. colocaremos los dos contactos que representan a las dos variables de entrada eléctricamente en serie. de forma que la lógica coincida: solamente pasará la tensión a la salida (el piloto de señalización) cuando ambos contactos estén cerrados simultáneamente. el resultado (la variable de salida). Quedaría: S=axb Y según el esquema lógico de bloques. simultáneamente. el bloque lógico que corresponde a la función AND es el siguiente: 17 . al menos. LÓGICA BÁSICA FUNCIÓN “AND” O PRODUCTO LÓGICO La función AND tiene como entradas. Su salida es cero cuando una de las entradas. cuando ambas entradas sean 1 simultáneamente (ambas accionadas). también será cero. Su salida será 1 solamente cuando todas las variables de entrada sean también 1. al menos. es decir. de forma que si alguna de las variables que se multiplican son cero. Quedaría como sigue: En cuanto a la ecuación lógica. sea cero. a dos variables binarias. la OR y la NOT. Puedes observar fácilmente que consiste justamente en la función opuesta de la OR. para la función AND: Tabla de verdad Diagrama eléctrico cableado Ecuación lógica Diagrama lógico de bloques S=axb FUNCIÓN “NOR” O SUMA LÓGICA NEGADA La función NOR o “suma negada” se consigue aplicando primeramente la función OR o suma y después la función NOT o negación. la NOR. combinando los dos para obtener la NOR tendremos: 18 . dando como resultado la salida final de la función en la columna “S”. desarrollaremos su tabla de verdad a partir de las tablas de verdad de la OR y de la NOT como sigue: Como la función lógica que estamos representando. Para obtener el diagrama eléctrico cableado correspondiente a la función NOR recordaremos que el esquema eléctrico correspondiente a la OR se consigue poniendo las entradas en paralelo y el esquema eléctrico correspondiente a la NOT se consigue con un contacto normalmente cerrado de un relé intermedio. Consecuentemente. por este orden. por lo tanto. se compone de otras dos.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES Resumiendo. primeramente calculamos en la columna OR el resultado de aplicar esta función a las dos entradas “a” y “b” y luego a esta columna le aplicamos la función NOT. En cuanto al diagrama lógico de bloques. 19 . cuando “a” o “b” son uno (simultáneamente o por separado). la bobina del contactor K se activa. Solamente es uno cuando a y b son ambos cero. Naturalmente. tendremos el bloque asociado a la función NOR. observarás que son coincidentes. y por tanto el contacto normalmente cerrado K permanece cerrado. llegando la tensión al piloto de salida (valor de la salida 1). En resumen. simultáneamente. La ecuación lógica de la función NOR es la siguiente: S=a+b En donde puedes observar que la suma corresponde a la función OR y la barra horizontal superior indica la negación posterior a la suma. con lo que el piloto S se apaga (la salida de la tabla de verdad es cero en esos tres casos). pues sólo en este caso la bobina de K no recibe tensión (porque a y b están abiertos). si partimos del bloque correspondiente a la función OR y le añadimos a la salida el círculo que indica la negación posterior. la función NAND se construye aplicando primero la función AND a las entradas y después la función NOT al resultado.CONCEPTOS BÁSICOS DE PROGRAMACIÓN. y el contacto normalmente cerrado de la columna siguiente se abre. las cuatro formas de expresión de la función lógica básica NOR son: Tabla de verdad Diagrama eléctrico cableado Ecuación lógica Diagrama lógico de bloques S=a+b FUNCIÓN “NAND” O PRODUCTO LÓGICO NEGADO De forma similar que con la función NOR. LÓGICA BÁSICA Si te fijas en el funcionamiento del circuito comparado con la tabla de verdad. cuando el contacto normalmente cerrado K se abre. verás cómo coincide: la salida (el piloto S). las cuatro formas de expresión de la función lógica básica NAND son: Tabla de verdad Diagrama eléctrico cableado Ecuación lógica S=axb 20 Diagrama lógico de bloques .CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES La tabla de verdad. lógicamente: En resumen. lo que sucede únicamente cuando a y b están accionados simultáneamente (cuando los dos son simultáneamente 1 en la tabla de verdad). La ecuación lógica de la función NOR queda: S=a↔b Y su diagrama de bloques es. solamente es cero (se apaga). la deducimos como en el caso anterior: En cuanto al diagrama eléctrico cableado. cuando la bobina de K recibe tensión. necesitaremos también un relé intermedio dado que hay que negar el producto una vez realizado: Si comparas el funcionamiento del esquema eléctrico cableado. es decir. En donde “S” es la variable de salida. Cualquier problema de automatización va a requerir relacionar los estados de los elementos de entrada (captadores de información) entre sí para obtener el estado que debe tener un elemento de salida como respuesta a dicha combinación. permanecerá parada (fíjate que no decimos nada para el cierre de la misma. que puede ser cualquiera. por ejemplo. el sistema debe volver a cerrarla. dependiendo del problema de automatización que se nos presente. Ecuación lógica. Y “b” es el final de carrera que detecta cuándo la puerta ha llegado al final de su recorrido de apertura. “a” es la variable asociada al detector de presencia de la persona que se acerca a la puerta: cuando hay una persona próxima a la puerta a = 1 y cuando no hay nadie a = 0. una instalación automatizada sencilla. Con una aplicación concreta entenderemos mejor esta dinámica. Tenemos una puerta automática accionada por un motor eléctrico y queremos comandar la apertura de la misma (solamente la apertura en este ejercicio) en base a un detector de presencia próximo a la puerta con parada por final de carrera. que a = 1. es decir. el cilindro debe abrir la misma y cuando la persona ya haya pasado. Esta relación. Ejercicio resuelto 1 APERTURA AUTOMÁTICA DE UNA PUERTA Imaginemos. será condición indispensable que haya una persona delante de la misma. en este primer ejercicio de introducción nos ocupamos solamente de la apertura). quedando en espera de un nuevo ciclo. Cuando la puerta haya llegado al final y esté com- 21 . Asimismo. la puerta estará abriéndose y cuando S sea 0. que podremos expresar como combinación de las funciones lógicas básicas vistas en el apartado anterior. Cuando S sea 1. Cada vez que se aproxime una persona a la puerta. la orden que tenemos que definir para mandar al motor la apertura de la puerta. El esquema sería el mostrado en el margen izquierdo. Para que la puerta se abra. Diagrama eléctrico cableado. Diagrama lógico de bloques. consiste en una función lógica general.CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA Funciones lógicas generales En el apartado anterior has aprendido a expresar las funciones lógicas básicas en las cuatro formas de representación que más interesan para la solución de los problemas de instalaciones automatizadas: Tabla de verdad. b = 0.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES pletamente abierta entonces pisará el final de carrera b y éste tomará el valor b = 1. El siguiente estado que sucede consiste en que la puerta llega al final de su recorrido y el final de carrera b lo detecta. en el primer momento sin que aparezcan aún órdenes en el sistema (sin que aparezca la persona delante del detector de presencia). con lo que su valor cambia a b = 1. es decir. consecuentemente. lo que se refleja en el mismo estado en el valor de S. hemos completado el ejemplo de automatización que se proponía. Este ejemplo es de sencilla solución. Como la puerta aún no se ha movido. La salida deberá ser cero porque el sistema estará siempre en reposo en el estado inicial. qué valor toman las variables. En este momento el motor deberá parar. En el segundo estado observamos que lo siguiente que pasa es que la persona aparece frente a la puerta y el detector de presencia se activa. a = 1. es decir. veamos: la función lógica que soluciona nuestro problema debe expresar que para que S = 1 (es decir. tanto de entrada como de salida. Para que la puerta esté abriéndose será condición indispensable que b = 0. Y cuando b = 1 se deberá parar. no ha podido llegar al final de su recorrido y el valor del final de carrera será. es decir. que la puerta no haya llegado aún al final de su recorrido. que el motor se ponga en marcha y que la puerta se abra) deberá cumplirse que a = 1 (es decir. la salida cambiará a S = 1. que el detector de presencia esté detectando que hay una persona delante de la puerta) y que b = 0 (es decir. puesto que cuando esté en el final será b = 1). Y hemos deducido cuál es la tabla de verdad que corresponde a la función lógica que lo soluciona: 22 . se dará orden de marcha al motor y la puerta se empezará a mover. que ahora es S = 0. Las dos columnas siguientes corresponden a las variables de entrada (detector de presencia y final de carrera) y la columna final al valor que tiene que tomar la salida en función de las variables de entrada. Veamos cómo se expresa esta función lógica con su forma de tabla de verdad: Fíjate cómo a la izquierda de la tabla de verdad hemos colocado una columna que refleja el número de estado por el que va pasando el sistema. Veamos qué significa cada estado. El primer estado será siempre el estado inicial. la puerta ya ha llegado al final de su apertura al detectar una persona en sus inmediaciones. Con este último paso (estado). En estas condiciones. la ecuación lógica satisface el funcionamiento del ejemplo solamente cuando a = 1 (cuando el detector detecta presencia de persona cerca de la puerta) y simultáneamente b = 0 (cuando la puerta no está en su posición de apertura total y por tanto no acciona el final de carrera). sólo hay un 1 en la columna de salidas. Todos los términos que aparezcan deducidos de los unos de la columna de las salidas se suman entre sí para dar la función lógica expresada como ecuación lógica. Así pues. debe ser b = 0 (la puerta no llega al final de su recorrido y no pisa el final de carrera b) para que el contacto normalmente cerrado b no se abra y comunique la tensión V a la bobina del contactor S. Simultáneamente. que arrancará el motor para que se abra la puerta. dado que esta negación ya viene especificada en el símbolo que expresa que b es un contacto normalmente cerrado. LÓGICA BÁSICA A partir de la tabla de verdad es sencillo deducir la ecuación lógica que corresponde a la misma función lógica. en la tabla de verdad del ejemplo. y por tanto b = 1 será 1 el valor de la salida S por lo que el motor de accionamiento se pondrá en marcha. recuerda que la multiplicación corresponde a colocar los contactos auxiliares en serie y la negación de una variable de entrada corresponde a escoger el contacto auxiliar asociado a esa variable de entrada como normalmente cerrado. 23 . el esquema eléctrico cableado correspondiente a la función lógica del ejemplo. verás que en el esquema eléctrico cableado no se coloca esta negación en el nombre del contacto b. Por ejemplo. por lo que en la ecuación lógica aparece solamente un término compuesto por dos variables (las dos variables de entrada de la tabla de verdad) que se multiplican. Este procedimiento consiste en que por cada “1” que aparece en la columna de las salidas obtendremos un término compuesto por tantas variables que se multiplican como variables tenga el sistema. quedaría: Observa que también el esquema eléctrico satisface los requisitos de la lógica de la automatización: solamente cuando a = 1 (cuando el detector detecte presencia) el contacto a cambiará su posición a cerrado y dejará pasar la tensión V a la entrada del contacto b. si seguimos el procedimiento de los MINTERM. Entonces. A partir de esta ecuación lógica es sencillo desarrollar el esquema eléctrico en lógica cableada que corresponde a esta función lógica. Aunque la variable de entrada b aparece negada en la ecuación lógica. la ecuación lógica queda como sigue: S=a↔b Como puedes observar.CONCEPTOS BÁSICOS DE PROGRAMACIÓN. A la formación de la tabla de verdad le sigue la obtención de la ecuación lógica con MINTERM. igualmente. iremos añadiendo condiciones a la formación de la tabla de verdad. Obtención de la función lógica para una aplicación concreta. Resolución de problemas de automatización. el diagrama lógico de bloques quedaría como sigue: Como en los casos anteriores. Más adelante. en el que aún no se da la orden de marcha del sistema y las salidas permanecen en reposo. Por tanto. Un estado (que intuitivamente viene a ser aproximadamente una determinada “situación de funcionamiento del sistema automático”) viene definido por una determinada combinación de variables de entrada. que también satisface los requisitos de funcionamiento de este sencillo ejemplo de automatización. debemos tener en cuenta las siguientes condiciones: Representaremos en primer lugar el estado inicial. 24 . Ejercicios resueltos En el ejemplo anterior hemos descrito el procedimiento usual para diseñar un sistema automático sencillo mediante los siguientes pasos: 1. Para la deducción de la tabla de verdad a partir del funcionamiento del sistema. como verás a continuación. de un estado al siguiente (de una fila de la tabla de verdad a la siguiente) solamente podrá cambiar una sola de las variables de entrada. 2. Y cada estado se corresponde con una fila de la tabla de verdad. El paso de un estado al siguiente lo determina el cambio de una sola de las variables de entrada. La ecuación lógica se puede expresar también en forma de MAXTERM. Obtención de la ecuación lógica con MINTERM o MAXTERM a partir de la tabla de verdad. se trata de la misma función lógica.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES E. cuando definamos los sistemas combinacionales y secuenciales. Deducción de la tabla de verdad a partir de la definición del funcionamiento del sistema automático. 3. Obtención del esquema eléctrico cableado y del diagrama lógico de bloques a partir de la ecuación lógica. b. con lo que nos dará: a + b + c + d. a su vez. Lo vemos con un ejemplo: Tenemos la tabla de verdad: El término correspondiente al 1 de la columna de la salida de la segunda fila se corresponde con las variables a. cada uno correspondiente a un cero de la columna de las salidas. b y c igual a 0 y d igual a 1. Cada uno de estos términos. con lo que nos dará: a ↔ b ↔ c ↔ d. Con el método MINTERM. respectivamente. y el término correspondiente al 1 de la cuarta fila tiene las variables a y b igual a 0 y las c y d igual a 1. La ecuación lógica expresada como MINTERM quedará: S=a↔b↔c↔d+a↔b↔c↔d Con el método MAXTERM. la ecuación lógica se va a componer de términos que se multiplican entre sí. con lo que nos dará: a + b + c + d. LÓGICA BÁSICA Tanto el método MINTERM como el MAXTERM se denominan FORMAS CANÓNICAS DE EXPRESIÓN DE LA ECUACIÓN LÓGICA. se compondrá de una multiplicación de todas las variables de entrada. Cada uno de estos términos. negadas o no en función de que su valor en la fila correspondiente sea uno o cero. Veamos en el caso de la tabla de verdad anterior. porque todos los términos en ambas formas van a contener a todas las variables de entrada de la función lógica.CONCEPTOS BÁSICOS DE PROGRAMACIÓN. El término correspondiente al 0 de la columna de salida de la primera fila se corresponde con todas las variables a. Veamos. b y d iguales a 0 y la variable c igual a 1. con lo que nos dará: a ↔ b ↔ c ↔ d. y el término correspondiente al 0 de la tercera fila tiene las variables a. La ecuación lógica expresada como MAXTERM quedará: S = (a + b + c + d) ↔ (a + b + c + d) Y el último paso corresponderá a la obtención del esquema eléctrico cableado y del diagrama lógico de bloques a partir de la ecuación lógica. Las otras dos filas no aportan ningún término a la ecuación porque el valor de su salida es 0. a su vez. recordando las condiciones siguientes: Las variables de entrada. la ecuación lógica se va a componer de términos que se suman entre sí. se compondrá de una suma de todas las variables de entrada. negadas o no en función de que su valor en la fila correspondiente sea cero o uno. c y d iguales a 0. respectivamente. dentro de sus respectivos paréntesis. que se expresan directamente en la 25 . cada uno correspondiente a un uno de la columna de las salidas. que se expresa con una barra horizontal colocada sobre la variable negada en la ecuación lógica. con lo que nos quedaría una ecuación lógica: S=a↔b+a↔b Que se podría simplificar haciendo factor común de b. es decir: S = b ↔ (a + a) Y como según las reglas del álgebra de Boole (las puedes recordar consultando la unidad didáctica 4) es a + a = 1. nos queda: S=b Que es la ecuación lógica más simplificada correspondiente a esta función lógica. La tabla de verdad es: SOLUCIÓN: Para obtener la ecuación lógica asociada a esta función lógica podemos emplear.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES ecuación lógica. La operación de suma lógica de la ecuación lógica es equivalente a colocar los contactos auxiliares en paralelo en el esquema eléctrico y al bloque OR en el diagrama de bloques. La operación de producto lógico de la ecuación lógica es equivalente a colocar los contactos auxiliares en serie en el esquema eléctrico y al bloque AND en el diagrama lógico. Si la función lógica fuese más complicada (expresada en una tabla de 26 . se representa con un contacto normalmente cerrado en el esquema eléctrico y con el bloque lógico NOT en el diagrama lógico. por ejemplo. La negación (inversión). esquema eléctrico cableado y diagrama lógico de bloques). en el esquema eléctrico se representan con contactos auxiliares y en el diagrama lógico de bloques con líneas que transportarán las tensiones correspondientes a los niveles lógicos 0 y 1. Ejercicio resuelto 2 Expresar la función lógica dada por la tabla de verdad siguiente en las otras tres formas de expresión de funciones lógicas (ecuación lógica. el método de los MINTERM. esquema eléctrico cableado y diagrama lógico de bloques). la simplificación hubiese sido mucho más compleja. como el que se expone en el siguiente apartado.CONCEPTOS BÁSICOS DE PROGRAMACIÓN. ofrece a su salida la misma variable que le llega a la entrada. LÓGICA BÁSICA verdad con más columnas y más términos igual a 1 en la columna de las salidas). el más sencillo posible. Una vez disponemos de la ecuación lógica. de nuevo. Ejercicio resuelto 3 Expresar la función lógica dada por la tabla de verdad siguiente en las otras tres formas de expresión de funciones lógicas (ecuación lógica. el bloque identidad. con lo que tendríamos que aplicar uno de los procedimientos de simplificación existentes. Es equivalente a conectar con una línea la salida con la entrada. Obtenemos la función lógica. mediante el método de los MINTERM. resultando: S=a↔b↔c+a↔b↔c+a↔b↔c 27 . el esquema eléctrico cableado es sencillo: En cuanto al diagrama lógico de bloques es el más sencillo posible: En donde el bloque que hemos empleado. Ejercicios resueltos Las ecuaciones lógicas que se obtienen a partir de las tablas de verdad con los métodos MINTERM y MAXTERM son muy grandes. construye una tabla de Karnaugh en la que se representan los ceros y los unos de la variable de salida.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES El esquema eléctrico cableado quedaría (si no realizamos ninguna simplificación): Con lo que vemos que conforme se va complicando un poco la función lógica a representar. proporcionándonos un ahorro máximo en tiempo y coste. cuatro y cinco variables serían como sigue: 28 . como el diagrama lógico de bloques (que a continuación se va a representar). Las tablas de Karnaugh correspondientes a funciones lógicas de dos. Simplificación de las funciones lógicas. se complican enormemente. tres. Es muy conveniente emplear algún método de simplificación de funciones lógicas para expresar la solución de nuestro problema de instalación automatizada con ecuaciones lógicas. El diagrama lógico de bloques quedaría: En donde hemos empleado bloques funcionales sumadores y multiplicadores de tres entradas. esquemas eléctricos y diagramas lógicos de bloques que sean lo más sencillos posible. por lo que su realización en forma de esquema eléctrico cableado y diagrama lógico de bloques sería excesivamente complicada y costosa. Uno de estos métodos consiste en el empleo de las TABLAS DE KARNAUGH una vez expresada nuestra función lógica en forma de tabla de verdad. tanto la ecuación lógica como el esquema eléctrico cableado. El método de Karnaugh parte de la tabla de verdad y para cada variable de salida. Observa que al representar en la primera fila y en la primera columna de la tabla todas las posibles combinaciones de las variables de entrada. LÓGICA BÁSICA Tabla de Karnaugh de 2 variables: Tabla de Karnaugh de 3 variables: Tabla de Karnaugh de 4 variables: Tabla de Karnaugh de 5 variables: Para funciones lógicas que impliquen más de 5 variables el método de simplificación por tablas de Karnaugh no es funcional. como se acaba de exponer. ya que este código tiene la propiedad de que de un número expresado en él al siguiente correlativo solamente cambia el valor de una variable. Si nuestra tabla de verdad tiene más de una variable de salida (en la tabla de verdad estaríamos aprovechando las mismas entradas para expresar dos funciones lógicas distintas). sino según el código reflejado de Gray. Esto es porque las casillas de la tabla de Karnaugh deben ser adyacentes para que el método de simplificación sea válido. Que las casillas de la tabla sean adyacentes quiere decir que al cambiar de una casilla a otra que esté contigua los valores de la combinación de variables de entrada que corresponden a ambas casillas sólo cambien en una sola variable.CONCEPTOS BÁSICOS DE PROGRAMACIÓN. En cada casilla de la tabla de Karnaugh iremos colocando los unos y los ceros que encontremos en nuestra tabla de verdad. El primer paso para realizar la simplificación consiste en pasar la información de la tabla de verdad a la tabla de Karnaugh. por lo que no se suele aplicar. no lo hemos hecho según el código binario natural. que estudiamos al principio de la unidad. a la siguiente tabla de verdad: 29 . Conseguimos asegurar esto si utilizamos el código reflejado de Gray. Por ejemplo. formaremos una tabla de Karnaugh para cada una de ellas. Los grupos que se formen deben ser cuadrados o rectangulares. Iremos haciendo los grupos desde el más grande posible hasta el más pequeño (si queda algún uno sin que se pueda agrupar en un grupo con otros unos. 2. Entonces. El número N de unos que pueden formar un grupo debe ser una potencia de dos. Veamos: 30 . 16. formado por los dos unos de la misma.. para el caso de la tabla de Karnaugh del ejemplo. formará un grupo el solo)..CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES Ejercicio resuelto 4 Simplificar la función lógica dada por la tabla de verdad siguiente. se puede realizar solamente un grupo. Por tanto. agruparemos los unos que nos salgan siguiendo las siguientes condiciones: Se agruparán solamente las celdas que contengan los unos. 8. 4. es decir. o agrupar celdas lejanas con ceros por medio. no pueden tener forma de esquina. de una celda a otra celda contigua en vertical u horizontal solamente puede variar una de las variables de entrada que la definen. los grupos pueden estar compuestos por 1. Todos los unos deben quedar agrupados en algún grupo. Las celdas se pueden agrupar siempre que sean adyacentes entre sí. SOLUCIÓN: Le correspondería la siguiente tabla de Karnaugh: Una vez representada la información de la tabla de verdad en la tabla de Karnaugh. debe ser 2 elevado a un número entero (N = 2n). es decir. celdas en las que aparezca un uno. individualmente de variable en variables. Por lo tanto. en su parte superior): toma valor 0 para el primer uno del grupo y valor 1 para el segundo uno de grupo. deduciremos la ecuación lógica simplificada en base a las reglas siguientes: 1. Y si además tiene el valor 1. Para obtener el término que corresponde a un grupo nos fijaremos en las variables que corresponden a cada uno dentro del grupo. por lo que ha variado de una celda a otra del grupo: LA VARIABLE “a” NO APARECE EN EL TÉRMINO CORRESPONDIENTE AL GRUPO. LÓGICA BÁSICA Una vez obtenidos los grupos. de la forma siguiente: a) Si una variable no varía para ningún uno de nuestro grupo (la variable que corresponde a todos los unos tiene el mismo valor). Veamos cómo se calcula en el ejemplo que estamos resolviendo: Tenemos un solo grupo. entonces aparecerá en el término correspondiente. con lo que la ecuación lógica se compondrá de un solo término. y si tiene el valor 0. Variable “b” (sus valores aparecen en la primera columna de la tabla. entonces no aparecerá en el término correspondiente. Dentro del término. b) Si una variable sí cambia de un uno a otro dentro de nuestro grupo (la variable en cuestión no es la misma para todos los unos del grupo). 2. 3. Su tabla de verdad es la siguiente (se pide simplificar la función lógica): 31 . Y como el valor que toma la variable es 1. La ecuación lógica simplificada está compuesta por una suma de términos. en su parte izquierda): toma valor 1 para el primer uno del grupo y también toma valor 1 para el segundo uno del grupo: SÍ APARECE EN EL TÉRMINO CORRESPONDIENTE AL GRUPO. LA VARIABLE “b” APARECE SIN NEGAR. aparecerá sin negar. aparecerá negada. la ecuación lógica de nuestro ejemplo es: S=b Ejercicio resuelto 5 Vamos a desarrollar otro ejemplo con una función lógica compuesta por tres variables. Cada término que se suma está compuesto a su vez por una multiplicación de variables de entrada y se deduce de cada grupo de celdas que hemos señalado en la tabla de Karnaugh. observamos cada variable individualmente para todos los unos del grupo: Variable “a” (sus valores aparecen en la primera fila de la tabla.CONCEPTOS BÁSICOS DE PROGRAMACIÓN. 32 . Veamos: Variable “a” (sus valores aparecen en el primer dígito de los dos que aparecen en cada celda de la fila superior de la tabla): toma el valor cero para el uno de la celda superior izquierda y el valor uno para el uno de la celda superior derecha del grupo. sin esquinas. Y todos los unos contiguos del grupo son adyacentes.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES SOLUCIÓN: La tabla de Karnaugh que corresponde a esta función lógica (de tres variables) es como sigue: En donde podemos hacer un grupo de cuatro unos (cuatro es un número permitido de celdas porque 22 = 4). por lo tanto ha variado de una celda a otra del grupo. Variable “c” (sus valores aparecen en cada celda de la columna de más a la izquierda de la tabla): toma el valor 0 para el uno de la celda superior izquierda del grupo y toma el valor 1 para el uno de la celda inferior izquierda del grupo. nos fijamos de una en una en cómo varía el valor de las variables para todos los unos del grupo. Y como el valor que toma la variable es 1. Ya no hace falta seguir con el análisis: LA VARIABLE “c” NO APARECE EN EL TÉRMINO CORRESPONDIENTE AL GRUPO. Para obtener el término. por lo tanto ha variado de una celda a otra del grupo. LA VARIABLE “b” APARECE SIN NEGAR. en la ecuación lógica obtendremos únicamente un término. Ya no hace falta seguir con el análisis: LA VARIABLE “a” NO APARECE EN EL TÉRMINO CORRESPONDIENTE AL GRUPO. Variable “b” (sus valores aparecen en el segundo dígito de los dos que aparecen en cada celda de la fila superior de la tabla): toma el valor uno para los cuatro unos del grupo. por lo que su valor no cambia dentro del grupo: SÍ APARECE EN EL TÉRMINO CORRESPONDIENTE AL GRUPO. El grupo que hemos formado es entonces válido. Como tenemos solamente un grupo. La forma del grupo es cuadrada. con lo que la ecuación lógica será más simplificada (cuanto más grandes sean los grupos que hagamos. que tiene una sola variable (las otras han variado de una posición a otra del grupo). de nuevo. el grupo que incluye al 1 de la fila superior es más grande (dos términos y no sólo uno). más simplificado será el término que obtengamos del mismo y. por tanto. esto es porque. Fíjate que hay un uno que se ha empleado en dos grupos. Y es. La ecuación lógica que corresponde a esta función lógica se obtiene de la forma: TÉRMINO CORRESPONDIENTE AL GRUPO ROJO: vamos analizando las variables celda a celda para todos los unos del grupo: Î Variable “a” (sus valores aparecen en el primer dígito de los dos que aparecen en cada celda de la fila superior de la tabla): para el uno de la izquierda del grupo toma el valor 0. de esta forma. la función: S=b Ejercicio resuelto 6 Veamos otro ejemplo con una función lógica de tres variables. para el segundo uno del grupo toma también 33 . la ecuación lógica de nuestra función lógica se compone de un solo término (solo hemos formado un grupo). La tabla de verdad de la función lógica sigue a continuación (se pide simplificarla): SOLUCIÓN: Y su tabla de Karnaugh asociada es: En la que hemos realizado dos grupos: uno horizontal de cuatro unos y otro vertical con dos unos para incluir el uno de la fila inferior en un grupo. LÓGICA BÁSICA Por lo tanto.CONCEPTOS BÁSICOS DE PROGRAMACIÓN. más simplificada la ecuación lógica). Variable “c”: toma el valor 0 para el uno de la celda superior del grupo verde y toma el valor 1 para el uno de la celda inferior del grupo verde. Variable “b”: para los dos unos del grupo verde la variable “a” toma el valor 1. Î Î Î Î Variable “a”: para los dos unos del grupo verde la variable “a” toma el valor 1. Por lo tanto. La ecuación lógica que corresponde a esta función lógica quedaría entonces: S=c+a↔b 34 . APARECE NEGADA EN EL TÉRMINO. Ya no hace falta seguir con el análisis: LA VARIABLE “a” NO APARECE EN EL TÉRMINO CORRESPONDIENTE AL GRUPO ROJO. Ya no hace falta seguir con el análisis: LA VARIABLE “b” NO APARECE EN EL TÉRMINO CORRESPONDIENTE AL GRUPO ROJO. para el tercer uno del grupo toma el valor 1. por lo que su valor no cambia dentro del grupo rojo: SÍ APARECE EN EL TÉRMINO CORRESPONDIENTE AL GRUPO ROJO. por lo tanto. no cambia dentro del grupo verde: LA VARIABLE “a” SÍ APARECE EN EL TÉRMINO DEL GRUPO VERDE. para el segundo uno del grupo toma el valor 1. Y como el valor que toma la variable “a” es 1. Variable “b” (sus valores aparecen en el segundo dígito de los dos que aparecen en cada celda de la fila superior de la tabla): para el uno de la izquierda del grupo toma el valor 0. el término correspondiente al grupo rojo es: c. Variable “c” (sus valores aparecen en cada celda de la columna de más a la izquierda de la tabla): toma el valor 0 para todos los unos del grupo rojo. la variable ha cambiado. por lo tanto. Entonces. APARECE SIN NEGAR. el término correspondiente al grupo verde es: a ↔ b. por lo tanto. Y como el valor que toma la variable “c” es cero. TÉRMINO CORRESPONDIENTE AL GRUPO VERDE: analizamos las variables celda a celda para todos los unos del grupo verde. el valor de la variable ha cambiado. por lo tanto sí ha variado dentro del grupo: LA VARIABLE “c” NO APARECE EN EL TÉRMINO DEL GRUPO VERDE. no cambia dentro del grupo verde: LA VARIABLE “b” SÍ APARECE EN EL TÉRMINO DEL GRUPO VERDE.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES Î Î Î el valor 0. Y como el valor que toma la variable “b” es 1. APARECE SIN NEGAR. Se obtienen como sigue: TÉRMINO CORRESPONDIENTE AL GRUPO VERDE: analizamos las variables celda a celda para todos los unos del grupo verde. ¿Cuánto tiempo y coste nos hemos ahorrado al simplificar? Ejercicio resuelto 7 Veamos ahora un ejemplo con una función lógica de cuatro variables. Imagina cómo sería el esquema eléctrico cableado o el diagrama lógico de bloques que nos resolviesen esta función lógica para poder realizar la instalación automatizada. sería: S=a↔b↔c+a↔b↔c+a↔b↔c+a↔b↔c+a↔b↔c Es fácil deducir que la simplificación que hemos conseguido al aplicar el método de las tablas de Karnaugh es considerable. la variable ha cambiado dentro del grupo.CONCEPTOS BÁSICOS DE PROGRAMACIÓN. dado que de un uno a otro en vertical y horizontal sólo cambia el valor de una variable (lo puedes comprobar fácilmente). La ecuación lógica que corresponde a esta función lógica tendrá dos términos que se suman. LÓGICA BÁSICA Que es la ecuación lógica simplificada. No es necesario seguir con el análisis: LA VARIABLE “a” NO APARECE EN EL TÉRMINO DEL GRUPO VERDE. el grupo verde del centro y el grupo rojo que reúne los cuatro unos de las esquinas. Por lo tanto. Por lo tanto. 35 . toma el valor 1. los podemos agrupar en un solo grupo. uno procedente del grupo verde y el otro procedente del grupo rojo. ¿Cómo hubiese quedado la ecuación lógica sin simplificar? Si la obtenemos según los MINTERM. como aprendimos anteriormente. Fíjate que aunque los cuatro unos de las esquinas parece que no están juntos dentro de la tabla de Karnaugh. La tabla de verdad es la mostrada en el margen (realizar la simplificación): SOLUCIÓN: La tabla de Karnaugh que corresponde a esta función lógica es: En donde hemos hecho dos grupos de cuatro unos. sin embargo sí que son unos contiguos. Î Variable “a”: para el uno de la celda superior izquierda del grupo verde. toma el valor 0 y para el uno de la celda superior derecha del grupo verde. también toma el valor 1. APARECERÁ NEGADA EN EL TÉRMINO DEL GRUPO. Por lo tanto. sí ha variado dentro del grupo. no cambia dentro del grupo rojo. como la variable “b” toma el valor cero dentro del grupo. como su valor es 1. APARECE SIN NEGAR. como toma el valor 0 dentro del grupo. Y además. Y además. la variable “b” también toma el valor 1. por lo tanto. Variable “d”: toma el valor 0 para los cuatro unos del grupo rojo. APARECE SIN NEGAR. por tanto. la variable “a” toma el valor 1. por lo que: LA VARIABLE “c” NO APARECE EN EL TÉRMINO DEL GRUPO ROJO. por lo que: LA VARIABLE “d” SÍ APARECE EN EL TÉRMINO DEL GRUPO ROJO. APARECERÁ NEGADA EN EL TÉRMINO DEL GRUPO. Y además. Y además. sí cambia dentro del grupo. TÉRMINO CORRESPONDIENTE AL GRUPO ROJO: Î Î Î Î 36 Variable “a”: para el uno de la parte superior izquierda de la tabla. la variable “b” no cambia dentro del grupo verde: LA VARIABLE “b” SÍ APARECE EN EL TÉRMINO DEL GRUPO VERDE. para el uno de la parte superior derecha de la tabla. Variable “b”: se puede observar que para las cuatro celdas del grupo rojo la variable “b” no cambia.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES Î Î Î Î Variable “b”: para el uno de la celda superior izquierda del grupo verde. la variable “a” toma el valor 0. Para los dos unos de la parte inferior de la tabla. por lo tanto. por lo tanto. Variable “c”: toma el valor 1 para el uno de la parte superior izquierda del grupo y toma el valor 0 para el uno de la parte inferior izquierda del grupo. Por lo tanto. Para el uno de la celda superior derecha. . Variable “c”: toma el valor 0 para el uno de la celda superior izquierda del grupo verde y toma el valor 1 para el uno de la celda inferior izquierda del grupo. el término correspondiente al grupo verde es: b ↔ d. toma el valor 1. Variable “d”: toma el valor 1 en las cuatro celdas del grupo verde. no ha variado dentro del grupo verde: LA VARIABLE “d” SÍ APARECE EN EL TÉRMINO DEL GRUPO VERDE. No hace falta seguir con el análisis: LA VARIABLE “c” NO APARECE EN EL TÉRMINO DEL GRUPO VERDE. sí ha variado dentro del grupo: LA VARIABLE “a” NO APARECE EN EL TÉRMINO DEL GRUPO ROJO. como el valor que toma la variable “b” es 1. por lo que: LA VARIABLE “b” SÍ APARECE EN EL TÉRMINO DEL GRUPO ROJO. Por lo tanto. los sistemas secuenciales se caracterizan porque el valor de sus salidas depende tanto del valor de las entradas en ese momento como del valor que las propias salidas hayan tenido en momentos anteriores. el término correspondiente al grupo rojo es: b ↔ d. En otras palabras. Sistemas combinacionales y secuenciales básicos. 37 . Si el nivel de agua alcanza al detector n1. Veamos un ejemplo sencillo de sistema combinacional. B1 y B2. denominados n1. El funcionamiento de la extracción de agua debe cumplir las siguientes condiciones: Si el nivel de agua se encuentra por debajo del detector n1. planteándolo desde el inicio con los pasos que ya hemos estudiado para su resolución: Ejercicio resuelto. Compara si realmente ha habido una gran simplificación al utilizar el método de la tabla de Karnaugh. n2 y n3. LÓGICA BÁSICA Î Por lo tanto. las bombas estarán paradas. de un piloto rojo de alarma H1. En cambio. Y la ecuación lógica simplificada que corresponde a esta función lógica es: S=b↔d+b↔d Como ejercicio puedes obtener de la tabla de verdad de este ejemplo la función lógica según su forma canónica MINTERM. EXTRACCIÓN DE AGUAS DE UN POZO DE RECOGIDA CON DOS BOMBAS Y ALARMA Tenemos el pozo de recogida de aguas de la figura siguiente: El pozo de recogida de aguas dispone de dos bombas de extracción de agua. Ejercicios resueltos Los sistemas combinacionales se caracterizan porque una determinada combinación de las variables de entrada da como resultado siempre la misma combinación de las variables de salida. arrancará la bomba B1.CONCEPTOS BÁSICOS DE PROGRAMACIÓN. el valor de las salidas en los sistemas combinacionales depende solamente del valor de las entradas y no del propio valor que las salidas hayan podido presentar en momentos anteriores. y de tres detectores de nivel de agua (boyas de nivel). hemos colocado todos los ceros y los unos. como sigue: Al llevar la información de las tablas de verdad a las tablas de Karnaugh. En realidad. y dado que sólo contemplábamos las situaciones de funcionamiento que corresponden al ejemplo. que nos darán lugar a tres tablas de Karnaugh. se nos han quedado vacías cuatro celdas en cada tabla de Karnaugh. por lo que se encenderá un piloto rojo de alarma H1. una sola bomba no tiene la fuerza suficiente para evacuar el caudal de agua entrante y arrancaremos también la bomba B2. o bien el caudal de agua es excesivamente grande o hay algún fallo en el sistema. Esto quiere decir que los valores que puedan tomar las salidas en las celdas vacías (los valores de las salidas para esas combinaciones de variables de entrada) son indiferentes para la resolución de nuestro problema. En primer lugar se confeccionan las tablas de verdad de nuestro problema según los condicionantes del mismo: Solamente se han utilizado cuatro filas de la tabla de verdad. las correspondientes a las cuatro situaciones de funcionamiento de la extracción de aguas del pozo. rellenaremos las celdas vacías con “X” y consideraremos este valor como cero o como uno conforme más nos convenga a la hora de realizar los agrupamientos que más nos simplifiquen las ecuaciones de la función lógica. una para cada salida. dado que hemos empleado tres columnas. Si el nivel de agua alcanza al detector n3. tenemos tres tablas de verdad. SOLUCIÓN: Tenemos tres entradas (los tres detectores de nivel) y tres salidas (las tres bombas y el piloto rojo de alarma).CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES Si el nivel de agua alcanza al detector n2. 38 . Como son combinaciones que en nuestro sistema no se van a dar. 39 . Y por último.CONCEPTOS BÁSICOS DE PROGRAMACIÓN. el cilindro C2 subirá el taladro (C2 = 0). se han considerado como ceros. Tras realizar el taladro. Entonces el cilindro C2 bajará el taladro (C2 = 1) hasta el final de su carrera (Fc4 =1). el cilindro C1 avanzará a la izquierda (C1 = 0) hasta llegar a su posición inicial (Fc1 = 1). estas X incluidas en los grupos se han considerado como si fuesen unos. Tras esto. Veamos las ecuaciones lógicas que corresponden a las funciones lógicas de cada salida: B1 = n1 B2 = n2 H1 = n3 Con lo que las funciones lógicas expresadas como esquema eléctrico de mando quedarían: Ejercicio resuelto. hasta su posición inicial (Fc3 = 1). El cilindro C1 avanzará a la derecha (C1 = 1) hasta que llegue al final de su carrera y la pieza a taladrar quede fijada (Fc2 = 1). por tanto. TALADRADO CON FIJACIÓN DE PIEZA EN CICLO CONTINUO Tenemos el sistema de taladro con fijación de pieza de la figura siguiente: El sistema debe funcionar según un ciclo continuo. el ciclo comenzará de nuevo indefinidamente. rellenaremos los huecos con “X” hasta obtener las siguientes tablas de Karnaugh: Las agrupaciones que se han realizado incluyen las X necesarias para poder reunir todos los unos en los grupos más grandes posible (mayor simplificación). por tanto. Las X que no aportan ninguna ventaja al formar los grupos se han dejado fuera de los mismos y. LÓGICA BÁSICA Es decir. C1 = 0. con los dos cilindros replegados. ESTADO 1: representa el estado inicial del sistema. y C2 = 0. En este estado las órdenes son: C1 = 1. con el taladro bajando. siendo Fc1 = 0. Recuerda que el cambio de un estado al siguiente lo determina la variación de una sola de las variables de entrada (de los detectores). y C2 = 1 permaneciendo el taladro en la posición inferior. ESTADO 6: la siguiente variable de entrada que cambia es el detector Fc2.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES SOLUCIÓN: El primer paso consiste en reflejar el ciclo de funcionamiento del sistema como función lógica con su tabla de verdad. para que se siga replegando. cuando el cilindro C1 llega a su posición inicial. Las órdenes se deben mantener: C1 = 1. ESTADO 4: la siguiente variable de entrada que cambia es el detector Fc3. En este estado el cilindro C1 debe empezar a replegarse (C1 = 0). ESTADO 2: C1 se ha empezado a mover (su orden se dio en el estado anterior). para mantener la posición y sujetar la pieza. Cada una de las filas de la tabla de vedad representará un estado de funcionamiento del sistema. entonces Fc2 = 1. para que siga saliendo. ESTADO 5: la siguiente variable de entrada que cambia es el detector Fc4. haciéndose Fc4 = 1. cuando el taladro empieza a bajar. sujetando la pieza. y el cilindro C2 debe seguir replegado (C2 = 0). Fc1 = 1. cuando el cilindro C1 inicia su movimiento. ESTADO 7: la siguiente variable de entrada que cambia es el detector Fc1. mientras el taladro permanece en la posición inferior (C2 = 1). para que continúe replegado. En este momento C1 40 . y C2 = 1 para que el taladro comience a bajar. cuando el taladro llega a su posición final de taladrado. En este estado las órdenes tienen que seguir siendo las mismas. ESTADO 3: lo determina el siguiente detector que cambia (Fc2) cuando C1 llega al final. y por tanto el final de carrera de replegado cambia su valor. En este estado las órdenes no tienen que cambiar. En este estado el cilindro C1 debe tener orden de salida (C1 = 1). y C2 = 1. C1 = 1. En el paso de un estado a otro solamente puede variar una de las variables de entrada. Fc2 = 0. En este estado el ciclo debe comenzar de nuevo. Tanto las variables de entrada (captadores de información) como las de salida (las órdenes del sistema) coinciden en este estado con las del estado 1. siguiendo con el estado 2. En este estado las órdenes tienen que permanecer igual. dado que tenemos dos variables de salida: C1 y C2). permaneciendo replegado. cuando el taladro empieza a subir. ESTADO 9: la siguiente variable de entrada que cambia es el detector Fc3. Tabla de Karnaugh para la salida C1 Para obtener la ecuación lógica simplificada: Término correspondiente al grupo verde: Fc1 ↔ Fc4 Término correspondiente al grupo rojo: Fc3 Ecuación lógica simplificada: C1 = Fc3 + Fc1 ↔ Fc4 Tabla de Karnaugh para la salida C2 41 . y C2 = 0 para continuar con su movimiento de subida. por lo que hemos completado el ciclo (el 9 y el 1 son en realidad el mismo estado).CONCEPTOS BÁSICOS DE PROGRAMACIÓN. cuando el taladro alcanza su posición inicial superior. el siguiente paso consiste en simplificarlas mediante las tablas de Karnaugh. y el proceso vuelve a comenzar. Una vez expresadas las funciones lógicas del ciclo de funcionamiento del sistema como tablas de verdad (tenemos dos tablas de verdad en realidad. ESTADO 8: la siguiente variable de entrada que cambia es el detector Fc4. LÓGICA BÁSICA tiene que permanecer en su posición de replegado (C1 = 0) y C2 tiene que empezar a retirar el taladro de la pieza (C2 = 0). por lo que C1 debe comenzar a salir de nuevo (C1 = 1) y el taladro debe permanecer en su posición superior (C2 = 0). C1 = 0. los sistemas secuenciales se caracterizan porque el valor de sus salidas depende tanto del valor de las entradas en ese momento como del valor que las propias salidas hayan tenido en momentos anteriores. con lo que al dejar de pulsar “a” la tensión seguirá llegando a la bobina del contactor. Para poder recordar el valor que una cierta variable tuvo en el momento anterior es necesaria una estructura denominada célula básica de memoria que realiza esta función. el valor de la salida del sistema “K” depende no solamente del 42 . la función lógica expresada como esquema eléctrico cableado queda: Mientras que expresada como diagrama lógico de bloques quedaría: Como se expuso anteriormente. Al pulsar el pulsador “a” la tensión llega a la bobina del contactor “K” y su contacto normalmente abierto “K” se cierra.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES Ecuación simplificada: Término correspondiente al grupo verde: Fc1 ↔ Fc3 Término correspondiente al grupo rojo: Fc2 C2 = Fc2 + Fc1 ↔ Fc3 Por lo tanto. Expresada como esquema eléctrico cableado. Es decir. la célula básica de memoria quedaría como sigue: Veamos cómo actúa esta estructura. no habiendo llegado al final del ciclo de funcionamiento del sistema. manteniendo la “memoria” de que en un momento anterior se activó por medio del pulsador. Como ejercicio puedes expresar la célula básica de memoria en su forma de diagrama lógico de bloques. Se marcará en mayúsculas con la denominación de la propia variable interna y el subíndice “S”. Una columna en la parte de las salidas. Cuando lo hayas realizado. nuestro método de resolución de los problemas sencillos de automatización mediante la función lógica como tabla de verdad y su simplificación mediante tablas de Karnaugh se debe adaptar a ello. que representará el valor de dicha variable interna en el estado anterior. se sabrá que nos encontramos ante un sistema secuencial y no combinacional si se llega a un estado en el que la combinación de variables de entrada coincide con alguna de las combinaciones de variables de entrada anteriores y además las salidas son diferentes entre los dos estados en cuestión. mediante su contacto normalmente abierto “K”. debemos tener en cuenta las siguientes condiciones: Representaremos en primer lugar el estado inicial. Se marcará en minúsculas con la denominación de la propia variable interna y el subíndice “e”. Al representar la evolución de los estados en la tabla de verdad. puedes observar la solución en la figura siguiente: Dado que en los sistemas secuenciales debemos tener en cuenta el valor de las salidas en el estado anterior para deducir el valor actual de las salidas.CONCEPTOS BÁSICOS DE PROGRAMACIÓN. Muestra de ello es que si dejamos de pulsar “a” entonces la salida no retornará a su valor original. que representará el valor de esta variable interna en el estado actual. Un estado (que intuitivamente viene a ser aproximadamente una determinada “situación de funcionamiento del sistema 43 . sino que seguirá en su estado activado. sino también del valor que la propia salida del sistema tuvo en un momento anterior. LÓGICA BÁSICA valor de la entrada “a”. Recordemos: Para la deducción de la tabla de verdad a partir del funcionamiento del sistema. Al llegar a este punto habrá que añadir en la tabla de verdad dos columnas nuevas correspondientes a una nueva variable “ficticia” o “interna”: Una columna en la parte de las entradas. En este momento se ha de recordar que para ir expresando la evolución de nuestro sistema estado a estado en la tabla de verdad se han de seguir respetando las reglas que enumeramos anteriormente al comienzo de la página 24. en el que aún no se da la orden de marcha del sistema y las salidas permanecen en reposo. Lo mejor en este momento es poner en práctica este método de resolución de pequeños problemas secuenciales de automatización con un ejemplo. Por tanto. dado que los hemos diferenciado con nuestra nueva variable Xe. La forma de resolver este nuevo problema es la siguiente: añadiremos un nuevo estado entre el último y el penúltimo en donde cambiaremos solamente el valor de la variable interna y dejaremos igual todas las demás. ENCENDIDO Y APAGADO DE UN PILOTO CON DOS PULSADORES Tenemos un piloto H que pretendemos activar con la pulsación de un pulsador S1. En el último estado expresado en la tabla daremos a Xe el valor 1. Ejercicio resuelto. Es un estado “ficticio”. debemos seguir respetando la regla que dice que en el cambio de un estado al siguiente solamente puede cambiar una de las variables de entrada. Y cada estado se corresponde con una fila de la tabla de verdad. de un estado al siguiente (de una fila de la tabla de verdad a la siguiente) solamente podrá cambiar una sola de las variables de entrada. sino que es una necesidad matemática de nuestro método para poder resolver el problema. en este momento se nos presenta un problema: desde el penúltimo estado al último resulta que nos cambian simultáneamente el valor de dos de las variables de entrada (la que cambiaba originalmente al definir el nuevo estado más la de la variable interna que acabamos de añadir). Esto no puede ser. El paso de un estado al siguiente lo determina el cambio de una sola de las variables de entrada. Sin embargo. Con la 44 . lo que se hará de la siguiente forma (supongamos que llamamos X a la variable interna que hemos añadido): Completaremos los valores de la variable Xe (en el lado de las entradas) con un 0 desde el estado inicial hasta el último estado expresado en la tabla (el que nos produce la indeterminación). debemos resolver la indeterminación que produce tener dos estados con la misma combinación de variables de entrada y de variables de salida. Los valores de la variable Xs no los completaremos hasta que la tabla de verdad refleje ya todos los estados del ciclo de funcionamiento del sistema. De esta forma ya se respetará la regla recién infringida. Con esto habremos resuelto la indeterminación: ya no tenemos en la tabla de verdad dos estados con la misma combinación de variables de entrada. Al dejar de pulsar S1 el piloto debe permanecer encendido. Una vez hayamos añadido la variable interna tal como se ha expresado.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES automático”) viene definido por una determinada combinación de variables de entrada. porque no responde a un paso real en la evolución física de nuestro sistema. CONCEPTOS BÁSICOS DE PROGRAMACIÓN. respetando las reglas expresadas anteriormente. El piloto se debe encender. Veamos: 45 . ante un problema secuencial y no combinacional. ESTADO 2: pulsamos S1. Veamos: ESTADO 1: en el estado inicial no está pulsado ninguno de los dos pulsadores y el piloto está apagado. En esta situación el piloto debe permanecer encendido. Fíjate que en este problema la salida H no depende solamente del valor de las variables de entrada. ESTADO 3: dejamos de pulsar S1. Al llegar al estado 3 nos damos cuenta que la combinación de variables de entrada son iguales entre los estados 1 y 3 (en ambos estados S1 = 0 y S2 = 0). consiste en expresar la idea de funcionamiento de nuestro sistema de forma rigurosa en la evolución de estados que reflejaremos en la tabla de verdad. SOLUCIÓN: El primer paso. LÓGICA BÁSICA pulsación de otro pulsador S2 el piloto se debe apagar y si dejamos de pulsar este segundo pulsador el piloto debe permanecer apagado. como de costumbre. sino también de cuánto valía la salida en un estado anterior. variable cuyo cambio define el paso a este estado. pues. En este momento debemos añadir dos columnas a la tabla de verdad: una en la parte de las entradas y otra en la parte de las salidas. pero la salida es diferente en ambos (en el estado 0 es H = 0 y en el estado 3 es H = 1). Al cambiar de nuevo esta variable se determina el paso al nuevo estado. definición de los sistemas secuenciales. Se completa el valor de Xe dando ceros a los estados 1 y 2 y dando un uno al estado 3 (el primero en que se produce la indeterminación). Estamos. realizaremos siempre estas dos comprobaciones. igual a 1 en el ejemplo. Mantendremos el valor de la variable Xe en 1 mientras no sea necesario que lo volvamos a variar (podríamos necesitar más adelante volver a diferenciar otros dos estados). 46 . Una vez hechas estas comprobaciones. solamente cambia S2. y que no corresponde a un estado real dado que al cambiar del 2 al 2’ solamente ha cambiado la variable interna Xe y no una variable física real del sistema. siendo distintas las variables de salida: VERDADERO (no lo hay). ESTADO 4: pulso S2 y el piloto se debe apagar. al pasar de un estado al siguiente solamente cambia el valor de una variable interna: VERDADERO. la S1.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES Se ha resuelto la indeterminación entre los estados 1 y 3. es decir. Es decir: ESTADO 2’: se mantendrá el valor de la variable de salida H tal como estaba en el estado 2. que pasa de 0 a 1. Comprobaciones: Cambia solamente una variable de entrada del estado 3 al 4: VERDADERO. que pasa de 1 a 0 y la nueva Xe. se continuará expresando la evolución de nuestro sistema en los estados representados como filas de la tabla de verdad (los valores de la variable Xs los definiremos cuando ya tengamos todos los estados expresados en la tabla de verdad y el ciclo comience a repetirse). ahora en el paso del estado 2 al 3 cambian dos variables de entrada. En este momento se realizarán las dos comprobaciones: En toda la tabla de verdad. al expresar un nuevo estado de funcionamiento del sistema en cualquier problema. como se señaló anteriormente. Debemos resolver este problema añadiendo entre el estado 2 y el estado 3 un nuevo estado ficticio (que marcaremos como 2’). En adelante. ya que la combinación de variables de entrada (teniendo en cuenta ahora la nueva variable de entrada interna Xe) es distinta en los dos estados. No hay ningún estado cuya combinación de variables de entrada coincida con la de ningún estado anterior. Sin embargo. siendo distinta su variable de salida H (H = 1 en el estado 3 y H = 0 en el estado 5). siendo distinta la salida H: en este caso es FALSO. Sin embargo. no hay ninguna otra combinación igual de variables de entrada en toda la tabla. Veamos: Si damos el valor 0 a Xe en el estado 5. siendo distinta la salida H: VERDADERO. La combinación de variables de entrada del estado 5 no es igual a ninguna otra de la tabla de verdad. Comprobaciones: Cambia solamente una variable de entrada del estado 4 al 5: VERDADERO. la salida H ahora también es igual. vamos a intentar resolver esta nueva indeterminación volviendo a cambiar el valor de esta variable y. Hemos resuelto la nueva indeterminación de esta forma. 47 . ahora al cambiar del estado 4 al 5 nos cambian dos variables de entrada simultáneamente: S2 de 1 a 0 y Xe de 1 a 0. añadiendo un estado ficticio 4’ en el que cambiamos solamente el valor de la variable interna Xe. Lo resolvemos. de hecho. con lo que no se infringe la regla de tener dos estados con iguales combinaciones de variables de entrada y distinta variable de salida.CONCEPTOS BÁSICOS DE PROGRAMACIÓN. como anteriormente. solamente cambia S2. Como ya hemos añadido una variable interna X. dado que el estado 3 tiene la misma combinación de variables de entrada. LÓGICA BÁSICA La combinación de variables de entrada del estado 4 no es igual a ninguna otra de la tabla de verdad. si esto no fuese posible. aunque la combinación de variables de entrada en el estado 5 es igual a la del estado 1. ESTADO 5: dejo de pulsar el pulsador S2 y el piloto H debe permanecer apagado. nos veríamos obligados a añadir una nueva variable interna Y. Debemos resolver esta nueva indeterminación. nos damos cuenta que. Si volvemos a hacer las comprobaciones: Cambia solamente una variable de entrada del estado 4 al 4’ y del 4’ al 5: VERDADERO. ESTADO 2: es un estado real y el siguiente estado. entonces Xs toma el mismo valor que la Xe del propio estado 3. Entonces Xs toma el mismo valor que la Xe del propio estado ficticio 2’. pero ahora las salidas no son distintas. ESTADO 4: es un estado real y el siguiente estado. entonces Xs toma el mismo valor que la Xe del propio estado 1. el 2. daremos a Xs el mismo valor que a Xe del mismo estado real. La combinación de variables de entrada no es igual en estados distintos siendo distintas las salidas: VERDADERO. Xs = 1. Xs tomará el valor que tenga Xe en el mismo estado ficticio. el 4. Xs = 1. La combinación de variables de entrada es igual en el estado 5 y en el estado 1. es un estado ficticio. sino que muestra que hemos llegado al fin del ciclo. Si estamos en un estado ficticio. Seguiremos las siguientes reglas: Si estamos en un estado real y el siguiente estado es real. 48 . Xs = 0. entonces Xs toma el valor de la Xe del estado ficticio 2’. Xs = 0. es también real. entonces Xs toma el valor de la Xe del estado ficticio 4’. ESTADO 3: es un estado real y el siguiente estado. son iguales. se ha dejado igual la variable de salida H en el estado 4’ que en el estado 4. el 2’. Esto no infringe la regla. es también real. Si estamos en un estado real y el siguiente estado es ficticio. daremos a Xs el mismo valor que tiene Xe en el siguiente estado ficticio. Xs = 0. Entonces Xs toma el mismo valor que la Xe del propio estado ficticio 4’. ESTADO 4’: es un estado ficticio.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES Como anteriormente. ESTADO 2’: es un estado ficticio. Xs = 1. el 4’. es un estado ficticio. Ahora queda por asignar los valores a la variable de salida Xs. En el caso del ejemplo: ESTADO 1: es un estado real y el siguiente estado. Observa que hemos dado los valores de indeterminación X a las combinaciones de las entradas que no vienen especificadas en la tabla de verdad que expresa la evolución de nuestro sistema. LÓGICA BÁSICA ESTADO 5: es el mismo estado que el 1. Ya está completa la función lógica que describe como tabla de verdad la evolución del problema secuencial de automatización. para conseguir grupos más grandes dentro de la tabla de Karnaugh. La ecuación lógica simplificada es: H = Xs = S1 + S2 ↔ Xe Que corresponde al esquema eléctrico de mando: Dado que las dos variables de salida. Xs y H. dado que es el que cierra el ciclo. es decir. Xs vale lo mismo que en el estado 1. presentan la misma ecuación lógica. consecuentemente. lo hacen también sus tablas de Karnaugh y. puedes obtener la misma función lógica expresada como diagrama lógico de bloques. 49 .CONCEPTOS BÁSICOS DE PROGRAMACIÓN. también lo harán sus ecuaciones lógicas simplificadas. Como ejercicio. por lo que podemos sustituir el de H por un contacto normalmente abierto de Xs. obteniendo la misma funcionalidad y mayor simplificación. Tabla de Karnaugh para la variable H Tabla de Karnaugh para la variable Xs Como los valores de ambas salidas coincidían. el circuito eléctrico que llega a cada una de ellas es exactamente el mismo. Recuerda que esto nos permite utilizarlos como 0 ó 1 según nos convenga para conseguir una simplificación mayor de la ecuación lógica. El siguiente paso consiste en realizar tantas tablas de Karnaugh como salidas tiene el sistema y simplificar para obtener las ecuaciones lógicas. el piloto debe estar apagado. Si pulsamos entonces S2. es decir. cortaremos la tensión a la bobina de Xs y sus contactos volverán a su posición de reposo (posición normal. consideramos las X como unos porque nos ayudaban a realizar grupos mayores. con lo que el contactor se mantiene activo y el piloto encendido. Este esquema eléctrico de mando se denomina MARCHA-PARO CON PRIORIDAD A LA MARCHA.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES Comprobación del funcionamiento del esquema obtenido Es fácil observar que el circuito cumple los requisitos del ejemplo. se observa que la tensión sigue llegando a la bobina del contactor. Al dejar de pulsar S1 la tensión sigue llegando al contactor a través de Xe que está cerrado y de S2. Variación del ejercicio Cuando realizamos las agrupaciones en la tabla de Karnaugh del ejemplo. iluminándose el piloto H. dado que si se mantienen pulsados simultáneamente el pulsador de paro (S2) y el pulsador de marcha (S1). 50 . la salida del sistema debe ser cero. es posible que no nos den la mayor simplificación posible. La solución sería entonces: Tabla de Karnaugh para las variables Xs y H Con lo que nos quedaría la ecuación lógica simplificada: H = Xs = S1 ↔ S2 + S2 ↔ Xe Que se puede simplificar un poco más si sacamos factor común de S2. la tensión llega al contactor Xs y su contacto Xe se cierra. Si pulsamos S1. quedando: H = Xs = S2 ↔ (S1 + Xe) Fíjate que aunque las tablas de Karnaugh nos dan una ecuación con un alto grado de simplificación (ya las has comparado antes con las que se obtenían de forma canónica MAXTERM y MINTERM). que se mantiene activo (en marcha). Estas X nos permiten realizar una variación: si las consideramos como 0 estaremos imponiendo al sistema la condición de que cuando S1 y S2 sean simultáneamente 1 (la columna de las X en la tabla de Karnaugh corresponde a esta combinación de S1 y S2). dado que si se pulsan ambos pulsadores a la vez el piloto estaría apagado. con lo que el piloto se apagará. que es abierta). En este caso llegaríamos a la solución del problema denominada MARCHA-PARO CON PRIORIDAD AL PARO. Ejercicio resuelto. En este momento el cilindro comenzará a subir hasta que llegue a su posición original. finalizando el ciclo de funcionamiento. y una variable de salida: P. El cilindro no debe recibir aún la orden de marcha. que representa una prensa accionada por un solo pulsador: La prensa debe realizar el siguiente ciclo: al pulsar S1 el cilindro bajará y realizará su acción sobre la pieza colocada. aún no se pulsa S1 y el cilindro no está tocando Fc1. por lo que P = 1. 51 . Queda como ejercicio la obtención de los dos esquemas lógicos de bloques asociados al ejemplo. SOLUCIÓN: El sistema tiene dos variables de entrada: S1 y Fc1. si mantenemos pulsados simultáneamente S1 y S2. Se piden las ecuaciones lógicas de funcionamiento del sistema y su representación en esquema eléctrico cableado y diagrama lógico de bloques. S1 = 0 y Fc1 = 0.CONCEPTOS BÁSICOS DE PROGRAMACIÓN. Por tanto. se corta la tensión que llega a Xs y no luce la salida H. Expresión del ciclo de funcionamiento en la tabla de verdad: ESTADO 1: estado inicial. efectivamente. cuando el operario deja de accionar el pulsador. ACCIONAMIENTO DE PRENSA POR UN SÓLO PULSADOR Tenemos el sistema de la figura. LÓGICA BÁSICA El circuito eléctrico de mando correspondiente a esta función lógica sería: En donde se ve que. tocando a la vez el final de carrera Fc1. CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES ESTADO 2: el operario acciona el pulsador de marcha (S1 = 1); por tanto, el cilindro debe recibir la orden de marcha (P = 1). ESTADO 3: el cilindro llega a su posición extrema; por tanto, toca el final de carrera (Fc1 = 1), momento en que debe desaparecer su orden de marcha para que comience su movimiento de retroceso (P = 0). ESTADO 4: la siguiente variable de entrada que cambia es Fc1, dado que al iniciar el movimiento de retroceso (la orden de retroceder se dio a P en el estado 3), el cilindro deja de tocar el final de carrera Fc1. Por tanto, S1 = 1, Fc1 = 0. En este momento la orden de P debe continuar siendo 0, para que el cilindro continúe con su movimiento de retroceso. Se comprobará ahora que los estados 4 y 2 tienen la misma combinación de variables de entrada (S1 = 1 y Fc1 = 0), pero con variable de salida con distinto valor (P = 1 para el estado 2 y P = 0 para el estado 4). Tenemos una indeterminación en el sistema que nos demuestra que nuestro sistema es SECUENCIAL. Por tanto, se debe añadir una variable interna X, desdoblada en la parte de las entradas (Xe) y en la parte de las salidas (Xs), para que las salidas en un determinado estado puedan tener en cuenta el valor de las mismas en un estado anterior. Se ha dado a Xe el valor 0 en todos los estados excepto en el que se presenta la indeterminación, el estado 4, en que le hemos dado Xe = 1. La indeterminación queda resuelta. Sin embargo, ahora del estado 3 al 4 cambian dos variables de entrada simultáneamente, Fc1 de 1 a 0, y Xe de 0 a 1. Para resolver este problema se añadirá el estado ficticio 3, como sigue: ESTADO 3’: estado ficticio; hemos cambiado la variable interna Xe solamente, con lo que ahora de un estado a otro solamente cambia una variable interna en todos los pasos. Si comprobamos en toda la tabla, veremos que ya no se repiten las combinaciones de variables de entrada con valores de la salida distintos ni hay pasos entre estados en los que cambien más de una variable de entrada. Por consiguiente, seguimos con la resolución del ciclo. 52 CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA ESTADO 5: al llegar el cilindro a la posición inicial, el operario deja de pulsar S1 y el movimiento se detiene. En este estado S1 = 0 y P se mantiene en 0. Si nos fijamos en la combinación de entradas del estado 5, no es igual que la combinación del estado 1 (estado inicial), aunque el ciclo se haya completado. Necesitamos crear otro nuevo estado ficticio 5’ para que esto se cumpla y poder asignar a Xs sus valores correctamente. ESTADO 5’: cambiamos el valor de la variable Xe sin alterar lo demás para cerrar el ciclo (combinación de variables de entrada de 5’ igual que la del estado 1 con los valores de la salida iguales), y poder asignar los valores adecuados a Xs. Ahora el ciclo sí está cerrado y podemos asignar los valores a Xs: ESTADO 1: estado real seguido de estado real; entonces Xs es igual a su propia Xe. Xs = 0. ESTADO 2: estado real seguido de estado real; entonces Xs es igual a su propia Xe. Xs = 0. ESTADO 3: estado real seguido de estado ficticio; entonces Xs es igual a la Xe del estado ficticio que le sigue. Xs = 1. ESTADO 3’: estado ficticio; entonces Xs es igual a su propia Xe. Xs = 1. ESTADO 4: estado real seguido de estado real; entonces Xs es igual a su propia Xe. Xs = 1. ESTADO 5: estado real seguido de estado ficticio; entonces Xs es igual a la Xe del estado ficticio que le sigue. Xs = 0. ESTADO 5’: es el estado que cierra el ciclo, el mismo que el estado inicial; por lo tanto, la Xs es la misma. Xs = 0. Observa que este estado se creó para 53 CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES cumplir precisamente esta condición, que TODAS las variables de entrada fuesen iguales entre el estado que cierra el ciclo y el estado inicial, con la variable de salida también igual. El siguiente paso consiste en obtener las funciones lógicas simplificadas según las tablas de Karnaugh: Tabla de Karnaugh para la salida P En este caso solamente se ha podido hacer un grupo de un solo 1. La ecuación lógica de la salida P queda pues: P = S1 ↔ Fc1 ↔ Xe Para la variable Xs: Tabla de Karnaugh para la salida Xs La ecuación lógica de la salida Xs queda: Xs = Fc1 + S1 ↔ Xe Por tanto, el esquema eléctrico que soluciona el problema queda: Ejercicio resuelto. ACCIONAMIENTO DE PRENSA CON UNA SOLA PULSACIÓN Si a la prensa del ejercicio de la página 51 le añadimos un segundo final de carrera para la detección de la posición de cilindro retraído, nos quedaría como se muestra en la figura. 54 Fc1 = 1. Cuando esté totalmente replegada. con P = 0. En este estado la prensa debe permanecer en reposo. por lo tanto.CONCEPTOS BÁSICOS DE PROGRAMACIÓN. y por tanto haya realizado la acción requerida sobre la pieza. SOLUCIÓN: El sistema tiene tres variables de entrada: el pulsador S1 y los finales de carrera Fc1 y Fc2. accionará el final de carrera Fc2 y comenzará automáticamente su movimiento de replegado. por tanto. ESTADO 3: al iniciarse el movimiento del cilindro se deja de pisar Fc1. tocará el final de carrera Fc1 y la prensa quedará dispuesta para la realización del siguiente ciclo al pulsar brevemente el pulsador S1. La orden del cilindro debe mantenerse para que 55 . Se piden las ecuaciones lógicas de funcionamiento del sistema y su representación en esquema eléctrico cableado y diagrama lógico de bloques. Recuerda que al escribir los valores de todas las variables correspondientes a cada estado debes realizar las dos comprobaciones: ¿Cambian más de una variable de entrada de un estado a otro? ¿Se repiten dos combinaciones de variables de entrada entre dos estados siendo distintas sus salidas? Y actuar en consecuencia en función de las respuestas (consulta el contenido teórico del apartado correspondiente). el cilindro se encuentra en su posición de reposo. Y tiene una salida: el accionamiento P del cilindro. es decir. Al dejar de pulsar inmediatamente el pulsador. ESTADO 2: el operario pulsa S1 (S1 = 1). Consecuentemente. es decir. la prensa continuará con su ciclo. Cuando llegue al final de su movimiento. Fc2 = 0. El primer paso consiste en la expresión del ciclo de funcionamiento de la prensa en la forma de relación de estados que componen la tabla de verdad: ESTADO 1: estado inicial. pasa a ser Fc1 = 0. totalmente replegado y por tanto tocando el final de carrera Fc1. no se pulsa el pulsador S1. El ciclo debe comenzar y C1 debe recibir la orden de marcha (C1 = 1). LÓGICA BÁSICA La prensa debe realizar ahora el siguiente ciclo: al pulsar S1 debe comenzar su movimiento de bajada. al realizar las dos comprobaciones que se han recordado tras el estado 1. debemos añadir una variable interna con la que reflejar la dependencia del valor de nuestras salidas en el estado actual del valor que presentaban en estados anteriores. siendo Fc2 = 0. en el que se presenta primeramente la indeterminación. pasa a ser S1 = 0. nuestro sistema es SECUENCIAL. Con esto la indeterminación queda resuelta pero vemos que del estado 5 al 6 ahora cambian dos variables de entrada. Por ello consideramos que va antes del siguiente estado. Consecuentemente. siendo la salida diferente (P = 1 para el estado 4 y P = 0 para el estado 6). por lo tanto. Por tanto. la prensa realiza su acción sobre la pieza y se toca el final de carrera Fc2. Este suceso es automático y. muy rápido. por tanto. ESTADO 4: el operario deja de pulsar S1.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES continúe su recorrido de avance. pasa a ser Fc2 = 1. La tabla de verdad queda: En donde ya hemos dado el valor 0 a Xe en los estados del 1 al 5 y el valor 1 en el estado 6. infringiendo la regla de cambio de un estado a otro: solamente debe variar una variable de entrada. Por tanto. ESTADO 5: el cilindro llega a su posición extrema. nos damos cuenta de que la combinación de variables de entrada del estado 6 coincide con la del estado 4. para que continúe su movimiento de replegado. En este momento el cilindro debe dejar de recibir su orden de marcha para que comience su movimiento de replegado. En este momento. Por tanto P = 1 también. por tanto. Lo solucionamos añadiendo el estado ficticio 5’ en el que cambiamos primeramente el valor de la variable interna como sigue: 56 . El cilindro debe continuar su recorrido y el sistema debe completar su ciclo. El cilindro debe permanecer sin recibir orden de marcha. ESTADO 6: el cilindro ha iniciado su movimiento de retroceso y por tanto se deja de pisar Fc2. pasará a ser P = 0. es posible pasar a dar valores a la variable de salida Xs. según las reglas expuestas anteriormente. ESTADO 3: estado real seguido de estado real. se debe añadir un nuevo estado ficticio 7’ en el que cambiemos el valor de la variable ficticia y así podamos cerrar el ciclo. 57 . de esta forma. Xs = su propia Xe = 0. Una vez reflejados todos los estados que completan el ciclo en la tabla de verdad. los valores correctos para la variable ficticia de salida Xs. Como la combinación de variables de entrada en este estado no es igual que la del estado inicial (estado 1). Observa que se ha dado a P el valor que tenía en el estado anterior (el 5). ESTADO 2: estado real seguido de estado real. Se cambia solamente la variable de salida Xs según se ha comentado en el estado anterior.CONCEPTOS BÁSICOS DE PROGRAMACIÓN. con lo que toca el final de carrera Fc1. siendo ahora Fc1 = 1. Xs = su propia Xe = 0. El valor de la salida P debe seguir siendo 0 para que el cilindro permanezca replegado hasta una nueva pulsación de S1. ESTADO 1: estado real seguido de estado real. ESTADO 7’: estado ficticio de cierre de ciclo. LÓGICA BÁSICA De esta forma queda resuelto el problema de la indeterminación. ESTADO 4: estado real seguido de estado real. Xs = su propia Xe = 0. Es posible ahora continuar con el ciclo de funcionamiento: ESTADO 7: el cilindro llega a su posición final de replegado. obteniendo. Xs = su propia Xe = 0. Xs = Xe del estado ficticio siguiente = 1. Xs = su propia Xe = 1. ESTADO 6: estado real seguido de estado real. Xs = su propia Xe = 1. Xs = Xe del estado ficticio siguiente = 0. El siguiente paso consiste en obtener las funciones lógicas simplificadas de las salidas del sistema según las tablas de Karnaugh. ESTADO 7’: estado ficticio. ESTADO 5’: estado ficticio. ESTADO 7: estado real seguido de estado ficticio.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES ESTADO 5: estado real seguido de estado ficticio. Xs = su propia Xe = 0. Tabla de Karnaugh de la salida P Tabla de Karnaugh de la salida Xs En cuanto a las ecuaciones lógicas de ambas salidas: P = S1 + Fc1 ↔ Fc2 ↔ Xe Xs = Fc2 + Fc1 ↔ Xe Con lo que el esquema eléctrico que soluciona el problema es el siguiente: 58 . Al formar la tabla de Karnaugh. El código reflejado de Gray tiene la propiedad de que al pasar de un número al siguiente solamente cambia un digito. lo que lo hace muy útil para aplicaciones de simplificación de funciones lógicas. Cualquier otra función lógica que se pueda expresar con los métodos antes mencionados la denominaremos FUNCIÓN LÓGICA GENERAL. Las funciones lógicas básicas más útiles para la resolución de sistemas automatizados son las: NOT. A partir de las reglas y propiedades del álgebra de Boole se diseñarán con relativa facilidad los esquemas lógicos cableados y los programas para los relés programables que resolverán las necesidades de automatización que se puedan presentar. mayoritariamente. aunque en los últimos tiempos se han desarrollado versiones de menor capacidad y con funciones específicas adaptadas a las instalaciones domóticas y sus subsistemas. con elementos que presentan únicamente dos estados estables en su funcionamiento: lámparas. Las instalaciones automatizadas se construyen. OR. actuadores. Esto permite traducir la relación entre los mismos a la lógica del álgebra de Boole. tablas de verdad. AND. esquema lógico cableado. Existen cuatro formas de expresión de las funciones lógicas que son muy útiles a la hora de realizar físicamente los automatismos en función de las tecnologías empleadas: esquemas lógicos cableados. diagrama lógico de bloques y ecuaciones lógicas. Además del sistema de numeración decimal existen dos sistemas de numeración de gran aplicación en el desarrollo de soluciones de automatización: el código binario natural y el código reflejado de Gray. etc. Uno de los sistemas más extendidos consiste en el de simplificación mediante tablas de Karnaugh. Son muy adecuados para usos externos a la actividad industrial. motores. Cualquier función lógica general tiene su expresión como tabla de verdad. Para obtener una solución de automatización lo más reducida y económica posible es necesario simplificar las funciones lógicas a la hora de obtener ecuaciones lógicas. Los relés programables presentan numerosas ventajas: son sencillos de montar. NOR y NAND. partiendo de la tabla de verdad de la evolución del sistema y agrupando unos en la tabla. facilitando enormemente su especificación y diseño. de programar y de mantener.RESUMEN Los autómatas industriales están diseñados para el control de instalaciones industriales. diagrama lógico de bloques y ecuaciones lógicas. las combinaciones de variables tanto en las filas como en las columnas se irán colocando según el código reflejado de 59 . Llamamos función lógica a la relación que existe entre las diversas variables del sistema automático que nos definirá el funcionamiento de las salidas del mismo. con unas reglas determinadas. esquemas eléctricos cableados y diagramas de bloques. . En el esquema eléctrico cableado se emplea la realimentación a través de un contacto abierto del relé o contactor en cuestión. identificándose con una fila de la tabla de verdad. que se completarán con X. traduciremos esta información a la evolución del sistema según sus etapas. Se representará en primer lugar el estado inicial. como más convenga. La unidad básica de memoria en los sistemas secuenciales es el biestable RS. consecuentemente. la solución del problema en esquema eléctrico cableado o en diagrama lógico de bloques. la mayor simplificación. Al formar la tabla de Karnaugh de la salida en un sistema combinacional. pueden quedar celdas vacías. Los sistemas combinacionales se caracterizan porque el valor de las salidas depende únicamente del valor de las entradas en ese momento. Después lo plasmaremos en una tabla de verdad. Si el problema de automatización es relativamente sencillo: a partir de la definición “en abstracto” del mismo. que representan que estas posiciones se pueden interpretar indistintamente como ceros o unos. condición indispensable para poder formar grupos. con unas reglas definidas. Los sistemas secuenciales se caracterizan porque el valor de las salidas depende no sólo del valor de las entradas en ese momento sino también del valor de las salidas en estados anteriores. La ecuación lógica que se obtenga de la tabla de Karnaugh tendrá un grado de simplificación considerable. El paso de un estado al siguiente lo determina el cambio de una sola de las variables de entrada. Los sistemas combinacionales también se pueden resolver mediante la representación de sus etapas de evolución en la tabla de verdad. dejando igual la otra variable que cambia (la real). a partir de ésta.Gray. para obtener los grupos de mayor tamaño y. de la que extraeremos tablas de Karnaugh. 60 Si el sistema es secuencial se ha de añadir una variable interna que se representa como variable de entrada en la parte de las entradas y como variable de salida en la parte de las salidas de la tabla de verdad. y su posterior simplificación mediante las tablas de Karnaugh. y 3. 2. Lo solucionaremos intercalando un estado ficticio en el que cambiaremos únicamente la variable interna de entrada. Posteriormente nos aparecerá otro problema al solucionar la indeterminación anterior: nos encontraremos con que de un estado al siguiente nos cambian dos variables de entrada a la vez. la ecuación lógica simplificada y. cuando se han terminado de trasladar todos los ceros y unos de la tabla de verdad. La programación del microcontrolador es entonces muy sencilla. Para la deducción de la tabla de verdad a partir de la evolución requerida del sistema se ha de tener en cuenta: 1. Conviene observar si es posible simplificar un poco más. aunque no es necesariamente el máximo. para solucionar la indeterminación que presentará disponer de dos estados con la misma combinación de variables de entrada y distintas salidas. Un estado viene definido por una determinada combinación de variables de entrada. para que las celdas de la tabla que se encuentren al lado en horizontal y vertical sean contiguas (sólo cambia una variable de una a otra). El método de simplificación de funciones lógicas mediante tabla de Karnaugh no proporciona las ecuaciones más simplificadas. Las combinaciones de ceros y unos correspondientes a las posibles combinaciones de las variables de entrada que se colocan en filas y columnas en la tabla de Karnaugh. V F 4. V F 12. Mediante las tablas de verdad se pueden expresar las funciones lógicas. V F 6. ésta no aparecerá en el término correspondiente de la ecuación algebraica. o la F si es falsa. se deben ordenar según el código binario natural.Ejercicios de autocomprobación Rodea con un círculo la V si cada una de las siguientes afirmaciones es verdadera. Es muy sencillo realizar simplificaciones de funciones lógicas de más de 5 variables mediante las tablas de Karnaugh. V F 2. V F 13. su contacto dejará pasar la corriente y si no está accionado. Es posible que. Si un pulsador está accionado. Al realizar los agrupamientos de unos en la tabla de Karnaugh. V F 14. No es posible representar las funciones lógicas expresadas mediante ecuaciones lógicas como esquemas eléctricos cableados. V F 5. V F 9. V F 61 . si alguna variable cambia de un uno a otro del grupo. Es posible expresar una función lógica en diagrama lógico de bloques a partir del esquema eléctrico cableado de una forma sencilla. No es posible realizar agrupaciones de unos que tengan forma de L. V F 7. es posible formar grupos de seis unos. Una FUNCIÓN LÓGICA establece la relación entre las variables del sistema automático que definen el funcionamiento de las salidas del mismo. El número de unos que puede contener un grupo en la tabla de Karnaugh debe ser potencia de dos. algunas veces. y suponen una forma muy útil de representar la evolución de los estados de pequeños automatismos. V F 8. V F 3. Al fijarnos en las variables de entrada correspondientes a los unos contenidos en un grupo de la tabla de Karnaugh. La lógica binaria define la forma de relacionarse entre sí de los elementos de automatización que sólo disponen de dos estados de funcionamiento. V F 10. se pueda simplificar algo más. no dejará pasar la corriente. V F 11. 1. Las formas canónicas de expresar la ecuación algebraica a partir de las tablas de verdad (MINTERM y MAXTERM) nos proporcionan las ecuaciones más simplificadas que se pueden obtener para esa función lógica. V F Compara tus respuestas con las que te indicamos al final de la unidad. V F 19. repasa la parte correspondiente del tema antes de proseguir tu estudio. 62 . Los sistemas combinacionales se caracterizan porque las variables de salida dependen de una combinación de las variables de entrada con las propias variables de salida. Crearé un estado ficticio siempre que quiera resolver el problema de que al pasar de un estado al siguiente en la tabla de verdad me cambien simultáneamente más de una variable de entrada. La célula básica de memoria es un sistema puramente combinacional. Si me encuentro con que al representar un sistema a automatizar en su tabla de verdad se me presentan dos estados con la misma combinación de variables de entrada y distintas variables de salida. No es posible resolver los problemas sencillos de automatización secuenciales mediante las tablas de verdad con su posterior simplificación por tablas de Karnaugh. V F 17. V F 20. V F 16. Si has cometido errores. deberé incluir una variable adicional interna.15. V F 18. Al pasar los datos de la tabla de verdad de un sistema real a la tabla de Karnaugh. las posiciones que me queden libres en esta última no se podrán incluir en los grupos que realice. Como se ha comentado. término que es abreviación de Gráfico Funcional de Control de Etapas y Transiciones. riguroso y jerárquico. etc.). puesto que no se va a realizar en lógica cableada. Se corresponde cada una con una situación del sistema en la que las salidas dependen únicamente de las entradas. la potencia del GRAFCET reside en que. Representan cada uno de los estados del sistema. EJERCICIOS RESUELTOS Como has podido aprender en los ejemplos de los apartados anteriores. en los que se puede programar la lógica que solucione el problema de automatización mediante software. es decir. Unen las etapas consecutivas entre sí. TRANSICIONES. La etapa se representa por un cuadrado con un número o un símbolo en su interior. Esto nos permite explorar otros procedimientos más estructurados y sencillos para solucionar los automatismos complejos.PROGRAMACIÓN CON GRAFCET. sí proporciona un método de resolución de los automatismos que es estándar. ya no es crítico que la solución del problema sea lo más simplificada posible. aparecen los MICROCONTROLADORES y los AUTÓMATAS PROGRAMABLES. conteos. la relación que existe entre entradas y salidas dentro de una etapa es principalmente combinacional (aunque se pueden dar también funciones no combinacionales. Señalan una dirección del flujo de control que va siempre de arriba hacia abajo. evitando las grandes dificultades a las que se hace referencia en el párrafo anterior. como temporizaciones. ETAPAS. Consecuentemente. lo que evita las incoherencias. El más extendido de ellos es el GRAFCET. Son las condiciones lógicas que tiene que cumplir el sistema para que termine la actividad definida en una 63 . bloqueos o conflictos durante el funcionamiento del sistema automático. con contactores y relés. EJERCICIOS RESUELTOS PROGRAMACIÓN CON GRAFCET. a no ser que se indique lo contrario. Una ETAPA INICIAL es la etapa en que se debe posicionar el sistema en el primer estado de funcionamiento del mismo. Con el aumento de la potencia de los sistemas de cálculo electrónico. si el sistema automático dispone de un número elevado de variables de entrada. Se exponen a continuación los elementos básicos que componen este modelo. El GRAFCET es un modelo con el que se analiza y diseña mediante una representación gráfica el funcionamiento de un sistema automático. aunque no busca las soluciones más simplificadas. su resolución mediante el método de las tablas de verdad y simplificación mediante tablas de Karnaugh se complica excesivamente. Se representa por un cuadrado doble. LÍNEAS DE EVOLUCIÓN. CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES etapa y comience la actividad de la etapa o de las etapas que la sigan. Vienen representadas en el gráfico como líneas cortas que se cruzan con las líneas de evolución entre las etapas. Se dice que una transición es VÁLIDA cuando la etapa anterior a la misma está activa (es decir. La etapa inicial (en cuadro doble) se activará en la puesta en marcha. Los números de las etapas tienen una función identificativa únicamente. 64 . Flechas que marcan el destino o la procedencia de las líneas de evolución cuando un gráfico está dividido en partes o se pretende evitar un número excesivo de cruces entre líneas de evolución. debe existir solamente una condición de transición (una ecuación combinacional que puede ser todo lo compleja que sea necesario. en cualquier momento se puede cumplir la condición de transición). pero solo una). no necesariamente se han de suceder las etapas en el flujo de control según el orden de sus números. entonces la transición es FRANQUEABLE. Cuando se franquea una transición se desactivarán las etapas anteriores y se activarán las posteriores a la misma. REENVÍOS. El aspecto general de un diagrama GRAFCET es el siguiente: Que se combinarán en la solución del problema siguiendo las reglas que se exponen a continuación: Entre dos etapas consecutivas del gráfico de GRAFCET. Si la transición es VÁLIDA y la condición lógica de la transición (su RECEPTIVIDAD) se cumple. 65 . de realización de las funciones lógicas. de actuadores. el motor debe abrir la misma y cuando la persona ya haya pasado.PROGRAMACIÓN CON GRAFCET. En este nivel de GRAFCET no se hacen referencias a las técnicas que se emplearán para la realización física del automatismo (tipos de detectores. El esquema sería: SOLUCIÓN: El GRAFCET DE NIVEL 1 quedaría como se muestra al margen. EJERCICIOS RESUELTOS Primer nivel: GRAFCET funcional El proceso a resolver se presentará como una sucesión de etapas en las que se describirán las acciones a realizar y las condiciones de transición. Cada vez que se aproxime una persona a la puerta.). Veámoslo con un ejemplo: Ejercicio resuelto. y queremos comandar la apertura de la misma en base a un detector de presencia próximo a la puerta con parada por final de carrera. Corresponde a una descripción global del sistema (con poco nivel de detalle). ACCIONAMIENTO AUTOMÁTICO DE PUERTA CON DETECTOR DE PRESENCIA Recordemos el funcionamiento de la puerta automática que se comentó en apartados anteriores: tenemos una puerta automática accionada por un motor eléctrico (a diferencia del ejemplo anterior). etc. el sistema debe volver a cerrarla. consiste en un nivel puramente conceptual. quedando en espera de un nuevo ciclo. CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES Segundo nivel: descripción tecnológica y operativa (GRAFCET con sensores y accionamientos) Se adapta el diagrama del GRAFCET a la tecnología con la que vayamos a realizar físicamente el sistema automático, describiendo las acciones dentro de la etapa y las receptividades correspondientes a las transiciones (las condiciones para el franqueo de la transición), conforme a la tecnología escogida. El GRAFCET DE SEGUNDO NIVEL del ejemplo quedaría como se muestra en la figura al margen. En donde “S –” representa la orden de marcha a la derecha del motor (sentido de cerrar puerta), “S = 0” representa la ausencia de orden de marcha al motor (situación de espera), y “S +” representa la orden de marcha a la izquierda del motor (sentido de abrir puerta). Tercer nivel: diseño del sistema de control Realizaremos la “traducción” del gráfico de control GRAFCET obtenido en el segundo nivel al lenguaje de programación o a la tecnología de automatización concretos que vayamos a utilizar en nuestro sistema. El diseño del sistema automático se realizará en dos partes bien diferenciadas: PARTE SECUENCIAL, en la que se realizarán en el lenguaje lógico escogido las estructuras de etapas y condiciones de transición que dan paso de unas etapas a otras. PARTE COMBINACIONAL, en la que se realizarán en el lenguaje lógico escogido todas las acciones combinacionales que se ejecutarán dentro de la etapa que se encuentre activa. Con anterioridad al diseño de las partes secuencial y combinacional, y dado que vamos a realizar el desarrollo de esta parte de la instalación automatizada aplicado a la programación de microcontroladores, realizaremos una TABLA DE ASIGNACIÓN DE VARIABLES. 66 PROGRAMACIÓN CON GRAFCET. EJERCICIOS RESUELTOS Con esta tabla identificaremos las variables que vamos a necesitar en la programación del microcontrolador, tanto variables de entrada, como variables de salida, como variables internas. La tabla de asignación de variables que corresponde al ejemplo, aplicada al caso del microcontrolador Logo de Siemens, cuyas principales características se estudiarán posteriormente, queda como sigue: TABLA DE ASIGNACIÓN DE VARIABLES VARIABLES DE ENTRADA GRAFCET Microcontrolador Comentario a I1 Detector de presencia b I2 Final de carrera de puerta abierta c I3 Final de carrera de puerta cerrada VARIABLES DE SALIDA GRAFCET Microcontrolador Comentario S- Q1 Mando del contactor para cierre de la puerta S+ Q2 Mando del contactor para apertura de la puerta BIESTABLES GRAFCET Microcontrolador Comentario E0 M1 Etapa 0 activa con M1 = 1 E1 M2 Etapa 1 activa con M2 = 1 E2 M3 Etapa 2 activa con M3 = 1 E3 M4 Etapa 3 activa con M4 = 1 E4 M5 Etapa 4 activa con M5 = 1 Se describen a continuación los pasos que hay que seguir para realizar el diseño de cada una de las partes dentro del tercer nivel. a) PARTE SECUENCIAL Asignaremos un biestable a cada etapa, que marcará si la misma está activada o no; sus valores lógicos 1 (etapa activada) o 0 (etapa no activa), se van a establecer en función de las receptividades de las transiciones entre etapas (de las condiciones de franqueo de una etapa a otra) como sigue: Puesta a 1 del biestable de la etapa N (la etapa N pasará a estar activa): para poner a 1 el biestable de activación de la etapa N tendrá que suceder que la etapa anterior (o etapas anteriores si más de una etapa anterior converge en la etapa N), esté activada y simultáneamente se cumplan las condiciones de transición entre la(s) etapa(s) anterior(es) y la etapa N. 67 CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES Puesta a 0 del biestable de la etapa N (la etapa N pasará a estar no activa): para poner a 0 el biestable de activación de la etapa N tendrá que suceder que la etapa posterior se active (o lo hagan simultáneamente las etapas inmediatamente posteriores si hay varias que divergen de la etapa N). En los biestables tienen prioridad las órdenes de Reset (puesta a cero), frente a las de Set (puesta a uno), lo cual es importante para la ejecución de nuestro GRAFCET, dado que en muchas ocasiones nos encontraremos con que un mismo biestable recibe las dos órdenes simultáneamente. Dado que la activación de la etapa siguiente requiere la desactivación de la etapa anterior, la prioridad del Reset sobre el Set nos ayuda a conseguirlo. b) PARTE COMBINACIONAL (ACCIONES DE LAS ETAPAS) A continuación se diseñarán las funciones lógicas de las acciones que se deben desarrollar dentro de cada etapa, para realizarlas con la tecnología elegida (cableada, microcontrolador, etc.). Los procedimientos que se emplearán son los que se han estudiado a lo largo de la presente unidad de conceptos básicos de programación aplicados a la lógica combinacional. En el caso del ejemplo, el diseño de las partes secuencial y combinacional del GRAFCET quedaría como sigue: CONDICIONES INICIALES La etapa inicial del GRAFCET se activará incondicionalmente. Se corresponde generalmente con una situación de reposo en espera de una orden de marcha o con la comprobación del posicionamiento inicial del sistema antes de comenzar el ciclo. Puedes observar en la figura siguiente cómo se resuelve la parte combinacional del problema con la programación según el lenguaje de diagrama lógico de bloques del microautómata Logo de Siemens. PARTE SECUENCIAL Cada etapa viene representada por un biestable propio, cuyo bloque viene marcado con la denominación RS. Recuerda que ya has estudiado los biestables en la unidad didáctica 4, correspondiente a electrónica, en donde se expone que los biestables son la célula básica de memoria. Los microcontroladores disponen de un bloque funcional llamado biestable RS que realiza, precisamente, esta función y que verás más adelante cómo se realiza su asociación a las etapas del GRAFCET, para indicar su activación o desactivación. Las entradas vienen representadas por los bloques marcados como “I”, que corresponden a entradas digitales en bornes del microautómata. 68 EJERCICIOS RESUELTOS Las marcas que se han empleado (los bloques marcados con la denominación “M” tras los biestables) corresponden a variables internas del microautómata. situación no permitida en este lenguaje de programación (particularidad del Logo de Siemens). utilizadas para evitar las referencias cruzadas directas entre salidas (recursiones). 69 .PROGRAMACIÓN CON GRAFCET. con lo que se consigue que la activación de la etapa siguiente implique la desactivación de la etapa anterior. ya que se trata de una etapa de espera. PARTE COMBINACIONAL ACCIONES DE LA ETAPA 1 Esta etapa no lleva asociadas acciones combinacionales. Observa que la salida de un biestable se dirige siempre a la entrada de RESET del biestable anterior.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES A la entrada de SET de cada biestable llegan las condiciones de transición (las receptividades) de cada etapa. 70 . Con I3 pulsado (la puerta continúa en posición cerrada). se dará orden de cierre a la puerta. se dará orden de apertura a la puerta. una vez hayas ejecutado el LOGOSOFT y hayas cargado el programa: 1.PROGRAMACIÓN CON GRAFCET. Comprobación del funcionamiento del programa realizado con GRAFCET En el disco que se entrega con el curso puedes encontrar el programa correspondiente a este ejemplo con el nombre “EJEMPLO 1 GRAFCET PUERTA CON DETECTOR PRESENCIA. que puedes ejecutar con el programa LOGOSOFT. Esta segunda salida digital del autómata. volveremos 71 . La puerta comienza a abrir y. que es la única que tiene la propiedad de que en el primer ciclo del programa (justo cuando empieza a correr por primera vez tras el último paro de programa). da en su salida un valor activo (igual a 1 lógico). ya que se trata de una etapa de espera. En el menú del programa pulsa en “Herramientas” y “Simulación” o.lsc”. dado que es una etapa de espera. en la parte combinacional del programa verás cómo la activación de la marca M2 activa a su vez la salida Q1. alternativamente. Q2. a la entrada Reset de su biestable le hemos conectado la marca M8. nos encontramos con la etapa 0 activa. hasta que se encuentre totalmente abierta. Además. por tanto. con lo que puedes observar que se activa la etapa 1 (el biestable RS B002) y se desactiva la etapa 0 (el biestable RS B001). 3. correspondiente a la etapa 0. que corresponde al contactor de apertura de la puerta. Consecuentemente. que corresponde con salidas digitales en bornas del microautómata. EJERCICIOS RESUELTOS ACCIONES DE LA ETAPA 2 Cuando la segunda etapa se encuentre activa. ACCIONES DE LA ETAPA 4 Cuando se encuentra activa la etapa cuatro. alimentará a la bobina del contactor de marcha del motor de la puerta en sentido del cierre de la misma. Verás cómo se activa la etapa E2 (el biestable RS B004). La salida se marca con un bloque denominado “Q”. y en el segundo ciclo y posteriores funciona como una marca normal. Los pasos para la comprobación del funcionamiento del programa son los siguientes. Observarás cómo se activa el biestable B001 E0. Esta etapa no dispone de acciones combinacionales asociadas. ACCIONES DE LA ETAPA 3 Esta etapa no lleva asociadas acciones combinacionales. 2. estaremos satisfaciendo la receptividad de la transición de la etapa 0 a la 1. pulsa sobre I1 para simular la presencia de una persona en las inmediaciones de la puerta. Como la etapa cero es de activación automática. Si pulsamos sobre I3 (detector de puerta cerrada). pulsa F3. con salida a bornas del mismo. Para simular esta situación pulsamos otra vez sobre I1 para desactivarlo. 6. 4. y observa que pasamos al estado E0. si pulsas de nuevo sobre I2. 72 . El siguiente paso corresponde al final de carrera de puerta abierta cuando ésta llega a su posición de completamente abierta. correspondiente al contactor que corresponde al sentido de giro de cerrar la puerta del motor. ya que la puerta sigue pisando el final de carrera de abierta.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES a pulsar sobre I3 porque ésta deja de pisar el final de carrera de puerta cerrada. Puedes observar cómo se activa la etapa E3 (biestable RS B006). a la vez que se desactiva la salida Q1 en la parte de las acciones de las etapas del programa. Luz verde durante 10 segundos. con lo que volvemos a iniciar el ciclo. en los casos sencillos la utilización del método GRAFCET supone que la función lógica que obtenemos finalmente se complica con respecto a la solución obtenida mediante tablas de verdad y simplificación por Karnaugh. como se verá en los siguientes ejemplos. Como puedes observar. Luz ámbar durante 5 segundos. El objetivo del GRAFCET no es conseguir un alto grado de simplificación. dejando I2 pulsado. Ejercicio resuelto. La puerta comenzará a cerrar. Cuando la puerta llega a su posición final de cerrada. El siguiente paso corresponde al detector de presencia. desactivándose el estado E4. ACTUACIÓN EN CICLO CONTINUO DE UN SEMÁFORO Se quiere diseñar un programa que comande los encendidos de las luces de un semáforo. simulas que ya no pisa el final de carrera de puerta abierta (observa que el sistema permanece en la etapa 4 dado que debe continuar cerrando). a la vez que en la parte de las acciones de la etapa 4 se ha activado la salida Q2. sino servir de herramienta muy potente para la solución de los problemas más complejos. La secuencia de luces debe ser la siguiente: Luz roja durante 15 segundos. Observa cómo el sistema ha pasado de la etapa E3 a la E4 (se ha activado el biestable RS B008 y se ha desactivado el biestable RS B006). Observa cómo se mantiene tanto la etapa 2 activa como la salida Q1 en marcha. pulsará sobre el final de carrera de puerta cerrada (pulsa sobre I3 para simular esta situación). Pulsamos sobre I2 para simular esta situación. pero esta vez programado con el lenguaje correspondiente al microcontrolador Zelio de Telemecánica. A continuación se expone otro ejemplo resuelto con el sistema GRAFCET. que cambiará a no detectar cuando la persona ya haya pasado. La puesta en marcha del semáforo se debe producir inmediatamente al dar tensión. 5. Nos encontramos en una etapa de espera (la persona debe pasar por la puerta sin que el sistema realice más acciones). hacen referencia a las tres salidas del sistema de automa- 73 . según la nomenclatura que se ha empleado a lo largo de la unidad. EJERCICIOS RESUELTOS SOLUCIÓN: El GRAFCET DE NIVEL 1 necesario para resolver este problema quedaría: El GRAFCET DE NIVEL 2 quedaría: Recuerda que S1. S2. S3.PROGRAMACIÓN CON GRAFCET. dado que consisten solamente en la activación directa de la salida correspondiente a la lámpara de cada etapa. 74 . De esta forma se van sucediendo las tres etapas correspondientes a los tres estados del semáforo. con la que realizaremos la programación en el microautómata Zelio de Schneider. La TABLA DE ASIGNACIÓN DE VARIABLES para este caso.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES tización (que corresponderán en este caso a tres salidas físicas del microautómata con las que alimentaremos las lámparas del semáforo). al no estar activas las otras tres etapas. el temporizador se activa y se inicia la etapa 2. Las acciones combinacionales correspondientes a cada etapa se han programado junto con las secuenciales. Cuando se alcanzan los 15 segundos. La activación de la etapa cero conduce automáticamente a la activación de la primera etapa (en este ejemplo no tenemos posiciones iniciales que comprobar en la etapa cero). a la vez que se desactiva la etapa 1. al iniciar la simulación en Zelio Logic se activa la etapa 0. que cuenta hasta los 15 segundos. quedará: TABLA DE ASIGNACIÓN DE VARIABLES VARIABLES DE ENTRADA GRAFCET Microcontrolador Comentario Sin variables de entrada: queremos activación automática al conectar la alimentación y ciclo continuo. La entrada en la etapa 1 supone la iniciación automática del temporizador T1. VARIABLES DE SALIDA GRAFCET Microcontrolador Comentario S1 Q1 Alimentación de la lámpara roja S2 Q2 Alimentación de la lámpara verde S3 Q2 Alimentación de la lámpara ámbar BIESTABLES GRAFCET Microcontrolador Comentario E0 M1 Etapa 0 activa con M1 = 1 E1 M2 Etapa 1 activa con M2 = 1 E2 M3 Etapa 2 activa con M3 = 1 E3 M4 Etapa 3 activa con M4 = 1 Comprobación del funcionamiento del programa realizado con GRAFCET Como puedes comprobar al cargar el programa GRAFCET SEMÁFORO 1 que viene en el CD del curso. Se puede observar la programación en el lenguaje de contactos de Zelio Logic en la figura siguiente. EJERCICIOS RESUELTOS 75 .PROGRAMACIÓN CON GRAFCET. CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES Ejercicio resuelto. de forma que en el siguiente arranque la bomba que se ponga en marcha sea la otra. arrancará la bomba B1. Si el nivel de agua alcanza al detector n1. las bombas estarán paradas. o bien el caudal de agua es excesivamente grande o hay algún fallo en el sistema. EXTRACCIÓN DE AGUAS DE UN POZO DE RECOGIDA CON DOS BOMBAS Y ALARMA CON MARCHA ALTERNADA ENTRE LAS DOS BOMBAS Se pide realizar con la metodología GRAFCET la automatización de la extracción de aguas del depósito de recogida que se realizó en un ejercicio anterior. por lo que se encenderá un piloto rojo de alarma H1. Esta medida tiene el objeto de repartir la carga de trabajo entre las dos bombas y que no sea siempre la misma la que arranque cuando se toque la boya de nivel inferior (circunstancia de funcionamiento que se llevará normalmente la mayor parte del tiempo de bombeo del sistema). Si el nivel de agua alcanza al detector n3. A las que añadimos la siguiente condición adicional: El sistema debe recordar cuál fue la última bomba que arrancó. que consistía en: Recordemos las condiciones de funcionamiento: Si el nivel de agua se encuentra por debajo del detector n1. 76 . Si el nivel de agua alcanza al detector n2. una sola bomba no tiene la fuerza suficiente para evacuar el caudal de agua entrante y arrancaremos también la bomba B2. EJERCICIOS RESUELTOS SOLUCIÓN: El GRAFCET DE NIVEL 1 necesario para resolver este problema quedaría: El GRAFCET DE NIVEL 2 quedaría: 77 .PROGRAMACIÓN CON GRAFCET. respectivamente. la programación en lenguaje de contactos en Zelio Logic de la parte secuencial del GRAFCET del problema (traducción al programa de la estructura de etapas) y la programación de la parte de las acciones de las etapas. la próxima que arrancará será la bomba B1.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES La TABLA DE ASIGNACIÓN DE VARIABLES para este caso. quedará: TABLA DE ASIGNACIÓN DE VARIABLES VARIABLES DE ENTRADA GRAFCET Microcontrolador Comentario n1 I1 Detector de presencia n2 I2 Final de carrera de puerta abierta n3 I3 Final de carrera de puerta cerrada VARIABLES DE SALIDA GRAFCET Microcontrolador Comentario B1 Q1 Bomba número 1 B2 Q2 Bomba número 2 H Q3 Alarma de nivel máximo BIESTABLES GRAFCET Microcontrolador Comentario E0 M1 Etapa 0 activa con M1 = 1 E1 M2 Etapa 1 activa con M2 = 1 E2 M3 Etapa 2 activa con M3 = 1 E3 M4 Etapa 3 activa con M4 = 1 E4 M5 Etapa 4 activa con M5 = 1 - M6 Memoria para selección de bomba a arrancar En este ejercicio empleamos un biestable más aparte de los correspondientes a las etapas del GRAFCET. Este biestable adicional (M6) se emplea para recordar cuál fue la última bomba en arrancar y preseleccionar para el próximo arranque la otra bomba: Si M6 = 0. por lo tanto. 78 . con la que realizaremos la programación en el microautómata Zelio de Schneider. la última bomba que arrancó fue B2 y. Las dos figuras siguientes son. la última bomba que arrancó fue B1 y. por lo tanto. la próxima que arrancará será la bomba B2. Si M6 = 1. EJERCICIOS RESUELTOS 79 .PROGRAMACIÓN CON GRAFCET. CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES 80 . GRAFCET es acrónimo de Gráfico Funcional de Control de Etapas y Transiciones. para evitar líneas de evolución demasiado prolongadas o demasiados cruces entre las mismas. transiciones y reenvíos. y el tercer nivel o diseño del sistema de control. Cuando se franquea una transición siempre se desactivarán las etapas anteriores y se activarán las etapas posteriores a la misma. tablas de Karnaugh y ecuación lógica simplificada se hace demasiado complejo y deja de ser una solución viable. por lo que tendremos que establecer en él una tabla de asignación de variables y dos partes diferenciadas en el programa a cargar en el microcontrolador: la parte secuencial. o descripción tecnológica y operativa. Los elementos básicos del GRAFCET consisten en etapas. o nivel funcional. Los reenvíos son flechas que marcan el destino o la procedencia de las líneas de evolución. Las transiciones son los requisitos que debe cumplir el sistema para que termine la actividad definida en una etapa y comience la actividad de la etapa o de las etapas que le siguen. o estructura lógica de etapas y transiciones. la transición es franqueable.RESUMEN Conforme se va complicando el problema de automatización. se podrá escribir el programa para cargarlo en cualquier microcontrolador y resolver los requisitos de la automatización. El tercer nivel dará como resultado un programa para un microcontrolador. La etapa inicial se debe activar siempre automáticamente en la puesta en marcha. Las líneas de evolución unen las etapas consecutivas entre sí. El GRAFCET no persigue conseguir la solución más simplificada posible del problema de automatización. Para resolver estos problemas más complejos se emplean los métodos gráficos. el método de resolución por tablas de verdad. el más extendido es el método GRAFCET. Las etapas representan los estados del sistema. sino proporcionar un método sistemático de resolución de problemas de automatización por complejos que sean. Se representan con líneas cortas que cruzan a las líneas de evolución. Dentro de una etapa las acciones son principalmente combinacionales. Se representan con un cuadrado con un número o símbolo en su interior. Se representa por un cuadrado doble. si se cumple. La etapa inicial se emplea para posicionar el sistema en el primer estado de funcionamiento. que. Se denomina RECEPTIVIDAD a la condición lógica de la transición. Entre ellos. La resolución del problema mediante el método GRAFCET se lleva a cabo en tres niveles: el primer nivel. líneas de evolución. 81 . y la parte de las acciones a realizar por las etapas. Una vez realizado el procedimiento GRAFCET. el segundo nivel. entonces realizaremos los gráficos de funcionamiento según el método GRAFCET. y en último lugar definiremos las acciones asociadas a las etapas. estableceremos sistemáticamente los pasos en la evolución del sistema por etapas y 82 transiciones. aunque no sea lo más simplificada posible. La programación del microcontrolador en base a este gráfico de funcionamiento es entonces muy sencilla.En conclusión: si el problema de automatización es complejo y no es solucionable con el método de evolución de etapas en la tabla de verdad y Karnaugh. . aspecto secundario si se dispone de microcontroladores. El método GRAFCET es válido y muy aplicable para obtener de forma sistemática las soluciones de problemas muy complejos y para los que la solución más simplificada no es lo más importante. V F 29. V F 26. y la correspondiente a las acciones a realizar por las etapas (parte combinacional). existirán dos partes diferenciadas: la correspondiente a la estructura de etapas de la solución (parte secuencial). 21. 83 . Es necesario accionar un pulsador al comienzo de la operación del sistema para activar la etapa inicial del GRAFCET. también denominado GRAFCET FUNCIONAL. V F 23. V F 22. Si se cumple la receptividad de una transición (su condición lógica).Ejercicios de autocomprobación Rodea con un círculo la V si cada una de las siguientes afirmaciones es verdadera. V F 28. nos den la mayor economía posible. Si has cometido errores. y la etapa anterior a la transición estaba activa. El método GRAFCET para resolver problemas de automatización no es válido para los sistemas secuenciales. dado que se van a programar en microcontrolador. entonces se activará la etapa posterior y se desactivará la etapa anterior. El método GRAFCET es especialmente útil para obtener soluciones a los problemas de automatización que sean lo más reducidas posibles y que. corresponde a una descripción global del sistema con poco nivel de detalle. Al realizar la programación de la solución obtenida con el método GRAFCET en el microcontrolador. V F Compara tus respuestas con las que te indicamos al final de la unidad. también llamado TABLA DE ASIGNACIÓN DE VARIABLES. V F 25. La activación de una etapa en GRAFCET viene determinada por la activación de un bloque funcional en el microcontrolador de tipo temporizador. repasa la parte correspondiente del tema antes de proseguir tu estudio. asociándolas con las variables del microcontrolador y realizando un pequeño comentario de cada una de las mismas. En el GRAFCET de segundo nivel. El método GRAFCET es un método gráfico de solución de problemas de automatización. se realizará una lista de las variables de entrada y salida. V F 24. V F 30. V F 27. al realizarlas físicamente en lógica cableada. o la F si es falsa. El GRAFCET de primer nivel. elección del idioma. Configurar las opciones básicas (uso de contraseña para la protección de la información. Automatización de sistemas de riego. Borrar el esquema contenido en el relé programable. controles de acceso. Transferir los programas de forma bidireccional. cortinas eléctricas. Cambiar el estado del autómata entre “run” y “stop”. y activación y desactivación de la ayuda automática). Las funciones básicas del relé programable Zelio consisten en: Actualizar la fecha y la hora del reloj interno. filtrado de las entradas para aumentar la sensibilidad. Su empleo está bastante extendido tanto en el sector industrial como en el sector servicios (siendo este último el objeto principal de estudio del presente curso). Automatización de instalaciones de iluminación. u otro tipo de soluciones basadas en tarjetas de control específicas para la aplicación (cuyo gran inconveniente consiste en su falta de flexibilidad y estandarización). bombeo. etcétera. Automatización de compresores y sistemas de aire acondicionado. Por su compacto tamaño y por su facilidad de instalación y configuración. invernaderos.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES RELÉ PROGRAMABLE ZELIO DE SCHNEIDER ELECTRIC Y LOGO DE SIEMENS Relé programable Zelio de Schneider Electric Características principales Schneider Electric dispone de un pequeño microcontrolador (también denominados relés programables). que está diseñado para el control de pequeños sistemas automatizados. Dentro del área de servicios-domótica son aplicaciones típicas las que se relacionan a continuación: Automatización de barreras. supone una gran alternativa a los sistemas de lógica eléctrica cableada (que se han venido estudiado en la presente unidad). Visualizar y modificar los parámetros de los bloques de función. denominado Zelio. etcétera. Introducir el esquema de mando. Se viene comercializando desde el año 2000. 84 . activación o desactivación de los botones Zx como pulsadores. En el frontal del relé se encuentran 6 teclas de función. 85 . por lo que no cabe duda de que su comprensión por parte del alumno será muy rápida y natural. TON. TON. se pueden emplear relés auxiliares para memorizar el estado. que consiste en un esquema muy similar al esquema de lógica eléctrica cableada (de hecho. Diagrama de Bloques Funcionales). de uso intuitivo. Salidas digitales (todo/nada). acostumbrados a manejarse con la lógica cableada. por tanto. la programación se puede realizar en LADDER o en FBD (diagrama de bloques de funciones). el manejo de estos productos emergentes y. es decir. se han estudiado detalladamente en la presente unidad. La programación del microcontrolador se puede realizar por dos medios: Independientemente. que se puede realizar mediante los dos lenguajes siguientes: Lenguaje LADDER. novedosos). Cada línea de programa se compone de cinco posiciones para contactos como máximo. o En el ordenador. Lenguaje FBD (Function Block Diagram. este tipo de lenguaje en microcontroladores surgió históricamente para facilitar a los usuarios. empleando las teclas en el relé programable en lenguaje de contactos (LADDER). empleando el software ZelioSoft. Ambos lenguajes de programación (además del diagrama eléctrico cableado). Si escogemos esta última opción. En el lenguaje LADDER del microautómata Zelio se pueden emplear como contactos los elementos siguientes: Entradas digitales (todo/nada). Lenguajes de programación Dispone de una programación sencilla. la edición de los esquemas de contactos necesarios para la programación y el empleo como simulación de pulsadores en los esquemas de mando. Se dispone de una interfaz que permite la transferencia de programas de forma bidireccional entre el relé programable y un ordenador provisto de la utilidad ZelioSoft. Las teclas del frontal del relé programables empleadas como pulsadores digitales.RELÉ PROGRAMABLE ZELIO DE SCHNEIDER ELECTRIC Y LOGO DE SIEMENS Visualizar los elementos necesarios para la introducción de un esquema de mando. En caso de que sean necesarios más contactos. y de una última posición para la bobina (obligatoria). que permiten la gestión de menús. la entrada de valores. Pestañas de fijación retráctiles. 6 6. Bloque terminal de alimentación. Bloque función analógico. 1 2. Bloque terminal de salida para relé. . 5. de selección y validación. Bloque terminal de entradas digitales. 4.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES Relés auxiliares. Bloque terminal de entradas analógicas de 0 a 10 voltios. Tecla Menú/Aceptar (verde). Pantalla LCD de 4 líneas y 18 caracteres por línea. La programación del relé Zelio permite el empleo de los siguientes bloques de función: Reloj. Temporizador. Tecla Mayús (blanca). 7 8 10 7. en el lenguaje LADDER del microautómata Zelio se pueden emplear como salidas TON: Bobinas. 9 86 1 10. Conexionado del relé programable Zelio Un relé programable Zelio genérico presenta en su frontal los siguientes elementos (versión alimentada a 24 V de corriente continua): Siendo cada uno de ellos: 2 3 4 5 1. 9. Asimismo. Alojamiento de la memoria de copia de seguridad o cable de conexión para PC. 3. Contador. Relé auxiliar. configurables como botones pulsadores Z. Bobinas set-reset. Teclas de navegación (grises). Bloques funcionales. utilizables en entradas digitales según el modelo. Bobinas de telerruptor. 8. El neutro se distribuye al neutro de la alimentación al relé (borne N). que cuando se cierre por programa comunicará la tensión a la lámpara L1 (por el borne 2 de Q1). 240 Vca 50 / 60 Hz N Fusible 1 S1 S2 En donde se puede observar la distribución de la fase y el neutro de la alimentación monofásica a los diferentes bloques del relé programable: 1. La fase se lleva a la entrada de alimentación al relé (borne L).RELÉ PROGRAMABLE ZELIO DE SCHNEIDER ELECTRIC Y LOGO DE SIEMENS El esquema con el que conectaríamos un relé programable Zelio alimentado a 220 V de corriente alterna y con entradas y salidas digitales. Con una tensión en la salida de 230 Vca.9 y 15 A. cable negro o marrón. Fusible 2 Salidas Q1 .. se deberá alimentar desde una línea de corriente alterna con una tensión de entre 85 y 264 V. preparado para realizar el encendido de una lámpara desde dos sitios distintos. Observa cómo en los ejemplos desarrollados a lo largo de la unidad la nomenclatura que hemos utilizado es coherente con la que nos aparece ahora en el elemento real de programación. cable azul. es el que se representa en la figura al margen. en las entradas I1 e I2 (bornes eléctricos del mismo nombre).. El relé programable Zelio que lleve marcada una alimentación 100/240 Vca. La fase se alimenta también al bloque de salidas. Las entradas digitales del autómata trabajan con una intensidad de corriente nominal de 11 mA y una tensión nominal de entre 100 y 240 Vca. L 100 . a través de los pulsadores S1 y S2 al bloque de entradas digitales del relé. 4. 2.. La fase se alimenta. La línea debe ser capaz de suministrar una intensidad nominal máxima a la entrada del relé de 46 mA con una tensión de 115 V y de 36 mA en caso de que la tensión sea de 240 V. El rango de variación de la tensión que se lleve a los bornes de salida del autómata depende de si es continua o alterna: En corriente alterna las salidas del autómata se pueden conectar a una tensión de entre 24 y 250 V. cable negro o marrón. 87 .. Q4: Relay 8A L1 3. El borne 2 se conectará a la entrada de la bobina del contactor comandado (borne A1 del contactor). en concreto mediante la salida Q1 (borne 1). El borne 1 de la salida se conectará a la línea de alimentación. también. la intensidad de corriente puede variar entre 0. Ejercicios resueltos Vamos a realizar como ejercicios de aplicación la programación en el lenguaje del microcontrolador Zelio Logic de algunos de los circuitos de ejemplo que se han expuesto a lo largo de la presente unidad didáctica.9 y 13 A. la intensidad de corriente puede variar entre 0. REALIZACIÓN DE LAS FUNCIONES LÓGICAS BÁSICAS EN ZELIO Realizar en el lenguaje LADDER de Zelio Logic la programación de las funciones lógicas básicas de la página 89. El borne 1 de la salida se conectará al positivo de la alimentación.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES En corriente continua las salidas del autómata se pueden conectar a una tensión de entre 5 y 150 V. Ejercicio resuelto. Con una tensión en la salida de 24 Vcc. SOLUCIÓN: FUNCIÓN “NOT” MEDIANTE RELÉ INTERMEDIO Expresiones lógicas de la función: Tabla de verdad Diagrama eléctrico cableado Ecuación lógica S=a 88 Diagrama lógico de bloques . El borne 2 se conectará a la entrada de la bobina del contactor comandado (borne A1 del contactor). la tensión sí llega a la salida Q1 y ésta se encuentra activada. en la pantalla del ZelioSoft se ha de pulsar el botón de modo de simulación (arriba a la derecha. Observa cómo al estar abierto el pulsador (entrada I1). la tensión no llega al relé intermedio (M1). con el que es posible comprobar el funcionamiento del mismo. Para activar este modo de simulación. Fíjate cómo las líneas y elementos que no tienen tensión el programa las presenta coloreadas en azul y las que sí tienen tensión las presenta coloreados en rojo. debajo del primero. 89 . Como el contacto m1 del relé intermedio es normalmente cerrado. marcado con una S) y posteriormente el botón de “Run”.RELÉ PROGRAMABLE ZELIO DE SCHNEIDER ELECTRIC Y LOGO DE SIEMENS Solución en lenguaje LADDER de Zelio Logic: En la figura anterior se presenta el programa en el modo de simulación. observaremos cómo la situación es ahora la contraria.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES Si accionamos el pulsador I1. FUNCIÓN “OR” O SUMA LÓGICA Expresiones lógicas de la función: Tabla de verdad Diagrama eléctrico cableado Ecuación lógica S=a+b Solución en lenguaje LADDER de Zelio Logic: 90 Diagrama lógico de bloques . En adelante puedes realizar tú mismo la comprobación del funcionamiento de los circuitos programados mediante la simulación que te permite el programa Zelio Logic. comprobando el correcto funcionamiento del mismo. RELÉ PROGRAMABLE ZELIO DE SCHNEIDER ELECTRIC Y LOGO DE SIEMENS FUNCIÓN “AND” O PRODUCTO LÓGICO Expresiones lógicas de la función: Tabla de verdad Diagrama eléctrico cableado Ecuación lógica Diagrama lógico de bloques S=a↔b Solución en lenguaje LADDER de Zelio Logic: 91 . CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES FUNCIÓN “NOR” O SUMA LÓGICA NEGADA Expresiones lógicas de la función: Tabla de verdad Diagrama eléctrico cableado Ecuación lógica S=a+b Solución en lenguaje LADDER de Zelio Logic: 92 Diagrama lógico de bloques . RELÉ PROGRAMABLE ZELIO DE SCHNEIDER ELECTRIC Y LOGO DE SIEMENS FUNCIÓN “NAND” O PRODUCTO LÓGICO NEGADO Expresiones lógicas de la función: Tabla de verdad Diagrama eléctrico cableado Ecuación lógica Diagrama lógico de bloques S=a↔b Solución en lenguaje LADDER de Zelio Logic: 93 . SOLUCIÓN: El diagrama eléctrico cableado que resolvía el problema era: Por tanto. EXTRACCIÓN DE AGUAS DE UN POZO DE RECOGIDA CON DOS BOMBAS Y ALARMA Programar en lenguaje LADDER de Zelio Logic el circuito que resuelve el problema visto anteriormente (página 37) de EXTRACCIÓN DE AGUAS DE UN POZO DE RECOGIDA CON DOS BOMBAS Y ALARMA. la solución en lenguaje LADDER de Zelio Logic es: 94 .CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES Ejercicio resuelto. la solución en lenguaje LADDER de Zelio Logic es: 95 . TALADRADO CON FIJACIÓN DE PIEZA EN CICLO CONTINUO Programar en lenguaje LADDER de Zelio Logic el circuito que resuelve el problema visto anteriormente (página 39) de TALADRADO CON FIJACIÓN DE PIEZA EN CICLO CONTINUO.RELÉ PROGRAMABLE ZELIO DE SCHNEIDER ELECTRIC Y LOGO DE SIEMENS Ejercicio resuelto. SOLUCIÓN: El diagrama eléctrico cableado que resuelve el problema es: Por tanto. El valor lógico Fc3 = 1 significa que el final de carrera sí se encuentra accionado. El valor lógico C1 = 0 significa que el cilindro recibe el aire de mando en el sentido de retraerse o mantenerse totalmente retraído si ya lo está. Al activar el modo de simulación de ZelioSoft. que se repite a continuación: A la hora de realizar la simulación para comprobar el funcionamiento. ¡Cuidado con no confundir el estado lógico Fc3 = 0 (final de carrera sin accionar). no es así necesariamente! De igual forma sucede con el resto de finales de carrera. todos los contactos normalmente abiertos con el nombre Fc3 se encontrarán abiertos y todos los contactos normalmente cerrados de Fc3 se encontrarán cerrados. ¡Cuidado con no confundir el estado lógico Fc3 = 1 (final de carrera accionado). De igual forma sucede para C2. 4. no es así necesariamente! De igual forma sucede con el resto de finales de carrera. la pieza que detecta (el extremo del vástago). Por ello. sí está posicionada justamente debajo del final de carrera. debes reflejar primeramente el estado de los finales de carrera en sus contactos y observar cómo las sali- 96 . todos los contactos normalmente abiertos con el nombre Fc3 se encontrarán cerrados y todos los contactos normalmente abiertos con el nombre Fc3 se encontrarán abiertos. la pieza que detecta (en nuestro caso el extremo del vástago) no está posicionada justamente debajo del final de carrera. recuerda los siguientes puntos: 1. si Fc3 = 1. es decir. 3. con que no pasa tensión por el contacto. si Fc3 = 0. El valor lógico C1 = 1 significa que el cilindro recibe el aire de mando en el sentido de desplegarse o mantenerse totalmente desplegado si ya lo estaba. Por ello. 2. El valor lógico Fc3 = 0 significa que el final de carrera no se encuentra accionado.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES Puedes comprobar ahora fácilmente el funcionamiento del circuito simplificado obtenido según el procedimiento de las tablas de Karnaugh comparando las salidas que te da la simulación en Zelio Logic con las evoluciones de las etapas del sistema que nos define la tabla de verdad del ciclo de funcionamiento. con que sí pasa tensión por el contacto. De igual forma sucede para C2. es decir. SOLUCIÓN: El diagrama eléctrico cableado que resuelve el problema es: Por tanto. la solución en lenguaje LADDER de Zelio Logic es: 97 . Ve cambiando uno a uno los finales de carrera al pasar de un estado al siguiente y observarás cómo en cada paso las salidas van evolucionando tal y como especifica la tabla de verdad. Ejercicio resuelto.RELÉ PROGRAMABLE ZELIO DE SCHNEIDER ELECTRIC Y LOGO DE SIEMENS das obedecen al estado que les corresponde según la tabla de verdad. ACCIONAMIENTO DE PRENSA CON UNA SOLA PULSACIÓN Programar en lenguaje LADDER de Zelio Logic el circuito que resuelve el problema visto anteriormente (página 54) de ACCIONAMIENTO DE PRENSA CON UNA SOLA PULSACIÓN. 98 . y entradas y salidas en función del modelo. la interfaz para módulo de programación (card) y cable para PC. marcas digitales y analógicas. temporizador. la transferencia de programas desde el módulo al PC y viceversa. Mediante estas teclas es posible desplazarse por los menús. En el frontal del relé programable existen seis teclas de función. según la propia denominación de la marca) desde el año 1996. la fuente de alimentación. introducir valores en el programa e introducir y modificar el programa en diagrama lógico de bloques. Relé programable Logo de Siemens Características principales Siemens viene comercializando su relé programable Logo (módulo lógico universal. Ten en cuenta que dado que éste es un problema secuencial. desconexión retardada. porque cambiará sola (es salida a la vez que entrada). El relé programable Logo lleva integrados el control. Se puede conectar también en esta interfaz un módulo de programa o una tarjeta de memoria. En el frontal del microcontrolador existe una interfaz de conexión mediante cable con un PC para la transferencia en los dos sentidos del programa a ejecutar. la interfaz para módulos de ampliación. Las funciones básicas del microcontrolador incluyen el cambio del estado de funcionamiento del microcontrolador. Cuando el autómata se encuentra en estado de funcionamiento. el ajuste del reloj interno y la edición o borrado del programa introducido en el mismo. El ordenador debe estar provisto del software LogoSoft. relés de corriente e interruptor de software). se visualizará el estado de las entradas y salidas.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES Cuyo funcionamiento puedes comprobar también fácilmente con la tabla de verdad del problema. El relé programable dispone de una pantalla de cristal líquido en la que se visualiza el menú de programación. ya no tienes que forzar la variable interna X (representada en el programa por la marca interna M1). los parámetros y el programa introducido. la unidad de manejo e indicación. una serie de funciones básicas muy utilizadas que van preprogramadas (conexión retardada. Temporizador a la conexión memorizable. Temporizador a la desconexión. Discriminador analógico. Temporizadores semanal y anual. Relé de impulsos. Relé disipador. Relé disipador con activación por flancos. Pulsador de confort. Función NOT. Emisor de cadencias simétrico. Discriminador para frecuencias. Generador de impulsos asíncrono. Los bloques funcionales transforman informaciones de entrada en informaciones de salida. Comparador analógico. Funciones NAND y NAND con activación por flanco. Se puede transferir. Función OR. Función NOR. 99 . Temporizador a la conexión-desconexión. también. Interruptor de alumbrado para escalera. El programa se va introduciendo a partir de estos bloques funcionales desde las teclas del panel frontal y comenzando desde la parte de las salidas. Contador de horas de servicio. en base a las reglas del álgebra de Boole. desde una tarjeta de memoria o desde un PC. Generador aleatorio.RELÉ PROGRAMABLE ZELIO DE SCHNEIDER ELECTRIC Y LOGO DE SIEMENS Lenguajes de programación El relé programable Logo permite la programación mediante un lenguaje lógico de bloques funcionales propio del microcontrolador. Función XOR (OR exclusiva). Relé de parada automática. El relé programable Logo dispone de los siguientes bloques funcionales básicos: Funciones AND y AND con activación por flanco. A los que se añaden los siguientes bloques de funciones especiales: Temporizador a la conexión. Contador progresivo y regresivo. 0 A para 24 V del resto de modelos.8 A para 12/24 V y modelos RC. 12 Vcc. Entradas Las entradas en los modelos de corriente continua se conectarán: 100 . 24 Vca. 240 Vca/Vcc. y de 2. 24 Vcc. Alimentación La alimentación de los modelos de corriente continua se conectará como sigue: L+ M El fusible será de 0.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES Conexionado del relé programable Logo El relé programable Logo se puede alimentar con la siguiente combinación de tensiones: 115 Vca/Vcc. La alimentación de los modelos de corriente alterna se conectará como sigue: L1 N Se podrá colocar un varistor para proteger de picos de tensión con una tensión de servicio como mínimo de un 20% superior a la tensión nominal. con lo que sus contactos están libres de potencial con respecto a la tensión de alimentación y a las entradas. se conectará al neutro (o a la masa si se trata de corriente continua).. y los bornes marcados con un “1” se conectarán a la alimentación de tensión de los receptores (borne A1 si se trata de relés o contactores). es un modelo con salidas de relé. DM8. se tratará de un modelo con salidas de tipo transistor.RELÉ PROGRAMABLE ZELIO DE SCHNEIDER ELECTRIC Y LOGO DE SIEMENS L+ M La referencia de potencial de las entradas debe ser la misma que la de la tensión de alimentación. dado que las entradas no están libres de potencial. Hay que conectar la fase (o el positivo en caso de corriente continua) a los bornes marcados con un “2”. Entre bloques distintos se puede cambiar la fase que se conecta a las entradas.. Las entradas en los modelos de corriente alterna se conectarán: L3 L2 L1 N Dentro de cada bloque de cuatro entradas se debe alimentar las mismas con la misma fase. Salidas Si el relé programable Logo dispone de la letra R en su designación de tipo.R L1/L+ Last Last N/M Si el relé programable Logo no dispone de la letra R en su designación de tipo. Estas salidas están 101 . El otro borne del receptor (borne A2 si se trata de relés o contactores). sino que suministran por sí mismas la tensión necesaria para alimentar al receptor. como se representa en la figura siguiente: DM8 24 Carga 102 Carga . no actúan como un contacto libre de tensión. En este caso los dos bornes de salida de cada salida del relé programable (Q1 y M). en el caso de salida por transistores. Es decir. se conectarán directamente a los dos bornes de alimentación del receptor.CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES a prueba de cortocircuitos y de sobrecargas. dado que las salidas del relé. Su empleo está muy extendido tanto en el sector industrial como en el sector servicios. la automatización de sistemas de riego. introducir parámetros. la automatización de compresores y sistemas de aire acondicionado. 103 . En el relé Zelio de 230 Vca. que admiten tensiones de alimentación bien de 24 Vcc o bien de hasta 230 Vca. cortinas eléctricas. prácticamente idéntico al diagrama lógico de bloques estudiado en la unidad. etc. contador. en cuyo caso se podrá programar no sólo en LADDER. o diagrama de contactos (muy parecido al esquema eléctrico cableado). las salidas digitales.RESUMEN El relé programable Zelio. a las entradas digitales mediante los contactos libres de tensión de los elementos que queramos conectar a las mismas. la automatización de instalaciones de iluminación interiores y exteriores. El relé se puede programar tanto mediante las teclas de función de su frontal (sin necesidad de ningún accesorio adicional). la fase de los 230 V se debe llevar al borne L de la alimentación del relé. Existen diferentes modelos de relé programable Zelio. los relés auxiliares y los bloques funcionales. En el microautómata Zelio se pueden emplear como contactos las entradas digitales. las teclas del frontal de relé programable. temporizador. La programación del microcontrolador Zelio permite el empleo de los bloques de función reloj. el neutro de la alimentación lo llevaremos a la alimentación del relé y a uno de los bornes de los receptores que vayamos a conectar a la salida del relé (en el borne A2 si se trata de bobinas de relés o de contactores). controles de acceso. las bobinas set-reset y las bobinas de telerruptor. Se puede programar según dos lenguajes distintos: el lenguaje LADDER. Asimismo. o bien mediante un PC conectado a él que disponga de la herramienta ZelioSoft. Los bornes marcados con un “2” de las salidas del autómata se llevarán al otro borne de los receptores que vayamos a conectar a la salida del relé (en el borne A1 si se trata de bobinas de relés o de contactores). bloque de función analógico y relé auxiliar. invernaderos. está diseñado para el control de pequeños sistemas automatizados. editar los esquemas de contactos necesarios para la programación y emplearlos para simular pulsadores en los esquemas de mando. Se pueden emplear como salidas las bobinas. En el área de servicios-domótica son aplicaciones típicas del relé Zelio la automatización de barreras. El relé programable Zelio dispone de 6 teclas de función en su frontal con las que se pueden gestionar los menús. y el lenguaje FBD (Function Block Diagram). de Schneider Electric. bombeo. y a los bornes marcados con un “1” de los bornes de salida que vayamos a conectar. sino también en FBD. Pueden disponer solamente de entradas y salidas digitales o bien también de entradas analógicas. 31. V F 40. así como mayor flexibilidad a la hora de realizar cambios en el mismo. V F Compara tus respuestas con las que te indicamos al final de la unidad. Los relés programables sustituyen convenientemente a los sistemas de lógica eléctrica cableada. proporcionando ahorros en el diseño e instalación de los sistemas. repasa la parte correspondiente del tema antes de proseguir tu estudio. V F 32. Con las teclas de función del frontal del relé Zelio se puede actualizar la fecha y la hora del reloj interno. Mediante el software Zelio Logic se pueden realizar simulaciones del funcionamiento de los programas que se realicen antes de su introducción en el relé programable. V F 35. V F 38. deberemos programar el mismo en lenguaje LADDER mediante un contacto abierto de realimentación en la línea de mando de su propia bobina. V F 33. El relé programable Zelio puede alimentar mediante sus salidas a contactores que funcionen tanto en corriente continua como en corriente alterna. borrar el esquema contenido en el relé programable. V F 37. contador. Zelio lleva incorporados bloques de función tales como reloj. o la F si es falsa. V F 36. operación que se realizará mediante un PC. Existen modelos de Zelio que admiten entradas analógicas. Si queremos disponer de un biestable tipo RS durante la programación del Zelio.Ejercicios de autocomprobación Rodea con un círculo la V si cada una de las siguientes afirmaciones es verdadera. V F 39. V F 34. El relé programable Zelio admite como lenguajes de programación el lenguaje LADDER. Los microcontroladores o relés programables están diseñados para el control de pequeños sistemas automatizados. temporizador. el lenguaje FBD y la programación mediante tablas de verdad. pero no se puede introducir el esquema de mando. visualizar los parámetros de los bloques de función. 104 . Si has cometido errores. útiles para incorporar información de parámetros que varíen en un rango continuo. Los relés programables Zelio pueden alimentarse únicamente a una tensión de corriente continua de 24 V. bloques de función analógicos y relés auxiliares. es decir. (En los sistemas combinacionales las variables de salida dependen únicamente de las variables de entrada en cada momento. la mayor simplificación. Verdadero. (Es un método perfectamente válido para los sistemas secuenciales. Faso. su contacto auxiliar necesitará ser normalmente abierto si su estado lógico es 1.) 14. es decir. Verdadero. 11.) 16. 3. (Sí es posible representar las funciones lógicas expresadas mediante ecuaciones lógicas como esquemas eléctricos cableados.) 10. Falso. Falso.) 9. constituye un sistema secuencial. Falso. 21. pero esto es diferente de si conduce la corriente o no. Verdadero. pulsado.) 17. Falso. Verdadero. Verdadero. (No es posible. (El objetivo del método GRAFCET no es obtener soluciones lo más reducidas posibles.) 22.) 7. De hecho. Falso.) 13. no pulsado.Soluciones a los ejercicios de autocomprobación 1.) 19. Falso. habría que acudir a procedimientos de simplificación por ordenador. puesto que no incluye procedimientos de simplificación. Verdadero. Para que conduzca la corriente. las formas canónicas de expresar la ecuación algebraica a partir de las tablas de verdad proporcionan las formas menos simplificadas de la función lógica. son dos formas equivalentes de expresión de funciones lógicas. (El estado lógico 0 ó 1 asociado a un pulsador depende de si está no pulsado o pulsado. Falso. 4. o normalmente cerrado si su estado lógico es 0. lo hace idóneo para la resolución de estos sistemas complejos. 15.) 24. (La salida de la célula básica de memoria depende no solamente del valor de la entrada. se podrán incluir a discreción en los grupos que vayas realizando para agrupar los unos con objeto de obtener los grupos más grandes posibles y. Falso. 25. no es igual al número dos elevado a ningún número entero y positivo. Su objetivo consiste en estructurar la resolución del problema para llegar a una solución válida independientemente de que sea más o menos simplificada. 5. (De hecho.) 18. 105 . (Se deben ordenar según el código reflejado de Gray. dado que seis no es potencia de dos. con lo cual. dado que así las casillas adyacentes en horizontal y vertical son también contiguas. por definición. (Sí es posible. Verdadero. (Todo lo contrario. Falso. 23. Para simplificarlas habrá que trabajar con la ecuación a base de aplicar las reglas del álgebra de Boole o aplicar procedimientos de simplificación como las tablas de Karnaugh o equivalentes. Verdadero. Verdadero. de hecho. 12. por tanto. 20. 2. De hecho. de una a otra solamente cambia el valor de una variable. 8. Verdadero. Falso.) 6. sino del valor que tenía la propia salida anteriormente. Falso. respectivamente. es el tipo de problemas más adecuados para su resolución por este método. para funciones lógicas de más de 5 variables el método de las tablas de Karnaugh se hace prácticamente inabordable manualmente. (Las posiciones que queden libres en la tabla de Karnaugh. Verdadero. Verdadero. su metodología de trabajo muy estructurada. que marcaremos con el símbolo “X”. Verdadero. (No es necesario.26. Verdadero. (La TABLA DE ASIGNACIÓN DE VARIABLES no constituye el GRAFCET de segundo nivel. Verdadero. Lo constituye la “descripción técnica y operativa”. (Con las teclas de función del frontal del relé Zelio sí se puede introducir el esquema de mando. (No admite la programación mediante tablas de verdad.) 37. o mediante estructuras de control con contactos cerrados provenientes de los bloques RS del resto de las etapas. Falso. 38. Falso. por ejemplo.) 35. 106 31.) 34.) 40. . no es necesario programarlo.) 29. Falso. Verdadero.) 30. no es imprescindible hacerlo con el PC. Falso. La tabla de asignación de variables se emplea al trasladar la estructura del GRAFCET al lenguaje concreto del autómata que se empleará. también llamado “GRAFCET con sensores y accionamientos”. 32. 28. Verdadero. Verdadero. (El biestable tipo RS es un bloque funcional que ya viene definido en el lenguaje LADDER del Zelio. 39. con Logo. Verdadero. Falso.) 27. 36. (También se pueden alimentar a una tensión alterna de 230 V. aunque también se puede. 33. Verdadero. Falso. se puede conseguir mediante marcas que se activan en el primer ciclo. Falso. Verdadero. (La activación de una etapa en GRAFCET viene determinada por la activación de un bloque funcional en el microcontrolador de tipo BIESTABLE RS. . . . . . . . . . . . .ÍNDICE CONCEPTOS BÁSICOS DE PROGRAMACIÓN. . . . . . . . . . . . . . . Obtención de la función lógica para una aplicación concreta. . . . . . . . . Funciones lógicas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejercicios resueltos 37 24 28 PROGRAMACIÓN CON GRAFCET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 85 86 88 Relé programable Logo de Siemens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 66 66 RELÉ PROGRAMABLE ZELIO DE SCHNEIDER ELECTRIC Y LOGO DE SIEMENS Relé programable Zelio de Schneider Electric . . . Funciones lógicas básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Soluciones a los ejercicios de autocomprobación . . . . . Tercer nivel: diseño del sistema de control . . . . . . . . . . . . . . Segundo nivel: descripción tecnológica y operativa (GRAFCET con sensores y accionamientos) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . . . . Resolución de problemas de automatización. . . . . . . . . . . . . . . LÓGICA BÁSICA Variable binaria y álgebra de Boole de aplicación al instalador. . . . . . . . . . . . . . . Simplificación de las funciones lógicas. . . . . . . . . . . . . 7 11 13 21 Sistemas combinacionales y secuenciales básicos. . . . . . . . . . . . . . . . . . . . . . . . . . . EJERCICIOS RESUELTOS Primer nivel: GRAFCET funcional . 6 Sistemas de numeración . . . . . . . . . . . . . . . . . . . . . . Lenguajes de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 107 . . . . . . . . . . . 99 Conexionado del relé programable Logo . . . . . . . . . . . . . . . . . . . . . . . . . . . . Funciones lógicas generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Características principales . Conexionado del relé programable Zelio . . . . . . . . . . . . . . . . . . . . . . . Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Lenguajes de programación . . . . . . . . . . . . . . . . . 98 Características principales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sistema de numeración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simplificación . . . . . . . . . . . . . . . . . . . . . . . . .
Copyright © 2024 DOKUMEN.SITE Inc.