Fonction "proche"

Bonjour à la communauté
et merci à tous les contributeurs

Sur IPX V5
je cherche à détecter quand deux valeurs analogique 16 bits sont proches (écart entre les deux valeurs <5). J’ai pensé à calculer la différence et regarder si le résultat est inf à 5. mais il faut calculer la valeur absolue de la différence pour avoir tous les cas quelque soient les valeurs… là je sèche.
avant de monter une usine à gaz, je me demandais si qq1 avait déjà été confronté à ce problème.
Merci d’avance

Calculer dans les 2 sens et utiliser un ou dans une règle de scénario doit fonctionner.

bonjour,

Cela devrait être également possible par liens :

  • créer un comparateur A<B
    lier un preset à sa sortie avec on=(-1) et off=1
  • créer un objet fonction
    ($id_A$ - $id_B$) *$id_preset$

Ensuite il suffit de comparer le résultat à 5

bonne journée

1 « J'aime »

Génial,
merci pour ces 2 pistes, je vais creuser ça…

encore un peu d’aide …
le preset refuse la valeur -1 pour ON, il demande un entier entre 0 et 65535.
je ne trouve pas comment avoir des valeurs signées

mea culpa, je pensais que les valeurs négatives avaient été instaurées sur les presets en même temps que sur les fonctions, d’autant que l’unité REAL est présente . @Kevin_GCE

Dans ce cas, liez une IO avec lien de type NOT à la sortie du comparateur. je l’appelle not_comp.
Dans la fonction, écrivez la formule suivante :
$id_COMP$ * ($id_B$ - $id_A$) + $id_NOT_COMP$ * (id_A$ - $id_B$)
Pour l’explication concernant l’utilisation des variables, c’est par ici :
https://wiki.gce-electronics.com/index.php?title=Utilisation_des_variables

supprimez le preset qui est devenu inutile.

Si l’objet formule est perturbé par un résultat intermédiaire négatif, il faudra en passer par 2 objets fonctions :

Ce sont des solutions parmi d’autres.

C’est noté en demande interne :slight_smile:

1 « J'aime »

Merci @fgtoul pour toutes les infos.
je vais me débrouiller avec tout ça
Formidable cette communauté !

1 « J'aime »