で変数を保持 CODESYS コントロール SL
デフォルト動作
保持変数のデフォルト動作 CODESYS Control SL 製品では、コントローラーのシャットダウン時に Retain 変数をファイルとして書き込みます。
停電が発生した場合でもリテイン変数を安全に保存できるようにするには、ランタイムシステムの制御されたシャットダウンを保証する必要があります。たとえば、無停電電源装置 (UPS) を使用してください
さらに、retain変数は、アプリケーションを介してアクティブに書き込んだり読み込んだりできます。
pApp : POINTER TO CmpApp.APPLICATION;
result : DINT;
pApp := CmpApp.AppFindApplicationByName('Application', ADR(result));
//Store values of retain and persistent variables to file
CmpApp.AppStoreRetainsInFile(pApp, '/your/retain/file.ret');
//Get values of retain and persistent variables from file
CmpApp.AppRestoreRetainsFromFile(pApp, '/your/retain/file.ret');変数を共有メモリに保持
あるいは、retain変数を共有メモリに周期的に書き込むメカニズムを有効にすることもできます。詳しくは、以下を参照してください。 共有メモリにデータを保持する
CmpRetainDoubleBufferedInFile
RetainDoubleBufferedInFile リテン変数を記述するために使用できるもう 1 つのメカニズムです。このメカニズムを有効にすると、リテン変数と永続変数がドライブに周期的に書き込まれます。この場合、2 つの異なるファイルに書き込む処理が交互に行われます
基本的に、 RetainDoubleBufferedInFile SHM 経由で次の設定により有効になります。 /etc/CODESYSControl_User.cfg ターゲットデバイス上。このファイルでは、 [ComponentManager] セクション、エントリを置換 Component.X=CmpRetain と Component.X=CmpRetainDoubleBufferedInFile。
[ComponentManager] Component.7=CmpRetainDoubleBufferedInFile
保持変数の詳細については、以下を参照してください。 データ永続性