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) ( | 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.
![]() | 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. |