概念・使い方・メリットを分かりやすく解説
GX Works2でプログラムを作成していると、「ローカルデバイス」という言葉を目にすることがあります。
MデバイスやDデバイスとは何が違うのか、使うと何が便利なのか、最初は少し分かりづらい概念です。
本記事では、GX Works2におけるローカルデバイスの基本概念から実践的な使い方、注意点までを、分かりやすく解説します。
1. ローカルデバイスとは何か?
ローカルデバイスとは、特定のプログラム(POU)内でのみ有効なデバイスのことです。
通常のMデバイスやDデバイスは、CPU全体で共通に使用されますが、ローカルデバイスは宣言したプログラムの中だけで使用可能という特徴があります。
簡単に言うと、 グローバル変数かグローバル変数かの違いです。
2. なぜローカルデバイスが必要なのか?
GX Works2では、従来MデバイスやDデバイスを多用するプログラムが一般的でした。
しかし、プログラム数が多くなってくると以下のような問題があります。
- どのM/Dを何に使っているのか分かりにくい
- デバイス番号の重複・取り合いが起きやすい
- プログラムの流用やコピーがしにくい
- 保守時に影響範囲が分かりづらい
ローカルデバイスを使うことで、プログラム単位で完結した設計が可能になり、可読性・保守性が大幅に向上します。
3. ローカルデバイスの特徴まとめ
GX Works2のローカルデバイスには、以下のような特徴があります。
- プログラム(POU)ごとに有効範囲が限定される
- 他のプログラムからは参照・書き込みできない
- デバイス番号を意識せずに使える
- 同じ名前でも別プログラムなら問題なし
- 主に「内部処理用」「一時的なフラグ・データ」に向いている
つまり、内部処理を分かりやすく書くための仕組みと言えます。
具体他的な流れとしては以下の順番です。
①グローバルデバイス(X、Yなど)をローカルデバイスに置き換える
②ローカルデバイスで内部処理
③処理結果をグローバルデバイスへ出力する
4. ローカルデバイスの種類
GX Works2では、以下のようなローカルデバイスを使用できます。
- ローカルビット(M,V,T,ST,C)
- ローカルワード(D,Z)
用途としては、
- ステップ制御中の一時フラグ
- 条件判定用の内部信号
- 演算途中の一時データ
といった「外部と直接関係しない処理」に適しています。
5. ローカルデバイスの設定方法
① パラメータを設定
GX Works2のナビゲーションツリーより、[PCパラメータ]を選択し[Qパラメータ設定]画面を開きます。
ローカルデバイス先頭と最終の範囲を設定します。
※範囲を大きくしすぎるとその分メモリ容量を使用するのでバランスを見ながら設定してください。

次にローカルデバイスの保存先を指定します。
[PCファイル設定]より[ローカルデバイス用のファイル]→下記ファイルを使用するにチェックをし
適当にファイル名をつけます。ファイル名はなんでもOKです。

② ローカルデバイスを宣言
GX Works2では設定さえしてしまえば宣言は必要ありません。※GX Works3では先頭に#が必要
宣言が必要ないため、パッと見ではグローバルデバイスかローカルデバイスかの判断がつきません。
そのため私はコメントの色を変えて識別しています。
例:グローバルデバイス→青
:ローカルデバイス →赤

③ プログラム内で使用
通常のデバイスと同様に、ラダーでそのまま使用できます。
6. 使用例(考え方)
例えば、モータの起動条件をまとめる処理がある場合、
- 条件判定 → ローカルフラグON
- ローカルフラグON → 実際のM出力ON
という構成にすると、
- 条件ロジックが見やすい
- 出力処理と内部処理が分離できる
といったメリットがあります。
7. ローカルデバイス使用時の注意点
便利なローカルデバイスですが、注意点もあります。
他プログラムから見えない
ローカルデバイスは完全にプログラム内専用です。
複数プログラムで共有したい信号には向きません。
たとえばプログラムAでローカルデバイス[M10000]がONしていても
プログラムBで[M10000]をモニタするとOFFしています。
CALL先でもCALL元のデバイス扱い
たとえばプログラムB内のデバイスでも、CALLされていたらCALL元のデバイス扱いになることがあります。
以下のようにプログラムAで[M10001]をONしていなくても、CALL先でONしているので[D0]はカウントしています。

使いすぎに注意
何でもローカルにすると、逆に全体の信号の流れが見えにくくなる場合もあります。
ご利用は計画的に!
8. ローカルデバイスとグローバルデバイスの使い分け
おすすめの使い分けは以下です。
| 用途 | デバイス |
|---|---|
| 外部(タッチパネルなど)機器 | グローバルデバイス |
| 他プログラムと共有 | ローカルデバイス |
| 内部処理・一時データ・演算 | ローカルデバイス |
このルールを意識するだけで、プログラムの品質は大きく向上します。
9. まとめ
GX Works2のローカルデバイスは、
- プログラムを見やすくする
- デバイス管理を楽にする
- 保守・改造をしやすくする
- 他プログラムへの流用を容易にする
という大きなメリットがあります。
特に、規模が大きい装置や複数人で保守する設備では効果が絶大です。
最初は慣れが必要ですが、一度使い始めると戻れなくなります。
これからGX Works2で新規作成・改造を行う場合は、ぜひローカルデバイスを積極的に活用してみてください。

コメント