【三菱FXシリーズ】ONビット判定(BON)命令の指令方法とラダープログラム例

00_【三菱FXシリーズ】ONビット判定(BON)命令の指令方法とラダープログラム例

「ONビット判定」命令とは、三菱電機製シーケンサFXシリーズにおけるワードデバイスの指定したビット位置のON/OFF状態を判定するラダープログラム命令です。

ワードデバイスの他に「ビットデバイスの桁指定」「定数」に対しても使用可能です。

ONビット判定命令を用いることにより、データレジスタや拡張レジスタ等の指定したビットのON/OFF状態を補助リレー等に反映することができます。

この記事では、三菱電機製シーケンサFXシリーズにおけるONビット判定命令の指令方法ラダープログラム例について解説します。

注意
この記事中のラダープログラムはGX Works2で作成しており、PCタイプはFX3G/FX3GCに設定してあります。

三菱電機製シーケンサFXシリーズにおいて、ONビット判定命令は以下のシーケンサ・バージョンで使用することが可能です。

FX3S:Ver1.00以降
FX3G:Ver1.00以降
FX3GC:Ver1.40以降
FX3U:Ver2.20以降
FX3UC:Ver1.00以降

FX3U・FX3UCの場合は「ワードデバイスのビット指定」ができるので、この命令を使用しなくても指定したビットのON/OFF状態を接点として判定することが可能です。(ワードデバイスのビット指定については後日記事にまとめます。)

1. ONビット判定命令の指令方法

ONビット判定命令には、4種類の指令方法があります。

BON:16ビット連続実行形
BONP:16ビットパルス実行形
DBON:32ビット連続実行形
DBONP:32ビットパルス実行形

BONは、Bit on checkの略です。

メモ
連続実行形は、入力条件がONしている間は命令が毎スキャン実行されます。パルス実行形は、入力条件がOFF→ONしたときに命令が1スキャンだけ実行されます。

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

16ビット連続実行形のONビット判定命令は”BON”と指令します。

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

10_BON命令

このラダープログラムは、入力条件であるX0がONしている間、データレジスタD0の6ビット目のON/OFF状態を出力リレーY0に反映するものです。つまり、D0の6ビット目がONしている時にY0がONします。

デバイス一括モニタは以下のようになります。

10_デバイスモニタ

このように「ONビット判定」命令を用いることでワードデバイスの特定のビットのON/OFF状態をビットデバイスに反映することができます。↑の例では出力リレーY0に反映しましたが、補助リレー(M)でもOKです。

16ビット実行形(後述する16ビットパルス実行形含む)の場合、命令内で指定するビット位置は0~15の間となります。↑のラダープログラムでK6と指定していた部分です。


ONビット命令には大きな注意点があります。BON命令の判定結果が格納されるデバイス(↑の例だとY0)は入力条件がOFFしても状態を保持します。

10_BON命令の注意点

また、入力条件がOFFしているときに指定したビットの状態が変わっても、判定結果が格納されるデバイスの状態は変わりません。

メモ
入力条件を常時ONにすると、ワードデバイスのビット状態を常に判定することができます。三菱FXシリーズではM8000が常時ONする特殊デバイスです。


先ほどのラダープログラムはGX Works2の回路上で BON D0 Y0 K6 と入力してEnterキーを押すと命令が挿入されます。 (小文字でもOKです。)

10_命令挿入

BONP:16ビットパルス実行形

16ビットパルス実行形のONビット判定命令は”BONP”と指令します。

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

11_BONP命令

連続実行形(BON命令)との違いは、入力条件である入力リレーX0がOFF→ONになった瞬間に1回だけD0の6ビット目の状態をY0に反映することです。

つまり、入力リレーX0がON中にデータレジスタD0の6ビット目の状態が変化しても、Y0は追従しません。

メモ
入力条件がOFF→ONしたときにONビット判定命令を1スキャンだけ実行します。

DBON・DBONP:32ビット実行形

32ビット連続実行形のONビット判定命令は”DBON”と指定します。

32ビットパルス実行形のONビット判定命令は”DBONP”と指定します。

こちらがDBON・DBONP命令のラダープログラム例です。

12_DBON命令
13_DBONP命令

↑のDBON命令のラダープログラムは、入力条件であるX0がONしている間、データレジスタD1の2ビット目のON/OFF状態を出力リレーY0に反映するものです。

32ビット実行形の場合、指定したワードデバイスを若番とする2ワード長を対象とします。1ワードは16ビットのため、18ビット目は老番であるD1の2ビット目に相当します。

13_32ビット実行形の解説

32ビット実行形の場合、指定するビット位置は0~31の間となります。↑のラダープログラムでK18と指定していた部分です。

2.【例題①】ビット指定が「定数」

下記仕様のラダープログラムをONビット判定命令を用いて解説します。

仕様
データレジスタD0の0ビット目がONしている場合、ランプ(Y0)が点灯する。
データレジスタD0の1ビット目がONしている場合、ランプ(Y1)が点灯する。
この処理をPLCがRUN中に常時行う。

GOTの動作イメージ

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

例題①_GOT

※使用していないデバイスが多々ありますがご了承ください。

データレジスタD0は2進数で表示されており、一番右側が0ビット目・一番左側が15ビット目になります。

データレジスタD0の0ビット目がONするとランプ(Y0)が点灯、D0の1ビット目がONするとランプ(Y1)が点灯します。D0の0・1ビット目が両方ONするとランプも両方点灯します。

この処理をPLCは常時行います。

ラダープログラム

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

例題①_ラダープログラム

PLCがRUN中に常時ONする特殊デバイスM8000を使用します。このM8000を入力条件とすることで、BON命令は常に実行されます。

上段のBON命令ではデータレジスタD0の0ビット目がONしている時に出力リレーY0をONさせます。

下段のBON命令ではデータレジスタD0の1ビット目がONしている時に出力リレーY1をONさせます。

3.【例題②】指定ビットが「データレジスタ」

下記仕様のラダープログラムをONビット判定命令を用いて解説します。

仕様
データレジスタD0のnビット目がONしている場合、ランプ(Y0)が点灯する。
このnとは、データレジスタD10で可変できるものとする。
この処理をPLCがRUN中に常時行う。

例題①ではBON命令内でK0・K1と指令することにより、判定する対象ビットを0・1ビットにしていました。今回はD10に代替して可変できるものとします。

GOTの動作イメージ

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

例題②_GOT

データレジスタD0の「指定ビット」が”1”のとき、ランプ(Y0)が点灯します。この「指定ビット」はD10のことで、GOT上から値を入力することができます。

ラダープログラム

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

例題②_ラダープログラム

【例題①】と同様にBON命令を用いていますが、指定ビットを定数ではなくデータレジスタD10に代替してあります。指定ビットをデータレジスタに変更することでON/OFF状態を判定するビット位置を変更することができます。

今回はGOT上から入力してD10の値を変更しましたが、ラダープログラム内で変更してもOKです。

4. おわりに

三菱FXシリーズにおけるONビット判定命令について解説しました。

同じ三菱電機製のシーケンサでも、QシリーズやFX3Uではこの命令を使用しなくても「ワードデバイスのビット指定」にて指定ビットの接点を用いることで対象のビットの状態をより簡易に判定することができます。

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

ただし、ラダープログラムやPLCといった電気・制御設計は参考書やWebサイトのみでの学習には必ずどこかで限界が来ます。

各メーカが販売しているPLCやプログラム作成のアプリケーションを揃えるには安くても十万円以上の大きな費用が掛かり、独学は現実的ではありません。

ラダープログラムの一番現実的な学習方法は「実務で経験を積む」ことです。電気・制御設計者はこれから更に必要な人材になり続けますので、思い切って転職する選択肢もあります。

doda』といった大手求人(転職)サイトには電気・制御設計の求人が数多く紹介されています。※登録は無料です。

「スキルこそ今後のキャリアを安定させる最も大切な材料」と考える私にとって電気・制御設計はとても良い職業だと思います。キャリアの参考になれば幸いです。

コメントを残す

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