Operaciones Lógicas de Palabra
Binario y Selección
Manipule los datos en el corazón de los registros. Desde el enmascaramiento binario bit a bit hasta el multiplexado complejo, optimice el procesamiento de sus palabras de datos.
¿Qué son las operaciones lógicas de palabra en TIA Portal?
Las operaciones lógicas de palabra permiten realizar cálculos booleanos sobre todos los bits de una palabra (Word, DWord, LWord). Son esenciales para el enmascaramiento de bits, la comparación de patrones binarios o la gestión simplificada de señales agrupadas.
Esta sección también incluye potentes funciones de selección como SEL y MUX, que permiten elegir dinámicamente un valor entre varios según una condición o un índice, así como herramientas de codificación (ENCO) y decodificación (DECO) para la gestión de estados.
Lógica Bit a Bit
Procesamiento booleano en Word y DWord
AND / OR / XOR — Operaciones binarias
ANDQué hace
Realiza una operación lógica (AND, OR, XOR) en cada bit correspondiente entre dos o más entradas. El resultado se proporciona en una palabra del mismo tamaño.
Cuándo usarlo
Enmascarar bits específicos (AND con una máscara), combinar alarmas o detectar cambios de estado bit a bit.
Consejos Pro
AND es perfecto para 'apagar' bits, OR para 'encenderlos'.
XOR es ideal para comparar dos palabras e identificar qué bits difieren.
Puede añadir entradas adicionales al bloque haciendo clic en el icono amarillo.
INVERT — Complemento a uno
INVQué hace
Invierte el estado de cada bit en la palabra de entrada (0 pasa a 1, 1 pasa a 0).
Cuándo usarlo
Invertir un grupo de señales de sensores o preparar cálculos binarios específicos.
Consejos Pro
Equivalente al operador NOT en programación clásica pero aplicado a toda la palabra.
Muy útil para comunicaciones con equipos de terceros que tienen lógica invertida.
Tenga cuidado de no confundirlo con el complemento a dos (NEG).
Selección y Multiplexado
Enrutamiento dinámico de valores
SEL — Selección binaria
SELQué hace
Selecciona una de las dos entradas (IN0 o IN1) en función del estado de una entrada binaria G (G=0 -> IN0, G=1 -> IN1).
Cuándo usarlo
Elegir entre una consigna manual y una automática, o alternar entre dos umbrales de temperatura.
Consejos Pro
Equivalente gráfico del operador ternario (condición ? a : b).
Más compacto que un bloque IF o dos redes de transferencia condicional.
Funciona con casi todos los tipos de datos (Int, Real, Time...).
MUX / DEMUX — Multiplexores
MUXQué hacen
MUX selecciona una entrada entre N según un índice K. DEMUX enruta una entrada hacia una de las N salidas según el índice K.
Cuándo usarlo
Gestión de recetas (selección por índice), visualización dinámica en HMI o enrutamiento de datos a diferentes estaciones de trabajo.
Consejos Pro
El índice K comienza en 0. Si K=0, se selecciona IN0.
Use la entrada ELSE del MUX para definir un valor por defecto si el índice está fuera de límites.
DEMUX es muy potente para distribuir una medida a diferentes registros de historial.
Codificación y Decodificación
Conversión entre índice y posición de bit
DECO — Decodificación
DECOQué hace
Activa el bit cuyo número corresponde al valor de entrada. Todos los demás bits de la palabra de salida se ponen a 0.
Cuándo usarlo
Convertir un número de etapa en una señal binaria para pilotar una salida específica.
Consejos Pro
Si la entrada es 3, el bit 3 (el 4º) de la palabra de salida será 1.
Permite pasar fácilmente de un entero a una máscara de bits.
Ideal para pilotar columnas luminosas o indicadores de estado.
ENCO — Codificación
ENCOQué hace
Devuelve el número del bit menos significativo (LSB) que está en estado 1 en la palabra de entrada.
Cuándo usarlo
Identificar qué fallo apareció en una palabra de alarmas para mostrar el mensaje correspondiente.
Consejos Pro
Si la palabra de entrada contiene 2#0000_1000, ENCO devuelve 3.
Operación inversa de DECO.
Muy útil para transformar señales de sensores de posición discretos en un valor numérico.
Procesamiento de Palabra vs Bit individual
¿Por qué trabajar en la palabra completa?
| Escenario | Enfoque Word Logic | Ventaja |
|---|---|---|
| Forzar 8 salidas a 0 | MOVE 0 -> Word | 1 red vs 8 contactos |
| Enmascarar un byte | AND 16#00FF | Precisión quirúrgica |
| Invertir 16 señales | INVERT | Rapidez de ejecución |
| Elegir 1 valor / 10 | MUX | Máxima legibilidad |
| Enrutar una medida | DEMUX | Lógica flexible |
| Prioridad de alarma | ENCO | Diagnóstico instantáneo |
Preguntas Frecuentes
¿Cuál es la diferencia entre MUX y una tabla (Array)?
MUX es una instrucción cableada para pocos valores (usualmente < 10). Para cientos de valores, use un Array con indexación dinámica [i] en SCL.
¿Se puede hacer un AND en tipos REAL?
No, las operaciones lógicas bit a bit (AND, OR, XOR) solo están permitidas en tipos binarios (Byte, Word, DWord, LWord).
¿Cómo funciona el índice del DEMUX?
La entrada K define a qué salida se copia el valor IN. Si K=2, IN se copia a OUT2. Todas las demás salidas mantienen su valor previo o 0 según la configuración.
¿INVERT cambia el signo de un número?
No, INVERT voltea bits. Para cambiar el signo (complemento a dos), use la instrucción NEG (Matemáticas) o multiplique por -1.