三菱電機製シーケンサ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乗算命令には、*命令とMUL命令があります。本記事では*命令を解説します。
*命令は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,D3に格納します。
BIN加算・減算命令と異なり、16ビット実行形の演算先は2ワード(32ビット)を占有します。
[* D0 D1 D2]の動作は以下のようになります。
*命令は連続実行形であるため、X0がON中にD0またはD1の値が変わるとD2・D3の値も追従して変わります。
符号なし16ビット連続実行形のBIN乗算命令は *_U と指令します。
こちらが*_U命令を使用したラダープログラム例です。

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

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

連続実行形(*命令)との違いは、入力条件である入力リレーX0がON中にD0またはD1の値が変わってもD2,D3の値は追従して変化しないことです。
X0がONした瞬間、D0とD1のデバイス値を乗算した結果をD2,D3に格納します。
符号なし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ビット)長として扱われます。演算先は指定されたデバイスを最若番とする4ワード(64ビット)長として扱われます。
↑のラダープログラムの場合、D0・D1とD2・D3のデバイス値を乗算した結果をD4~D7に格納します。

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

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

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

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

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

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

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