> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/spanish/function-blocks/blocks-reference/data-logic/logic/equals.md).

# Equals

Esta función compara valores numéricos y produce un resultado booleano que indica si todos los números proporcionados son iguales. Es ideal para verificaciones de coincidencia exacta, comparaciones con puntos de consigna (setpoints) y decisiones simples basadas en igualdad dentro de tu flujo visual.

## 📥 Entradas <a href="#inputs" id="inputs"></a>

`Number` Esta entrada numérica (socket) acepta uno de los valores a comparar.\
`Number` Esta entrada numérica (socket) acepta otro valor a comparar.\
Nota: Puedes proporcionar dos o más entradas numéricas añadiendo sockets numéricos adicionales en la interfaz del bloque.

## 📤 Salidas <a href="#outputs" id="outputs"></a>

`Boolean` Esta salida (socket) es TRUE cuando todas las entradas numéricas conectadas son iguales; de lo contrario, FALSE.

## 🕹️ Controles <a href="#controls" id="controls"></a>

`Add / Remove Input Sockets` Usa la UI del bloque para añadir o eliminar entradas numéricas cuando necesites comparar más de dos valores.\
No hay deslizadores de parámetros ni menús desplegables adicionales para este bloque: su comportamiento depende únicamente de las entradas numéricas conectadas.

## ⚙️ Mecanismo de ejecución <a href="#running-mechanism" id="running-mechanism"></a>

Cuando el bloque se ejecuta, comprueba si cada entrada numérica tiene el mismo valor. Si todos los valores coinciden exactamente, el bloque emite TRUE en el socket `Boolean`. Si algún valor difiere, emite FALSE. El bloque evalúa cada vez que las entradas conectadas se actualizan.

## ✨ Características <a href="#features" id="features"></a>

* Comprobación de igualdad exacta entre múltiples entradas numéricas.
* Número flexible de entradas — añade más sockets numéricos a través de la UI para comparar más valores.
* Lógica simple y de baja latencia, adecuada para detección de setpoints y puertas de igualdad.

## 📝 Ejemplos de uso <a href="#usage" id="usage"></a>

* Compara la lectura de un sensor con un punto de consigna fijo proporcionado por un `Number Input` para activar acciones cuando coincidan.
* Compara múltiples contadores o valores de estado discretos para confirmar que todos los sistemas informan el mismo estado.
* Combínalo con lógica de retención (latching) para mantener una condición una vez alcanzada la igualdad (ver Consejos y Trucos).

Ejemplos en lenguaje sencillo:

* Entradas: 5, 5, 5 → Salida: TRUE
* Entradas: 5, 5, 4 → Salida: FALSE

## 💡 Consejos y trucos <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Para valores introducidos por humanos o valores en coma flotante, la igualdad exacta puede ser frágil debido al redondeo. Para comparar con una tolerancia, usa `Absolute` y `Smaller`: calcula la diferencia absoluta entre valores y comprueba si es menor que un número de tolerancia.
* Usa `Number Input` para proporcionar valores de referencia o setpoints que faciliten las pruebas.
* Combina múltiples comprobaciones de igualdad con `And` u `Or` para construir condiciones lógicas más complejas.
* Usa `All True` para verificar una lista de resultados booleanos (por ejemplo, varios bloques `Equals` alimentando a ese bloque).
* Si quieres mantener un resultado TRUE hasta que se restablezca, empareja el bloque con `Set - Reset` o `Data Memory` para implementar un comportamiento de latch.
* Usa `Logic Input` como activador manual para habilitar o deshabilitar comparaciones durante pruebas o mantenimiento.

Bloques sugeridos para combinar con `Equals`:\
`Number Input`, `Logic Input`, `And`, `Or`, `Not`, `Greater`, `Smaller`, `Absolute`, `Round`, `All True`, `Set - Reset`, `Data Memory`, `Scope`.

## 🛠️ Solución de problemas <a href="#troubleshooting" id="troubleshooting"></a>

* Resultados FALSE inesperados con números en coma flotante: intenta redondear los valores con `Round` o realiza una comparación basada en tolerancia usando `Absolute` + `Smaller`.
* Entrada faltante: asegúrate de que cada socket numérico que pretendes comparar esté conectado o poblado con un `Number Input`; un valor sin conectar puede invalidar la comparación.
* Múltiples entradas se comportan de forma inesperada: verifica que todas las entradas conectadas representen el mismo tipo/escala numérica (por ejemplo, todas en las mismas unidades).
