演算子:XSIZEOF
演算子は、IEC61131-3規格の拡張です。
の XSIZEOF operator は、渡された変数またはデータ型に必要なバイト数を決定します。
その際、常に符号なしの値が返されます。戻り値のデータ型 <return value> は次のように固定されています。 ULINT 64 ビット プラットフォームおよびタイプ UDINT 他のすべてのプラットフォームで。すべてのプラットフォームで実行されるコードを生成するには、戻り値を次のように宣言します。 __UXINT データ・タイプ。
構文:
<return value> := XSIZEOF( <variable> );
例 113. STでの例
PROGRAM PLC_PRG
VAR
uxiReturnValue : __UXINT; (* Datentyp bei 64-bit-Plattformen: ULINT *)
aData_1 : ARRAY[0..4] OF INT;
END_VARuxiReturnValue := XSIZEOF(aData_1);
結果:
uxiReturnValue = 10
ヒント
型の変数への代入の場合 __UXINTを使用することをお勧めします。 XSIZEOF 演算子の代わりに SIZEOF オペレーター。これは XSIZEOF 戻り値のデータ型はプラットフォームによって異なります。その結果、SIZEOF 演算子を使用する際の問題は発生しません。