シーケンサ

CMP命令とZCP命令:シーケンサのデータ比較命令

このページでは
PLCのデータ比較命令に
ついて解説しています。

PLCを使った自動制御は
電磁リレー
シーケンス制御回路を設計する
リレーシーケンスとは違い

プログラム内で
数値を扱うことが
容易にできます。

機械の用途によっては、
この数値とこの数値を比較して
こういった結果なら
この動作をさせる。

といった制御が必要な
ものも多くあります。

ですので、ここで解説する
比較命令も多く使われます。

このページは
PLCは各種メーカーありますが
三菱電機のシーケンサの仕様
で書いています。

シーケンサの比較命令では
接点の比較命令があります。

それは
<、>= とかで直観的に
意味がわかりやすい命令が
ありますが

このページでは便利な
CMP命令とZCP命令について
説明していきます。

1.CMP命令

CMPは1点比較命令です。

[CMP K30 D2 M10]

これがCMP命令の記述の
一例です。

K30が比較元、D2が比較先です。

CMP命令は

比較元>比較先 
比較元=比較先 
比較元<比較先 

上記比較を一気にする命令です。

そして、比較結果を

比較元(K30)>比較先(D2)➡M10がON
比較元(K30)=比較先(D2)➡M11がON 
比較元(K30)<比較先(D2)➡M12がON 

上記のように出力します。

指定したデバイス番号を先頭に
3点占有して 出力します。

データレジスタDやカウンターCの
現在値は定数ではなく
変数です。

その値がこうなったら
機械の動作を変えたい時などに
使えば便利ですね。

以下に実際のラダー図
モニター画面を載せておきます。

CMP命令の1例CMP命令の1例

M8013は特殊補助リレー
1つで内部クロックで
1秒間隔でON/OFF信号を
出します。

ONした回数をC0のカウンターで
計測します。

CMP命令の比較元は10にしました。

上の状態はカウンターの回数は6
なので、6<10で M22(Y003)が
ONしています。

CMP命令の1例CMP命令の1例

上の状態はカウンターの回数は10
なので、10=10で M21(Y002)が
ONしています。

2.ZCP命令

ZCPは帯域比較命令です。

CMP命令は比較元が
1点(1つ)でしたが、ZCP命令は
10~10000といったように
帯域で比較します。

[ZCP K30 K80 D30 M10]

これがZCP命令の記述の
一例です。

K30が比較元1、K30が比較元2、
D30が比較先です。

ZCP命令は

比較元1>比較先 
比較元1≦比較先≦比較元2
比較元2<比較先
 
上記比較を一気にする命令です。

出力はCMP命令同様に

比較元1>比較先 ➡M10がON
比較元1≦比較先≦比較元2 ➡M11がON
比較元2<比較先 ➡M12がON

記述したデバイス番号を先頭に
3点を占有します。

注意としては
比較元1≦比較先≦比較元2
があるように

比較元1の値は比較元2の値より
小さな値にする必要があります。

3.まとめ

数値の比較として
接点の比較命令(<、=、>など)
がありますが

状況に応じて、CMP命令やZCP命令を
使う方が便利であり
ステップ数を少なく
プログラムを見やすくできます。

他社プログラムでCMP命令は
見ることはあるので
ぜひ、覚えておいてください。

当方ではこのページにも関連する
初心者向のシーケンス制御の教材も
扱っていますので

興味があれば
以下の画像をクリックして
ご確認ください。

●リレーシーケンス教材に
 ついては以下の画像をクリック

リレーシーケンス教材リレーシーケンス教材について


●シーケンサ教材に
 ついては以下の画像をクリック

PLC(シーケンサ)教材PLC(シーケンサ)教材について