L'instruction EQ effectue une opération qui compare la première entrée et la seconde entrée pour déterminer si celles-ci sont égales pour des types de données Entier, Réel, Temps, Date et Chaîne.
Détails de l'opération :
Le test d'égalité des valeurs de temps n'est pas recommandé pour les blocs d'instruction TON, TP et TOF.
Les données de type Réel ne sont pas recommandées pour les tests d'égalité des valeurs : en effet, les nombres des opérations mathématiques sont arrondis différemment de ceux répertoriés sur l'écran de sortie des variables. Dès lors, deux valeurs de sortie peuvent être indiquées comme égales sur l'affichage, malgré un résultat négatif lors du test de comparaison. Par exemple, en comparant les valeurs 23,500001 et 23,499999, elles s'affichent toutes les deux sous la forme 23,5 sur l'écran de saisie des variables, mais elles ne sont pas égales dans le contrôleur.
Langages pris en charge : Diagramme de bloc de fonctions, diagramme de schéma à relais et texte structuré.
Cette instruction s’applique aux contrôleurs
Micro810
LC10,
Micro820
L20E,
Micro850
L50E et
Micro870
L70E.
EQ
Paramètres EQ
Paramètre
Type de paramètre
Type de données
Description
EN
Entrée
BOOL
Lorsque défini sur vrai, l’instruction est activée.
TRUE : Exécute le calcul actuel.
FALSE : Il n’y a pas de calcul.
S'applique aux programmes de schémas à relais.
i1
Entrée
BOOL
SINT
USINT
BYTE
INT
UINT
WORD
DINT
UDINT
DWORD
LINT
ULINT
LWORD
REAL
LREAL
TIME
DATE
STRING
Toutes les entrées doivent être du même type de données.
L'entrée Temps s'applique aux langages de texte structuré, de schéma à relais et de diagramme de bloc de fonctions.
Le type de données REAL n'est pas recommandé.
i2
Entrée
BOOL
SINT
USINT
BYTE
INT
UINT
WORD
DINT
UDINT
DWORD
LINT
ULINT
LWORD
REAL
LREAL
TIME
DATE
STRING
o1
Sortie
BOOL
VRAI si i1 = i2.
Exemple de comparaison de valeurs Réel avec les opérateurs SUB (-), ABS et LT (<)
Les données de type Réel ne sont pas recommandées pour les tests d'égalité des valeurs en raison des différences d'arrondi des chiffres. Deux valeurs de sortie peuvent être indiquées comme égales sur l'affichage de
FactoryTalk Design Workbench
, et générer un résultat négatif lors du test de comparaison.
Par exemple, en comparant les valeurs 23,500001 et 23,499999, elles s'affichent toutes les deux sous la forme 23,5 sur l'écran de saisie des variables, mais elles ne sont pas égales dans le contrôleur.
Pour vérifier l'égalité de deux valeurs du type de données Réel, vous pouvez utiliser une instruction SUB afin d'obtenir la différence entre ces valeurs, puis déterminer si cette différence est inférieure à une valeur de précision définie. L'exemple de programme LD ci-dessous illustre la comparaison de deux valeurs REAL.
Exemple de comparaison de valeurs Réel avec les opérateurs SUB (-), ABS et LT (<)
Exemples EQ
Exemple de diagramme de bloc de fonctions EQ
Exemple de programme de schéma à relais EQ
(* ST Equivalence: *)
aresult := (10 = 25); (* aresult is FALSE *)
mresult := ('ab' = 'ab'); (* mresult is TRUE *)