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