> 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/mathmetical-operations/subtract.md).

# Subtract

Este bloque de función realiza la resta entre múltiples entradas numéricas. Es útil cuando necesitas restar varios valores a partir de un valor inicial (por ejemplo: valor inicial menos una lista de offsets).

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

* `Number` (múltiples)\
  Acepta de 2 a 20 entradas numéricas. El primer número conectado se toma como el valor inicial; los números conectados restantes se suman y se restan de ese valor inicial. Las entradas no conectadas se ignoran.

Nota: el número total de entradas `Number` puede cambiarse con los controles del bloque (ver Controls).

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

* `Number`\
  El valor numérico resultante: primer entrada menos la suma de las entradas restantes.

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

* `Input size`\
  Un desplegable que te permite elegir cuántos sockets de entrada numérica proporciona el bloque (valores de 2 hasta 20). Al cambiarlo, los sockets de entrada disponibles se actualizan de inmediato.

## 🎯 Funcionalidades <a href="#features" id="features"></a>

* Recuento dinámico de entradas — ajusta fácilmente cuántos valores quieres proporcionar sin añadir o eliminar bloques por separado.
* Manejo elegante de entradas faltantes — el bloque ignora las entradas no conectadas para que puedas cambiar el cableado sin provocar errores.
* Salida numérica única — resultado sencillo, adecuado para cálculos posteriores, registro o visualización.

## ⚙️ Cómo funciona <a href="#how-it-works" id="how-it-works"></a>

Al ejecutarse, el bloque lee las entradas numéricas conectadas, toma el primer valor conectado como la base, suma todas las demás entradas conectadas y devuelve la diferencia (base menos suma de las otras). Si algunas entradas no están conectadas, se omiten.

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

1. Ajusta el número deseado de entradas usando `Input size`.
2. Conecta fuentes numéricas (entradas manuales, mediciones u otros bloques matemáticos) a los sockets `Number` proporcionados.
3. Usa la salida única `Number` donde necesites la diferencia calculada.

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

* Combínalo con `Number Input` cuando quieras proporcionar valores manuales para pruebas rápidas o demostraciones.
* Usa `Number Range` para proporcionar un par de valores (min/max) como entradas al probar diferencias de umbral.
* Usa `Round` después de este bloque para limitar el número de decimales mostrados o almacenados.
* Usa `Absolute` si necesitas la magnitud de la diferencia sin considerar el signo (por ejemplo, magnitudes de error).
* Si necesitas visualizar cambios a lo largo del tiempo, alimenta el resultado a `Scope` para trazar valores en vivo.
* Si tus valores vienen como listas o lotes, considera emparejar con `Get Element` para extraer elementos específicos para la resta.
* Para canalizaciones aritméticas agregadas, combina con `Add`, `Multiply` o `Divide` antes o después de este bloque para crear fórmulas más complejas.

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

* Signo inesperado en el resultado: verifica qué entrada está conectada al primer socket (éste se usa como valor base).
* Entradas faltantes: si algunas entradas no están conectadas, se omiten — asegúrate de que todos los valores requeridos estén conectados o proporcionados.
* Problemas de precisión: añade un bloque `Round` después de este bloque para formatear el resultado con la precisión decimal deseada.
