Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ InTouch HMI

Affichage des nombres en virgule flottante par Historian HMI

Affichage des nombres en virgule flottante par Historian HMI

  • Last UpdatedSep 24, 2024
  • 2 minute read

Historian HMI utilise le format IEEE de 32 bits en virgule flottante pour afficher des nombres réels dans une application. Le format IEEE des nombres en virgule flottante format est une approximation des nombres réels. À moins que le nombre réel ne soit une puissance paire de deux, il ne peut être représenté exactement à l'aide du format à virgule flottante 32 bits de l'IEEE. La précision du standard IEEE pour les nombres de 32 bits en virgule flottante est environ de huit positions décimales.

Quand vous affichez un nombre réel dans une application Historian, assurez-vous qu'il ne contient pas plus de huit décimales. Les mises en forme suivantes de nombres en virgule flottante correspondent à des nombres réels acceptés par une application Historian :

#

#,###

#.##

0#

###.##

#.#######

###.#####

######.##

ABCDEF

###.####

Tout nombre en virgule flottante avec plus de huit décimales est arrondi.

Si le nombre décimal n'est pas au format du texte, il est affiché comme un réel avec décimales dans le format et la précision configurées dans les propriétés de format avancées de WindowViewer.

Remarque : avec un signe « # » à gauche des décimales, ou en l’absence de décimales, le nombre de chiffres affichés n’est pas limité.

Exemple 1

Une application Historian devrait afficher le nombre réel 2,3. Mais le nombre 2,3 n'est pas une puissance de deux exacte et, au delà de 8 décimales, il ne peut pas être représenté avec exactitude dans le standard IEEE de nombres de 32 bits en virgule flottante.

Pour s'assurer que la valeur 2,3 est affichée par l'application avec les caractères ASCII « 2,3 », le nombre ne doit pas avoir plus de huit décimales. Si le nombre de décimales est supérieur à huit, le résultat peut être renvoyé comme 2,29999999 ou 2,30000001.

Exemple 2.

Quand deux valeurs de variables réelles sont comparées, la différence des deux doit être supérieure à FLT_EPSILON (valeur 1,19209290E-07F, en décimal 0,0000001192092896). Cependant, si le nombre compte plus de 8 chiffres, la valeur résultante peut être incorrecte. Pour corriger ceci, il faut multiplier la valeur par 1000 ou par un multiple de 10 plus grand. Ce faisant, la valeur devient plus grande que 1e-7. Puis, après avoir réalisé les opérations de comparaisons requises, il faut diviser par 1000 ou par le multiplicateur utilisé.

In This Topic