0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MELSEC iQ-R のラベルメモリについて調べる

Last updated at Posted at 2025-04-16

MELSEC iQ-R シリーズでは、GX Works3 を使ったラベルベースのプログラミングが可能です。これにより、従来のデバイス番号ではなく、変数(ラベル)を使ってプログラムを記述することができます。

このラベルが実際にどのような内部構造を持ち、どのようにメモリへ割り当てられているのかを、本記事では掘り下げて解説していきます。

ラベルメモリとは?

GX Works3で使用されるラベルは、内部では「ラベルメモリ」と呼ばれる特別なメモリ領域にマッピングされます。

参考動画(公式)

三菱電機公式のYouTubeチャンネルでもラベル機能の解説がありますので、あわせて視聴することをおすすめします。

🔗 GX Works3 ラベルプログラミング講座(YouTube)

ラベルメモリの正体とは?

ラベルは、実際には以下のような専用のデバイスに割り当てられています。

記号 意味 用途
GV Global Variable グローバルラベルに割り当て
UV Unit Variable ユニットラベルに割り当て
LV Local Variable ローカルラベルに割り当て
LLV Local Latch Variable ラッチ付きローカルラベル(VAR_RETAIN)
LLP Local Label Pointer ポインタ型のローカルラベル
GLP Global Label Pointer ポインタ型のグローバルラベル

これらの情報は「GX Works3 オペレーティングマニュアル(SH-081214)」に記載されています。

このエリアを直接モニタする方法はありません。

ラベルメモリのバックアップ方法

ラベルの割付け情報を確認・保存するには、以下の手順で行います。

  1. GX Works3 の「CPUメモリ操作」画面を開く
  2. 「CPU内蔵メモリ」を選択
  3. 「デバイス/ラベルメモリ」を選択
  4. 「ラベルメモリの読み出し/書き込み」を選択
    image.png
  5. バックアップ処理を実行
    image.png

実行後、指定したフォルダにBackupDataというフォルダが作成されラベルのバックアップファイルが保存されます。

LabelChg_before.csv というファイルに、ラベルごとの割り当てメモリアドレスが記載されており、内部的なラベルとデバイスの対応関係が把握できます。
GV,LV,LLVについてはこの方法で確認できます。

stGLBL3[0].AAA00	GV:7800.0	BOOL	1	60	0
stGLBL3[0].AAA01	GV:7800.1	BOOL	1	60	0
stGLBL3[0].AAA02	GV:7800.2	BOOL	1	60	0
stGLBL3[0].AAA03	GV:7800.3	BOOL	1	60	0

MAIN/ProgPou/stLLBL1[0].AAA00	LV:0.0	BOOL	1	10	0
MAIN/ProgPou/stLLBL1[0].AAA01	LV:0.1	BOOL	1	10	0
MAIN/ProgPou/stLLBL1[0].AAA02	LV:0.2	BOOL	1	10	0
MAIN/ProgPou/stLLBL1[0].AAA03	LV:0.3	BOOL	1	10	0

MAIN/ProgPou/stLLBL2[0].AAA00	LLV:0.0	BOOL	1	12	0
MAIN/ProgPou/stLLBL2[0].AAA01	LLV:0.1	BOOL	1	12	0
MAIN/ProgPou/stLLBL2[0].AAA02	LLV:0.2	BOOL	1	12	0
MAIN/ProgPou/stLLBL2[0].AAA03	LLV:0.3	BOOL	1	12	0

UVについてはユニットラベルの割付を確認するとシステムで割り付けられているアドレスを見ることができます。

image.png

ただこのUVから始まるラベルが何に使えるかはマニュアルに記載がない気が…?
このようにコメントで説明はありますが。
image.png

GLP,LLPについてはgx3のプロジェクトファイルを解凍し、中のLabelDataをSQLiteブラウザで読み出すことで、確認することはできます。

lp01,gp01がラベル名でLLP2,GLP0が割付されたデバイス
image.png

image.png

デバイス/ラベルメモリエリア設定

R00CPUの場合です。デバイス/ラベルメモリは仕様で252Kバイト(126Word)が上限となります。
これを各それぞれのデバイスで分け合うことになります。

image.png

デバイスエリアは下記の設定で点数が設定できます、MELSEC-Qと同じですね。
image.png

ラベルエリアは下記の設定で点数が設定できます。
ラベルエリア=GV,LV
ラッチラベルエリア=GV(VAR_RETAIN指定時),LLV の事です。

image.png
現状このラベルの使用率はコンパイル正常完了時に見ることができます。
image.png

ファイル格納エリアを使用するファイルレジスタは下記の設定で点数が設定できます。
64Kワード領域があるので、最大64Kワードまで設定可能です。

image.png

MELSEC iQ-Fの場合

MELSEC iQ-Fのデバイス/ラベルメモリエリア設定です。
MELSEC iQ-Fは容量が少ないためこのような機能になっているようです。

image.png
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?