Operator: XSIZEOF
Der Operator ist eine Erweiterung der Norm IEC 61131-3.
Der Operator XSIZEOF
bestimmt die Anzahl an Bytes, die in der übergebenen Variable oder dem übergebenen Datentyp benötigt werden.
Dabei wird immer ein vorzeichenloser Wert zurückgegeben. Der Datentyp des Rückgabewerts <return value>
ist folgendermaßen festgelegt: bei 64-bit-Plattformen ist der Typ ULINT
, auf allen anderen Plattformen UDINT
. Um Code zu erzeugen, der auf allen Plattformen läuft, kann der Rückgabewert mit dem Datentyp __UXINT
deklariert werden.
Syntax:
<return value> := XSIZEOF( <variable> );
PROGRAM PLC_PRG VAR uxiReturnValue : __UXINT; (* Datentyp bei 64-bit-Plattformen: ULINT *) aData_1 : ARRAY[0..4] OF INT; END_VAR
uxiReturnValue := XSIZEOF(aData_1);
Ergebnis:
uxiReturnValue = 10
Tipp
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.