【三菱Qシリーズ】接点形比較命令の指令方法とラダープログラム例

00_【三菱Qシリーズ】接点比較命令の指令方法とラダープログラム例

三菱電機製シーケンサQシリーズにおける「接点形比較」命令とは、定数やデバイスの値を比較して条件に合致していれば接点がONするラダープログラム命令です。

接点形比較命令を用いることで、データレジスタやファイルレジスタといったワードデバイスの大小を比較して条件分岐したり、特定のデバイス値であるか判断して処理を実行することができます。

この記事では、三菱電機製シーケンサQシリーズにおける接点形比較命令の指令方法ラダープログラム例について解説します。

注意
この記事中のラダープログラムはGX Works2で作成しており、PCタイプはQ03UDEに設定してあります。

三菱電機製シーケンサQシリーズにおいて、接点形比較命令は以下のCPUで使用することが可能です。

Basic:ベーシックモデルQCPU
High performance:ハイパフォーマンスモデルQCPU
Process:プロセスCPU
Redundant:二重化CPU
Universal:ユニバーサルモデルQCPU
LCPU:LCPU

※MELSEC-Lシリーズも含まれていますがご了承ください。

三菱電機製シーケンサFXシリーズにおける接点形比較命令は以下のページで解説しております。※Qシリーズと同様の使い勝手で指令できるため、類似した記事になります。

00_【三菱FXシリーズ】接点形比較命令の指令方法とラダープログラム例 【三菱FXシリーズ】接点形比較命令の指令方法とラダープログラム例

1. 接点形比較命令の指令方法

接点形比較命令には、12種類の指令方法があります。

LD=A = B:AとBが等しい:16ビット実行形
LDD=A = B:AとBが等しい:32ビット実行形
LD>A > B:AがBより大きい:16ビット実行形
LDD>A > B:AがBより大きい:32ビット実行形
LD<A < B:AがBより小さい:16ビット実行形
LDD<A < B:AがBより小さい:32ビット実行形
LD<>A ≠ B:AとBが等しくない:16ビット実行形
LDD<>A ≠ B:AとBが等しくない:32ビット実行形
LD<=A ≦ B:AがB以下:16ビット実行形
LDD<=A ≦ B:AがB以下:32ビット実行形
LD>=A ≧ B:AがB以上:16ビット実行形
LDD>=A ≧ B:AがB以上:32ビット実行形

AとBには比較対象である「ワードデバイス」や「定数」、「桁指定がされたビットデバイス」を指定します。

注意
この記事では比較対象を便宜上A・Bと表現しますが、実際の接点形比較命令は上記のワードデバイス等を指定する必要があります。

LD=:AとBが等しい

AとBが等しいとき(A=B)にONする接点形比較命令は”LD=”と指令します。

こちらがLD=命令のラダープログラム例です。

10_LD=命令

このラダープログラムは、データレジスタD0とD1の値が等しいときに補助リレーM0がONします。

LD=命令は16ビット実行形のため、各データレジスタは1ワード(16ビット)長として扱われます。


32ビット実行形であるLDD=命令の場合、比較対象は2ワード(32ビット)長として扱われます。

10_LDD=命令

このラダープログラムは、データレジスタD0・D1とD2・D3の値が等しいときに補助リレーM0がONします。

メモ
32ビット実行形の場合、命令内の頭文字に”D”と表示されます。


先ほどのラダープログラムはGX Works2の回路上で LD= D0 D1 と入力してEnterキーを押すと命令が挿入されます。(小文字でもOKです。)

10_命令挿入

32ビット実行形の場合、LDD=と入力します。

LD>:AがBより大きい

AがBより大きいとき(A>B)にONする接点形比較命令は”LD>”と指令します。

こちらがLD>命令のラダープログラム例です。

11_LD>命令” class=”wp-image-21110″ srcset=”https://denkisekkeijin.com/wp-content/uploads/2020/06/11_LD>命令-1024×126.png 1024w, https://denkisekkeijin.com/wp-content/uploads/2020/06/11_LD>命令-300×37.png 300w, https://denkisekkeijin.com/wp-content/uploads/2020/06/11_LD>命令-768×94.png 768w, https://denkisekkeijin.com/wp-content/uploads/2020/06/11_LD>命令-1536×188.png 1536w, https://denkisekkeijin.com/wp-content/uploads/2020/06/11_LD>命令-940×115.png 940w, https://denkisekkeijin.com/wp-content/uploads/2020/06/11_LD>命令.png 1550w” sizes=”(max-width: 1024px) 100vw, 1024px”></figure>



<p>このラダープログラムは、データレジスタ<strong><span class=D0がD1より大きいときに補助リレーM0がONします。

LD>命令は16ビット実行形のため、各データレジスタは1ワード(16ビット)長として扱われます。


32ビット実行形であるLDD>命令の場合、比較対象は2ワード(32ビット)長として扱われます。

11_LDD>命令” class=”wp-image-21140″ srcset=”https://denkisekkeijin.com/wp-content/uploads/2020/06/11_LDD>命令-1024×123.png 1024w, https://denkisekkeijin.com/wp-content/uploads/2020/06/11_LDD>命令-300×36.png 300w, https://denkisekkeijin.com/wp-content/uploads/2020/06/11_LDD>命令-768×92.png 768w, https://denkisekkeijin.com/wp-content/uploads/2020/06/11_LDD>命令-1536×185.png 1536w, https://denkisekkeijin.com/wp-content/uploads/2020/06/11_LDD>命令-940×113.png 940w, https://denkisekkeijin.com/wp-content/uploads/2020/06/11_LDD>命令.png 1553w” sizes=”(max-width: 1024px) 100vw, 1024px”></figure>



<p>このラダープログラムは、データレジスタ<strong><span class=D0・D1がD2・D3より大きいときに補助リレーM0がONします。

LD<:AがBより小さい

AがBより小さいとき(A<B)にONする接点形比較命令は”LD<”と指令します。

こちらがLD<命令のラダープログラム例です。

12_LD<命令

このラダープログラムは、データレジスタD0がD1より小さいときに補助リレーM0がONします。

LD<命令は16ビット実行形のため、各データレジスタは1ワード(16ビット)長として扱われます。


32ビット実行形であるLDD<命令の場合、比較対象は2ワード(32ビット)長として扱われます。

12_LDD<命令

このラダープログラムは、データレジスタD0・D1がD2・D3より小さいときに補助リレーM0がONします。

LD<>:AとBが等しくない

AとBが等しくないとき(A≠B)にONする接点形比較命令は”LD<>”と指令します。

こちらがLD<>命令のラダープログラム例です。

13_LD<>命令” class=”wp-image-21112″ srcset=”https://denkisekkeijin.com/wp-content/uploads/2020/06/13_LD<>命令-1024×124.png 1024w, https://denkisekkeijin.com/wp-content/uploads/2020/06/13_LD<>命令-300×36.png 300w, https://denkisekkeijin.com/wp-content/uploads/2020/06/13_LD<>命令-768×93.png 768w, https://denkisekkeijin.com/wp-content/uploads/2020/06/13_LD<>命令-1536×185.png 1536w, https://denkisekkeijin.com/wp-content/uploads/2020/06/13_LD<>命令-940×114.png 940w, https://denkisekkeijin.com/wp-content/uploads/2020/06/13_LD<>命令.png 1557w” sizes=”(max-width: 1024px) 100vw, 1024px”></figure>



<p>このラダープログラムは、データレジスタ<strong><span class=D0とD1の値が等しくないときに補助リレーM0がONします。

LD<>命令は16ビット実行形のため、各データレジスタは1ワード(16ビット)長として扱われます。


32ビット実行形であるLDD<>命令の場合、比較対象は2ワード(32ビット)長として扱われます。

13_LDD<>命令” class=”wp-image-21142″ srcset=”https://denkisekkeijin.com/wp-content/uploads/2020/06/13_LDD<>命令-1024×124.png 1024w, https://denkisekkeijin.com/wp-content/uploads/2020/06/13_LDD<>命令-300×36.png 300w, https://denkisekkeijin.com/wp-content/uploads/2020/06/13_LDD<>命令-768×93.png 768w, https://denkisekkeijin.com/wp-content/uploads/2020/06/13_LDD<>命令-1536×186.png 1536w, https://denkisekkeijin.com/wp-content/uploads/2020/06/13_LDD<>命令-940×114.png 940w, https://denkisekkeijin.com/wp-content/uploads/2020/06/13_LDD<>命令.png 1547w” sizes=”(max-width: 1024px) 100vw, 1024px”></figure>



<p>このラダープログラムは、データレジスタ<strong><span class=D0・D1とD2・D3の値が等しくないときに補助リレーM0がONします。

LD<=:AがB以下

AがB以下のとき(A≦B)にONする接点形比較命令は”LD<=”と指令します。

こちらがLD<=命令のラダープログラム例です。

14_LD<=命令

このラダープログラムは、データレジスタD0がD1以下のときに補助リレーM0がONします。

LD<=命令は16ビット実行形のため、各データレジスタは1ワード(16ビット)長として扱われます。


32ビット実行形であるLDD<=命令の場合、比較対象は2ワード(32ビット)長として扱われます。

14_LDD<=命令

このラダープログラムは、データレジスタD0・D1がD2・D3以下のときに補助リレーM0がONします。

LD>=:AがB以上

AがB以上のとき(A≧B)にONする接点形比較命令は”LD>=”と指令します。

こちらがLD>=命令のラダープログラム例です。

15_LD>=命令” class=”wp-image-21114″ srcset=”https://denkisekkeijin.com/wp-content/uploads/2020/06/15_LD>命令-1024×124.png 1024w, https://denkisekkeijin.com/wp-content/uploads/2020/06/15_LD>命令-300×36.png 300w, https://denkisekkeijin.com/wp-content/uploads/2020/06/15_LD>命令-768×93.png 768w, https://denkisekkeijin.com/wp-content/uploads/2020/06/15_LD>命令-1536×185.png 1536w, https://denkisekkeijin.com/wp-content/uploads/2020/06/15_LD>命令-940×113.png 940w, https://denkisekkeijin.com/wp-content/uploads/2020/06/15_LD>命令.png 1550w” sizes=”(max-width: 1024px) 100vw, 1024px”></figure>



<p>このラダープログラムは、データレジスタ<strong><span class=D0がD1以上のときに補助リレーM0がONします。

LD>=命令は16ビット実行形のため、各データレジスタは1ワード(16ビット)長として扱われます。


32ビット実行形であるLDD>=命令の場合、比較対象は2ワード(32ビット)長として扱われます。

15_LDD>=命令” class=”wp-image-21144″ srcset=”https://denkisekkeijin.com/wp-content/uploads/2020/06/15_LDD>命令-1024×122.png 1024w, https://denkisekkeijin.com/wp-content/uploads/2020/06/15_LDD>命令-300×36.png 300w, https://denkisekkeijin.com/wp-content/uploads/2020/06/15_LDD>命令-768×92.png 768w, https://denkisekkeijin.com/wp-content/uploads/2020/06/15_LDD>命令-1536×183.png 1536w, https://denkisekkeijin.com/wp-content/uploads/2020/06/15_LDD>命令-940×112.png 940w, https://denkisekkeijin.com/wp-content/uploads/2020/06/15_LDD>命令.png 1550w” sizes=”(max-width: 1024px) 100vw, 1024px”></figure>



<p>このラダープログラムは、データレジスタ<strong><span class=D0・D1がD2・D3以上のときに補助リレーM0がONします。

2.【例題】データレジスタと定数を比較

下記仕様のラダープログラムを接点形比較命令を用いて解説します。

仕様
データレジスタD0と定数5を比較して、下記条件に合致したらランプを点灯させる。
・D0が5と等しいとき、ランプ(Y0)が点灯する。
・D0が5と等しくないとき、ランプ(Y1)が点灯する。
・D0が5より大きいとき、ランプ(Y2)が点灯する。
・D0が5より小さいとき、ランプ(Y3)が点灯する。

接点形比較命令を用いてデータレジスタと定数を比較します。

GOTの動作イメージ

GOTの動作イメージは以下のようになります。

例題①_GOT

※使用していないデバイスが多々ありますがご了承ください。

GOTから数値を入力できるデータレジスタD0と、定数5を比較してランプを点灯させます。

  • D0が5と等しいとき、ランプ(Y0)が点灯
  • D0が5と等しくないとき、ランプ(Y1)が点灯
  • D0が5より大きいとき、ランプ(Y2)が点灯
  • D0が5より小さいとき、ランプ(Y3)が点灯

ラダープログラム

ラダープログラムは以下のようになります。

例題①_ラダープログラム

接点形比較命令を用いて、各ランプに対応した出力リレーをONさせます。

3. おわりに

三菱電機製シーケンサQシリーズにおける接点形比較命令について解説しました。

以下の参考書はラダープログラムの色々な「定石」が記載されており、実務で使用できるノウハウが多く解説されています。私がラダープログラムの参考書として自信をもってオススメできるものです。

ただし、ラダープログラムやPLCといった電気・制御設計は参考書やWebサイトのみでの学習には必ずどこかで限界が来ます。

各メーカが販売しているPLCやプログラム作成のアプリケーションを揃えるには安くても十万円以上の大きな費用が掛かり、独学は現実的ではありません。

ラダープログラムの一番現実的な学習方法は「実務で経験を積む」ことです。電気・制御設計者はこれから更に必要な人材になり続けますので、思い切って転職する選択肢もあります。

doda』といった大手求人(転職)サイトには電気・制御設計の求人が数多く紹介されています。※登録は無料です。

「スキルこそ今後のキャリアを安定させる最も大切な材料」と考える私にとって電気・制御設計はとても良い職業だと思います。キャリアの参考になれば幸いです。

2 COMMENTS

中村

お世話になります。
いつも本サイトに助けられております。
分かりやすい説明で初心者の私でも理解することができます。

この度、質問させていただきたいことがあり、コメントさせていただくのですが、

応用命令の
―[< K0 K4M20 ]―

この場合の”K4M20”とは、というラダーはどういう意味になりますか?

検索してもヒットせず困っております。
もしよろしければご教授いただければ助かります。

よろしくお願いいたします。

返信する
電気設計人

K4M20のような指令方法をビットの桁指定と三菱電機は呼んでいます。

前提として、
X・Y・M等はビットデバイスと呼ばれ、1ビットで表現されます。
対してD・W・R等はワードデバイスと呼ばれ、16ビットで構成されます。

ラダープログラム上で数値を扱う場合、ワードデバイスの各ビットに0か1を格納して数値を表現します。
基本的にはバイナリ(2進数)です。

ご質問の命令[LD< K0 K4M20]のK4M20は、 本来ビットデバイスであるMデバイス16点の集合を、1ヶのワードデバイスに見立てて使用する意味です。 QシリーズはFXシリーズにおいてビットの桁指定はK1~K8が指令可能で、 K1はビットデバイス4ビットを1ヶの集合体として使用する意味になります。 (K2では8点、K3では12点…) [LD< K0 K4M20]は、M20~M35(K4×4=16点)をワードデバイスのように扱い、定数0より大きければ 接点形比較命令がONする。といった意味合いになります。

返信する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です