はじめに
本記事では、MELSEC QnUDVCPUのメモリ構成について詳しく解説します。機種により仕様が変わるため、QnUDVCPUを想定して書いています。詳しくはマニュアル参照:[SH-080802 QnUCPUユーザーズマニュアル(機能解説・プログラム基礎編)]
メモリ構成の概要
QnUDVCPUのメモリ構成は以下の通りです:
番号 | 名称 | 種類 |
---|---|---|
- | プログラムキャッシュメモリ | SRAM |
- | デバイスメモリ | SRAM |
ドライブ0 | プログラムメモリ | フラッシュROM |
ドライブ1 | QnUDVCPU使用不可 | |
ドライブ2 | メモリカード(SD) | フラッシュROM |
ドライブ3 | 標準RAM | SRAM |
ドライブ4 | 標準ROM | フラッシュROM |
注意点:
- 番号はFTPアクセス時のドライブ指定で使用します
- ドライブ1はSRAMカード用ですが、QnUDVCPUでは装着できないため使用できません
- 拡張SRAMカセットはドライブ3に含まれます
各メモリの詳細説明
プログラムキャッシュメモリ
ラダープログラム実行用のメモリです。
デバイスメモリ
X0/Y0/M0/D0などのデバイス(ZR除く)を格納するメモリです。
詳しくはこちら:
プログラムメモリ
CPUユニットが演算するために必要なプログラムやパラメータを格納するメモリです。
プログラムキャッシュメモリとの違い
ユニバーサルモデルからはバッテリがなくてもプログラムが消えないようにフラッシュROM化されています。
動作の流れ:
- CPU起動時にプログラムメモリからプログラムキャッシュメモリにラダープログラムが自動転送
- SRAM上で実行(フラッシュROM上では直接実行できないため)
フラッシュROM化により従来の標準ROMからのブート運転機能は廃止され、代わりにSDからのブート運転になりました。
RUN中書き込みの動作
逆にRUN中書き込みを実行すると:
- プログラムキャッシュメモリに書き込み
- その後プログラムメモリに転送
RUN中書き込みを実行すると一瞬表示されるウィンドウは、この動作の進捗状況です。
重要: プログラムメモリに転送しないオプションもありますが、OFFにして使うと再起動で変更内容が消えて変更前に戻るため、おすすめしません。
使用例:検証用で購入したCPUのフラッシュROMの書き換え寿命を節約したい場合など
フラッシュROMの寿命管理
SD682/683を確認すれば書き換え回数がわかります。
寿命の目安: 10万回(超えると"FLASH ROM ERROR"になります)
メモリカード(SD)
QnUDVCPUからATAメモリカードのスロットがなくなり、代わりにSDカードになりました。
主な機能:
- SDからブート運転(SDからプログラムメモリへラダーを転送)
- SDカードにデータロギング
注意点:
- ロギングの設定はGX Works2ではなくCPUユニットロギング設定ツールを使用
- SDカードはメーカー純正か産業用グレードの物を使用することが無難
標準RAM
以下のファイルが格納できます:
- ファイルレジスタ(ZR)
- ローカルデバイスファイル
- サンプリングトレースファイル
- ユニットエラー履歴ファイル
標準ROM
デバイスコメントやユーザデータなどの保管用のメモリです。
用途:
- プログラムメモリがフラッシュメモリ化されたため、容量が大きいのでコメントデータ置き場
- SP.DEVST/S.DEVLDを使ってデバイスメモリのバックアップ/リストア
データ読み出し方法
デバイスメモリ・ファイルレジスタの読み出し
上記の説明から、デバイスメモリ(M,Dなど…)とファイルレジスタ(ZR)のエリアが違うことがわかりますね。
デバイスメモリの読み出し
PLCからデバイスメモリを読み出す時は:
- **[プログラムメモリ/デバイスメモリ]**を選択
- デバイスデータを選択して実行
トラブルシューティング: 全領域がうまく吸い出せないときは[詳細]を押してデフォルトを押すと、読み出し範囲をPCパラメータに合わせて再設定してくれます。
ファイルレジスタの読み出し
PLCからファイルレジスタを読み出す時は:
- **[標準RAM]**を選択
- ファイルレジスタ名を選択して実行
こちらも詳細で読み出し範囲設定ができます。
拡張データレジスタ・拡張リンクレジスタについて
拡張データレジスタ・拡張リンクレジスタの詳細についてはこちらを参照してください:
重要なポイント: 拡張データレジスタ・拡張リンクレジスタの実態はファイルレジスタですが、吸い出すときはデバイスメモリから吸い出します。わかりにくい仕様ですが、そういう仕様になっています。
ファイルレジスタのファイル名をMAINにしたときのバックアップ
ファイルレジスタのファイル名は任意の名前が付けられます。
デバイスメモリを吸い出すとデバイスメモリにMAINというのが現れます。
この状態でファイルレジスタ(名前はMAIN)を読み出すとどうなるでしょうか?
結果: デバイスメモリとファイルレジスタ両方ともMAINに保存されます。
GX Simulator2からのデバイスメモリ吸い出し
制限事項
GX Simulator2へは書込/照合はできますが、読み出しはできません。困った仕様ですね。
解決方法
デバイスメモリのファイルを選択し、図のアイコンを押すとGX Simulator2からデバイスデータを吸い出しができます。
注意点: このやり方はデバイスメモリのファイルがあることが前提です。
問題点: 新規作成で作るとなにも設定されていないので吸い出せません。全部手動で設定する必要があります。