Conversions REAL_TO / LREAL_TO

Définition

Opérateur IEC servant à convertir une variable de type REAL ou LREAL en un autre type.

La valeur est arrondie au nombre entier supérieur ou inférieur le plus proche, et convertie dans le nouveau type de variable.

Les types de variable suivants font exception à cette règle :

oSTRING

oBOOL

oREAL

oLREAL

Résultats de la conversion

Prenons le cas de la conversion d'une valeur de type REAL ou LREAL en SINT, USINT, INT, UINT, DINT, UDINT, LINT ou ULINT. Si le nombre réel converti est en dehors de la plage de valeurs de cet entier, le résultat est indéfini et peut entraîner une exception au niveau du contrôleur.

NOTE : vérifiez d'éventuels dépassements de plage par l'application et assurez-vous que la valeur REAL ou LREAL respecte les limites de l'entier cible avant d'effectuer la conversion.

Lors d'une conversion en type STRING, gardez à l'esprit que le nombre total de chiffres ne doit pas dépasser 16. Si le nombre (L)REAL dépasse cette limite, le 16e chiffre est arrondi. Si la définition de la valeur STRING est trop courte, le résultat est tronqué à droite.

Exemple en langage ST

Exemples en langage ST avec résultats de conversion :

Exemple

Résultat

i := REAL_TO_INT(1.5);

2

j := REAL_TO_INT(1.4);

1

i := REAL_TO_INT(-1.5);

–2

j := REAL_TO_INT(-1.4);

–1

Exemple en langage IL

LD                2.75
REAL_TO_INT
ST                i

Exemple en langage FBD

G-SE-0024442.1.gif-high.gif