【三菱iQ-Fシリーズ】BIN減算(-,SUB)命令の指令方法とラダープログラム例

00_【三菱iQ-Fシリーズ】BIN減算(SUB)命令の指令方法とラダープログラム例

三菱電機製シーケンサiQ-Fシリーズにおける「BIN減算」命令とは、BINデータの2ヶの定数またはデバイス値を減算して結果を求めるラダープログラム命令です。(A-B=C)

この記事では、三菱電機製シーケンサiQ-FシリーズにおけるBIN減算命令の指令方法ラダープログラム例について解説します。

注意
この記事中のラダープログラムはGX Works3で作成しており、シリーズ:FX5CPU、機種:FX5Uに設定してあります。

三菱電機製シーケンサiQ-Fシリーズにおいて、BIN減算命令は以下のCPUで使用することが可能です。

FX5UJ:使用可
FX5U:使用可
FX5UC:使用可

三菱電機製シーケンサiQ-Fシリーズでは、他のBINデータ四則演算(加算・乗算・除算)命令が用意されています。他のBINデータ四則演算命令については以下のページで解説しております。

00_【三菱iQ-Fシリーズ】BIN加算(ADD)命令の指令方法とラダープログラム例 【三菱iQ-Fシリーズ】BIN加算(+,ADD)命令の指令方法とラダープログラム例 00_【三菱iQ-Fシリーズ】BIN乗算(MUL)命令の指令方法とラダープログラム例 【三菱iQ-Fシリーズ】BIN乗算(*,MUL)命令の指令方法とラダープログラム例 00_【三菱iQ-Fシリーズ】BIN除算(DIV)命令の指令方法とラダープログラム例 【三菱iQ-Fシリーズ】BIN除算(/,DIV)命令の指令方法とラダープログラム例
当サイトは現場の技術者を応援するスポンサー様のご支援により運営されています。
スポンサー様一覧ページはこちら>>

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している間、毎スキャン実行される命令です。
パルス実行形は、入力条件がONしたときの1スキャンのみ実行される命令です。

各データ型の表現範囲は以下のようになります。

符号付き16ビット形:-32768~+32767
符号なし16ビット形:0~65535
符号付き32ビット形:-2147483648~+2147483647
符号なし32ビット形:0~4294967295

-(_U):16ビット連続実行形(基本の形)

符号付き16ビット連続実行形のBIN減算命令は – と指令します。

こちらが-命令を使用したラダープログラム例です。

10_ー命令

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

10_-命令解説1

-命令は連続実行形であるため、X0がON中にD0またはD1の値が変わるとD2の値も追従して変わります。


符号なし16ビット連続実行形のBIN減算命令は -_U と指令します。

こちらが-_U命令を使用したラダープログラム例です。

10_ー_U命令


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

10_命令挿入

-P(_U):16ビットパルス実行形

符号付き16ビットパルス実行形のBIN減算命令は -P と指令します。

こちらが-P命令を使用したラダープログラム例です。

10_ーP命令

連続実行形(-命令)との違いは、入力条件である入力リレーX0がON中にD0またはD1の値が変わってもD2の値は追従して変化しないことです。

X0がONした瞬間、D0からD1のデバイス値を減算した結果をD2に格納します。

メモ
入力条件がOFF→ONしたときにBIN減算命令が1スキャンだけ実行します。


符号なし16ビットパルス実行形のBIN減算命令は -P_U と指令します。

こちらが-P_U命令を使用したラダープログラム例です。

10_ー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命令を使用したラダープログラム例です。

20_Dー命令
20_DーP命令
20_Dー_U命令
20_DーP_U命令

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

12_D-命令解説1

2.【例題①】1ワード長の減算値を求める

下記仕様のラダープログラムをBIN減算命令を用いて解説します。

仕様
スイッチ(X0)を押すと、データレジスタD0に定数8を転送する。
スイッチ(X1)を押すと、データレジスタD1に定数3を転送する。
スイッチ(X2)を押すと、データレジスタD2にD0からD1を減算した結果を転送する。
スイッチ(X5)を押すと、データレジスタD0とD1に定数0を転送する。
※スイッチが同時に複数ONすることはないとする。

データレジスタに定数を転送するため、今回は転送(MOV)命令を使用します。三菱電機製シーケンサiQ-Fシリーズの転送(MOV)命令については以下のページで解説しております。

00_【三菱iQ-Fシリーズ】転送(MOV)命令の指令方法とラダープログラム例 【三菱iQ-Fシリーズ】転送(MOV)命令の指令方法とラダープログラム例

GOTの動作イメージ

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減算命令を用いて解説します。

仕様
スイッチ(X0)を押すと、データレジスタD0,D1に定数70,000を転送する。
スイッチ(X1)を押すと、データレジスタD2,D3に定数20,000を転送する。
スイッチ(X2)を押すと、データレジスタD4,D5にD0,D1からD2,D3を減算した結果を転送する。
スイッチ(X5)を押すと、データレジスタD0~D3に定数0を転送する。
※スイッチが同時に複数ONすることはないとする。

【例題①】と考え方は同じですが、扱う定数の値が大きいのでデータレジスタは2ワード(32ビット)長で使用します。

GOTの動作イメージ

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ソフト設計、ロボットティーチング、制御盤製作の外注業務は、ぜひ永工舎にご相談ください。

当サイトを運営している電気設計人は、個人で永工舎として外注業務をお請けしております。

以下の参考書はラダープログラムの色々な「定石」が記載されており、実務で使用できるノウハウが多く解説されています。私がラダープログラムの参考書として自信をもってオススメできるものです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です