SIZEOF

Der Operator ist eine Erweiterung der Norm IEC 61131-3.

Der Operator dient dazu, die Anzahl Bytes zu bestimmen, die die angegebene Variable x benötigt. Der SIZEOF-Operator liefert immer einen vorzeichenlosen Wert. Der Typ der Rückgabevariablen passt sich der gefundenen Größe von Variable x an.

Syntax:

<return value> := SIZEOF( <variable name> | <date type name> );

Rückgabewert von SIZEOF(x) (<return value>)

Datentyp der Konstanten, die TwinCAT implizit für die gefundene Größe verwendet.

0 <= Größe von x < 256

USINT

256 <= Größe von x < 65536

UINT

65536 <= Größe von x < 4294967296

UDINT

4294967296 <= Größe von x

ULINT

Beispiel:

PROGRAM MAIN
VAR
    aArr1 : ARRAY[0..4] OF INT; 
    nSize : INT;
END_VAR
nSize := SIZEOF(aArr1);

Ergebnis:

nSize = 10.
SIZEOF 1:

Bei der Zuweisung an eine Variable vom Typ __UXINT ist es ratsam, den Operator XSIZEOF anstelle des Operators SIZEOF zu verwenden. Denn bei XSIZEOF hängt der Datentyp des Rückgabewerts von der jeweiligen Plattform ab. Infolgedessen treten Probleme, die bei der Verwendung des Operators SIZEOF auftreten, nicht auf.