> 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/french/function-blocks/blocks-reference/data-logic/mathmetical-operations/math-operations.md).

# Math Operations

Ce bloc de fonction effectue des opérations arithmétiques sur un nombre sélectionnable d'entrées numériques. Utilisez-le pour combiner des mesures, calculer des rapports, des totaux, des produits ou des différences dans des flux visuels simples — sans programmation.

## 📥 Entrées <a href="#inputs" id="inputs"></a>

`Number` Une ou plusieurs prises d'entrée numériques. Le bloc commence avec deux entrées numériques par défaut et peut être étendu jusqu'à 20 entrées à l'aide du contrôle ci-dessous.

Remarque : les prises non connectées sont ignorées lors de l'exécution du bloc. Seules les valeurs numériques connectées sont utilisées dans le calcul.

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

`Number` Le résultat numérique de l'opération arithmétique sélectionnée appliquée aux entrées fournies.

## 🕹️ Contrôles <a href="#controls" id="controls"></a>

`Input size` Choisissez le nombre de prises d'entrée numériques disponibles (2–20). Le bloc ajoutera ou supprimera des prises pour correspondre à ce paramètre.

`Select a method` Choisissez la méthode arithmétique à appliquer aux entrées fournies. Méthodes disponibles : ADD, SUBTRACT, MULTIPLY, DIVIDE.

## ⚙️ Mécanisme d'exécution <a href="#running-mechanism" id="running-mechanism"></a>

* Le bloc lit toutes les entrées numériques connectées lorsqu'il s'exécute.
* Il applique la méthode choisie sur ces valeurs :
  * ADD : additionne toutes les entrées.
  * SUBTRACT : soustrait la somme de toutes les entrées suivantes à la première entrée.
  * MULTIPLY : multiplie toutes les entrées entre elles.
  * DIVIDE : effectue des divisions séquentielles en partant de la première entrée par chaque entrée suivante.
* Le résultat unique calculé est présenté sur la sortie.

Ce bloc ignore automatiquement les prises vides/non connectées afin que vous puissiez modifier le nombre d'entrées sans reconfigurer les connexions.

## 🎯 Caractéristiques <a href="#features" id="features"></a>

* Nombre d'entrées extensible (2–20) pour des calculs flexibles.
* Contrôles UI simples pour basculer instantanément la méthode arithmétique.
* Ignore les entrées non connectées pour éviter les erreurs lors du câblage de systèmes dynamiques.
* Conçu pour une assemblage visuel avec d'autres blocs de mesure et de logique.

## 📝 Mode d'emploi <a href="#usage" id="usage"></a>

1. Réglez `Input size` sur le nombre de valeurs que vous souhaitez combiner.
2. Connectez des blocs produisant des nombres (capteurs, compteurs, sorties de mesure, entrées manuelles) aux prises d'entrée numériques.
3. Choisissez l'opération souhaitée avec `Select a method`.
4. Lisez le résultat depuis la sortie `Number` et alimentez-en les blocs en aval (journalisation, seuils ou actionneurs).

## 💡 Conseils et Astuces <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Combinez avec `Number Input` lorsque vous avez besoin d'une valeur manuelle dans le calcul (pour des offsets ou seuils).
* Utilisez avec `Counter` ou `Get Batch Size` pour calculer des moyennes, des taux ou des rapports à partir de valeurs comptées.
* Alimentez des sorties de blocs de mesure comme `Measure Position Distance` ou `Image Resolution and Channel Value` dans ce bloc pour obtenir des métriques dérivées (par ex. distance par pixel, tailles normalisées).
* Après une opération mathématique, utilisez `Round` ou `Absolute` pour formater le résultat avant affichage ou journalisation.
* Pour calculer des valeurs élément-par-élément ou agrégées à partir de listes, associez avec `Get Element` ou des blocs de contrôle de lot pour extraire d’abord des nombres individuels.

## 🛠️ Dépannage <a href="#troubleshooting" id="troubleshooting"></a>

* Si la sortie est inattendue, vérifiez que toutes les entrées requises sont connectées et contiennent des valeurs numériques (utilisez `Number Input` ou des blocs de debug pour vérifier).
* Pour la division, assurez-vous qu'aucune des entrées diviseuses n'est zéro afin d'éviter des résultats invalides.
* Si vous modifiez `Input size` et observez des connexions déplacées, vérifiez les connexions — l'ajout/suppression de prises peut décaler l'ordre des entrées.

Utilisez ce bloc pour garder les calculs simples et visuels lors de la construction de pipelines de mesure ou de décision.
