シーケンサ

シーケンサの四則演算、増減について

このサイトでは三菱電機シーケンサの
四則演算と増減について説明します。

ON/OFF制御だけのシーケンス制御ではなく
数値制御はPLC,シーケンサを使う価値の
一つです。

その中でも、四則演算は基本ですので
ぜひ、このサイトで概要をつかんでください。

シーケンサについてはコチラをクリック
PLCとは、シーケンサとは何?が83%解消する初心者サイト
シーケンス制御についてはコチラをクリックシーケンス制御とは

1.加算、ADD命令について

加算をしたい場合はADD命令を使います。

シーケンサのラダー図例-ADD命令

このラダー図はADD命令の一例になります。

ADD K25 K30 D1

と記述していますが、これは
X0のa接点が導通した場合
25+30を計算し、その計算結果を
D1のデータレジスタへ格納する

といった命令になります。

この例のように
定数Kを指定し10進数で記述すると
自動的にBIN変換されます。

ラダー図についてはコチラをクリック⇒ラダー図とは

2.減算、SUB命令について

減算をしたい場合はSUB命令を使います。

シーケンサのラダー図例-SUB命令

このラダー図はSUB命令の一例です。

SUB K40 K3 D1

と記述しています。

どう見るかはADD命令の加算が減算に
変わるだけです。

X2のa接点が導通すると
40-3の計算結果をD1の
データレジスタへ格納します。

計算する数字も定数Kで10進数で
記述します。

3.乗算、MUL命令について

乗算をしたい場合はMUL命令を使います。

シーケンサのラダー図例-MUL命令

このラダー図はMUL命令の一例です。

MUL K10 K11 D4

と記述しています。

見方はADD命令、SUB命令と同じで
10×11の計算をするのですが
データレジスタへの格納が違います。

乗算の場合は32ビットデータになります。

ですので、D*とD*+1のデータレジスタへ
計算結果を格納します。

この例ならD4とD5になります。

4.除算、DIV命令について

除算をしたい場合はDIV命令を使います。

シーケンサのラダー図例-DIV命令

このラダー図はDIV命令の一例です。

DIV K20 K3 D7

と記述しています。

見方はADD命令などと同じで
20÷3の計算をします。

ただ、データレジスタへの格納が違います。

D*へは商をD*+1へは余りを格納します。

この例なら
D7へ商の6をD8へ余りの2を格納します。

5.データレジスタで四則演算する

1項~4項ではK10など指定した定数で
計算しましたが、データレジスタで計算
することもできます。

シーケンサのデータレジスタで四則演算どういったことかというと、このラダー図では
まずは

ADD K5 K30 D1

で、5+30の結果をD1のデータレジスタへ
格納します。

次の

SUB D1 K11 D4

ですが、D1とありますが
これはD1に現在格納されているデータを
使うということです。

ですので、今は35です。

35-11の計算結果をD4へ格納します。

次の

MUL D1 D4 D6

はD1とD4に現在格納されたデータをかけて
D6とD7に格納します。

ここでは、35×24になります。

このように定数だけではなく
データレジスタへ格納された数値も
使えます。

あと、

ADD D1 K30 D1

のように

計算に使ったデータレジスタに
計算結果を格納することもできます。

この例なら、D1のデータと30を足して
D1へ格納します。

6.四則演算のパルス実行について

シーケンサの四則演算のパルス実行1

このラダー図は

X0が導通するとD1と30を足すわけですが

このプログラムだとX0が導通している限り
毎スキャン足し算をするわけですから
D1の数値は増加し続けます。

D1に元々1が格納されているとすると
1+30=31
次のスキャンで31+30=61
次のスキャンで61+30=91
・・・
といったようにですね。

それを狙って実行しているならいいのですが
X0が導通した一回だけ加算したい場合は
このプログラムではなくPLS命令(パルス命令)を使います。

シーケンサの四則演算のパルス実行2

このようなラダー図にすることで
X0が導通した1スキャンだけ加算を
させることができます。

他には、四則演算の命令で
パルス実行することもできます。

この例なら

シーケンサの四則演算のパルス実行3

ADDP D1 K30 D1

とします。

加算以外では

減算・・・SUBP
乗算・・・DIVP
除算・・・MULP

となります。

PLS命令、スキャンについて
分からなかった場合は以下のサイトを
参考にしてください。

シーケンサのPLS命令,PLF命令とは

シーケンサのプログラム処理とスキャンタイムについて

6.増減、INC命令、DEC命令について

ADD命令、SUB命令は任意の値を
増減できました。

この項では1ずつ増減するINC命令、DEC命令
について説明します。

まずはINC命令です。

シーケンサのラダー図例-INC命令

このラダー図はINC命令の一例です。

INC D1

と記述しています。

これはD1のデータレジスタへ
1を加える命令です。

D1に1を加えてD3とか別のデータレジスタへ
格納するのではなく、そのまま1加えて値を
D1へ格納します。

次はDEC命令です。

シーケンサのラダー図例-DEC命令

このラダー図はDEC命令の一例です。

DEC D1

と記述していますがこれは
INCとは逆で
D1のデータレジスタから1減らす命令です。

そして、D1から減らして別のデータレジスタへ
格納するのではなく、そのまま1を減らして
D1へ格納します。

上のラダー図では、四則演算でもありましたが
X0が導通している間は毎スキャン増減します。

X0が導通した1度(1スキャン)だけ
増減させたい場合はPLS命令を使うか

増やしたい場合は INCP命令
減らしたい場合は DECP命令

を使ってください。

まとめ

ON/OFF以外に
数値データを扱えることは、
シーケンサを使う価値の一つです。

その中で四則演算は基本中の基本です。

ぜひ、知っておいてください。

もし、そもそもシーケンス制御やシーケンサが
分からないという場合は、このサイトでは
講座もありますのでご参考ください。

シーケンス制御とは

あなたが、シーケンサについて0から独学で
勉強したい場合は、キット付教材もありますので
以下をクリックしてご確認ください。

初心者が手頃に手際よくシーケンサ技術を習得する方法とは

初心者のための講座へ-以下の画像をクリック!
設備保全入門のバナー