Logique combinatoire par liens
Introduction
| |||
---|---|---|---|
Nom | Logique combinatoire | ||
Famille | IPX800 V5 | ||
Wiki créé le | 22/10/2023 | ||
Wiki mis à jour le | 22/10/2023 | ||
Auteur | @fgtoul |
Le moteur de scénario de l'ipx800 V5 permet de créer des combinaisons logiques grâce aux opérateurs ET, OU, NOT.
Nous pouvons tout à fait créer ce même type de condition complexe en utilisant des liens seulement.
L’astuce consiste à transformer une valeur logique en valeur analogique (avec les Presets) afin de faire des opérations mathématiques qui remplaceront les opérateurs ET / OU.
Nous utiliserons des variables dans la formule des objets de type "Fonction".
Pour plus d'informations sur cet usage, veuillez vous reporter à cet article : Utilisation des variables
Opérateur ET
L’opérateur ET sera toujours remplacé par une multiplication dans la formule d’un objet fonction.
Dans l’exemple ci-dessous, lorsque les 2 conditions sont vraies, l’objet fonction retourne un résultat = 1, ce qui permet de lancer l’action au travers du comparateur.
Opérateur OU
L’opérateur OU est toujours remplacé par une addition.
Dans l’exemple précédent, si nous avions voulu une combinaison par OU, nous aurions utilisé l’addition dans la formule de l’objet fonction, le comparateur serait alors A >=1
En effet, si une des 2 conditions est vraie, le résultat de l’addition est égal à 1. Il serait égal à 2 si les 2 conditions étaient vraies.
Combinaisons ET / OU
Le fait d’utiliser la multiplication pour ET et l’addition pour OU dans les formules permet de créer des combinaisons complexes mêlant ET et OU.
Exemple avec 3 conditions A, B , C.
Nous souhaitons exécuter une action lorsque A ET B OU C est vrai :
Exemple avec 4 conditions A, B, C, D
Nous souhaitons exécuter une action lorsque (A ET B) OU (C ET D) est vrai.
Opérateur NOT
Pour créer une condition logique avec un capteur NF par exemple, il existe la Tuile NON dans le Rule Engine. Nous allons voir comment faire dans notre logique.
Pour ce tutoriel, reprenons l’exemple 1 avec A ET B. Nous voulons exécuter une action lorsque NON A ET B est vrai.
Il suffit alors d’inverser les valeurs renseignées dans le Preset correspondant.