XSIZEOF

Présentation

Cet opérateur arithmétique n'est pas spécifié par la norme IEC 61131-3.

Vous pouvez l'utiliser pour déterminer le nombre d'octets requis par la variable ou le type de données transmis.

L'opérateur XSIZEOF renvoie une valeur non signée.

Le type de données de la valeur renvoyée <return value> est :

  • ULINT sur les plates-formes 64 bits

  • UDINT sur les plates-formes autres que 64 bits

Pour générer du code qui s'exécute sur toutes les plates-formes, la valeur renvoyée peut être déclarée avec le type de données __UXINT.

Syntaxe

<return value> := XSIZEOF( <variable> );

Exemple en langage ST

PROGRAM PLC_PRG
VAR
    uxiReturnValue : __UXINT;  (* data type for 64-bit platforms: ULINT *)
    aData_1 : ARRAY[0..4] OF INT; 
END_VAR
uxiReturnValue := XSIZEOF(aData_1);

Résultat :

uxiReturnValue = 10
NOTE : En cas d'affectation à une variable de type __UXINT, utilisez l'opérateur XSIZEOF au lieu de SIZEOF car avec XSIZEOF, le type de données de la valeur renvoyée dépend de la plate-forme.