Skip to main content

共有メモリにデータを保持する

一部の製品には、コントローラー内のアプリケーションからの保持データの自動接続が含まれていません(一般的に有効なストレージオプションがないため)。ただし、ランタイムシステムには、共有メモリ(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ファイルをフラッシュベースのファイルシステム内のファイルにリダイレクトしないでください。リダイレクトしないと、メモリが破壊されるリスクがあります。