Différent
Le contenu de l’accumulateur est comparé à l’opérande défini dans la zone d’opérande. Si les deux valeurs sont différentes, TRUE est sauvegardé dans l’accumulateur sinon c’est FALSE.
Entrée
1e entrée : valeur à comparer
2e entrée : valeur de référence
Sortie
Résultat, TRUE si la valeur à comparer est différente de la valeur de référence, sinon c’est FALSE.
Les entrées peuvent être de tout type de données ; toutes les variables d’entrée doivent cependant être du même type de données. La sortie doit être du type de données BOOL.
Cette fonction peut être étendue à un maximum de 28 contacts d’entrée, voir également "Modifier des éléments".
Si plusieurs entrées sont utilisées, la première entrée est comparée avec la deuxième, la deuxième entrée est comparée avec la troisième, etc. Si la première valeur est différente de la deuxième valeur ET la deuxième valeur est différente de la troisième valeur, etc, TRUE est écrit dans le résultat, sinon c’est FALSE.
Toutes les variables d’entrée et de sortie utilisées pour programmer cette fonction ont été déclarées dans l’en-tête du POU. Le même en-tête de POU est utilisé pour tous les langages de programmation.
VAR
enable: BOOL:=FALSE;
comparison_value: INT:=0;
reference_value: INT:=0;
result: BOOL:=FALSE;
END_VAR
Dans cet exemple, les variables d’entrée comparison_value, reference_value et enable ont été déclarées. Vous pouvez aussi entrer des constantes directement dans la fonction (l’entrée enable, par exemple pour des tests).
Si enable est TRUE, la variable comparison_value est comparée à la variable reference_value. Si les deux valeurs sont différentes, TRUE est écrit dans result, sinon c’est FALSE.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_VARIN,,comparison_value,7,2,9,4,);
B(B_VARIN,,reference_value,7,3,9,5,);
B(B_VAROUT,,result,15,2,17,4,);
B(B_CONTACT,,enable,3,1,5,3,);
B(B_F,E_NE!,Instance,9,0,15,5,,?DEN?D?D?AENO?C);
L(1,0,1,5);
L(1,2,3,2);
L(5,2,9,2);
END_NETWORK_BODY
END_NET_WORK
END_BODY