三菱電機製シーケンサ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シリーズと同様の使い勝手で指令できるため、類似した記事になります。
【三菱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=命令のラダープログラム例です。
このラダープログラムは、データレジスタD0とD1の値が等しいときに補助リレーM0がONします。
LD=命令は16ビット実行形のため、各データレジスタは1ワード(16ビット)長として扱われます。
32ビット実行形であるLDD=命令の場合、比較対象は2ワード(32ビット)長として扱われます。
このラダープログラムは、データレジスタD0・D1とD2・D3の値が等しいときに補助リレーM0がONします。
メモ
32ビット実行形の場合、命令内の頭文字に”D”と表示されます。
先ほどのラダープログラムはGX Works2の回路上で LD= D0 D1 と入力してEnterキーを押すと命令が挿入されます。(小文字でもOKです。)
32ビット実行形の場合、LDD=と入力します。
LD>:AがBより大きい
AがBより大きいとき(A>B)にONする接点形比較命令は”LD>”と指令します。
こちらがLD>命令のラダープログラム例です。
お世話になります。
いつも本サイトに助けられております。
分かりやすい説明で初心者の私でも理解することができます。
この度、質問させていただきたいことがあり、コメントさせていただくのですが、
応用命令の
―[< 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する。といった意味合いになります。