三菱電機製シーケンサiQ-Fシリーズにおける「BIN→BCDデータ変換」命令とは、指定したBIN(2進数)データをBCD(二進化十進数)に変換するラダープログラム命令です。
二進化十進数(Binary Coded Decimal)とは、10進数の各桁を2進数4桁で表現する方法です。例えば10進数の「1234」は、BCDでは「0001 0010 0011 0100」と表現されます。
三菱電機製シーケンサiQ-FシリーズのCPUユニットの演算はBIN(2進数)データで扱われますが、BCDデコーダ付きの7セグメント表示器に数値を表示するとき等に使用します。
この記事では、三菱電機製シーケンサiQ-FシリーズにおけるBIN→BCDデータ変換命令の指令方法とラダープログラム例について解説します。
三菱電機製シーケンサiQ-Fシリーズにおいて、BIN→BCDデータ変換命令は以下のCPUで使用することが可能です。
FX5UJ | :使用可 |
FX5U | :使用可 |
FX5UC | :使用可 |
三菱電機製シーケンサiQ-Fシリーズでは、逆にBCD(二進化十進数)データをBIN(2進数)に変換するBCD→BINデータ変換(BIN)命令が用意されています。BCD→BINデータ変換(BIN)命令については以下のページで解説しております。

目次
1. BIN→BCDデータ変換命令の指令方法
BIN→BCDデータ変換命令には、4種類の指令方法があります。
BCD | :符号付き16ビット連続実行形 |
BCDP | :符号付き16ビットパルス実行形 |
DBCD | :符号付き32ビット連続実行形 |
DBCDP | :符号付き32ビットパルス実行形 |
パルス実行形は、入力条件がONしたときの1スキャンのみ実行される命令です。
各データ型の表現範囲は以下のようになります。※他の命令と範囲が異なります。
符号付き16ビット形 | :0~+9999 |
符号付き32ビット形 | :0~+99999999 |
BCD:16ビット連続実行形(基本の形)
符号付き16ビット連続実行形のBIN→BCDデータ変換命令は BCD と指令します。
こちらがBCD命令を使用したラダープログラム例です。

このラダープログラムでは、入力条件であるX0がONしている間、BIN(2進数)データのD0のデバイス値をBCD(二進化十進数)に変換してD10に格納します。
例えば、D0の値が2進数で「1234」の場合、D10の各ビットは以下のようになります。

BCDは10進数の各桁を2進数4桁で表現されるため、D10の0~3ビット目→「4」、4~7ビット目→「3」、8~11ビット目→「2」、12~15ビット目→「1」が格納されます。
BCD命令は連続実行形であるため、X0がON中にD0の値が変わるとD10の値も追従して変わります。
先ほどのラダープログラムはGX Works3の回路上で BCD D0 D10 と入力してEnterキーを押すと挿入されます。(小文字でもOKです。)

BCDP:16ビットパルス実行形
符号付き16ビットパルス実行形のBIN→BCDデータ変換命令は BCDP と指令します。
こちらがBCDP命令を使用したラダープログラム例です。

連続実行形(BCD命令)との違いは、入力条件である入力リレーX0がON中にD0の値が変わってもD10の値は追従して変化しないことです。
X0がONした瞬間、BIN(2進数)データのD0のデバイス値をBCD(二進化十進数)に変換してD10に格納します。
DBCD・DBCDP:32ビット実行形
符号付き32ビット連続実行形のBIN→BCDデータ変換命令は DBCD と指令します。
符号付き32ビットパルス実行形のBIN→BCDデータ変換命令は DBCDP と指令します。
こちらがDBCD・DBCDP命令のラダープログラム例です。


32ビット実行形の場合、指定したデバイスを若番とする2ワード(32ビット)長として扱われます。↑のラダープログラムの場合、BIN(2進数)データのD0・D1のデバイス値をBCD(二進化十進数)に変換してD10・D11に格納します。

2.【例題①】7セグメントLEDを表示する(2桁)
下記仕様のラダープログラムをBIN→BCDデータ変換命令を用いて解説します。
7セグメントLEDは2桁として、1桁目をY20~Y23、2桁目をY24~Y27に接続されているものとする。
※本記事ではタッチパネルで代用します。
BINデータのD0のデバイス値をBCD変換してY20~Y27に格納する処置にBIN→BCDデータ変換(BCD)命令を使用します。
GOTの動作イメージ
GOTの動作イメージは以下のようになります。

BIN(2進数)データのD0のデバイス値を常にBCD形式の7セグメントLEDに表示します。
7セグメントLEDは2桁として、1桁目をY20~Y23、2桁目をY24~Y27に接続されているものとします。
7セグメントLEDは2桁で使用するため、D0のデバイス値は0~99となります。(今回は特に入力制限等は掛けていません)
ラダープログラム
ラダープログラムは以下のようになります。

転送元のBINデータにD0、転送先のBCDデータにK2Y20を指令したBIN→BCDデータ変換(BCD)命令を使用します。
BCD命令でK2Y20と指令すると、転送先のデバイスがY20~Y27の8ビット(=BCD2桁)になります。
3.【例題②】7セグメントLEDを表示する(1桁×2)
下記仕様のラダープログラムをBIN→BCDデータ変換命令を用いて解説します。
7セグメントLEDは2桁として、1桁目をY20~Y23、2桁目をY24~Y27に接続されているものとする。
1桁目にD0、2桁目にD1の値を表示する。
※本記事ではタッチパネルで代用します。
BINデータのD0の値をY20~Y23、D1の値をY24~Y27にBCD変換して格納する処置にBIN→BCDデータ変換(BCD)命令を使用します。
【例題①】ではD0→2桁ですが、今回はD0、D1それぞれ1桁ずつになります。
GOTの動作イメージ
GOTの動作イメージは以下のようになります。

BIN(2進数)データのD0のデバイス値を常にBCD形式の7セグメントLEDに表示します。
7セグメントLEDは2桁として、1桁目をY20~Y23、2桁目をY24~Y27に接続されているものとします。
1桁目にD0、2桁目にD1の値を表示します。
ラダープログラム
ラダープログラムは以下のようになります。

転送元のBINデータにD0、転送先のBCDデータにK1Y20を指令したBIN→BCDデータ変換(BCD)命令を使用します。(1行目)
転送元のBINデータにD1、転送先のBCDデータにK1Y24を指令したBIN→BCDデータ変換(BCD)命令を使用します。(2行目)
BCD命令でK1Y20と指令すると、転送先のデバイスがY20~Y23の4ビット(=BCD1桁)になります。
4. おわりに
三菱電機製シーケンサiQ-FシリーズにおけるBIN→BCDデータ変換命令について解説しました。
電気ハード設計、PLC/TPソフト設計、ロボットティーチング、制御盤製作の外注業務は、ぜひ永工舎にご相談ください。

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