三菱電機製シーケンサFXシリーズにおける「グレイコード逆変換」命令とは、グレイコードをBIN値に変換して転送するラダープログラム命令です。(グレイコード⇒BIN値)
グレイコード逆変換命令を使用することにより、グレイコード形式で出力するエンコーダやロータリスイッチをラダープログラム上でBIN値として扱うことが可能になります。
この記事では、三菱電機製シーケンサFXシリーズにおけるグレイコード逆変換命令の指令方法とラダープログラム例について解説します。
三菱電機製シーケンサFXシリーズにおいて、グレイコード逆変換命令は以下のシーケンサ・バージョンで使用することが可能です。
| FX3S | :Ver1.00以降 |
| FX3G | :Ver1.00以降 |
| FX3GC | :Ver1.40以降 |
| FX3U | :Ver2.20以降 |
| FX3UC | :Ver1.00以降 |
逆に、BIN値をグレイコードに変換する「グレイコード変換」命令が用意されています。グレイコード変換命令については以下のページで解説しておりますので、宜しければご覧ください。
目次
1. グレイコード逆変換命令の指令方法
グレイコード逆変換命令には、4種類の指令方法があります。
| GBIN | :16ビット連続実行形 |
| GBINP | :16ビットパルス実行形 |
| DGBIN | :32ビット連続実行形 |
| DGBINP | :32ビットパルス実行形 |
GBINは、Gray code to binaryの略です。
パルス実行形は、入力条件がONしたときの1スキャンのみ実行される命令です。
GBIN:16ビット連続実行形(基本の形)
16ビット連続実行形のグレイコード逆変換命令は”GBIN”と指令します。
こちらがGBIN命令を使用したラダープログラム例です。

このラダープログラムは、入力条件であるX0がONしている間、グレイコード形式のD0の値をBIN値でD10に転送します。
仮に、D0の値が「0110」であれば、D10は「0100」になります。

これは、グレイコードの「0110」は10進数の”4”であり、BIN値にすると「0100」になるからです。
以下は0~15までのグレイコード・BIN値の対応表になります。

16ビット実行形の場合、0~32,767の数値が使用可能です。
先ほどのラダープログラムはGX Works2の回路上で GBIN D0 D10 と入力してEnterキーを押すと命令が挿入されます。

GBINP:16ビットパルス実行形
16ビットパルス実行形のグレイコード逆変換命令は”GBINP”と指令します。
こちらがGBINP命令を使用したラダープログラム例です。

連続実行形(GBIN命令)との違いは、入力条件であるX0がON中に転送元の値が変わっても転送先の値は追従して変化しない。ことです。
DGBIN・DGBINP:32ビット実行形
32ビット連続実行形のグレイコード逆変換命令は”DGBIN”と指令します。
32ビットパルス実行形のグレイコード逆変換命令は”DGBINP”と指令します。
こちらがDGBIN・DGBINP命令を使用したラダープログラム例です。


32ビット実行形の場合、転送元・転送先のデバイスは指定されたデータレジスタを下位とする2ワード(32ビット)として扱われます。
32ビット実行形の場合、0~2,147,483,647の数値が使用可能です。
↑のラダープログラムの場合、転送元はD0・D1、転送先はD10・D11になります。
2.【例題】グレイコード逆変換
下記仕様のラダープログラムをグレイコード逆変換命令を用いて解説します。
グレイコードをBINに変換するためにグレイコード逆変換命令を使用します。
GOTの動作イメージ
GOTの動作イメージは以下のようになります。

スイッチ(X0)を押すと、グレイコード形式のデータレジスタD0の値を、BIN値のD1に転送します。
グレイコードで「1100」はBIN値にすると「1000」、グレイコードで「1111」はBIN値にすると「1010」になります。

ラダープログラム
ラダープログラムは以下のようになります。

グレイコード形式のD0をBIN値としてD1に転送するために、グレイコード逆変換(GBIN)命令を使用します。
3. おわりに
三菱電機製シーケンサFXシリーズにおけるグレイコード逆変換命令について解説しました。


