変数:RETAIN
保持変数はキーワードによって宣言されます RETAIN スコープ内のプログラミングオブジェクトに追加されます VAR、 VAR_INPUT、 VAR_OUTPUT、 VAR_IN_OUT、 VAR_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 キーワードは許可されていません。
例 98. 例
POUで
VAR RETAIN
        iVarRetain: INT;
END_VARGVLで
VAR_GLOBAL RETAIN
        g_iVarRetain: INT;
END_VAR可能な宣言場所
| プログラムでローカルに | 変数のみがメモリ保持領域にあります。 注記冗長性を使用する場合、すべてのデータを含むプログラム全体がメモリ保持領域に配置されます。 | 
| グローバル変数リストでグローバルに | 変数のみがメモリ保持領域にあります。 注記冗長性を使用する場合、すべてのデータを含むグローバル変数リスト全体がメモリ保持領域に配置されます。 | 
| ファンクションブロックでローカルに | すべてのデータを含む機能ブロックのインスタンス全体が、メモリ保持領域に配置されます。宣言された保持変数のみが保護されます。 | 
| 関数内でローカルに | 変数はメモリ保持領域にありません。この宣言は効果がありません。 | 
| 関数内でローカルかつ永続的に | 変数はメモリ保持領域にありません。この宣言は効果がありません。 | 
ヒント
可能な限り、使用を避けてください RETAIN 機能ブロックの変数をマークします。