Égal
Le contenu de l’accumulateur est comparé à l’opérande défini dans la zone d’opérande. Si les deux valeurs sont égales, 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 égale à la valeur de référence.
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 égale à la deuxième valeur ET la deuxième valeur est égale à 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 valeurs des deux variables sont identiques, la valeur TRUE est écrite dans le résultat, sinon 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_F,E_EQ-2!,Instance,9,0,15,5,,?DEN?D?D?AENO?C);
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,);
L(1,0,1,5);
L(1,2,3,2);
L(5,2,9,2);
END_NETWORK_BODY
END_NET_WORK
END_BODY