ExamRobotic

Lógica booleana

Programa Nivel: Base 10 min de lectura 50 preguntas

En un autómata programable todo acaba siendo un 0 o un 1: un sensor detecta o no detecta, un contactor está activado o no, una puerta está cerrada o abierta. La lógica booleana es la herramienta para combinar esas señales y decidir qué hace la máquina. Parece teoría de pizarra, pero quien la domina escribe programas más cortos, más claros y con menos fallos, y entiende a la primera por qué una máquina no arranca.

Ceros y unos: de qué estamos hablando

Una señal binaria solo tiene dos estados. En automatización los llamamos de muchas formas, pero son lo mismo:

EstadoLógicaEn una entrada de 24 VEn un contacto
0Falso0 V (no llega tensión)Abierto
1Verdadero24 V (llega tensión)Cerrado

En las entradas digitales típicas de 24 V, una tensión por encima de unos 15 V se lee como 1 y por debajo de unos 5 V como 0. Entre medias hay una zona indefinida que nunca debería darse en una instalación sana: si mides una entrada a 9 V, algo va mal (un cable flojo, un sensor dañado o una caída de tensión). Los valores exactos dependen del módulo y vienen en su hoja técnica.

Las tres operaciones básicas

Con solo tres operaciones se puede construir cualquier lógica, por complicada que sea.

AND (Y): todas a la vez

La salida vale 1 solo si todas las entradas valen 1. Se escribe con un punto: S = A · B. Es la operación de las condiciones que deben cumplirse juntas: «el motor arranca si hay orden de marcha y la puerta está cerrada y el térmico está bien».

OR (O): al menos una

La salida vale 1 si alguna de las entradas vale 1. Se escribe con un signo más: S = A + B. Es la operación de las alternativas: «la alarma suena si el nivel es alto o la temperatura es alta».

NOT (NO): lo contrario

Invierte la señal: si entra 1 sale 0, y al revés. Se escribe con una raya encima (A) o con la palabra NOT: S = NOT A. En este sitio usaremos NOT porque se lee mejor.

ABA AND BA OR BNOT A
00001
01011
10010
11110
& ≥1 1 ABS ABS AS ANDORNOT
Símbolos de la norma IEC: «&» es AND, «≥1» es OR («al menos una entrada a 1») y el círculo en la salida indica negación.

Lo mismo, en contactos

En un esquema de contactos (KOP o ladder) la corriente fluye de izquierda a derecha y activa la bobina si encuentra un camino cerrado. Por eso:

ABS ABS S = A · B (serie)S = A + B (paralelo)
Arriba, dos contactos en serie (AND). Abajo, dos contactos en paralelo (OR). Los círculos a la derecha son las bobinas.

Operaciones derivadas: NAND, NOR, XOR y XNOR

Son combinaciones de las básicas, pero aparecen tanto que conviene reconocerlas:

ABNANDNORXORXNOR
001101
011010
101010
110001
En obraLa XOR es la herramienta para detectar discrepancias. Si una máquina tiene dos sensores redundantes que deberían dar siempre la misma señal, una XOR entre ellos (con un pequeño retardo para tolerar que no cambien en el mismo instante) avisa de que uno de los dos está fallando. Y la clásica luz que se enciende y apaga desde dos interruptores, la conmutada, se comporta como una XOR.

La tabla de verdad: todas las combinaciones

Una tabla de verdad recoge qué vale la salida para cada combinación posible de las entradas. Con n entradas hay 2n combinaciones: 2 entradas dan 4 filas, 3 dan 8, 4 dan 16 y 5 dan 32. Por eso, para condiciones con muchas señales, conviene simplificar antes de programar.

Para construirla, se escriben las combinaciones en orden (como contar en binario: 000, 001, 010…) y se calcula la salida fila a fila. Es la forma más segura de comprobar que una ecuación hace exactamente lo que pide el enunciado.

Álgebra de Boole: las reglas que simplifican

Estas reglas permiten reducir expresiones largas a otras más cortas que hacen lo mismo. Las más útiles:

ReglaCon ORCon AND
Elemento neutroA + 0 = AA · 1 = A
Elemento dominanteA + 1 = 1A · 0 = 0
IdempotenciaA + A = AA · A = A
ComplementoA + NOT A = 1A · NOT A = 0
AbsorciónA + A · B = AA · (A + B) = A
DistributivaA + B · C = (A + B) · (A + C)A · (B + C) = A·B + A·C
Doble negaciónNOT (NOT A) = A

Un ejemplo real: S = A · B + A · NOT B. Sacando factor común, S = A · (B + NOT B), y como B + NOT B = 1, queda S = A. La señal B no influye para nada: si alguien la había puesto en el programa, sobraba.

Prioridad de las operacionesIgual que en matemáticas la multiplicación va antes que la suma, en lógica la AND va antes que la OR. A + B · C significa A + (B · C). Si quieres otra cosa, pon paréntesis.

Las leyes de De Morgan

Son las dos reglas que más se usan para negar una expresión:

Dicho en palabras: al negar, cada variable se niega y la AND se convierte en OR (o al revés). El olvido más frecuente es negar las variables y dejar la operación igual.

Su uso práctico es pasar de «cuándo funciona» a «cuándo para». Si una máquina funciona cuando Todo_OK = C1 · C2 · C3, entonces debe parar cuando NOT Todo_OK, que por De Morgan es NOT C1 + NOT C2 + NOT C3: basta con que falle cualquiera de las condiciones.

Del enunciado a la ecuación

Así se traduce un enunciado real. «Una cinta transportadora arranca al pulsar Marcha y sigue funcionando al soltarlo. Se para al pulsar Paro, si salta el relé térmico o si se abre la puerta de protección.»

  1. Condiciones que deben cumplirse juntas (AND): paro sin pulsar, térmico bien y puerta cerrada.
  2. Para arrancar: pulsar Marcha. Para seguir funcionando al soltarlo: la propia salida M se «realimenta».
  3. Resultado: M = (Marcha + M) · Paro_OK · Termico_OK · Puerta_cerrada.

El término (Marcha + M) es el enclavamiento o retención: una vez activada, M se mantiene por sí misma hasta que alguna condición de la AND se pierde. Y como las condiciones de paro están en serie, el paro siempre tiene prioridad: si se pulsan Marcha y Paro a la vez, la cinta no funciona.

MarchaParo_OKTérmico_OKPuerta MM
Enclavamiento de marcha y paro: el contacto de M en paralelo con Marcha mantiene la salida al soltar el pulsador.

El caso que confunde a todos: el paro cableado normalmente cerrado

Los pulsadores de paro se cablean normalmente cerrados (NC). En reposo dejan pasar los 24 V, así que la entrada del PLC vale 1 mientras nadie pulsa. Al pulsar, el contacto se abre y la entrada pasa a 0.

¿Por qué al revés de lo que parecería lógico? Por seguridad: si un cable del paro se corta o se suelta, la entrada cae a 0 y la máquina se para. Si el paro estuviera cableado normalmente abierto, un cable cortado dejaría el paro inutilizado y nadie se daría cuenta hasta el día que hiciera falta. Es el principio de fallo seguro: cuando algo se rompe, la máquina debe ir al estado seguro.

Y aquí viene la confusión: en el programa, ese paro se usa con un contacto normalmente abierto. El contacto del programa no copia el pulsador físico: pregunta por el valor del bit. Con el paro sin pulsar el bit vale 1, el contacto abierto del programa deja pasar y la máquina puede funcionar. Al pulsar, el bit vale 0 y el contacto corta.

Error típico«Como el pulsador es cerrado, pongo un contacto cerrado en el programa». Resultado: con el paro en reposo (bit a 1) el contacto cerrado del programa está abierto y la máquina no arranca nunca. El tipo de contacto del programa depende del valor del bit que quieres comprobar, no de cómo sea el pulsador.
Parada de emergenciaUna seta de emergencia no se resuelve solo con un contacto en el programa de un PLC estándar. La función de seguridad debe hacerse con componentes de seguridad (un relé o un PLC de seguridad) según la evaluación de riesgos de la máquina. El PLC normal puede leer la seta para mostrar mensajes o parar la secuencia de forma ordenada, pero no es quien garantiza la seguridad.

Mapas de Karnaugh en dos minutos

Un mapa de Karnaugh es una tabla de verdad dibujada de forma que las casillas vecinas solo se diferencian en una variable. Por eso las filas y columnas se ordenan 00, 01, 11, 10 (código Gray) y no 00, 01, 10, 11. Al agrupar los 1 que están juntos en bloques de 2, 4 u 8, las variables que cambian dentro del bloque desaparecen y la ecuación sale ya simplificada. Para 3 o 4 variables es más rápido que el álgebra; para más, se usan programas o simplemente se escribe la lógica por pasos con marcas intermedias bien nombradas.

Errores típicos que delatan a quien no domina la lógica

Resumen

Pon a prueba lo que has aprendido

50 preguntas prácticas con su explicación. Sin registro y gratis.

Empezar el test