# ERR

Une cellule qui affiche #ERR, habituellement dû à un paramètre d’entrée incorrect, ne peut exécuter sa fonction correctement. Une condition d’erreur peut avoir plusieurs origines, notamment après un fonctionnement normal de l’application de vision et suite à des erreurs de logique de la feuille de calcul. Vous trouverez ci-dessous une liste non exhaustive des sources d’erreur les plus courantes.

1. Erreurs mathématiques de base : Cellule A4 = A3/A2. Si la valeur de la cellule A2 est nulle, la fonction de la cellule A4 génère automatiquement une erreur de division par zéro.
2. Erreurs graphiques de région : La région sort de l’image. Si vous utilisez un outil PatternMatch pour repérer un objet de l’image, puis les données de résultat pour repérer l’emplacement d’autres outils de vision, il est alors possible de déplacer la région d’un outil de vision sur un emplacement où elle dépasse les limites de l’image. Le cas échéant, l’outil de vision indique #ERR plutôt que de renvoyer une structure de résultats valide de l’outil de vision.
3. Échec des fonctions « Get » : L’outil de vision ne génère pas de résultats si vous utilisez une fonction GetX avec un outil DetectBlobs : en effet, l’outil DetectBlobs peut ne pas parvenir à repérer le nombre d’objets blob attendu. Le cas échéant, la fonction GetX indique #ERR si l’objet blob recherché ne se trouve pas dans l’image.

## Résolution des cellules dans l’état #ERR

La plupart des conditions #ERR renvoient une chaîne d’erreur. Pour voir si une chaîne d’erreur est obtenue, passez la souris sur la cellule contenant « #ERR ». Par ailleurs, si un point d’exclamation rouge apparaît dans la Feuille de propriétés, passez la souris sur la cellule pour afficher la chaîne d’erreur. Les chaînes d’erreur peuvent être renvoyées par programme, à l’aide de la fonction GetErrorString. Chaque chaîne d’erreur est associée à un code de diagnostic, qui est renvoyé par la fonction GetErrorCode.

## Comment écraser les erreurs pour bloquer leur propagation ?

Choisissez une cellule pour calculer la somme des surfaces des objets blob multiples détectés par un outil DetectBlobs. Vous utilisez la fonction GetArea pour récupérer la surface des objets blob individuels de la structure Objets blob. Si un blob est introuvable, cela entraîne l’échec de la fonction GetArea, même si votre application n’indique aucune erreur de scénario.

Cellule | Fonction | Description
A1 | DetectBlobs([Paramètres]) | Détecte les objets blob et renvoie une structure Objets blob
B1 | GetArea(A1,0) | Renvoie la surface d’un blob 0
B2 | GetArea(A1,1) | Renvoie la surface d’un blob 1
B3 | GetArea(A1,2) | Renvoie la surface d’un blob 2
B4 | Sum(B1:B3) | Calcule la somme de la surface des objets blob
Si l’outil ExtractBlobs est incapable de repérer trois objets blob, la formule Sum(B1:B3) indique alors #ERR, puisqu’au moins une des cellules références affiche également #ERR. Pour supprimer cette condition d’erreur, vous pouvez utiliser la fonction ErrFree (Recherche).
B4 | Sum(ErrFree(B1:B3)) | Calcule la somme de la surface des objets blob.

Remarque : Lorsque vous utilisez la fonction ErrFree, les valeurs d’entrée des autres cellules signalant une erreur sont remplacées par une valeur nulle. Dans ce cas, la fonction Sum ajoute une valeur nulle pour chaque cellule #ERR au lieu de signaler une erreur.