Está en la página 1de 107

Domótica

Conceptos 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.
Esquema de contenido

CONCEPTOS BÁSICOS DE PROGRAMACIÓN.


LÓGICA BÁSICA
Variable binaria y álgebra de Boole de aplicación al
instalador. Sistemas de numeración
Sistemas combinacionales y secuenciales básicos.
Ejercicios resueltos

PROGRAMACIÓN CON GRAFCET.


EJERCICIOS RESUELTOS

RELÉ PROGRAMABLE ZELIO DE SCHNEIDER ELECTRIC


Y LOGO DE SIEMENS
Relé programable Zelio de Schneider Electric
Relé programable Logo de Siemens
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. Sistemas de numeración
Existen un gran número de dispositivos de aplicación en instalaciones auto-
matizadas que presentan sólo dos estados estables en su funcionamiento. Por
ejemplo, un receptor genérico, tal como una lámpara, un motor, un actuador,
etc., pueden estar encendidos (estado de funcionamiento que asociaremos al
estado lógico 1), o apagados (estado de funcionamiento que asociaremos
al estado lógico 0).

En general, realizaremos las siguientes asociaciones lógicas con respecto


a los estados de funcionamiento de los siguientes elementos de instalaciones
automatizadas:

Estado lógico – Estado lógico –


Elemento
Estado de funcionamiento Estado de funcionamiento
Interruptor 1 ∩ accionado1 0 ∩ sin accionar1
Lámpara 1 ∩ encendida 0 ∩ apagada
Motor 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
Pulsador 1 ∩ accionado1 0 ∩ sin accionar1

Tabla 1. Asociaciones lógicas


con respecto a los estados de
funcionamiento.
Este carácter binario (sólo 2 estados posibles) de la mayoría de los dispo-
sitivos de instalaciones automatizadas hace posible que las asociaciones entre
los mismos para formar una instalación concreta se puedan traducir en opera-
ciones matemáticas sencillas entre variables que irán asociadas una a una con
cada elemento de la instalación. En otras palabras, la lógica binaria define la
forma de relacionarse entre sí de los elementos de automatización que sólo tie-
nen dos estados de funcionamiento.

Por lo tanto, la lógica binaria es una herramienta muy poderosa para definir
y entender los sistemas de automatización de todo tipo, ya sea bajo la forma

1Nota: es un error muy común el confundir, como más adelante se explicará, el estado "accionado" o "sin accionar" del interruptor o del pul-
sador con que sus contactos dejen pasar la corriente o no, puesto que para determinar si la corriente pasa o no tendremos que conocer,
además, si el contacto eléctrico del elemento que se está usando es del tipo normalmente abierto o del tipo normalmente cerrado.

6
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA

de lógica cableada, o de los diferentes lenguajes de programación de micro-


controladores e incluso de autómatas programables, de gran aplicación en las
instalaciones domóticas y automatizadas.

Las reglas matemáticas que definen las operaciones que se pueden hacer
sobre las variables binarias se denominan, en conjunto, el álgebra de Boole,
que realiza operaciones solamente con los dos valores posibles: 0 y 1, y los
resultados sólo pueden ser, también, o bien 0 o bien 1.

Ya has estudiado las reglas del álgebra de Boole y sus propiedades en la


unidad dedicada a la electrónica, por lo que no las repetiremos en esta unidad.
Sí vamos a desarrollar, sin embargo, sus aplicaciones en el campo de las ins-
talaciones automatizadas en base a circuitos lógicos cableados y programa-
ción de microcontroladores.

Sistemas de numeración

Matemáticamente, podemos representar cantidades (números) de formas


muy diferentes, que llamaremos “sistemas de numeración”. Emplearemos un
sistema u otro en función de la utilidad que nos proporcione para una determi-
nada aplicación.

Son ejemplos de sistemas de numeración:

Cantidad Sistema Código Código reflejado


(número) decimal binario natural 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
Tabla 2. Sistemas
Quince 15 1111 1000 de numeración.

7
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

Nos fijaremos en que aunque hemos llegado a representar el número quin-


ce, en realidad hemos representado dieciséis números, puesto que el primero
de ellos es el cero.

En la tabla anterior nos resulta muy familiar la representación de las canti-


dades en sistema decimal y sistema binario (estudiados en la unidad 4), mien-
tras que, seguramente, no será tan familiar la representación en el código refle-
jado de Gray. Los códigos binario natural y reflejado de Gray son de gran
aplicación en programación de sistemas de naturaleza binaria, dado que todos
sus dígitos pueden tomar tan sólo los valores 0 ó 1, como los estados de fun-
cionamiento de la mayoría de elementos de automatización.

En cuanto al código binario natural, ya estudiaste en la unidad dedicada a la elec-


trónica que para construir el número siguiente en dicho código a partir del anterior,
hay que ir haciendo aparecer los unos en la posición más a la derecha que estén ocu-
padas por cero y si dichas posiciones ya están ocupadas por unos, entonces se pon-
drá un cero a la izquierda de la fila de unos, sustituyendo los anteriores por ceros.

Sin embargo, no hay una regla tan sencilla para construir el código refleja-
do de Gray, como se verá próximamente.

Sistema decimal y código binario natural


El sistema decimal de numeración es el que nos resulta más familiar, dado
que es el que empleamos en nuestra vida cotidiana. Emplea diez símbolos o
dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9. A partir de estos diez dígitos se construyen
cantidades más grandes uniéndolos en grupos de dos, tres, cuatro, etc., con-
siguiendo representar cantidades tan altas como sea necesario.

Por ejemplo, el número 2.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), y de su posición dentro del número (su valor se verá mul-
tiplicado por 10 con cada posición que nos movamos a la izquierda).

En otras palabras, éste número se puede expresar como la suma de los


siguientes:

2.437 = 2.000 + 400 + 30 + 7 = 2 x 1000 + 4 x 100 + 3 x 10 + 7 x 1

Recordaremos que cualquier número, excepto el propio cero, elevado a


cero da como resultado el 1.

En el código binario, como recordarás en la unidad 4, se emplean única-


mente dos dígitos: 0 y 1, con los que se construyen cantidades más grandes

8
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA

uniéndolos en grupos de dos, tres, cuatro, etc., con lo que también se consi-
gue representar cantidades tan altas como sea necesario. Son números en sis-
tema binario, por ejemplo, los siguientes: 1110001, 1001, 11110, 10, etc.

De la misma forma que en el sistema decimal, en el código binario los dígi-


tos 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. En este caso, cada vez que nos move-
mos 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).

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, multiplicaremos cada uno de los dígitos del mismo por el peso
correspondiente a la posición que ocupa y sumaremos todos los resultados,
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
26 25 24 23 22 21 20
potencia es 2 porque es sistema binario)
Peso en sistema decimal 64 32 16 8 4 2 1
Dígito binario x peso decimal 1 x 64 0 x 32 1 x 16 1x8 1x4 0x2 1x1
Valor decimal de cada posición binaria 64 0 16 8 4 0 1
RESULTADO = Suma de todos los valores
93
decimales

Tabla 3. Conversión de un
número binario en decimal.
Por lo tanto, el número que en código binario natural se expresa como
1011101, equivale al 93, expresado en sistema decimal (recuerda, de nuevo,
que cualquier número, excepto el propio cero, elevado a cero da como resul-
tado el 1).

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 últi-
mo cociente sea 1. Para formar el número en código binario equivalente al deci-
mal inicial, 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.

9
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 defi-
nir y entender los sistemas binarios de automatización) tiene un gran interés
para ciertas operaciones el código binario de Gray. Vamos a ver a continuación
cómo se forma el mismo.

Para formar el código reflejado de n dígitos (bits), partimos del código refle-
jado correspondiente a un dígito menos (n-1), y a continuación trazamos una
línea debajo de la tabla que servirá de eje de reflexión (como en un espejo). Por
debajo de esta línea escribiremos el mismo código que existe por encima pero
en orden inverso, 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 empe-
zando 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, puesto que


solamente tiene dos números, de un dígito cada uno:

0
1

A partir del mismo, 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, con lo que
queda completo el código reflejado de dos dígitos:

10
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. 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. 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.

El código reflejado de Gray tiene la propiedad de que al pasar de un núme-


ro al siguiente (de una fila a la siguiente dentro del código reflejado), solamen-
te cambia un dígito. En la tabla 2, del principio del apartado, puedes observar
cómo esto se cumple para el código reflejado de cuatro dígitos, pero no para
el correspondiente código binario natural. Más adelante veremos su utilidad en
la simplificación de funciones lógicas mediante las tablas de Karnaugh.

Funciones lógicas. 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), desde los elementos lógicos más básicos (funciones lógicas bási-
cas), hasta la combinación de los mismos para montar sistemas automáticos
más complejos, aplicadas a los sistemas automatizados que se basan en
esquemas cableados y programación de microautómatas.

Imaginemos, por ejemplo, el diseño del automatismo que gobierna la aper-


tura 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). Será necesario definir la relación

11
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

entre las entradas del sistema automático (las células detectoras de movimien-
to y la seta de emergencia) y la salida del sistema (el contactor que comanda
el motor de accionamiento de la puerta), lo cual nos definirá inequívocamente
el funcionamiento del automatismo en cuestión.

Por lo tanto, llamamos función lógica a la relación entre las diversas varia-
bles del sistema automático que nos definirá el funcionamiento de las salidas
del mismo. En nuestro ejemplo, la función lógica nos dirá cómo hemos de
conectar los contactos eléctricos que nos dan los detectores de movimiento,
entre sí y con el contacto de la seta de emergencia, para que la tensión que
llega desde la alimentación del sistema automático llegue a la bobina del con-
tactor que comanda el motor justo cuando queremos (cuando uno de los dos
detectores o los dos simultáneamente detecten movimiento y la seta de emer-
gencia no esté pulsada).

Con esta relación (función lógica que se puede expresar indistintamente


con cualquiera de los cuatro métodos mencionados), podremos realizar el
automatismo que nos solucione la necesidad que se pueda presentar.

Los sistemas automáticos con elementos binarios se pueden realizar con


tecnologías diferentes, entre las que se encuentran (no siendo las únicas):

El método tradicional de la lógica cableada (fuentes de tensión,


contactores, relés y sus contactos principales y auxiliares).
El método matemático de las tablas de verdad.
El diagrama lógico de bloques.
Las ecuaciones lógicas.

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.
Cualquier relación, por compleja que sea, entre los elementos de las insta-
laciones automatizadas (lógica de automatismos) para definir el compor-
tamiento 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),
ampliada al número total de elementos que sean necesarios. De esta forma
conseguimos definir un sistema automatizado con un funcionamiento tan com-
plejo como queramos.
Es muy interesante conocer los cuatro métodos de expresión de las funcio-
nes lógicas, dado que para los pequeños automatismos aún se emplean habi-
tualmente, por su sencillez y economía, pequeños circuitos de lógica cableada
basados en relés y contactores, a la vez que muchos microcontroladores se
pueden programar con un lenguaje prácticamente idéntico a los esquemas de
lógica cableada, llamado lenguaje de contactos.
Asimismo, el diagrama lógico de bloques y las ecuaciones lógicas constitu-
yen otros dos lenguajes de programación de microcontroladores, también lla-
mados lenguaje de programación por bloques lógicos y lenguaje de coman-
dos o lista de instrucciones.

12
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA

Por último, 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 automatis-
mos que respondan a pequeñas necesidades, 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.
Partiendo de las tablas de verdad seremos capaces, como veremos más
adelante, 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.

Funciones lógicas básicas


A continuación vamos a estudiar las funciones lógicas básicas, y cómo se
combinan para formar funciones lógicas más complejas, expresadas simultá-
neamente con los cuatro métodos que hemos mencionado.

FUNCIÓN “NOT”, NEGACIÓN o INVERSIÓN


La función NOT es la más sencilla. Devuelve en su salida la variable que
encuentra en su entrada, pero negada.

Expresada con su tabla de verdad queda:

Como puedes observar, la tabla de verdad se compone de dos partes dife-


renciadas: a la izquierda se colocan las columnas de las entradas, en este caso
la de “a”, que representa la variable de entrada a la función, que puede tomar
los valores expresados en su columna (0 y 1), y la columna de la salida, que
siempre designaremos como “S” y que representa la variable de salida de la
función. En las columnas de las entradas colocaremos siempre todos los valo-
res posibles que puedan tomar las variables de entrada de la función lógica.

Como vemos, 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.

Expresada mediante la lógica cableada queda:

13
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

“a” representa la variable de entrada a la función lógica, representada en este


caso como un pulsador. Tomará el valor 1 si el pulsador está accionado y 0 si
no lo está. La salida está representada en este esquema por el piloto de seña-
lización “S”. Para realizar esta función en lógica cableada es necesario interca-
lar un relé intermedio que denominamos en este caso “K”.

El funcionamiento es el siguiente: pulsamos “a” (establecemos un 1 en la


variable “a” de entrada a la función lógica), y la tensión V, existente en la línea
horizontal superior, aparece en el borne de la bobina del relé intermedio “K”.
Como el relé intermedio está conectado en su otro borne (el inferior) a 0 voltios,
la bobina del relé se encuentra ahora sometida a su diferencia de tensión nomi-
nal V (diremos solamente “tensión” en adelante), 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), ahora se abre.

En resumen: si no pulsamos “a” entonces a = 0 y como el contacto K nega-


do está cerrado, S = 1, dado que sí le llega tensión. Y al contrario, cuando pul-
samos “a”, a = 1 y S = 0, dado que K recibe tensión y K negado se abre, ya
no recibe tensión, por lo que S = 0.

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, escogiendo en el pulsador
un contacto que sea normalmente cerrado con la salida conectada directamente a
él. La ventaja de expresarla mediante un relé intermedio y un contacto normalmen-
te cerrado de este relé reside en que de esta forma podremos negar cualquier fun-
ció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 ecua-
ciones 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), se tratarán como salidas en las ecuaciones lógicas e irán
representadas a la izquierda del igual de la ecuación.

Por otra parte, las condiciones lógicas (asociaciones serie-paralelo y mix-


tas) que vayan cableadas por encima de los consumos se representarán a la
derecha del igual, con las condiciones:

Las ramas en paralelo equivalen a la función suma en la ecua-


ción lógica.
Los elementos (o conjuntos de elementos) en serie irán repre-
sentados como multiplicaciones en la ecuación lógica.
Por lo tanto, en el esquema anterior, tendremos dos salidas: K y S. La ecua-
ción lógica para K es:
K=a
Dado que encima del consumo de la bobina de K sólo está el contacto del pul-
sador que representa a la variable de entrada “a”. Para S, la ecuación lógica es:

S=K

14
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA

En donde la barra horizontal encima de K indica que la variable está nega-


da (cuando K valga cero, K valdrá 1, y viceversa).

Y como K = a según la ecuación anterior, podemos sustituir en esta última,


y donde dice K poner a, 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. Veamos; 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.

En resumen, la función lógica básica NEGACIÓN nos quedaría expresada


según los cuatro métodos de esta forma:

Diagrama lógico
Tabla de verdad Diagrama eléctrico cableado Ecuación lógica
de bloques

S=a

FUNCIÓN “OR” O SUMA LÓGICA


La función OR tiene como entradas, al menos, a dos variables binarias. Su
salida es 0 si todas las variables binarias de entrada son 0, 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). Veamos cómo se expresa esta función lógi-
ca básica según los cuatro métodos.

Tabla de verdad de la función OR:

15
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

En donde se ve que ahora las entradas son dos, “a” y “b”, y la salida es “S”.
S es cero solamente cuando a y b son cero las dos simultáneamente, y es uno
cuando cualquiera de las dos o ambas simultáneamente son uno, como se definió.

En el diagrama eléctrico cableado, recordemos que la suma corresponde


a colocar dos ramas en paralelo, con lo que tendremos que conectar los contac-
tos que representan las dos entradas eléctricamente en paralelo. Veamos:

Las variables de entrada, “a” y “b”, se han representado por los contactos
eléctricos de dos pulsadores. La salida, dado que esta función no incluye la
negación, se puede representar directamente por el piloto de señalización “S”,
sin necesidad de un relé o contactor auxiliar K, como en la función lógica bási-
ca anterior.

Como puedes observar, 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.

Según la ecuación lógica, recordemos que la función lógica OR equivale


a la suma binaria, por lo tanto la ecuación lógica quedaría:

S=a+b

Y por último, según el esquema lógico de bloques, el bloque lógico que


corresponde a la función lógica OR es el siguiente:

Resumiendo, la función lógica básica OR se representa según los cuatro


métodos como se muestra en la tabla siguiente:

Diagrama lógico
Tabla de verdad Diagrama eléctrico cableado Ecuación lógica
de bloques

S=a+b

16
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA

FUNCIÓN “AND” O PRODUCTO LÓGICO

La función AND tiene como entradas, al menos, a dos variables binarias. Su


salida es cero cuando una de las entradas, al menos, sea cero. Su salida será
1 solamente cuando todas las variables de entrada sean también 1, simultá-
neamente.

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.

En el diagrama eléctrico cableado, 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, es
decir, cuando ambas entradas sean 1 simultáneamente (ambas accionadas).
Quedaría como sigue:

En cuanto a la ecuación lógica, la función AND equivale a la multiplicación,


de forma que si alguna de las variables que se multiplican son cero, el resultado
(la variable de salida), también será cero. Solamente cuando todas las variables
que se multiplican son uno la variable de salida también lo será. Quedaría:

S=axb

Y según el esquema lógico de bloques, el bloque lógico que correspon-


de a la función AND es el siguiente:

17
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

Resumiendo, para la función AND:

Diagrama lógico
Tabla de verdad Diagrama eléctrico cableado Ecuación lógica
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. Consecuentemen-
te, 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, la NOR, se compone


de otras dos, la OR y la NOT, por este orden, 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, dando como resultado la
salida final de la función en la columna “S”. Puedes observar fácilmente que
consiste justamente en la función opuesta de la OR.

Para obtener el diagrama eléctrico cableado correspondiente a la función


NOR recordaremos que el esquema eléctrico correspondiente a la OR se con-
sigue poniendo las entradas en paralelo y el esquema eléctrico correspondien-
te a la NOT se consigue con un contacto normalmente cerrado de un relé inter-
medio; por lo tanto, combinando los dos para obtener la NOR tendremos:

18
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA

Si te fijas en el funcionamiento del circuito comparado con la tabla de ver-


dad, observarás que son coincidentes. Naturalmente, cuando “a” o “b” son
uno (simultáneamente o por separado), la bobina del contactor K se activa, y
el contacto normalmente cerrado de la columna siguiente se abre, con lo que
el piloto S se apaga (la salida de la tabla de verdad es cero en esos tres casos).
Solamente es uno cuando a y b son ambos cero, simultáneamente, pues sólo
en este caso la bobina de K no recibe tensión (porque a y b están abiertos), y
por tanto el contacto normalmente cerrado K permanece cerrado, llegando la
tensión al piloto de salida (valor de la salida 1).

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.

En cuanto al diagrama lógico de bloques, si partimos del bloque corres-


pondiente a la función OR y le añadimos a la salida el círculo que indica la
negación posterior, tendremos el bloque asociado a la función NOR.

En resumen, las cuatro formas de expresión de la función lógica básica


NOR son:

Diagrama lógico
Tabla de verdad Diagrama eléctrico cableado Ecuación lógica
de bloques

S=a+b

FUNCIÓN “NAND” O PRODUCTO LÓGICO NEGADO


De forma similar que con la función NOR, la función NAND se construye
aplicando primero la función AND a las entradas y después la función NOT al
resultado.

19
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

La tabla de verdad, la deducimos como en el caso anterior:

En cuanto al diagrama eléctrico cableado, 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, verás


cómo coincide: la salida (el piloto S), solamente es cero (se apaga), cuando el
contacto normalmente cerrado K se abre; es decir, cuando la bobina de K reci-
be tensión, 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, lógicamente:

En resumen, las cuatro formas de expresión de la función lógica básica


NAND son:

Diagrama lógico
Tabla de verdad Diagrama eléctrico cableado Ecuación lógica
de bloques

S=axb

20
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ási-
cas en las cuatro formas de representación que más interesan para la solución
de los problemas de instalaciones automatizadas:

Tabla de verdad.
Diagrama eléctrico cableado.
Ecuación lógica.
Diagrama lógico de bloques.

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 com-
binación. Esta relación, que puede ser cualquiera, dependiendo del problema
de automatización que se nos presente, consiste en una función lógica gene-
ral, que podremos expresar como combinación de las funciones lógicas
básicas vistas en el apartado anterior. Con una aplicación concreta entende-
remos mejor esta dinámica.

Ejercicio resuelto 1
APERTURA AUTOMÁTICA DE UNA PUERTA
Imaginemos, por ejemplo, una instalación automatizada sencilla. Tenemos
una puerta automática accionada por un motor eléctrico y queremos coman-
dar 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. Cada vez que se
aproxime una persona a la puerta, el cilindro debe abrir la
misma y cuando la persona ya haya pasado, el sistema
debe volver a cerrarla, quedando en espera de un nuevo
ciclo. El esquema sería el mostrado en el margen izquierdo.

En donde “S” es la variable de salida, la orden que tene-


mos que definir para mandar al motor la apertura de la puer-
ta. Cuando S sea 1, la puerta estará abriéndose y cuando S
sea 0, permanecerá parada (fíjate que no decimos nada
para el cierre de la misma; en este primer ejercicio de intro-
ducción nos ocupamos solamente de la apertura).

Asimismo, “a” es la variable asociada al detector de presencia de la perso-


na que se acerca a la puerta: cuando hay una persona próxima a la puerta
a = 1 y cuando no hay nadie a = 0. Para que la puerta se abra, será condición
indispensable que haya una persona delante de la misma; es decir, que a = 1.

Y “b” es el final de carrera que detecta cuándo la puerta ha llegado al final


de su recorrido de apertura. Cuando la puerta haya llegado al final y esté com-

21
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

pletamente abierta entonces pisará el final de carrera b y éste tomará el valor


b = 1. Para que la puerta esté abriéndose será condición indispensable que
b = 0. Y cuando b = 1 se deberá parar.

Este ejemplo es de sencilla solución, veamos: la función lógica que solu-


ciona nuestro problema debe expresar que para que S = 1 (es decir, que el
motor se ponga en marcha y que la puerta se abra) deberá cumplirse que
a = 1 (es decir, que el detector de presencia esté detectando que hay una per-
sona delante de la puerta) y que b = 0 (es decir, que la puerta no haya llega-
do aún al final de su recorrido, puesto que cuando esté en el final será b = 1).

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. 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 qué significa cada estado. El primer estado será siempre el estado
inicial; es decir, qué valor toman las variables, tanto de entrada como de sali-
da, en el primer momento sin que aparezcan aún órdenes en el sistema (sin
que aparezca la persona delante del detector de presencia). La salida deberá
ser cero porque el sistema estará siempre en reposo en el estado inicial.

En el segundo estado observamos que lo siguiente que pasa es que la per-


sona aparece frente a la puerta y el detector de presencia se activa, es decir,
a = 1. Como la puerta aún no se ha movido, no ha podido llegar al final de su
recorrido y el valor del final de carrera será, consecuentemente, b = 0. En estas
condiciones, la salida cambiará a S = 1; es decir, se dará orden de marcha al
motor y la puerta se empezará a mover.

El siguiente estado que sucede consiste en que la puerta llega al final de su


recorrido y el final de carrera b lo detecta, con lo que su valor cambia a b = 1.
En este momento el motor deberá parar, lo que se refleja en el mismo estado
en el valor de S, que ahora es S = 0.

Con este último paso (estado), hemos completado el ejemplo de automati-


zación que se proponía; la puerta ya ha llegado al final de su apertura al detec-
tar una persona en sus inmediaciones. Y hemos deducido cuál es la tabla de
verdad que corresponde a la función lógica que lo soluciona:

22
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. 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, si seguimos el procedimiento de los
MINTERM.

Este procedimiento consiste en que por cada “1” que aparece en la colum-
na de las salidas obtendremos un término compuesto por tantas variables que
se multiplican como variables tenga el sistema. Todos los términos que aparez-
can 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. Por ejemplo, en la tabla
de verdad del ejemplo, sólo hay un 1 en la columna de salidas, 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. Enton-
ces, la ecuación lógica queda como sigue:

S=a↔b

Como puedes observar, 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), y por
tanto b = 1 será 1 el valor de la salida S por lo que el motor de accionamiento
se pondrá en marcha.

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; recuerda que la mul-
tiplicació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. Así pues, el esquema
eléctrico cableado correspondiente a la función lógica del ejemplo, 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. Simultáneamente, 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, que arrancará el motor para que se abra la puerta.

Aunque la variable de entrada b aparece negada en la ecuación lógica,


verás que en el esquema eléctrico cableado no se coloca esta negación en el
nombre del contacto b, dado que esta negación ya viene especificada en el
símbolo que expresa que b es un contacto normalmente cerrado.

23
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

E, igualmente, el diagrama lógico de bloques quedaría como sigue:

Como en los casos anteriores, se trata de la misma función lógica, que tam-
bién satisface los requisitos de funcionamiento de este sencillo ejemplo de
automatización.

Obtención de la función lógica para una aplicación concreta.


Resolución de problemas de automatización.
Ejercicios resueltos
En el ejemplo anterior hemos descrito el procedimiento usual para diseñar
un sistema automático sencillo mediante los siguientes pasos:

1. Deducción de la tabla de verdad a partir de la definición del funcio-


namiento del sistema automático.
2. Obtención de la ecuación lógica con MINTERM o MAXTERM a partir de
la tabla de verdad.
3. Obtención del esquema eléctrico cableado y del diagrama lógico de blo-
ques a partir de la ecuación lógica.

Para la deducción de la tabla de verdad a partir del funcionamiento del


sistema, debemos tener en cuenta las siguientes condiciones:

Representaremos en primer lugar el estado inicial, en el que


aún no se da la orden de marcha del sistema y las salidas per-
manecen en reposo.
Un estado (que intuitivamente viene a ser aproximadamente
una determinada “situación de funcionamiento del sistema
automático”) viene definido por una determinada combina-
ción de variables de entrada. 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. Por tanto, de un esta-
do al siguiente (de una fila de la tabla de verdad a la siguien-
te) solamente podrá cambiar una sola de las variables de
entrada.

Más adelante, cuando definamos los sistemas combinacionales y secuen-


ciales, iremos añadiendo condiciones a la formación de la tabla de verdad.

A la formación de la tabla de verdad le sigue la obtención de la ecuación


lógica con MINTERM. La ecuación lógica se puede expresar también en forma
de MAXTERM, como verás a continuación.

24
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. 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, porque todos
los términos en ambas formas van a contener a todas las variables de entrada
de la función lógica. Veamos.

Con el método MINTERM, la ecuación lógica se va a componer de térmi-


nos que se suman entre sí, cada uno correspondiente a un uno de la columna
de las salidas. Cada uno de estos términos, a su vez, se compondrá de una
multiplicación de todas las variables de entrada, negadas o no en función de
que su valor en la fila correspondiente sea cero o uno, respectivamente. 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, b y c igual a 0 y d igual a 1, con lo que nos
dará: a ↔ b ↔ c ↔ d, 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, con lo que nos dará: a ↔ b ↔
c ↔ d. Las otras dos filas no aportan ningún término a la ecuación porque el
valor de su salida es 0. La ecuación lógica expresada como MINTERM queda-
rá:

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érmi-


nos que se multiplican entre sí, dentro de sus respectivos paréntesis, cada uno
correspondiente a un cero de la columna de las salidas. Cada uno de estos tér-
minos, a su vez, se compondrá de una suma de todas las variables de entra-
da, negadas o no en función de que su valor en la fila correspondiente sea uno
o cero, respectivamente. Veamos en el caso de la tabla de verdad anterior.

El término correspondiente al 0 de la columna de salida de la primera fila se


corresponde con todas las variables a, b, c y d iguales a 0, con lo que nos dará:
a + b + c + d, y el término correspondiente al 0 de la tercera fila tiene las varia-
bles a, b y d iguales a 0 y la variable c igual a 1, con lo que nos dará: a + b +
c + d. 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,
recordando las condiciones siguientes:

Las variables de entrada, que se expresan directamente en la

25
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

ecuación lógica, 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.
La operación de suma lógica de la ecuación lógica es equiva-
lente 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.
La negación (inversión), que se expresa con una barra horizon-
tal colocada sobre la variable negada en la ecuación lógica, se
representa con un contacto normalmente cerrado en el esque-
ma eléctrico y con el bloque lógico NOT en el diagrama lógico.

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, esquema eléc-
trico cableado y diagrama lógico de bloques).

La tabla de verdad es:

SOLUCIÓN:
Para obtener la ecuación lógica asociada a esta función lógica podemos
emplear, por ejemplo, el método de los MINTERM, 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 consul-
tando 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. Si la función lógica fuese más complicada (expresada en una tabla de

26
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA

verdad con más columnas y más términos igual a 1 en la columna de las sali-
das), la simplificación hubiese sido mucho más compleja, con lo que tendría-
mos que aplicar uno de los procedimientos de simplificación existentes, como
el que se expone en el siguiente apartado.

Una vez disponemos de la ecuación lógica, 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, el más sencillo posible, el blo-


que identidad, ofrece a su salida la misma variable que le llega a la entrada. Es
equivalente a conectar con una línea la salida con la entrada.

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, esquema eléc-
trico cableado y diagrama lógico de bloques).

Obtenemos la función lógica, de nuevo, mediante el método de los MIN-


TERM, resultando:

S=a↔b↔c+a↔b↔c+a↔b↔c

27
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

El esquema eléctrico cableado quedaría (si no realizamos ninguna simplifi-


cación):

Con lo que vemos que conforme se va complicando un poco la función lógi-


ca a representar, tanto la ecuación lógica como el esquema eléctrico cablea-
do, como el diagrama lógico de bloques (que a continuación se va a represen-
tar), se complican enormemente.

El diagrama lógico de bloques quedaría:

En donde hemos empleado bloques funcionales sumadores y multiplicado-


res de tres entradas.

Simplificación de las funciones lógicas.


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, por lo que su realiza-
ción en forma de esquema eléctrico cableado y diagrama lógico de bloques
sería excesivamente complicada y costosa. 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, esque-
mas eléctricos y diagramas lógicos de bloques que sean lo más sencillos posi-
ble, proporcionándonos un ahorro máximo en tiempo y coste.

Uno de estos métodos consiste en el empleo de las TABLAS DE KAR-


NAUGH una vez expresada nuestra función lógica en forma de tabla de verdad.

El método de Karnaugh parte de la tabla de verdad y para cada variable de


salida, construye una tabla de Karnaugh en la que se representan los ceros y
los unos de la variable de salida. Las tablas de Karnaugh correspondientes a
funciones lógicas de dos, tres, cuatro y cinco variables serían como sigue:

28
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. 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 simpli-


ficación por tablas de Karnaugh no es funcional, por lo que no se suele aplicar.

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, no lo
hemos hecho según el código binario natural, sino según el código reflejado
de Gray, que estudiamos al principio de la unidad. Esto es porque las casillas
de la tabla de Karnaugh deben ser adyacentes para que el método de simpli-
ficació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 varia-
ble. Conseguimos asegurar esto si utilizamos el código reflejado de Gray,
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.

El primer paso para realizar la simplificación consiste en pasar la informa-


ción de la tabla de verdad a la tabla de Karnaugh. Si nuestra tabla de verdad
tiene más de una variable de salida (en la tabla de verdad estaríamos aprove-
chando las mismas entradas para expresar dos funciones lógicas distintas),
formaremos una tabla de Karnaugh para cada una de ellas.

En cada casilla de la tabla de Karnaugh iremos colocando los unos y los


ceros que encontremos en nuestra tabla de verdad. Por ejemplo, a la siguien-
te tabla de verdad:

29
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

Ejercicio resuelto 4
Simplificar la función lógica dada por la tabla de verdad siguiente.

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, agruparemos los unos que nos salgan siguiendo las siguientes con-
diciones:

Se agruparán solamente las celdas que contengan los unos.


Todos los unos deben quedar agrupados en algún grupo.
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, formará un grupo el
solo).
Las celdas se pueden agrupar siempre que sean adyacentes
entre sí; es decir, de una celda a otra celda contigua en verti-
cal u horizontal solamente puede variar una de las variables
de entrada que la definen.
El número N de unos que pueden formar un grupo debe ser
una potencia de dos, es decir, debe ser 2 elevado a un núme-
ro entero (N = 2n). Por tanto, los grupos pueden estar com-
puestos por 1, 2, 4, 8, 16... celdas en las que aparezca un
uno.
Los grupos que se formen deben ser cuadrados o rectangu-
lares, no pueden tener forma de esquina, o agrupar celdas
lejanas con ceros por medio.

Entonces, para el caso de la tabla de Karnaugh del ejemplo, se puede rea-


lizar solamente un grupo, formado por los dos unos de la misma. Veamos:

30
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA

Una vez obtenidos los grupos, deduciremos la ecuación lógica simplificada


en base a las reglas siguientes:

1. La ecuación lógica simplificada está compuesta por una suma de térmi-


nos.

2. Cada término que se suma está compuesto a su vez por una multiplica-
ción de variables de entrada y se deduce de cada grupo de celdas que
hemos señalado en la tabla de Karnaugh.

3. Para obtener el término que corresponde a un grupo nos fijaremos en las


variables que corresponden a cada uno dentro del grupo, individualmen-
te de variable en variables, 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), entonces
aparecerá en el término correspondiente. Y si además tiene el valor 1,
aparecerá sin negar, y si tiene el valor 0, aparecerá negada.
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),
entonces no aparecerá en el término correspondiente.

Veamos cómo se calcula en el ejemplo que estamos resolviendo:

Tenemos un solo grupo, con lo que la ecuación lógica se compondrá de un


solo término. Dentro del término, observamos cada variable individualmente
para todos los unos del grupo:

Variable “a” (sus valores aparecen en la primera fila de la tabla,


en su parte superior): toma valor 0 para el primer uno del grupo
y valor 1 para el segundo uno de 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.
Variable “b” (sus valores aparecen en la primera columna de
la tabla, 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. Y como el valor que toma la variable es 1, LA
VARIABLE “b” APARECE SIN NEGAR.

Por lo tanto, 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. Su tabla de verdad es la siguiente (se pide simplificar la función lógica):

31
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

SOLUCIÓN:
La tabla de Karnaugh que corresponde a esta función lógica (de tres varia-
bles) es como sigue:

En donde podemos hacer un grupo de cuatro unos (cuatro es un número


permitido de celdas porque 22 = 4). La forma del grupo es cuadrada, sin esqui-
nas. Y todos los unos contiguos del grupo son adyacentes. El grupo que
hemos formado es entonces válido.

Como tenemos solamente un grupo, en la ecuación lógica obtendremos


únicamente un término. Para obtener el término, nos fijamos de una en una en
cómo varía el valor de las variables para todos los unos del grupo. 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,
por lo tanto ha variado de una celda a otra del grupo. Ya no
hace falta seguir con el análisis: LA VARIABLE “a” NO APARE-
CE 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ÉRMI-
NO CORRESPONDIENTE AL GRUPO. Y como el valor que
toma la variable es 1, LA VARIABLE “b” APARECE SIN NEGAR.
Variable “c” (sus valores aparecen en cada celda de la colum-
na 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, por lo
tanto ha variado de una celda a otra del grupo. Ya no hace
falta seguir con el análisis: LA VARIABLE “c” NO APARECE EN
EL TÉRMINO CORRESPONDIENTE AL GRUPO.

32
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA

Por lo tanto, la ecuación lógica de nuestra función lógica se compone de un


solo término (solo hemos formado un grupo), que tiene una sola variable (las
otras han variado de una posición a otra del grupo). Y es, de nuevo, la función:

S=b

Ejercicio resuelto 6
Veamos otro ejemplo con una función lógica de tres variables. 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. Fíjate que
hay un uno que se ha empleado en dos grupos; esto es porque, de esta forma,
el grupo que incluye al 1 de la fila superior es más grande (dos términos y no
sólo uno), con lo que la ecuación lógica será más simplificada (cuanto más
grandes sean los grupos que hagamos, más simplificado será el término que
obtengamos del mismo y, por tanto, más simplificada la ecuación lógica).

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, para el segundo uno del grupo toma también

33
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

el valor 0, para el tercer uno del grupo toma el valor 1;


la variable ha cambiado. Ya no hace falta seguir con el
análisis: LA VARIABLE “a” NO APARECE EN EL TÉRMI-
NO CORRESPONDIENTE AL GRUPO ROJO.
Î Variable “b” (sus valores aparecen en el segundo dígito
de los dos que aparecen en cada celda de la fila supe-
rior de la tabla): para el uno de la izquierda del grupo
toma el valor 0, para el segundo uno del grupo toma el
valor 1; por lo tanto, el valor de la variable ha cambiado.
Ya no hace falta seguir con el análisis: LA VARIABLE “b”
NO APARECE EN EL TÉRMINO CORRESPONDIENTE
AL GRUPO ROJO.
Î 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, por lo que su valor
no cambia dentro del grupo rojo: SÍ APARECE EN
EL TÉRMINO CORRESPONDIENTE AL GRUPO ROJO.
Y como el valor que toma la variable “c” es cero, APA-
RECE NEGADA EN EL TÉRMINO.
Î Por lo tanto, el término correspondiente al grupo rojo
es: c.

TÉRMINO CORRESPONDIENTE AL GRUPO VERDE: analiza-


mos las variables celda a celda para todos los unos del grupo
verde.

Î Variable “a”: para los dos unos del grupo verde la varia-
ble “a” toma el valor 1, por lo tanto, no cambia dentro
del grupo verde: LA VARIABLE “a” SÍ APARECE EN EL
TÉRMINO DEL GRUPO VERDE. Y como el valor que
toma la variable “a” es 1, APARECE SIN NEGAR.
Î Variable “b”: para los dos unos del grupo verde la varia-
ble “a” toma el valor 1, por lo tanto, no cambia dentro
del grupo verde: LA VARIABLE “b” SÍ APARECE EN EL
TÉRMINO DEL GRUPO VERDE. Y como el valor que
toma la variable “b” es 1, APARECE SIN NEGAR.
Î 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, por lo tanto sí ha varia-
do dentro del grupo: LA VARIABLE “c” NO APARECE EN
EL TÉRMINO DEL GRUPO VERDE.
Î Entonces, el término correspondiente al grupo verde es:
a ↔ b.

La ecuación lógica que corresponde a esta función lógica quedaría entonces:

S=c+a↔b

34
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA

Que es la ecuación lógica simplificada. ¿Cómo hubiese quedado la ecua-


ción lógica sin simplificar? Si la obtenemos según los MINTERM, como apren-
dimos anteriormente, 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. Imagina cómo sería el
esquema eléctrico cableado o el diagrama lógico de bloques que nos resolvie-
sen esta función lógica para poder realizar la instalación automatizada. ¿Cuán-
to tiempo y coste nos hemos ahorrado al simplificar?

Ejercicio resuelto 7
Veamos ahora un ejemplo con una función lógica de cuatro variables. 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, el grupo verde del cen-
tro y el grupo rojo que reúne los cuatro unos de las esquinas. Fíjate que aunque
los cuatro unos de las esquinas parece que no están juntos dentro de la tabla de
Karnaugh, sin embargo sí que son unos contiguos, dado que de un uno a otro
en vertical y horizontal sólo cambia el valor de una variable (lo puedes compro-
bar fácilmente). Por lo tanto, los podemos agrupar en un solo grupo.

La ecuación lógica que corresponde a esta función lógica tendrá dos térmi-
nos que se suman, uno procedente del grupo verde y el otro procedente del
grupo rojo. Se obtienen como sigue:

TÉRMINO CORRESPONDIENTE AL GRUPO VERDE: analiza-


mos las variables celda a celda para todos los unos del grupo
verde.
Î 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, toma el valor 1. Por lo
tanto, la variable ha cambiado dentro del grupo. No es
necesario seguir con el análisis: LA VARIABLE “a” NO
APARECE EN EL TÉRMINO DEL GRUPO VERDE.

35
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

Î Variable “b”: para el uno de la celda superior izquierda del


grupo verde, toma el valor 1. Para el uno de la celda supe-
rior derecha, también toma el valor 1. Para los dos unos
de la parte inferior de la tabla, la variable “b” también toma
el valor 1. Por lo tanto, la variable “b” no cambia dentro del
grupo verde: LA VARIABLE “b” SÍ APARECE EN EL TÉR-
MINO DEL GRUPO VERDE. Y además, como el valor que
toma la variable “b” es 1, APARECE SIN NEGAR.
Î 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; por lo
tanto, sí ha variado dentro del grupo. No hace falta
seguir con el análisis: LA VARIABLE “c” NO APARECE
EN EL TÉRMINO DEL GRUPO VERDE.
Î Variable “d”: toma el valor 1 en las cuatro celdas del
grupo verde. Por lo tanto, no ha variado dentro del
grupo verde: LA VARIABLE “d” SÍ APARECE EN EL TÉR-
MINO DEL GRUPO VERDE. Y además, como su valor
es 1, APARECE SIN NEGAR.
Î Por lo tanto, el término correspondiente al grupo verde es:
b ↔ d.

TÉRMINO CORRESPONDIENTE AL GRUPO ROJO:

Î Variable “a”: para el uno de la parte superior izquierda


de la tabla, la variable “a” toma el valor 0, para el uno de
la parte superior derecha de la tabla, la variable “a”
toma el valor 1; por lo tanto, sí ha variado dentro del
grupo: LA VARIABLE “a” NO APARECE EN EL TÉRMINO
DEL GRUPO ROJO.
Î Variable “b”: se puede observar que para las cuatro cel-
das del grupo rojo la variable “b” no cambia, por lo que:
LA VARIABLE “b” SÍ APARECE EN EL TÉRMINO DEL
GRUPO ROJO. Y además, como la variable “b” toma el
valor cero dentro del grupo, APARECERÁ NEGADA EN
EL TÉRMINO DEL GRUPO.
Î 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 tanto, sí
cambia dentro del grupo, por lo que: LA VARIABLE “c”
NO APARECE EN EL TÉRMINO DEL GRUPO ROJO.
Î Variable “d”: toma el valor 0 para los cuatro unos del
grupo rojo; por lo tanto, no cambia dentro del grupo
rojo, por lo que: LA VARIABLE “d” SÍ APARECE EN EL
TÉRMINO DEL GRUPO ROJO. Y además, como toma el
valor 0 dentro del grupo, APARECERÁ NEGADA EN EL
TÉRMINO DEL GRUPO.

36
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA

Î Por lo tanto, el término correspondiente al grupo rojo es:


b ↔ d.

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. Compara si realmente ha
habido una gran simplificación al utilizar el método de la tabla de Karnaugh.

Sistemas combinacionales y secuenciales básicos.


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. En otras palabras, el valor de las sali-
das 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.

En cambio, 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.

Veamos un ejemplo sencillo de sistema combinacional, planteándolo desde


el inicio con los pasos que ya hemos estudiado para su resolución:

Ejercicio resuelto. 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, B1 y B2, de un piloto rojo de alar-
ma H1, y de tres detectores de nivel de agua (boyas de
nivel), denominados n1, n2 y n3.

El funcionamiento de la extracción de agua debe cum-


plir las siguientes condiciones:

Si el nivel de agua se encuentra por


debajo del detector n1, las bombas esta-
rán paradas.
Si el nivel de agua alcanza al detector n1,
arrancará la bomba B1.

37
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

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.
Si el nivel de agua alcanza al detector n3, o bien el caudal de
agua es excesivamente grande o hay algún fallo en el siste-
ma, por lo que se encenderá un piloto rojo de alarma H1.

SOLUCIÓN:

Tenemos tres entradas (los tres detectores de nivel) y tres salidas (las tres
bombas y el piloto rojo de alarma).

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 correspon-


dientes a las cuatro situaciones de funcionamiento de la extracción de aguas
del pozo.

En realidad, dado que hemos empleado tres columnas, una para cada sali-
da, tenemos tres tablas de verdad, que nos darán lugar a tres tablas de Kar-
naugh, como sigue:

Al llevar la información de las tablas de verdad a las tablas de Karnaugh,


hemos colocado todos los ceros y los unos, y dado que sólo contemplábamos
las situaciones de funcionamiento que corresponden al ejemplo, se nos han
quedado vacías cuatro celdas en cada tabla de Karnaugh. 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 indiferen-
tes para la resolución de nuestro problema. Como son combinaciones que en
nuestro sistema no se van a dar, rellenaremos las celdas vacías con “X” y con-
sideraremos 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.

38
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA

Es decir, 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 simpli-
ficación); por tanto, estas X incluidas en los grupos se han considerado como
si fuesen unos. Las X que no aportan ninguna ventaja al formar los grupos se
han dejado fuera de los mismos y, por tanto, se han considerado como ceros.

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. 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 conti-


nuo. El cilindro C1 avanzará a la derecha (C1 = 1)
hasta que llegue al final de su carrera y la pieza a tala-
drar quede fijada (Fc2 = 1). Entonces el cilindro C2
bajará el taladro (C2 = 1) hasta el final de su carrera
(Fc4 =1). Tras realizar el taladro, el cilindro C1 avan-
zará a la izquierda (C1 = 0) hasta llegar a su posición
inicial (Fc1 = 1). Y por último, el cilindro C2 subirá el
taladro (C2 = 0), hasta su posición inicial (Fc3 = 1).
Tras esto, el ciclo comenzará de nuevo indefinida-
mente.

39
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. Cada una de las filas de la tabla
de vedad representará un estado de funcionamiento del sistema. En el paso de
un estado a otro solamente puede variar una de las variables de entrada.

ESTADO 1: representa el estado inicial del sistema, con los dos cilindros
replegados. En este estado el cilindro C1 debe tener orden de salida (C1 = 1),
y el cilindro C2 debe seguir replegado (C2 = 0).

ESTADO 2: C1 se ha empezado a mover (su orden se dio en el estado ante-


rior), y por tanto el final de carrera de replegado cambia su valor, 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). En este estado las órdenes
tienen que seguir siendo las mismas, C1 = 1, para que siga saliendo, y C2 = 0,
para que continúe replegado.

ESTADO 3: lo determina el siguiente detector que cambia (Fc2) cuando C1


llega al final; entonces Fc2 = 1. En este estado las órdenes son: C1 = 1, para
mantener la posición y sujetar la pieza, y C2 = 1 para que el taladro comience
a bajar.

ESTADO 4: la siguiente variable de entrada que cambia es el detector Fc3,


cuando el taladro empieza a bajar. Las órdenes se deben mantener: C1 = 1,
sujetando la pieza, y C2 = 1, con el taladro bajando.

ESTADO 5: la siguiente variable de entrada que cambia es el detector Fc4,


cuando el taladro llega a su posición final de taladrado, haciéndose Fc4 = 1.
En este estado el cilindro C1 debe empezar a replegarse (C1 = 0), mientras el
taladro permanece en la posición inferior (C2 = 1).

ESTADO 6: la siguiente variable de entrada que cambia es el detector Fc2,


cuando el cilindro C1 inicia su movimiento, Fc2 = 0. En este estado las órde-
nes no tienen que cambiar, C1 = 0, para que se siga replegando, y C2 = 1 per-
maneciendo el taladro en la posición inferior.

ESTADO 7: la siguiente variable de entrada que cambia es el detector Fc1,


cuando el cilindro C1 llega a su posición inicial, Fc1 = 1. En este momento C1

40
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. 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).

ESTADO 8: la siguiente variable de entrada que cambia es el detector Fc4,


cuando el taladro empieza a subir. En este estado las órdenes tienen que per-
manecer igual, C1 = 0, permaneciendo replegado, y C2 = 0 para continuar
con su movimiento de subida.

ESTADO 9: la siguiente variable de entrada que cambia es el detector Fc3,


cuando el taladro alcanza su posición inicial superior. En este estado el ciclo
debe comenzar de nuevo, por lo que C1 debe comenzar a salir de nuevo
(C1 = 1) y el taladro debe permanecer en su posición superior (C2 = 0). 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, por lo que
hemos completado el ciclo (el 9 y el 1 son en realidad el mismo estado), y el
proceso vuelve a comenzar, siguiendo con el estado 2.

Una vez expresadas las funciones lógicas del ciclo de funcionamiento del
sistema como tablas de verdad (tenemos dos tablas de verdad en realidad,
dado que tenemos dos variables de salida: C1 y C2), el siguiente paso consis-
te en simplificarlas mediante las tablas de Karnaugh.

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
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, 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, los sistemas secuenciales se caracteri-


zan 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 momen-
tos anteriores.

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. Expresada como esquema eléctrico cableado, la célu-
la básica de memoria quedaría como sigue:

Veamos cómo actúa esta estructura. Al pulsar el pulsador “a” la tensión llega
a la bobina del contactor “K” y su contacto normalmente abierto “K” se cierra,
con lo que al dejar de pulsar “a” la tensión seguirá llegando a la bobina del con-
tactor. Es decir, el valor de la salida del sistema “K” depende no solamente del

42
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA

valor de la entrada “a”, sino también del valor que la propia salida del sistema
tuvo en un momento anterior, mediante su contacto normalmente abierto “K”.
Muestra de ello es que si dejamos de pulsar “a” entonces la salida no retornará
a su valor original, sino que seguirá en su estado activado, 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. Cuando lo hayas realizado, 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,
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.

Al representar la evolución de los estados en la tabla de verdad, 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, no habiendo lle-
gado al final del ciclo de 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, que representará el


valor de dicha variable interna en el estado anterior. Se marca-
rá en minúsculas con la denominación de la propia variable
interna y el subíndice “e”.
Una columna en la parte de las salidas, que representará el
valor de esta variable interna en el estado actual. Se marcará
en mayúsculas con la denominación de la propia variable
interna y el subíndice “S”.

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 respe-
tando las reglas que enumeramos anteriormente al comienzo de la página 24.
Recordemos:

Para la deducción de la tabla de verdad a partir del funcionamiento del sis-


tema, debemos tener en cuenta las siguientes condiciones:

Representaremos en primer lugar el estado inicial, en el que


aún no se da la orden de marcha del sistema y las salidas per-
manecen en reposo.
Un estado (que intuitivamente viene a ser aproximadamente
una determinada “situación de funcionamiento del sistema

43
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

automático”) viene definido por una determinada combinación


de variables de entrada. 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. Por tanto, de un esta-
do al siguiente (de una fila de la tabla de verdad a la siguiente)
solamente podrá cambiar una sola de las variables de entrada.

Una vez hayamos añadido la variable interna tal como se ha expresado,


debemos resolver la indeterminación que produce tener dos estados con la
misma combinación de variables de entrada y de variables de salida, 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 indeter-
minación).
En el último estado expresado en la tabla daremos a Xe el
valor 1. 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, dado que los hemos
diferenciado con nuestra nueva variable Xe.

Sin embargo, en este momento se nos presenta un problema: desde el penúl-


timo 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,
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.

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. De esta forma
ya se respetará la regla recién infringida. Es un estado “ficticio”, porque no res-
ponde a un paso real en la evolución física de nuestro sistema, sino que es una
necesidad matemática de nuestro método para poder resolver el problema.

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.

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.

Ejercicio resuelto. ENCENDIDO Y APAGADO


DE UN PILOTO CON DOS PULSADORES
Tenemos un piloto H que pretendemos activar con la pulsación de un pul-
sador S1. Al dejar de pulsar S1 el piloto debe permanecer encendido. Con la

44
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. 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.

SOLUCIÓN:
El primer paso, como de costumbre, consiste en expresar la idea de funcio-
namiento de nuestro sistema de forma rigurosa en la evolución de estados que
reflejaremos en la tabla de verdad, respetando las reglas expresadas anterior-
mente. Veamos:

ESTADO 1: en el estado inicial no está pulsado ninguno de los dos pulsa-


dores y el piloto está apagado.

ESTADO 2: pulsamos S1, variable cuyo cambio define el paso a este esta-
do. El piloto se debe encender.

ESTADO 3: dejamos de pulsar S1. Al cambiar de nuevo esta variable se


determina el paso al nuevo estado. En esta situación el piloto debe permane-
cer encendido.

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),
pero la salida es diferente en ambos (en el estado 0 es H = 0 y en el estado 3 es
H = 1). Estamos, pues, ante un problema secuencial y no combinacional.

Fíjate que en este problema la salida H no depende solamente del valor de


las variables de entrada, sino también de cuánto valía la salida en un estado
anterior, definición de los sistemas secuenciales.

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.

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). Veamos:

45
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

Se ha resuelto la indeterminación entre los estados 1 y 3, ya que la combi-


nación de variables de entrada (teniendo en cuenta ahora la nueva variable de
entrada interna Xe) es distinta en los dos estados.

Sin embargo, como se señaló anteriormente, ahora en el paso del estado 2


al 3 cambian dos variables de entrada, la S1, que pasa de 1 a 0 y la nueva Xe,
que pasa de 0 a 1. Debemos resolver este problema añadiendo entre el estado
2 y el estado 3 un nuevo estado ficticio (que marcaremos como 2’), y que no
corresponde a un estado real dado que al cambiar del 2 al 2’ solamente ha cam-
biado la variable interna Xe y no una variable física real del sistema. Es decir:

ESTADO 2’: se mantendrá el valor de la variable de salida H tal como esta-


ba en el estado 2; es decir, igual a 1 en el ejemplo.

En este momento se realizarán las dos comprobaciones:

En toda la tabla de verdad, al pasar de un estado al siguiente


solamente cambia el valor de una variable interna: VERDADERO.
No hay ningún estado cuya combinación de variables de
entrada coincida con la de ningún estado anterior, siendo dis-
tintas las variables de salida: VERDADERO (no lo hay).

Una vez hechas estas comprobaciones, se continuará expresando la evolu-


ció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 repe-
tirse). En adelante, al expresar un nuevo estado de funcionamiento del sistema
en cualquier problema, realizaremos siempre estas dos comprobaciones.

ESTADO 4: pulso S2 y el piloto se debe apagar. 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). Comprobaciones:

Cambia solamente una variable de entrada del estado 3 al 4:


VERDADERO, solamente cambia S2.

46
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. 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, siendo distinta la
salida H: VERDADERO; de hecho, no hay ninguna otra com-
binación igual de variables de entrada en toda la tabla.

ESTADO 5: dejo de pulsar el pulsador S2 y el piloto H debe permanecer


apagado. Comprobaciones:

Cambia solamente una variable de entrada del estado 4 al 5:


VERDADERO, solamente cambia S2.
La combinación de variables de entrada del estado 5 no es
igual a ninguna otra de la tabla de verdad, siendo distinta la
salida H: en este caso es FALSO, dado que el estado 3 tiene
la misma combinación de variables de entrada, siendo distin-
ta su variable de salida H (H = 1 en el estado 3 y H = 0 en el
estado 5). Debemos resolver esta nueva indeterminación.

Como ya hemos añadido una variable interna X, vamos a intentar resolver


esta nueva indeterminación volviendo a cambiar el valor de esta variable y, si
esto no fuese posible, nos veríamos obligados a añadir una nueva variable
interna Y. Veamos:

Si damos el valor 0 a Xe en el estado 5, nos damos cuenta que, aunque la


combinación de variables de entrada en el estado 5 es igual a la del estado 1,
la salida H ahora también es igual, con lo que no se infringe la regla de tener
dos estados con iguales combinaciones de variables de entrada y distinta
variable de salida. Hemos resuelto la nueva indeterminación de esta forma.

Sin embargo, 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. Lo resolvemos, como
anteriormente, añadiendo un estado ficticio 4’ en el que cambiamos solamen-
te el valor de la variable interna Xe.

47
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

Como anteriormente, se ha dejado igual la variable de salida H en el esta-


do 4’ que en el estado 4. Si volvemos a hacer las comprobaciones:

Cambia solamente una variable de entrada del estado 4 al 4’ y


del 4’ al 5: VERDADERO.
La combinación de variables de entrada no es igual en esta-
dos distintos siendo distintas las salidas: VERDADERO. La
combinación de variables de entrada es igual en el estado 5 y
en el estado 1, pero ahora las salidas no son distintas, son
iguales. Esto no infringe la regla, sino que muestra que hemos
llegado al fin del ciclo.

Ahora queda por asignar los valores a la variable de salida Xs. Seguiremos
las siguientes reglas:

Si estamos en un estado real y el siguiente estado es real,


daremos a Xs el mismo valor que a Xe del mismo estado 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 esta-
do ficticio.
Si estamos en un estado ficticio, Xs tomará el valor que tenga
Xe en el mismo estado ficticio.

En el caso del ejemplo:

ESTADO 1: es un estado real y el siguiente estado, el 2, es también real;


entonces Xs toma el mismo valor que la Xe del propio estado 1. Xs = 0.

ESTADO 2: es un estado real y el siguiente estado, el 2’, es un estado ficti-


cio; entonces Xs toma el valor de la Xe del estado ficticio 2’. Xs = 1.

ESTADO 2’: es un estado ficticio. Entonces Xs toma el mismo valor que la


Xe del propio estado ficticio 2’. Xs = 1.

ESTADO 3: es un estado real y el siguiente estado, el 4, es también real;


entonces Xs toma el mismo valor que la Xe del propio estado 3. Xs = 1.

ESTADO 4: es un estado real y el siguiente estado, el 4’, es un estado ficti-


cio; entonces Xs toma el valor de la Xe del estado ficticio 4’. Xs = 0.

ESTADO 4’: es un estado ficticio. Entonces Xs toma el mismo valor que la


Xe del propio estado ficticio 4’. Xs = 0.

48
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA

ESTADO 5: es el mismo estado que el 1, dado que es el que cierra el ciclo.


Xs vale lo mismo que en el estado 1.

Ya está completa la función lógica que describe como tabla de verdad la


evolución del problema secuencial de automatización. El siguiente paso con-
siste en realizar tantas tablas de Karnaugh como salidas tiene el sistema y sim-
plificar para obtener las ecuaciones lógicas.

Tabla de Karnaugh para la variable H Tabla de Karnaugh para la variable Xs

Como los valores de ambas salidas coincidían, lo hacen también sus tablas
de Karnaugh y, consecuentemente, también lo harán sus ecuaciones lógicas
simplificadas.

Observa que hemos dado los valores de indeterminación X a las combina-


ciones de las entradas que no vienen especificadas en la tabla de verdad que
expresa la evolución de nuestro sistema. Recuerda que esto nos permite utili-
zarlos como 0 ó 1 según nos convenga para conseguir una simplificación
mayor de la ecuación lógica; es decir, 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, presentan la misma ecua-


ción lógica, el circuito eléctrico que llega a cada una de ellas es exactamen-
te el mismo, por lo que podemos sustituir el de H por un contacto normal-
mente abierto de Xs, obteniendo la misma funcionalidad y mayor
simplificación.

Como ejercicio, puedes obtener la misma función lógica expresada como


diagrama lógico de bloques.

49
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. Si pulsa-
mos S1, la tensión llega al contactor Xs y su contacto Xe se cierra, iluminándo-
se el piloto H. Al dejar de pulsar S1 la tensión sigue llegando al contactor a tra-
vés de Xe que está cerrado y de S2, con lo que el contactor se mantiene activo
y el piloto encendido. Si pulsamos entonces S2, cortaremos la tensión a la
bobina de Xs y sus contactos volverán a su posición de reposo (posición nor-
mal, que es abierta), con lo que el piloto se apagará.
Este esquema eléctrico de mando se denomina MARCHA-PARO CON PRIO-
RIDAD A LA MARCHA, dado que si se mantienen pulsados simultáneamente el
pulsador de paro (S2) y el pulsador de marcha (S1), se observa que la tensión
sigue llegando a la bobina del contactor, que se mantiene activo (en marcha).

Variación del ejercicio


Cuando realizamos las agrupaciones en la tabla de Karnaugh del ejemplo,
consideramos las X como unos porque nos ayudaban a realizar grupos mayores.

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), la salida del sistema debe ser cero; es decir,
el piloto debe estar apagado. En este caso llegaríamos a la solución del pro-
blema denominada MARCHA-PARO CON PRIORIDAD AL PARO, dado que si
se pulsan ambos pulsadores a la vez el piloto estaría apagado. 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,


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), es posible que no nos den la
mayor simplificación posible.

50
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA

El circuito eléctrico de mando correspondiente a esta función lógica sería:

En donde se ve que, efectivamente, si mantenemos pulsados simultánea-


mente S1 y S2, se corta la tensión que llega a Xs y no luce la salida H.

Queda como ejercicio la obtención de los dos esquemas lógicos de blo-


ques asociados al ejemplo.

Ejercicio resuelto. ACCIONAMIENTO DE PRENSA


POR UN SÓLO PULSADOR
Tenemos el sistema de la figura, 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, tocando a la
vez el final de carrera Fc1. En este momento el cilindro comenzará
a subir hasta que llegue a su posición original, cuando el operario
deja de accionar el pulsador, finalizando el ciclo de funcionamiento.

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.

SOLUCIÓN:
El sistema tiene dos variables de entrada: S1 y Fc1, y una variable de salida: P.

Expresión del ciclo de funcionamiento en la tabla de verdad:

ESTADO 1: estado inicial, aún no se pulsa S1 y el cilindro no está tocando


Fc1. Por tanto, S1 = 0 y Fc1 = 0. El cilindro no debe recibir aún la orden de
marcha, por lo que P = 1.

51
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 sali-
das 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 pre-


senta la indeterminación, el estado 4, en que le hemos dado Xe = 1. La inde-
terminació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 solamen-


te, con lo que ahora de un estado a otro solamente cambia una variable inter-
na 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 pul-


sar 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 completa-
do. 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 esta-
do 1 con los valores de la salida iguales), y poder asignar los valores adecua-
dos 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 fue-
sen 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 ecua-


ció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
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA

La prensa debe realizar ahora el siguiente ciclo: al pulsar S1


debe comenzar su movimiento de bajada. Al dejar de pulsar inme-
diatamente el pulsador, la prensa continuará con su ciclo. Cuando
llegue al final de su movimiento, y por tanto haya realizado la
acción requerida sobre la pieza, accionará el final de carrera Fc2
y comenzará automáticamente su movimiento de replegado.
Cuando esté totalmente replegada, tocará el final de carrera Fc1
y la prensa quedará dispuesta para la realización del siguiente
ciclo al pulsar brevemente el pulsador S1.

Se piden las ecuaciones lógicas de funcionamiento del siste-


ma y su representación en esquema eléctrico cableado y diagra-
ma lógico de bloques.

SOLUCIÓN:
El sistema tiene tres variables de entrada: el pulsador S1 y los finales de
carrera Fc1 y Fc2. Y tiene una salida: el accionamiento P del cilindro.

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; no se pulsa el pulsador S1, el cilindro se encuen-


tra en su posición de reposo; es decir, totalmente replegado y por tanto tocan-
do el final de carrera Fc1; por tanto, Fc1 = 1. Consecuentemente, Fc2 = 0. En
este estado la prensa debe permanecer en reposo; es decir, con P = 0.

Recuerda que al escribir los valores de todas las variables correspondien-


tes 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 conte-


nido teórico del apartado correspondiente).

ESTADO 2: el operario pulsa S1 (S1 = 1). El ciclo debe comenzar y C1 debe


recibir la orden de marcha (C1 = 1).

ESTADO 3: al iniciarse el movimiento del cilindro se deja de pisar Fc1; por


lo tanto, pasa a ser Fc1 = 0. La orden del cilindro debe mantenerse para que

55
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

continúe su recorrido de avance. Este suceso es automático y, por tanto, muy


rápido. Por ello consideramos que va antes del siguiente estado.

ESTADO 4: el operario deja de pulsar S1; por lo tanto, pasa a ser S1 = 0.


El cilindro debe continuar su recorrido y el sistema debe completar su ciclo. Por
tanto P = 1 también.

ESTADO 5: el cilindro llega a su posición extrema, la prensa realiza su acción


sobre la pieza y se toca el final de carrera Fc2. Por tanto, pasa a ser
Fc2 = 1. En este momento el cilindro debe dejar de recibir su orden de marcha
para que comience su movimiento de replegado; por tanto, pasará a ser P = 0.

ESTADO 6: el cilindro ha iniciado su movimiento de retroceso y por tanto se


deja de pisar Fc2, siendo Fc2 = 0. El cilindro debe permanecer sin recibir
orden de marcha, para que continúe su movimiento de replegado.

En este momento, al realizar las dos comprobaciones que se han recorda-


do tras el estado 1, nos damos cuenta de que la combinación de variables de
entrada del estado 6 coincide con la del estado 4, siendo la salida diferente
(P = 1 para el estado 4 y P = 0 para el estado 6). Por tanto, nuestro sistema
es SECUENCIAL.

Consecuentemente, 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. 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, en el que se presenta primeramente la indeterminación. Con
esto la indeterminación queda resuelta pero vemos que del estado 5 al 6 ahora
cambian dos variables de entrada, infringiendo la regla de cambio de un esta-
do a otro: solamente debe variar una variable de entrada. Lo solucionamos
añadiendo el estado ficticio 5’ en el que cambiamos primeramente el valor de
la variable interna como sigue:

56
CONCEPTOS BÁSICOS DE PROGRAMACIÓN. LÓGICA BÁSICA

De esta forma queda resuelto el problema de la indeterminación. Observa


que se ha dado a P el valor que tenía en el estado anterior (el 5).

Es posible ahora continuar con el ciclo de funcionamiento:

ESTADO 7: el cilindro llega a su posición final de replegado, con lo que toca


el final de carrera Fc1, siendo ahora Fc1 = 1. El valor de la salida P debe seguir
siendo 0 para que el cilindro permanezca replegado hasta una nueva pulsación
de S1. Como la combinación de variables de entrada en este estado no es
igual que la del estado inicial (estado 1), se debe añadir un nuevo estado ficti-
cio 7’ en el que cambiemos el valor de la variable ficticia y así podamos cerrar
el ciclo, obteniendo, de esta forma, los valores correctos para la variable ficti-
cia de salida Xs.

ESTADO 7’: estado ficticio de cierre de ciclo. Se cambia solamente la varia-


ble de salida Xs según se ha comentado en el estado anterior.

Una vez reflejados todos los estados que completan el ciclo en la tabla de
verdad, es posible pasar a dar valores a la variable de salida Xs, según las
reglas expuestas anteriormente.

ESTADO 1: estado real seguido de estado real; Xs = su propia Xe = 0.


ESTADO 2: estado real seguido de estado real; Xs = su propia Xe = 0.
ESTADO 3: estado real seguido de estado real; Xs = su propia Xe = 0.
ESTADO 4: estado real seguido de estado real; Xs = su propia Xe = 0.

57
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

ESTADO 5: estado real seguido de estado ficticio; Xs = Xe del estado ficti-


cio siguiente = 1.
ESTADO 5’: estado ficticio; Xs = su propia Xe = 1.
ESTADO 6: estado real seguido de estado real; Xs = su propia Xe = 1.
ESTADO 7: estado real seguido de estado ficticio; Xs = Xe del estado ficti-
cio siguiente = 0.
ESTADO 7’: estado ficticio; Xs = su propia Xe = 0.

El siguiente paso consiste en obtener las funciones lógicas simplificadas de


las salidas del sistema según las tablas de Karnaugh.

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
RESUMEN

Los autómatas industriales están Llamamos función lógica a la relación que


diseñados para el control de instalaciones existe entre las diversas variables del
industriales, aunque en los últimos sistema automático que nos definirá el
tiempos se han desarrollado versiones de funcionamiento de las salidas del mismo.
menor capacidad y con funciones
específicas adaptadas a las instalaciones Existen cuatro formas de expresión de las
domóticas y sus subsistemas. funciones lógicas que son muy útiles a la
hora de realizar físicamente los
Los relés programables presentan automatismos en función de las
numerosas ventajas: son sencillos de tecnologías empleadas: esquemas lógicos
montar, de programar y de mantener. Son cableados, tablas de verdad, diagrama
muy adecuados para usos externos a la lógico de bloques y ecuaciones lógicas.
actividad industrial.
Las funciones lógicas básicas más útiles
para la resolución de sistemas
Las instalaciones automatizadas se
automatizados son las: NOT, OR, AND,
construyen, mayoritariamente, con
NOR y NAND.
elementos que presentan únicamente dos
estados estables en su funcionamiento: Cualquier otra función lógica que se
lámparas, motores, actuadores, etc. Esto pueda expresar con los métodos antes
permite traducir la relación entre los mencionados la denominaremos
mismos a la lógica del álgebra de Boole, FUNCIÓN LÓGICA GENERAL.
facilitando enormemente su especificación
y diseño. Cualquier función lógica general tiene su
expresión como tabla de verdad, esquema
A partir de las reglas y propiedades del lógico cableado, diagrama lógico de
álgebra de Boole se diseñarán con relativa bloques y ecuaciones lógicas.
facilidad los esquemas lógicos cableados
Para obtener una solución de
y los programas para los relés
automatización lo más reducida y
programables que resolverán las
económica posible es necesario simplificar
necesidades de automatización que se
las funciones lógicas a la hora de obtener
puedan presentar.
ecuaciones lógicas, esquemas eléctricos
cableados y diagramas de bloques.
Además del sistema de numeración
decimal existen dos sistemas de Uno de los sistemas más extendidos
numeración de gran aplicación en el consiste en el de simplificación mediante
desarrollo de soluciones de tablas de Karnaugh, partiendo de la tabla
automatización: el código binario natural y de verdad de la evolución del sistema y
el código reflejado de Gray. agrupando unos en la tabla, con unas
reglas determinadas.
El código reflejado de Gray tiene la
propiedad de que al pasar de un número Al formar la tabla de Karnaugh, las
al siguiente solamente cambia un digito, lo combinaciones de variables tanto en las
que lo hace muy útil para aplicaciones de filas como en las columnas se irán
simplificación de funciones lógicas. colocando según el código reflejado de

59
Gray, para que las celdas de la tabla que Si el sistema es secuencial se ha de
se encuentren al lado en horizontal y añadir una variable interna que se
vertical sean contiguas (sólo cambia una representa como variable de entrada en la
variable de una a otra), condición parte de las entradas y como variable de
indispensable para poder formar grupos. salida en la parte de las salidas de la tabla
de verdad, para solucionar la
La ecuación lógica que se obtenga de la indeterminación que presentará disponer
tabla de Karnaugh tendrá un grado de de dos estados con la misma
simplificación considerable, aunque no es combinación de variables de entrada y
necesariamente el máximo. Conviene distintas salidas.
observar si es posible simplificar un poco
más. Posteriormente nos aparecerá otro
problema al solucionar la indeterminación
Los sistemas combinacionales se anterior: nos encontraremos con que de
caracterizan porque el valor de las salidas un estado al siguiente nos cambian dos
depende únicamente del valor de las variables de entrada a la vez. Lo
entradas en ese momento. solucionaremos intercalando un estado
Al formar la tabla de Karnaugh de la salida ficticio en el que cambiaremos únicamente
en un sistema combinacional, cuando se la variable interna de entrada, dejando
han terminado de trasladar todos los igual la otra variable que cambia (la real).
ceros y unos de la tabla de verdad, Si el problema de automatización es
pueden quedar celdas vacías, que se relativamente sencillo: a partir de la
completarán con X, que representan que definición “en abstracto” del mismo,
estas posiciones se pueden interpretar traduciremos esta información a la
indistintamente como ceros o unos, como evolución del sistema según sus etapas,
más convenga, para obtener los grupos con unas reglas definidas. Después lo
de mayor tamaño y, consecuentemente, la plasmaremos en una tabla de verdad, de
mayor simplificación. la que extraeremos tablas de Karnaugh, la
Los sistemas secuenciales se caracterizan ecuación lógica simplificada y, a partir de
porque el valor de las salidas depende no ésta, la solución del problema en
sólo del valor de las entradas en ese esquema eléctrico cableado o en
momento sino también del valor de las diagrama lógico de bloques. La
salidas en estados anteriores. programación del microcontrolador es
entonces muy sencilla.
La unidad básica de memoria en los
sistemas secuenciales es el biestable RS. Para la deducción de la tabla de verdad a
En el esquema eléctrico cableado se partir de la evolución requerida del
emplea la realimentación a través de un sistema se ha de tener en cuenta: 1. Se
contacto abierto del relé o contactor en representará en primer lugar el estado
cuestión. inicial; 2. Un estado viene definido por una
determinada combinación de variables de
Los sistemas combinacionales también se entrada, identificándose con una fila de la
pueden resolver mediante la tabla de verdad, y 3. El paso de un estado
representación de sus etapas de al siguiente lo determina el cambio de una
evolución en la tabla de verdad, y su sola de las variables de entrada.
posterior simplificación mediante las
tablas de Karnaugh.

60
Ejercicios de autocomprobación
Rodea con un círculo la V si cada una de las siguientes afirmaciones es verdadera, o la F si es falsa.

1. 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

2. Si un pulsador está accionado, su contacto dejará pasar la corriente y si no está accionado,


no dejará pasar la corriente. V F

3. 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. V F

4. Mediante las tablas de verdad se pueden expresar las funciones lógicas, y suponen una forma
muy útil de representar la evolución de los estados de pequeños automatismos. V F

5. No es posible representar las funciones lógicas expresadas mediante ecuaciones lógicas


como esquemas eléctricos cableados. V F

6. 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

7. El método de simplificación de funciones lógicas mediante tabla de Karnaugh no proporciona


las ecuaciones más simplificadas. Es posible que, algunas veces, se pueda simplificar algo
más. V F

8. 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, se deben
ordenar según el código binario natural. V F

9. Al realizar los agrupamientos de unos en la tabla de Karnaugh, es posible formar grupos de


seis unos. V F

10. El número de unos que puede contener un grupo en la tabla de Karnaugh debe ser potencia
de dos. V F

11. Es muy sencillo realizar simplificaciones de funciones lógicas de más de 5 variables median-
te las tablas de Karnaugh. V F

12. Al fijarnos en las variables de entrada correspondientes a los unos contenidos en un grupo de
la tabla de Karnaugh, si alguna variable cambia de un uno a otro del grupo, ésta no aparece-
rá en el término correspondiente de la ecuación algebraica. V F

13. No es posible realizar agrupaciones de unos que tengan forma de L. V F

14. 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. V F

61
15. 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. V F

16. 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. La célula básica de memoria es un sistema puramente combinacional. V F

18. Al pasar los datos de la tabla de verdad de un sistema real a la tabla de Karnaugh, las posi-
ciones que me queden libres en esta última no se podrán incluir en los grupos que realice. V F

19. 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 varia-
bles de salida, deberé incluir una variable adicional interna. V F

20. Crearé un estado ficticio siempre que quiera resolver el problema de que al pasar de un esta-
do al siguiente en la tabla de verdad me cambien simultáneamente más de una variable de
entrada. V F

Compara tus respuestas con las que te indicamos al final de la unidad. Si has cometido
errores, repasa la parte correspondiente del tema antes de proseguir tu estudio.

62
PROGRAMACIÓN CON GRAFCET. EJERCICIOS RESUELTOS

PROGRAMACIÓN CON GRAFCET.


EJERCICIOS RESUELTOS
Como has podido aprender en los ejemplos de los apartados anteriores, si
el sistema automático dispone de un número elevado de variables de entrada,
su resolución mediante el método de las tablas de verdad y simplificación
mediante tablas de Karnaugh se complica excesivamente.

Con el aumento de la potencia de los sistemas de cálculo electrónico, apa-


recen los MICROCONTROLADORES y los AUTÓMATAS PROGRAMABLES, en
los que se puede programar la lógica que solucione el problema de automati-
zación mediante software. Consecuentemente, ya no es crítico que la solución
del problema sea lo más simplificada posible, puesto que no se va a realizar
en lógica cableada, con contactores y relés. Esto nos permite explorar otros
procedimientos más estructurados y sencillos para solucionar los automatis-
mos complejos, evitando las grandes dificultades a las que se hace referencia
en el párrafo anterior. El más extendido de ellos es el GRAFCET, término que es
abreviación de Gráfico Funcional de Control de Etapas y Transiciones.

Como se ha comentado, la potencia del GRAFCET reside en que, aunque


no busca las soluciones más simplificadas, sí proporciona un método de reso-
lución de los automatismos que es estándar, riguroso y jerárquico, lo que evita
las incoherencias, bloqueos o conflictos durante el funcionamiento del sistema
automático.

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.

Se exponen a continuación los elementos básicos que componen este


modelo.

ETAPAS. Representan cada uno de los estados del sistema.


Se corresponde cada una con una situación del sistema en la
que las salidas dependen únicamente de las entradas; es
decir, la relación que existe entre entradas y salidas dentro de
una etapa es principalmente combinacional (aunque se pue-
den dar también funciones no combinacionales, como tempo-
rizaciones, conteos, etc.). La etapa se representa por un cua-
drado con un número o un símbolo en su interior. Una ETAPA
INICIAL es la etapa en que se debe posicionar el sistema en
el primer estado de funcionamiento del mismo. Se representa
por un cuadrado doble.
LÍNEAS DE EVOLUCIÓN. Unen las etapas consecutivas entre
sí. Señalan una dirección del flujo de control que va siempre
de arriba hacia abajo, a no ser que se indique lo contrario.
TRANSICIONES. Son las condiciones lógicas que tiene que
cumplir el sistema para que termine la actividad definida en una

63
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.
REENVÍOS. 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.

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, debe existir sola-
mente una condición de transición (una ecuación combinacional que puede
ser todo lo compleja que sea necesario, pero solo una).

Los números de las etapas tienen una función identificativa únicamente, no


necesariamente se han de suceder las etapas en el flujo de control según el
orden de sus números.

Se dice que una transición es VÁLIDA cuando la etapa anterior a la misma


está activa (es decir, en cualquier momento se puede cumplir la condición de
transición).

Si la transición es VÁLIDA y la condición lógica de la transición (su RECEP-


TIVIDAD) se cumple, 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.

La etapa inicial (en cuadro doble) se activará en la puesta en marcha.

64
PROGRAMACIÓN CON GRAFCET. 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.
Corresponde a una descripción global del sistema (con poco nivel de detalle).

Veámoslo con un ejemplo:

Ejercicio resuelto. ACCIONAMIENTO AUTOMÁTICO


DE PUERTA CON DETECTOR DE PRESENCIA
Recordemos el funcionamiento de la puerta auto-
mática que se comentó en apartados anteriores:
tenemos una puerta automática accionada por un
motor eléctrico (a diferencia del ejemplo anterior), 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. Cada vez que se
aproxime una persona a la puerta, el motor debe
abrir la misma y cuando la persona ya haya pasado,
el sistema debe volver a cerrarla, quedando en espe-
ra de un nuevo ciclo. El esquema sería:

SOLUCIÓN:
El GRAFCET DE NIVEL 1 quedaría
como se muestra al margen.

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, de
actuadores, de realización de las funcio-
nes lógicas, etc.), consiste en un nivel
puramente conceptual.

65
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 tecnolo-


gía con la que vayamos a realizar físicamente el sis-
tema 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 (senti-
do 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 automatiza-
ció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 len-
guaje 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 Sie-
mens, 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á acti-


vada 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 condicio-
nes 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 acti-
ve (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), fren-
te a las de Set (puesta a uno), lo cual es importante para la ejecución de nues-
tro GRAFCET, dado que en muchas ocasiones nos encontraremos con que un
mismo biestable recibe las dos órdenes simultáneamente. Dado que la activa-
ción de la etapa siguiente requiere la desactivación de la etapa anterior, la prio-
ridad 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 ele-
gida (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 corres-


ponde 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 combina-


cional del problema con la programación según el lenguaje de diagrama lógi-
co 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 fun-
cional 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
PROGRAMACIÓN CON GRAFCET. EJERCICIOS RESUELTOS

Las marcas que se han empleado (los bloques marcados con la denomina-
ción “M” tras los biestables) corresponden a variables internas del microautó-
mata, utilizadas para evitar las referencias cruzadas directas entre salidas
(recursiones), situación no permitida en este lenguaje de programación (parti-
cularidad del Logo de Siemens).

69
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.

Observa que la salida de un biestable se dirige siempre a la entrada de


RESET del biestable anterior, con lo que se consigue que la activación de la
etapa siguiente implique la desactivación de la etapa anterior.

PARTE COMBINACIONAL

ACCIONES DE LA ETAPA 1

Esta etapa no lleva asociadas acciones combinacionales, ya que se trata de


una etapa de espera.

70
PROGRAMACIÓN CON GRAFCET. EJERCICIOS RESUELTOS

ACCIONES DE LA ETAPA 2

Cuando la segunda etapa se encuentre activa, se dará orden de apertura a


la puerta, hasta que se encuentre totalmente abierta. La salida se marca con
un bloque denominado “Q”, que corresponde con salidas digitales en bornas
del microautómata.

ACCIONES DE LA ETAPA 3

Esta etapa no lleva asociadas acciones combinacionales, ya que se trata de


una etapa de espera.

ACCIONES DE LA ETAPA 4

Cuando se encuentra activa la etapa cuatro, se dará orden de cierre a la


puerta. Esta segunda salida digital del autómata, Q2, con salida a bornas del
mismo, alimentará a la bobina del contactor de marcha del motor de la puerta
en sentido del cierre de la misma.

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 PUER-
TA CON DETECTOR PRESENCIA.lsc”, que puedes ejecutar con el programa
LOGOSOFT.

Los pasos para la comprobación del funcionamiento del programa son los
siguientes, una vez hayas ejecutado el LOGOSOFT y hayas cargado el programa:

1. En el menú del programa pulsa en “Herramientas” y “Simulación” o, alter-


nativamente, pulsa F3. Observarás cómo se activa el biestable B001 E0,
correspondiente a la etapa 0. Como la etapa cero es de activación auto-
mática, a la entrada Reset de su biestable le hemos conectado la marca
M8, 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), y en
el segundo ciclo y posteriores funciona como una marca normal. Conse-
cuentemente, nos encontramos con la etapa 0 activa.
2. Si pulsamos sobre I3 (detector de puerta cerrada), estaremos satisfacien-
do la receptividad de la transición de la etapa 0 a la 1, 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). Esta etapa no dispone de acciones com-
binacionales asociadas, dado que es una etapa de espera.
3. Con I3 pulsado (la puerta continúa en posición cerrada), pulsa sobre I1
para simular la presencia de una persona en las inmediaciones de la
puerta. Verás cómo se activa la etapa E2 (el biestable RS B004). Además,
en la parte combinacional del programa verás cómo la activación de la
marca M2 activa a su vez la salida Q1, que corresponde al contactor de
apertura de la puerta. La puerta comienza a abrir y, por tanto, volveremos

71
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

a pulsar sobre I3 porque ésta deja de pisar el final de carrera de puerta


cerrada. Observa cómo se mantiene tanto la etapa 2 activa como la sali-
da Q1 en marcha.
4. El siguiente paso corresponde al final de carrera de puerta abierta cuan-
do ésta llega a su posición de completamente abierta. Pulsamos sobre
I2 para simular esta situación. 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. Nos encontramos en una
etapa de espera (la persona debe pasar por la puerta sin que el sistema
realice más acciones).
5. El siguiente paso corresponde al detector de presencia, que cambiará a no
detectar cuando la persona ya haya pasado. Para simular esta situación
pulsamos otra vez sobre I1 para desactivarlo, dejando I2 pulsado, ya que
la puerta sigue pisando el final de carrera de abierta. Observa cómo el sis-
tema ha pasado de la etapa E3 a la E4 (se ha activado el biestable RS B008
y se ha desactivado el biestable RS B006), a la vez que en la parte de las
acciones de la etapa 4 se ha activado la salida Q2, correspondiente al con-
tactor que corresponde al sentido de giro de cerrar la puerta del motor. La
puerta comenzará a cerrar; si pulsas de nuevo sobre I2, simulas que ya no
pisa el final de carrera de puerta abierta (observa que el sistema permane-
ce en la etapa 4 dado que debe continuar cerrando).
6. Cuando la puerta llega a su posición final de cerrada, pulsará sobre el
final de carrera de puerta cerrada (pulsa sobre I3 para simular esta situa-
ción), y observa que pasamos al estado E0, desactivándose el estado
E4, con lo que volvemos a iniciar el ciclo.

Como puedes observar, en los casos sencillos la utilización del método


GRAFCET supone que la función lógica que obtenemos finalmente se compli-
ca con respecto a la solución obtenida mediante tablas de verdad y simplifica-
ción por Karnaugh. El objetivo del GRAFCET no es conseguir un alto grado de
simplificación, sino servir de herramienta muy potente para la solución de los
problemas más complejos, como se verá en los siguientes ejemplos.

A continuación se expone otro ejemplo resuelto con el sistema GRAFCET,


pero esta vez programado con el lenguaje correspondiente al microcontrolador
Zelio de Telemecánica.

Ejercicio resuelto. 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. La puesta en marcha del semáforo se debe producir inmedia-
tamente al dar tensión. La secuencia de luces debe ser la siguiente:

Luz roja durante 15 segundos.


Luz verde durante 10 segundos.
Luz ámbar durante 5 segundos.

72
PROGRAMACIÓN CON GRAFCET. 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, según la nomenclatura que se ha empleado a lo


largo de la unidad, hacen referencia a las tres salidas del sistema de automa-

73
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).

La TABLA DE ASIGNACIÓN DE VARIABLES para este caso, con la que rea-


lizaremos la programación en el microautómata Zelio de Schneider, 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.
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, al iniciar la simulación en Zelio Logic se activa la
etapa 0, al no estar activas las otras tres etapas.
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 compro-
bar en la etapa cero).
La entrada en la etapa 1 supone la iniciación automática del temporizador
T1, que cuenta hasta los 15 segundos. Cuando se alcanzan los 15 segundos,
el temporizador se activa y se inicia la etapa 2, a la vez que se desactiva la
etapa 1. De esta forma se van sucediendo las tres etapas correspondientes a
los tres estados del semáforo.
Las acciones combinacionales correspondientes a cada etapa se han pro-
gramado junto con las secuenciales, dado que consisten solamente en la acti-
vación directa de la salida correspondiente a la lámpara de cada etapa.
Se puede observar la programación en el lenguaje de contactos de Zelio
Logic en la figura siguiente.

74
PROGRAMACIÓN CON GRAFCET. EJERCICIOS RESUELTOS

75
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

Ejercicio resuelto. 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, que consistía en:

Recordemos las condiciones de funcionamiento:

Si el nivel de agua se encuentra por debajo del detector n1,


las bombas estarán paradas.
Si el nivel de agua alcanza al detector n1, arrancará la bomba
B1.
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.
Si el nivel de agua alcanza al detector n3, o bien el caudal de
agua es excesivamente grande o hay algún fallo en el siste-
ma, por lo que se encenderá un piloto rojo de alarma H1.

A las que añadimos la siguiente condición adicional:

El sistema debe recordar cuál fue la última bomba que arran-


có, de forma que en el siguiente arranque la bomba que se
ponga en marcha sea la otra. 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).

76
PROGRAMACIÓN CON GRAFCET. EJERCICIOS RESUELTOS

SOLUCIÓN:
El GRAFCET DE NIVEL 1 necesario para resolver este problema quedaría:

El GRAFCET DE NIVEL 2 quedaría:

77
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

La TABLA DE ASIGNACIÓN DE VARIABLES para este caso, con la que


realizaremos la programación en el microautómata Zelio de Schneider,
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 correspondien-


tes 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, la última bomba que arrancó fue B2 y, por lo tanto,


la próxima que arrancará será la bomba B1.
Si M6 = 1, la última bomba que arrancó fue B1 y, por lo tanto,
la próxima que arrancará será la bomba B2.

Las dos figuras siguientes son, respectivamente, la programación en len-


guaje de contactos en Zelio Logic de la parte secuencial del GRAFCET del pro-
blema (traducción al programa de la estructura de etapas) y la programación
de la parte de las acciones de las etapas.

78
PROGRAMACIÓN CON GRAFCET. EJERCICIOS RESUELTOS

79
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

80
RESUMEN

Conforme se va complicando el problema comience la actividad de la etapa o de las


de automatización, el método de etapas que le siguen. Se representan con
resolución por tablas de verdad, tablas de líneas cortas que cruzan a las líneas de
Karnaugh y ecuación lógica simplificada evolución.
se hace demasiado complejo y deja de
ser una solución viable. Los reenvíos son flechas que marcan el
destino o la procedencia de las líneas de
Para resolver estos problemas más evolución, para evitar líneas de evolución
complejos se emplean los métodos demasiado prolongadas o demasiados
gráficos. Entre ellos, el más extendido es cruces entre las mismas.
el método GRAFCET.
Se denomina RECEPTIVIDAD a la
GRAFCET es acrónimo de Gráfico condición lógica de la transición, que, si
Funcional de Control de Etapas y se cumple, la transición es franqueable.
Transiciones.
Cuando se franquea una transición
siempre se desactivarán las etapas
El GRAFCET no persigue conseguir la
anteriores y se activarán las etapas
solución más simplificada posible del
posteriores a la misma.
problema de automatización, sino
proporcionar un método sistemático de
La etapa inicial se debe activar siempre
resolución de problemas de
automáticamente en la puesta en marcha.
automatización por complejos que sean.
La resolución del problema mediante el
Los elementos básicos del GRAFCET método GRAFCET se lleva a cabo en tres
consisten en etapas, líneas de evolución, niveles: el primer nivel, o nivel funcional; el
transiciones y reenvíos. segundo nivel, o descripción tecnológica y
operativa, y el tercer nivel o diseño del
Las etapas representan los estados del sistema de control.
sistema. Dentro de una etapa las acciones
son principalmente combinacionales. Se El tercer nivel dará como resultado un
representan con un cuadrado con un programa para un microcontrolador, por lo
número o símbolo en su interior. que tendremos que establecer en él una
tabla de asignación de variables y dos
La etapa inicial se emplea para posicionar partes diferenciadas en el programa a
el sistema en el primer estado de cargar en el microcontrolador: la parte
funcionamiento. Se representa por un secuencial, o estructura lógica de etapas y
cuadrado doble. transiciones, y la parte de las acciones a
realizar por las etapas.
Las líneas de evolución unen las etapas
consecutivas entre sí. Una vez realizado el procedimiento
GRAFCET, se podrá escribir el programa
Las transiciones son los requisitos que para cargarlo en cualquier
debe cumplir el sistema para que termine microcontrolador y resolver los requisitos
la actividad definida en una etapa y de la automatización.

81
En conclusión: si el problema de transiciones, y en último lugar definiremos
automatización es complejo y no es las acciones asociadas a las etapas. La
solucionable con el método de evolución programación del microcontrolador en
de etapas en la tabla de verdad y base a este gráfico de funcionamiento es
Karnaugh, entonces realizaremos los entonces muy sencilla, aunque no sea lo
gráficos de funcionamiento según el más simplificada posible, aspecto
método GRAFCET, estableceremos secundario si se dispone de
sistemáticamente los pasos en la microcontroladores.
evolución del sistema por etapas y

82
Ejercicios de autocomprobación
Rodea con un círculo la V si cada una de las siguientes afirmaciones es verdadera, o la F si es falsa.

21. El método GRAFCET para resolver problemas de automatización no es válido para los siste-
mas secuenciales. V F

22. El método GRAFCET es un método gráfico de solución de problemas de automatización. V F

23. El método GRAFCET es especialmente útil para obtener soluciones a los problemas de auto-
matización que sean lo más reducidas posibles y que, al realizarlas físicamente en lógica
cableada, nos den la mayor economía posible. V F

24. El método GRAFCET es válido y muy aplicable para obtener de forma sistemática las solucio-
nes de problemas muy complejos y para los que la solución más simplificada no es lo más
importante, dado que se van a programar en microcontrolador. V F

25. Si se cumple la receptividad de una transición (su condición lógica), y la etapa anterior a la tran-
sición estaba activa, entonces se activará la etapa posterior y se desactivará la etapa anterior. V F

26. Es necesario accionar un pulsador al comienzo de la operación del sistema para activar la
etapa inicial del GRAFCET. V F

27. El GRAFCET de primer nivel, también denominado GRAFCET FUNCIONAL, corresponde a


una descripción global del sistema con poco nivel de detalle. V F

28. En el GRAFCET de segundo nivel, también llamado TABLA DE ASIGNACIÓN DE VARIABLES,


se realizará una lista de las variables de entrada y salida, asociándolas con las variables del
microcontrolador y realizando un pequeño comentario de cada una de las mismas. V F

29. La activación de una etapa en GRAFCET viene determinada por la activación de un bloque
funcional en el microcontrolador de tipo temporizador. V F

30. Al realizar la programación de la solución obtenida con el método GRAFCET en el microcon-


trolador, existirán dos partes diferenciadas: la correspondiente a la estructura de etapas de la
solución (parte secuencial), y la correspondiente a las acciones a realizar por las etapas (parte
combinacional). V F

Compara tus respuestas con las que te indicamos al final de la unidad. Si has cometido
errores, repasa la parte correspondiente del tema antes de proseguir tu estudio.

83
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 deno-
minados relés programables), denominado Zelio, que está diseñado para el
control de pequeños sistemas automatizados. Se viene comercializando desde
el año 2000. 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).
Dentro del área de servicios-domótica son aplicaciones típicas las que se
relacionan a continuación:
Automatización de barreras, cortinas eléctricas, controles de
acceso, etcétera.
Automatización de sistemas de riego, bombeo, invernaderos,
etcétera.
Automatización de instalaciones de iluminación.
Automatización de compresores y sistemas de aire acondicio-
nado.

Por su compacto tamaño y por su facilidad de instalación y configuración,


supone una gran alternativa a los sistemas de lógica eléctrica cableada (que
se han venido estudiado en la presente unidad), u otro tipo de soluciones basa-
das en tarjetas de control específicas para la aplicación (cuyo gran inconve-
niente consiste en su falta de flexibilidad y estandarización).

Las funciones básicas del relé programable Zelio consisten en:

Actualizar la fecha y la hora del reloj interno.


Introducir el esquema de mando.
Borrar el esquema contenido en el relé programable.
Visualizar y modificar los parámetros de los bloques de función.
Cambiar el estado del autómata entre “run” y “stop”.
Configurar las opciones básicas (uso de contraseña para la
protección de la información, elección del idioma, filtrado de
las entradas para aumentar la sensibilidad, activación o des-
activación de los botones Zx como pulsadores, y activación y
desactivación de la ayuda automática).
Transferir los programas de forma bidireccional.

84
RELÉ PROGRAMABLE ZELIO DE SCHNEIDER ELECTRIC Y LOGO DE SIEMENS

Visualizar los elementos necesarios para la introducción de un


esquema de mando.

En el frontal del relé se encuentran 6 teclas de función, de uso intuitivo, que


permiten la gestión de menús, la entrada de valores, la edición de los esque-
mas de contactos necesarios para la programación y el empleo como simula-
ció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 uti-
lidad ZelioSoft.

Lenguajes de programación
Dispone de una programación sencilla, que se puede realizar mediante los
dos lenguajes siguientes:

Lenguaje LADDER, que consiste en un esquema muy similar


al esquema de lógica eléctrica cableada (de hecho, este tipo
de lenguaje en microcontroladores surgió históricamente para
facilitar a los usuarios, acostumbrados a manejarse con la
lógica cableada, el manejo de estos productos emergentes y,
por tanto, novedosos).
Lenguaje FBD (Function Block Diagram; es decir, Diagrama
de Bloques Funcionales).

Ambos lenguajes de programación (además del diagrama eléctrico cablea-


do), se han estudiado detalladamente en la presente unidad, por lo que no cabe
duda de que su comprensión por parte del alumno será muy rápida y natural.

La programación del microcontrolador se puede realizar por dos medios:

Independientemente, empleando las teclas en el relé progra-


mable en lenguaje de contactos (LADDER), o
En el ordenador, empleando el software ZelioSoft. Si escoge-
mos esta última opción, la programación se puede realizar en
LADDER o en FBD (diagrama de bloques de funciones).

Cada línea de programa se compone de cinco posiciones para contactos


como máximo, y de una última posición para la bobina (obligatoria). En caso
de que sean necesarios más contactos, se pueden emplear relés auxiliares
para memorizar el estado.

En el lenguaje LADDER del microautómata Zelio se pueden emplear como


contactos los elementos siguientes:

Entradas digitales (todo/nada), TON.


Salidas digitales (todo/nada), TON.
Las teclas del frontal del relé programables empleadas como
pulsadores digitales.

85
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

Relés auxiliares.
Bloques funcionales.

Asimismo, en el lenguaje LADDER del microautómata Zelio se pueden


emplear como salidas TON:

Bobinas.
Bobinas set-reset.
Bobinas de telerruptor.

La programación del relé Zelio permite el empleo de los siguientes bloques


de función:

Reloj.
Contador.
Temporizador.
Bloque función analógico.
Relé auxiliar.

Conexionado del relé programable Zelio

Un relé programable Zelio genérico presenta en su frontal los siguientes ele-


mentos (versión alimentada a 24 V de corriente continua):

Siendo cada uno de ellos:


2 3 4 5
1 1. Pestañas de fijación retráctiles.
2. Bloque terminal de alimentación.
3. Pantalla LCD de 4 líneas y 18 caracteres por
línea.
4. Bloque terminal de entradas digitales.
5. Bloque terminal de entradas analógicas de 0
a 10 voltios, utilizables en entradas digitales
6
según el modelo.
6. Alojamiento de la memoria de copia de
seguridad o cable de conexión para PC.
7
7. Tecla Mayús (blanca).
10 8
8. Tecla Menú/Aceptar (verde), de selección y
validación.
9. Bloque terminal de salida para relé.
10. Teclas de navegación (grises), configurables
9 1 como botones pulsadores Z.

86
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 Fusible 1
L
corriente alterna y con entradas y salidas digi-
100 ... 240 Vca
tales, preparado para realizar el encendido de 50 / 60 Hz S1 S2
una lámpara desde dos sitios distintos, es el N
que se representa en la figura al margen.

En donde se puede observar la distribu-


ción de la fase y el neutro de la alimentación
monofásica a los diferentes bloques del relé
programable:
Fusible 2
1. La fase se lleva a la entrada de alimen-
tación al relé (borne L), cable negro o
marrón.
2. La fase se alimenta, también, a través
de los pulsadores S1 y S2 al bloque de Salidas
Q1 ... Q4: Relay 8A
entradas digitales del relé, en las entra-
das I1 e I2 (bornes eléctricos del mismo
nombre), cable negro o marrón. Obser-
va cómo en los ejemplos desarrollados
L1
a lo largo de la unidad la nomenclatura
que hemos utilizado es coherente con
la que nos aparece ahora en el elemen-
to real de programación.
3. La fase se alimenta también al bloque de salidas, en concreto mediante
la salida Q1 (borne 1), que cuando se cierre por programa comunicará la
tensión a la lámpara L1 (por el borne 2 de Q1).
4. El neutro se distribuye al neutro de la alimentación al relé (borne N), cable
azul.

El relé programable Zelio que lleve marcada una alimentación 100/240 Vca,
se deberá alimentar desde una línea de corriente alterna con una tensión de
entre 85 y 264 V. 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.

Las entradas digitales del autómata trabajan con una intensidad de corrien-
te nominal de 11 mA y una tensión nominal de entre 100 y 240 Vca.

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 conec-


tar a una tensión de entre 24 y 250 V. Con una tensión en la
salida de 230 Vca, la intensidad de corriente puede variar entre
0,9 y 15 A. El borne 1 de la salida se conectará a la línea de ali-
mentación. El borne 2 se conectará a la entrada de la bobina
del contactor comandado (borne A1 del contactor).

87
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. Con una tensión en
la salida de 24 Vcc, la intensidad de corriente puede variar entre
0,9 y 13 A. El borne 1 de la salida se conectará al positivo de la
alimentación. El borne 2 se conectará a la entrada de la bobina
del contactor comandado (borne A1 del contactor).

Ejercicios resueltos

Vamos a realizar como ejercicios de aplicación la programación en el len-


guaje del microcontrolador Zelio Logic de algunos de los circuitos de ejemplo
que se han expuesto a lo largo de la presente unidad didáctica.

Ejercicio resuelto. REALIZACIÓN DE LAS FUNCIONES


LÓGICAS BÁSICAS EN ZELIO
Realizar en el lenguaje LADDER de Zelio Logic la programación de las fun-
ciones lógicas básicas de la página 89.

SOLUCIÓN:

FUNCIÓN “NOT” MEDIANTE RELÉ INTERMEDIO

Expresiones lógicas de la función:

Diagrama eléctrico Diagrama lógico


Tabla de verdad Ecuación lógica
cableado de bloques

S=a

88
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, con


el que es posible comprobar el funcionamiento del mismo. Observa cómo al
estar abierto el pulsador (entrada I1), la tensión no llega al relé intermedio (M1).
Como el contacto m1 del relé intermedio es normalmente cerrado, la tensión sí
llega a la salida Q1 y ésta se encuentra activada. Fíjate cómo las líneas y ele-
mentos que no tienen tensión el programa las presenta coloreadas en azul y
las que sí tienen tensión las presenta coloreados en rojo.
Para activar este modo de simulación, en la pantalla del ZelioSoft se ha de
pulsar el botón de modo de simulación (arriba a la derecha, marcado con una
S) y posteriormente el botón de “Run”, debajo del primero.

89
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

Si accionamos el pulsador I1, observaremos cómo la situación es ahora la


contraria, comprobando el correcto funcionamiento del mismo.

En adelante puedes realizar tú mismo la comprobación del funcionamiento


de los circuitos programados mediante la simulación que te permite el progra-
ma Zelio Logic.

FUNCIÓN “OR” O SUMA LÓGICA

Expresiones lógicas de la función:

Diagrama eléctrico Diagrama lógico


Tabla de verdad Ecuación lógica
cableado de bloques

S=a+b

Solución en lenguaje LADDER de Zelio Logic:

90
RELÉ PROGRAMABLE ZELIO DE SCHNEIDER ELECTRIC Y LOGO DE SIEMENS

FUNCIÓN “AND” O PRODUCTO LÓGICO

Expresiones lógicas de la función:

Diagrama eléctrico Diagrama lógico


Tabla de verdad Ecuación lógica
cableado 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:

Diagrama eléctrico Diagrama lógico


Tabla de verdad Ecuación lógica
cableado de bloques

S=a+b

Solución en lenguaje LADDER de Zelio Logic:

92
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:

Diagrama eléctrico Diagrama lógico


Tabla de verdad Ecuación lógica
cableado de bloques

S=a↔b

Solución en lenguaje LADDER de Zelio Logic:

93
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

Ejercicio resuelto. 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.

SOLUCIÓN:
El diagrama eléctrico cableado que resolvía el problema era:

Por tanto, la solución en lenguaje LADDER de Zelio Logic es:

94
RELÉ PROGRAMABLE ZELIO DE SCHNEIDER ELECTRIC Y LOGO DE SIEMENS

Ejercicio resuelto. TALADRADO CON FIJACIÓN DE PIEZA


EN CICLO CONTINUO
Programar en lenguaje LADDER de Zelio Logic el circuito que resuelve el pro-
blema visto anteriormente (página 39) de TALADRADO CON FIJACIÓN DE PIEZA
EN CICLO CONTINUO.

SOLUCIÓN:
El diagrama eléctrico cableado que resuelve el problema es:

Por tanto, la solución en lenguaje LADDER de Zelio Logic es:

95
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

Puedes comprobar ahora fácilmente el funcionamiento del circuito simplifi-


cado 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 funcionamien-
to, que se repite a continuación:

A la hora de realizar la simulación para comprobar el funcionamiento,


recuerda los siguientes puntos:

1. 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á. De
igual forma sucede para C2.
2. 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. De igual forma sucede para C2.
3. El valor lógico Fc3 = 0 significa que el final de carrera no se encuentra
accionado; es decir, la pieza que detecta (en nuestro caso el extremo del
vástago) no está posicionada justamente debajo del final de carrera. Por
ello, si Fc3 = 0, todos los contactos normalmente abiertos con el nom-
bre 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 = 0 (final de carrera sin accionar), con que no
pasa tensión por el contacto, no es así necesariamente! De igual
forma sucede con el resto de finales de carrera.
4. El valor lógico Fc3 = 1 significa que el final de carrera sí se encuentra
accionado; es decir, la pieza que detecta (el extremo del vástago), sí está
posicionada justamente debajo del final de carrera. Por ello, si Fc3 = 1,
todos los contactos normalmente abiertos con el nombre Fc3 se encon-
trarán cerrados y todos los contactos normalmente abiertos con el nom-
bre Fc3 se encontrarán abiertos. ¡Cuidado con no confundir el esta-
do lógico Fc3 = 1 (final de carrera accionado), con que sí pasa
tensión por el contacto, no es así necesariamente! De igual forma
sucede con el resto de finales de carrera.

Al activar el modo de simulación de ZelioSoft, debes reflejar primeramente


el estado de los finales de carrera en sus contactos y observar cómo las sali-

96
RELÉ PROGRAMABLE ZELIO DE SCHNEIDER ELECTRIC Y LOGO DE SIEMENS

das obedecen al estado que les corresponde según la tabla de verdad. 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. ACCIONAMIENTO DE PRENSA


CON UNA SOLA PULSACIÓN
Programar en lenguaje LADDER de Zelio Logic el circuito que resuelve el pro-
blema visto anteriormente (página 54) de ACCIONAMIENTO DE PRENSA CON
UNA SOLA PULSACIÓN.

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
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

Cuyo funcionamiento puedes comprobar también fácilmente con la tabla de


verdad del problema. Ten en cuenta que dado que éste es un problema
secuencial, ya no tienes que forzar la variable interna X (representada en el pro-
grama por la marca interna M1), porque cambiará sola (es salida a la vez que
entrada).

Relé programable Logo de Siemens

Características principales

Siemens viene comercializando su relé pro-


gramable Logo (módulo lógico universal, según
la propia denominación de la marca) desde el
año 1996.

El relé programable Logo lleva integrados el


control, la unidad de manejo e indicación, la
fuente de alimentación, la interfaz para módulos
de ampliación, la interfaz para módulo de progra-
mación (card) y cable para PC, una serie de fun-
ciones básicas muy utilizadas que van prepro-
gramadas (conexión retardada, desconexión
retardada, relés de corriente e interruptor de soft-
ware), temporizador, marcas digitales y analógi-
cas, y entradas y salidas en función del modelo.

Las funciones básicas del microcontrolador incluyen el cambio del estado


de funcionamiento del microcontrolador, la transferencia de programas desde
el módulo al PC y viceversa, el ajuste del reloj interno y la edición o borrado del
programa introducido en el mismo.

En el frontal del relé programable existen seis teclas de función. Mediante


estas teclas es posible desplazarse por los menús, introducir valores en el pro-
grama e introducir y modificar el programa en diagrama lógico de bloques.

El relé programable dispone de una pantalla de cristal líquido en la que se


visualiza el menú de programación, los parámetros y el programa introducido.
Cuando el autómata se encuentra en estado de funcionamiento, se visualizará
el estado de las entradas y salidas.

En el frontal del microcontrolador existe una interfaz de conexión median-


te cable con un PC para la transferencia en los dos sentidos del programa a
ejecutar. El ordenador debe estar provisto del software LogoSoft. Se puede
conectar también en esta interfaz un módulo de programa o una tarjeta de
memoria.

98
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. 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. Se puede transferir, tam-
bién, desde una tarjeta de memoria o desde un PC.

Los bloques funcionales transforman informaciones de entrada en informa-


ciones de salida, en base a las reglas del álgebra de Boole.

El relé programable Logo dispone de los siguientes bloques funcionales


básicos:

Funciones AND y AND con activación por flanco.


Funciones NAND y NAND con activación por flanco.
Función OR.
Función NOR.
Función XOR (OR exclusiva).
Función NOT.

A los que se añaden los siguientes bloques de funciones especiales:

Temporizador a la conexión.
Temporizador a la desconexión.
Temporizador a la conexión-desconexión.
Temporizador a la conexión memorizable.
Relé de parada automática.
Relé de impulsos.
Relé disipador.
Relé disipador con activación por flancos.
Temporizadores semanal y anual.
Contador progresivo y regresivo.
Contador de horas de servicio.
Emisor de cadencias simétrico.
Generador de impulsos asíncrono.
Generador aleatorio.
Discriminador para frecuencias.
Discriminador analógico.
Comparador analógico.
Interruptor de alumbrado para escalera.
Pulsador de confort.

99
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.
240 Vca/Vcc.
24 Vcc.
24 Vca.
12 Vcc.

Alimentación
La alimentación de los modelos de corriente continua se conectará como
sigue:
L+
M

El fusible será de 0,8 A para 12/24 V y modelos RC, y de 2,0 A para 24 V del
resto de modelos.

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 ten-
sión de servicio como mínimo de un 20% superior a la tensión nominal.

Entradas
Las entradas en los modelos de corriente continua se conectarán:

100
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.

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. Entre bloques distintos se puede cambiar la fase que se
conecta a las entradas.

Salidas
Si el relé programable Logo dispone de la letra R en su designación de tipo,
es un modelo con salidas de relé, con lo que sus contactos están libres de
potencial con respecto a la tensión de alimentación y a las entradas. Hay que
conectar la fase (o el positivo en caso de corriente continua) a los bornes mar-
cados con un “2”, y los bornes marcados con un “1” se conectarán a la alimen-
tación de tensión de los receptores (borne A1 si se trata de relés o contacto-
res). El otro borne del receptor (borne A2 si se trata de relés o contactores), se
conectará al neutro (o a la masa si se trata de corriente continua).

L1/L+ DM8...R

Last Last
N/M

Si el relé programable Logo no dispone de la letra R en su designación de


tipo, se tratará de un modelo con salidas de tipo transistor. Estas salidas están

101
CONCEPTOS BÁSICOS DE PROGRAMACIÓN CON MICROCONTROLADORES

a prueba de cortocircuitos y de sobrecargas. En este caso los dos bornes de


salida de cada salida del relé programable (Q1 y M), se conectarán directa-
mente a los dos bornes de alimentación del receptor, dado que las salidas del
relé, en el caso de salida por transistores, no actúan como un contacto libre de
tensión, sino que suministran por sí mismas la tensión necesaria para alimen-
tar al receptor. Es decir, como se representa en la figura siguiente:

DM8 24

Carga Carga

102
RESUMEN

El relé programable Zelio, de Schneider de alimentación bien de 24 Vcc o bien de


Electric, está diseñado para el control de hasta 230 Vca. Pueden disponer
pequeños sistemas automatizados. Su solamente de entradas y salidas digitales
empleo está muy extendido tanto en el o bien también de entradas analógicas.
sector industrial como en el sector
servicios. En el microautómata Zelio se pueden
emplear como contactos las entradas
En el área de servicios-domótica son digitales, las salidas digitales, las teclas
aplicaciones típicas del relé Zelio la del frontal de relé programable, los relés
automatización de barreras, cortinas auxiliares y los bloques funcionales.
eléctricas, controles de acceso; la
automatización de sistemas de riego, Se pueden emplear como salidas las
bombeo, invernaderos; la automatización bobinas, las bobinas set-reset y las
de instalaciones de iluminación interiores y bobinas de telerruptor.
exteriores; la automatización de
compresores y sistemas de aire La programación del microcontrolador
acondicionado, etc. Zelio permite el empleo de los bloques
de función reloj, contador, temporizador,
El relé programable Zelio dispone de 6 bloque de función analógico y relé
teclas de función en su frontal con las que auxiliar.
se pueden gestionar los menús, introducir
parámetros, editar los esquemas de En el relé Zelio de 230 Vca, la fase de los
contactos necesarios para la 230 V se debe llevar al borne L de la
programación y emplearlos para simular alimentación del relé, a las entradas
pulsadores en los esquemas de mando. digitales mediante los contactos libres de
tensión de los elementos que queramos
Se puede programar según dos lenguajes
conectar a las mismas, y a los bornes
distintos: el lenguaje LADDER, o diagrama
marcados con un “1” de los bornes de
de contactos (muy parecido al esquema
salida que vayamos a conectar.
eléctrico cableado), y el lenguaje FBD
(Function Block Diagram), prácticamente Asimismo, el neutro de la alimentación lo
idéntico al diagrama lógico de bloques llevaremos a la alimentación del relé y a
estudiado en la unidad. uno de los bornes de los receptores que
El relé se puede programar tanto mediante vayamos a conectar a la salida del relé (en
las teclas de función de su frontal (sin el borne A2 si se trata de bobinas de relés
necesidad de ningún accesorio adicional), o de contactores).
o bien mediante un PC conectado a él que
Los bornes marcados con un “2” de las
disponga de la herramienta ZelioSoft, en
salidas del autómata se llevarán al otro
cuyo caso se podrá programar no sólo en
borne de los receptores que vayamos a
LADDER, sino también en FBD.
conectar a la salida del relé (en el borne
Existen diferentes modelos de relé A1 si se trata de bobinas de relés o de
programable Zelio, que admiten tensiones contactores).

103
Ejercicios de autocomprobación
Rodea con un círculo la V si cada una de las siguientes afirmaciones es verdadera, o la F si es falsa.

31. Los microcontroladores o relés programables están diseñados para el control de pequeños
sistemas automatizados. V F

32. Los relés programables sustituyen convenientemente a los sistemas de lógica eléctrica cable-
ada, proporcionando ahorros en el diseño e instalación de los sistemas, así como mayor fle-
xibilidad a la hora de realizar cambios en el mismo. V F

33. Con las teclas de función del frontal del relé Zelio se puede actualizar la fecha y la hora del
reloj interno, borrar el esquema contenido en el relé programable, visualizar los parámetros de
los bloques de función, pero no se puede introducir el esquema de mando, operación que se
realizará mediante un PC. V F

34. El relé programable Zelio admite como lenguajes de programación el lenguaje LADDER, el len-
guaje FBD y la programación mediante tablas de verdad. V F

35. Zelio lleva incorporados bloques de función tales como reloj, contador, temporizador, bloques
de función analógicos y relés auxiliares. V F

36. Los relés programables Zelio pueden alimentarse únicamente a una tensión de corriente con-
tinua de 24 V. V F

37. Existen modelos de Zelio que admiten entradas analógicas, útiles para incorporar información
de parámetros que varíen en un rango continuo. V F

38. 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

39. Si queremos disponer de un biestable tipo RS durante la programación del Zelio, 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

40. El relé programable Zelio puede alimentar mediante sus salidas a contactores que funcionen
tanto en corriente continua como en corriente alterna. V F

Compara tus respuestas con las que te indicamos al final de la unidad. Si has cometido
errores, repasa la parte correspondiente del tema antes de proseguir tu estudio.

104
Soluciones a los ejercicios de autocomprobación

1. Verdadero. 12. Verdadero.


2. Falso. (El estado lógico 0 ó 1 asociado a un pul- 13. Verdadero.
sador depende de si está no pulsado o pulsado,
respectivamente, pero esto es diferente de si 14. Verdadero.
conduce la corriente o no. Para que conduzca la 15. Falso. (En los sistemas combinacionales las
corriente, su contacto auxiliar necesitará ser nor- variables de salida dependen únicamente de las
malmente abierto si su estado lógico es 1, pulsa- variables de entrada en cada momento.)
do, o normalmente cerrado si su estado lógico es
0, no pulsado.) 16. Falso. (Sí es posible. De hecho, es el tipo de pro-
blemas más adecuados para su resolución por
3. Verdadero.
este método.)
4. Verdadero.
17. Falso. (La salida de la célula básica de memoria
5. Falso. (Sí es posible representar las funciones depende no solamente del valor de la entrada,
lógicas expresadas mediante ecuaciones lógicas sino del valor que tenía la propia salida anterior-
como esquemas eléctricos cableados, son dos mente, con lo cual, por definición, constituye un
formas equivalentes de expresión de funciones sistema secuencial.)
lógicas.)
18. Falso. (Las posiciones que queden libres en la
6. Falso. (De hecho, las formas canónicas de expre- tabla de Karnaugh, que marcaremos con el sím-
sar la ecuación algebraica a partir de las tablas bolo “X”, se podrán incluir a discreción en los
de verdad proporcionan las formas menos sim- grupos que vayas realizando para agrupar los
plificadas de la función lógica. Para simplificarlas unos con objeto de obtener los grupos más gran-
habrá que trabajar con la ecuación a base de des posibles y, por tanto, la mayor simplificación.)
aplicar las reglas del álgebra de Boole o aplicar
procedimientos de simplificación como las tablas 19. Verdadero.
de Karnaugh o equivalentes.)
20. Verdadero.
7. Verdadero.
21. Falso. (Es un método perfectamente válido para
8. Falso. (Se deben ordenar según el código refleja- los sistemas secuenciales; de hecho, su metodo-
do de Gray, dado que así las casillas adyacentes logía de trabajo muy estructurada, lo hace idóneo
en horizontal y vertical son también contiguas; es para la resolución de estos sistemas complejos.)
decir, de una a otra solamente cambia el valor de
una variable.) 22. Verdadero.

9. Falso. (No es posible, dado que seis no es poten- 23. Faso. (El objetivo del método GRAFCET no es
cia de dos; es decir, no es igual al número dos obtener soluciones lo más reducidas posibles,
elevado a ningún número entero y positivo.) puesto que no incluye procedimientos de simpli-
ficación. Su objetivo consiste en estructurar la
10. Verdadero. resolución del problema para llegar a una solu-
11. Falso. (Todo lo contrario. De hecho, para funcio- ción válida independientemente de que sea más
nes lógicas de más de 5 variables el método de o menos simplificada.)
las tablas de Karnaugh se hace prácticamente
24. Verdadero.
inabordable manualmente, habría que acudir a
procedimientos de simplificación por ordenador.) 25. Verdadero.

105
26. Falso. (No es necesario, se puede conseguir 31. Verdadero.
mediante marcas que se activan en el primer
32. Verdadero.
ciclo; por ejemplo, con Logo, o mediante estruc-
turas de control con contactos cerrados prove- 33. Falso. (Con las teclas de función del frontal del
nientes de los bloques RS del resto de las eta- relé Zelio sí se puede introducir el esquema de
pas.) mando, no es imprescindible hacerlo con el PC,
aunque también se puede.)
27. Verdadero.
28. Falso. (La TABLA DE ASIGNACIÓN DE VARIA- 34. Falso. (No admite la programación mediante
BLES no constituye el GRAFCET de segundo tablas de verdad.)
nivel. Lo constituye la “descripción técnica y ope- 35. Verdadero.
rativa”, también llamado “GRAFCET con senso-
res y accionamientos”. La tabla de asignación de 36. Falso. (También se pueden alimentar a una ten-
variables se emplea al trasladar la estructura del sión alterna de 230 V.)
GRAFCET al lenguaje concreto del autómata que 37. Verdadero.
se empleará.)
38. Verdadero.
29. Falso. (La activación de una etapa en GRAFCET
viene determinada por la activación de un bloque 39. Falso. (El biestable tipo RS es un bloque funcio-
funcional en el microcontrolador de tipo BIESTA- nal que ya viene definido en el lenguaje LADDER
BLE RS.) del Zelio, no es necesario programarlo.)

30. Verdadero. 40. Verdadero.

106
ÍNDICE
CONCEPTOS BÁSICOS DE PROGRAMACIÓN.
LÓGICA BÁSICA
Variable binaria y álgebra de Boole de aplicación al instalador.
Sistema de numeración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Sistemas de numeración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Funciones lógicas. Simplificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Funciones lógicas básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Funciones lógicas generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Obtención de la función lógica para una aplicación concreta. Resolución de
problemas de automatización. Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Simplificación de las funciones lógicas. Ejercicios resueltos . . . . . . . . . . . . . . . . . . . 28

Sistemas combinacionales y secuenciales básicos. Ejercicios resueltos 37

PROGRAMACIÓN CON GRAFCET.


EJERCICIOS RESUELTOS
Primer nivel: GRAFCET funcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Segundo nivel: descripción tecnológica y operativa (GRAFCET con sensores
y accionamientos) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Tercer nivel: diseño del sistema de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

RELÉ PROGRAMABLE ZELIO DE SCHNEIDER ELECTRIC


Y LOGO DE SIEMENS
Relé programable Zelio de Schneider Electric . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Características principales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Lenguajes de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Conexionado del relé programable Zelio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Relé programable Logo de Siemens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98


Características principales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Lenguajes de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Conexionado del relé programable Logo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Soluciones a los ejercicios de autocomprobación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

107

También podría gustarte