三菱電機製シーケンサiQ-Fシリーズにおける「BIN減算」命令とは、BINデータの2ヶの定数またはデバイス値を減算して結果を求めるラダープログラム命令です。(A-B=C)
この記事では、三菱電機製シーケンサiQ-FシリーズにおけるBIN減算命令の指令方法とラダープログラム例について解説します。
三菱電機製シーケンサiQ-Fシリーズにおいて、BIN減算命令は以下のCPUで使用することが可能です。
FX5UJ | :使用可 |
FX5U | :使用可 |
FX5UC | :使用可 |
三菱電機製シーケンサiQ-Fシリーズでは、他のBINデータ四則演算(加算・乗算・除算)命令が用意されています。他のBINデータ四則演算命令については以下のページで解説しております。



目次
1. BIN減算命令の指令方法
BIN減算命令には、-命令とSUB命令があります。本記事では-命令を解説します。
-命令は8種類の指令方法があります。
– | :符号付き16ビット連続実行形 |
-P | :符号付き16ビットパルス実行形 |
-_U | :符号なし16ビット連続実行形 |
-P_U | :符号なし16ビットパルス実行形 |
D- | :符号付き32ビット連続実行形 |
D-P | :符号付き32ビットパルス実行形 |
D-_U | :符号なし32ビット連続実行形 |
D-P_U | :符号なし32ビットパルス実行形 |
パルス実行形は、入力条件がONしたときの1スキャンのみ実行される命令です。
各データ型の表現範囲は以下のようになります。
符号付き16ビット形 | :-32768~+32767 |
符号なし16ビット形 | :0~65535 |
符号付き32ビット形 | :-2147483648~+2147483647 |
符号なし32ビット形 | :0~4294967295 |
-(_U):16ビット連続実行形(基本の形)
符号付き16ビット連続実行形のBIN減算命令は – と指令します。
こちらが-命令を使用したラダープログラム例です。

このラダープログラムでは、入力条件であるX0がONしている間、データレジスタD0からD1のデバイス値を減算した結果をD2に格納します。

-命令は連続実行形であるため、X0がON中にD0またはD1の値が変わるとD2の値も追従して変わります。
符号なし16ビット連続実行形のBIN減算命令は -_U と指令します。
こちらが-_U命令を使用したラダープログラム例です。

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

-P(_U):16ビットパルス実行形
符号付き16ビットパルス実行形のBIN減算命令は -P と指令します。
こちらが-P命令を使用したラダープログラム例です。

連続実行形(-命令)との違いは、入力条件である入力リレーX0がON中にD0またはD1の値が変わってもD2の値は追従して変化しないことです。
X0がONした瞬間、D0からD1のデバイス値を減算した結果をD2に格納します。
符号なし16ビットパルス実行形のBIN減算命令は -P_U と指令します。
こちらが-P_U命令を使用したラダープログラム例です。

D-(_U)・D-P(_U):32ビット実行形
符号付き32ビット連続実行形のBIN減算命令は D- と指令します。
符号付き32ビットパルス実行形のBIN減算命令は D-P と指令します。
符号なし32ビット連続実行形のBIN減算命令は D-_U と指令します。
符号なし32ビットパルス実行形のBIN減算命令は D-P_U と指令します。
こちらがD-・D-P・D-_U・D-P_U命令を使用したラダープログラム例です。




32ビット実行形の場合、指定したデバイスを若番とする2ワード(32ビット)長として扱われます。↑のラダープログラムの場合、D0・D1からD2・D3のデバイス値を減算した結果をD4・D5に格納します。

2.【例題①】1ワード長の減算値を求める
下記仕様のラダープログラムをBIN減算命令を用いて解説します。
スイッチ(X1)を押すと、データレジスタD1に定数3を転送する。
スイッチ(X2)を押すと、データレジスタD2にD0からD1を減算した結果を転送する。
スイッチ(X5)を押すと、データレジスタD0とD1に定数0を転送する。
※スイッチが同時に複数ONすることはないとする。
データレジスタに定数を転送するため、今回は転送(MOV)命令を使用します。三菱電機製シーケンサiQ-Fシリーズの転送(MOV)命令については以下のページで解説しております。

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

スイッチ(X0)を押すとデータレジスタD0に定数8を、スイッチ(X1)を押すとデータレジスタD1に定数3を転送します。
スイッチ(X2)を押すとデータレジスタD2にD0からD1を減算した結果を転送します。
スイッチ(X5)を押すとデータレジスタD0とD1に定数0を転送します。
ラダープログラム
ラダープログラムは以下のようになります。

D0に定数8、D1に定数3を転送するために転送(MOV)命令を使用します。
X2がONすると、BIN減算(-)命令が実行されてデータレジスタD2にD0からD1を減算した結果を転送します。
3.【例題②】2ワード長の減算値を求める
下記仕様のラダープログラムをBIN減算命令を用いて解説します。
スイッチ(X1)を押すと、データレジスタD2,D3に定数20,000を転送する。
スイッチ(X2)を押すと、データレジスタD4,D5にD0,D1からD2,D3を減算した結果を転送する。
スイッチ(X5)を押すと、データレジスタD0~D3に定数0を転送する。
※スイッチが同時に複数ONすることはないとする。
【例題①】と考え方は同じですが、扱う定数の値が大きいのでデータレジスタは2ワード(32ビット)長で使用します。
GOTの動作イメージ
GOTの動作イメージは以下のようになります。

スイッチ(X0)を押すとデータレジスタD0・D1に定数70,000を、スイッチ(X1)を押すとデータレジスタD2・D3に定数20,000を転送します。
スイッチ(X2)を押すとデータレジスタD4・D5にD0・D1からD2・D3を減算した結果を転送します。
スイッチ(X5)を押すとデータレジスタD0~D3に定数0を転送します。
ラダープログラム
ラダープログラムは以下のようになります。

D0・D1に定数70,000、D2・D3に定数20,000を転送するために32ビット実行形の転送(DMOV)命令を使用します。
X2がONすると、32ビット実行形のBIN減算(D-)命令が実行されてデータレジスタD4・D5にD0・D1からD2・D3を減算した結果を転送します。
4. おわりに
三菱電機製シーケンサiQ-FシリーズにおけるBIN減算命令について解説しました。
電気ハード設計、PLC/TPソフト設計、ロボットティーチング、制御盤製作の外注業務は、ぜひ永工舎にご相談ください。

当サイトを運営している電気設計人は、個人で永工舎として外注業務をお請けしております。
以下の参考書はラダープログラムの色々な「定石」が記載されており、実務で使用できるノウハウが多く解説されています。私がラダープログラムの参考書として自信をもってオススメできるものです。