― 間接指定を安全・確実に扱うための基本命令 ―
三菱PLCのラダープログラムを作成していると、デバイス番号を可変にしたい場面に遭遇することがあります。
たとえば「D100~D199のデータを順番に処理したい」「装置番号に応じて使用するデータ領域を切り替えたい」といったケースです。
このような場合に使用されるのが、GX Works2に用意されている ADRSET命令 です。
ADRSET命令は、三菱PLCにおける 間接指定処理の基礎となる重要な命令 であり、大規模プログラムでは欠かせない存在です。
本記事では、ADRSET命令の概要から使い方、注意点までを分かりやすく解説します。
ADRSET命令の概要
ADRSET(Address Set)命令は、間接指定で使用する基準アドレスを設定する命令です。
三菱PLCでは、ZレジスタやVレジスタを使用することで、
デバイス番号を変数のように扱う「間接指定」が可能となっています。
ADRSET命令は、その間接指定において、
- どのデバイスを基準アドレスとするのか
をPLCに指示する役割を持っています。
単純に言えば、
「このレジスタは、どのデバイスを基準に参照するのかを決める命令」
がADRSET命令です。
ADRSET命令の実用的な使用例
データテーブルD10000~D10999があった場合
通常の命令では、以下のようにデバイス番号は固定されています。
ですがD10001以降に書き込みたい場合、そのたびにMOV命令を記述しなければいけません。

一方、ADRSET命令を使用すると、次のような記述になります。
このようにするとD12の値を可変するだけでD10000~D10999に書き込み可能になります。
現在はD12の内容は0になっているので@D100はD10000を指定しています。

ここで重要なのは、
- D10には「D10000というデバイスのアドレス」が格納されている
- 基準となるデバイスはADRSET命令で設定される
- ADRSET命令でセットしたデバイスに書き込む場合は、@を使用する。
という点です。
ADRSET命令で基準アドレスを設定していない場合、
想定していないデバイスを参照してしまう可能性があり、
不具合やデータ破壊の原因となります。
実用的な使用例
装置・ステーション番号の切り替え
多ステーション装置や多軸装置では、
- ステーション1:D100~
- ステーション2:D200~
といったデータ構成を採用するケースが多く見られます。
ADRSET命令で基準アドレスを切り替えることで、
同じラダープログラムを使い回すことができ、
保守性や拡張性、可読性の向上につながります。
ADRSET命令使用時の注意点
有効範囲に注意する
ADRSET命令は、一度設定すれば常に有効というわけではありません。
プログラムの流れによっては、別のADRSET命令によって上書きされる場合があります。
そのため、使用する直前でADRSET命令を記述することが、安全で確実なプログラム作成のポイントです。
またADRSET命令で書き込んだアドレスにはダブルワードで格納されるので、
アドレスを可変する場合にはダブルワードとして処理しなければなりません。
モニタ時に分かりにくい点に注意する
間接指定は、ラダー上だけでは実際の参照先が分かりにくいという特徴があります。
GX Works2のデバイスモニタを活用し、
今どのアドレスを指定しているか?を見える化したり、しっかりとデバッグすることが大切です。
まとめ
ADRSET命令は、小規模なプログラムでは使用頻度が低いかもしれません。
しかし、多品種対応やデータ配列処理など、
実用的な制御を行ううえでは欠かせない命令です。
ADRSET命令を正しく理解し活用することで、
PLCプログラムの再利用性や拡張性は大きく向上します。
GX Works2を使いこなすためにも、
ぜひ早い段階で習得しておきたい命令の一つと言えるでしょう。

コメント