Skip to main content

演算子:XSIZEOF

演算子は、IEC61131-3規格の拡張です。

XSIZEOF operator は、渡された変数またはデータ型に必要なバイト数を決定します。

その際、常に符号なしの値が返されます。戻り値のデータ型 <return value> は次のように固定されています。 ULINT 64 ビット プラットフォームおよびタイプ UDINT 他のすべてのプラットフォームで。すべてのプラットフォームで実行されるコードを生成するには、戻り値を次のように宣言します。 __UXINT データ・タイプ。

構文:

<return value> := XSIZEOF( <variable> );
112. STでの例
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);

結果:

uxiReturnValue = 10



ヒント

型の変数への代入の場合 __UXINTを使用することをお勧めします。 XSIZEOF 演算子の代わりに SIZEOF オペレーター。これは XSIZEOF 戻り値のデータ型はプラットフォームによって異なります。その結果、SIZEOF 演算子を使用する際の問題は発生しません。