共有メモリにデータを保持する
一部の製品には、コントローラー内のアプリケーションからの保持データの自動接続が含まれていません(一般的に有効なストレージオプションがないため)。ただし、ランタイムシステムには、共有メモリ(SHM)を介した接続による既存のメカニズムがあり、それぞれの構成でこの目的に使用できます。
たとえば、次のように使用できます。 CODESYS Control SL製品:
CODESYS Control for Linux
CODESYS Control for Linux ARM
CODESYS Control for Linux ARM64
CODESYS Control for Raspberry Pi
CODESYS Control for BeagleBone
バージョンノート:の最小バージョン CODESYS Control SL製品はV4.4.0.0(CODESYS Control バージョン3.5.17.30)
基本的に、「保持」は、SHMを介して次の設定で有効になります。 /etc/CODESYSControl_User.cfg
ターゲットデバイス上:
[CmpApp] RetainType.Applications=InSHM
[CmpRetain] Retain.SHM.Size=0x1FFFF ; Total size of remanent memory in bytes Retain.SHM.Name=MyRetainMemory ; Optional (Default: "RetainMemory")
再起動後、ランタイム システムは設定された名前で共有メモリ ファイルを作成します。 /dev/shm
.このファイルをマッピングすることにより、たとえば次のコマンドを使用して、メモリを任意の不揮発性ファイルにリダイレクトできます。
sudo touch /dev/shm/MyRetainMemory sudo mount -o bind /var/opt/MyRetainMemory /dev/shm/MyRetainMemory
重要
PLCアプリケーションで設定されたサイクルタイムに従って、ファイルに周期的にアクセスします。したがって、SHMファイルをフラッシュベースのファイルシステム内のファイルにリダイレクトしないでください。リダイレクトしないと、メモリが破壊されるリスクがあります。