Skip to main content

変数:RETAIN

保持変数はキーワードによって宣言されます RETAIN スコープ内のプログラミングオブジェクトに追加されます VARVAR_INPUTVAR_OUTPUTVAR_IN_OUTVAR_STAT、 また VAR_GLOBAL

宣言の構文

<scope> RETAIN
    <identifier>: <data type> ( := <initialization> )? // ( ... )? : Optional
END_VAR
<scope> : VAR | VAR_INPUT | VAR_OUTPUT | VAR_IN_OUT | VAR_STAT | VAR_GLOBAL

入力、出力、またはメモリアドレスの割り当て AT キーワードは許可されていません。

97.

POUで

VAR RETAIN
        iVarRetain: INT;
END_VAR

GVLで

VAR_GLOBAL RETAIN
        g_iVarRetain: INT;
END_VAR


可能な宣言場所

プログラムでローカルに

変数のみがメモリ保持領域にあります。

注記

冗長性を使用する場合、すべてのデータを含むプログラム全体がメモリ保持領域に配置されます。

グローバル変数リストでグローバルに

変数のみがメモリ保持領域にあります。

注記

冗長性を使用する場合、すべてのデータを含むグローバル変数リスト全体がメモリ保持領域に配置されます。

ファンクションブロックでローカルに

すべてのデータを含む機能ブロックのインスタンス全体が、メモリ保持領域に配置されます。宣言された保持変数のみが保護されます。

関数内でローカルに

変数はメモリ保持領域にありません。この宣言は効果がありません。

関数内でローカルかつ永続的に

変数はメモリ保持領域にありません。この宣言は効果がありません。

ヒント

可能な限り、使用を避けてください RETAIN 機能ブロックの変数をマークします。